各位老師大家好,我是新手想在本論壇的51hei板子上做個(gè)延時(shí)實(shí)驗(yàn)遇到問題請(qǐng)教各位老師
按下按鍵1時(shí)對(duì)應(yīng)LED1亮1小時(shí)后熄滅
按下按鍵2時(shí)對(duì)應(yīng)LED2亮1小時(shí)后熄滅
。
。
。
。
按下按鍵8時(shí)對(duì)應(yīng)LED8亮1小時(shí)后熄滅
問題1:我看了教程的延時(shí)函數(shù)都是幾毫秒或幾秒,想要1小時(shí)或2小時(shí)的長時(shí)間精準(zhǔn)延時(shí)應(yīng)如何實(shí)現(xiàn)。
問題2: 8個(gè)LED燈如何同時(shí)工作,
請(qǐng)老師指點(diǎn),不勝感激。
編寫延時(shí)程序的具體方法我曾經(jīng)專門發(fā)過個(gè)一個(gè)帖子http://www.raoushi.com/bbs/dpj-4711-1.html
理論上用上面帖子的方法也能實(shí)現(xiàn)延時(shí)一個(gè)小時(shí),但實(shí)現(xiàn)起來比較麻煩,我還是建議你用板子上的ds1302時(shí)鐘芯片來做會(huì)比較精準(zhǔn)一點(diǎn).
多謝樓上兩位老師指點(diǎn),我在學(xué)習(xí)下。
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
sbit key1=P3^4;sbit key2=P3^5;
sbit key3=P3^6;sbit key4=P3^7;
sbit d1=P1^0;sbit d2=P1^1;
sbit d3=P1^2;sbit d4=P1^3;
void main()
{
P1=0xff;
while(1)
{
if(key1 == 0) d1 = 0;
if(key2 == 0) d2 = 0;
if(key3 == 0) d3 = 0;
if(key4 == 0) d4 = 0;
}
}
因?yàn)槲覄偨佑|單片機(jī),是自學(xué)的沒有基礎(chǔ),中斷和定時(shí)器還沒搞明白怎么回事,請(qǐng)老師在指點(diǎn)下,謝謝。
如何讓這些發(fā)光管點(diǎn)亮后一段時(shí)間自動(dòng)熄滅
我用了延時(shí)后第一個(gè)發(fā)光管亮后其他的就不能操作了,要等到燈滅了才能操作其他燈,不能同時(shí)進(jìn)行
| 歡迎光臨 (http://www.raoushi.com/bbs/) | Powered by Discuz! X3.1 |