新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 如何實現(xiàn)獨立鍵盤控制二極管的點亮熄滅

如何實現(xiàn)獨立鍵盤控制二極管的點亮熄滅

作者: 時間:2016-11-18 來源:網(wǎng)絡(luò) 收藏
以前是使用定時器 定時 點亮熄滅 二極管,現(xiàn)在是 同獨立鍵盤來實現(xiàn)自由 控制二極管的點亮熄滅,即 若停止定時器,那么二極管就保持點亮或熄滅狀態(tài),從而不再閃爍; 若啟動定時器,那么二極管就不斷點亮熄滅。 若停止定時器,那么可以通過另外一個按鍵來控制 二極管的點亮熄滅狀態(tài)

下面是個人剛剛實現(xiàn)的這種想法:
#include
sbit key1=P2^7; // 啟動或停止定時器 即實現(xiàn)自動點亮熄滅二極管
sbit key2=P2^6; // 若停止定時器 則 通過此按鍵實現(xiàn)點亮熄滅二極管
sbit LED=P0^0; //第1個二極管
unsigned char t=0;
void Delay()
{
unsigned char j;
unsigned char i;
for(i=10; i>0; i--)
for(j=110; j>0; j--);
}
void Keycan() //檢測獨立鍵盤是否被按下 然后執(zhí)行相應(yīng)的操作
{
if(key1==0)
{
Delay();
if(key1==0)
{
TR0=~TR0; //啟動 或停止 定時器T0
}
while(!key1);
}
if(key2==0)
{
Delay();
if(key2==0)
{
LED=~LED;
}
while(!key2);
}
}
void main()
{
TMOD=0x01;
EA=1;
ET0=1;
TR0=1;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
LED=0; //點亮二極管
while(1)
{
Keycan();
if(t==20)
{
t=0;
LED=~LED;
}
}
}
void TimerLED() interrupt 1 using 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
t++;
}
思想很簡單, 所以也非常實現(xiàn)。



評論


技術(shù)專區(qū)

關(guān)閉