新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > C51單片機(jī)鍵盤檢測原理以及實(shí)現(xiàn)

C51單片機(jī)鍵盤檢測原理以及實(shí)現(xiàn)

作者: 時(shí)間:2012-08-04 來源:網(wǎng)絡(luò) 收藏

void keyscan() //鍵盤掃描函數(shù),期間注意鍵盤抖動(dòng),由延遲方法處理
{
if(key1==0)
{
delayms(10);
if(key1==0)
{
num++;
if(num==60)
num=0;
while(!key1); //等待按鍵釋放才執(zhí)行,下同
}
}
if(key2==0)
{
delayms(10);
if(key2==0)
{
num--;
if(num==0)
num=60;
while(!key2);
}
}
if(key3==0)
{
delayms(10);
if(key3==0)
{
uum=0;
while(!key3);
}
}
if(key4==0)
{
delayms(10);
if(key4==0)
{
while(!key4);
TR0=~TR0; //啟動(dòng)或者中斷定時(shí)器
}
}
}
void main()
{
init();
while(1);
{
keyscan();
display(num);
}
}
void T0_time() interrupt 1 //中斷程序
{
TH0=(65536-45872)/256; //重裝數(shù)值,數(shù)值需要根據(jù)晶振進(jìn)行計(jì)算
TL0=(65536-45872)%256;
numt0++ ;
if(numt0==20) ///由于機(jī)器周期為50ms,那么1s需要20個(gè)周期
{
numt0=0;
num++;
if(num==60)
num=0;
}
}


上一頁 1 2 下一頁

關(guān)鍵詞: C51單片機(jī) 鍵盤檢測

評(píng)論


相關(guān)推薦

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

關(guān)閉