|
各位大神,小弟我最近在畢業(yè)設(shè)計(jì)中遇到了一個(gè)問題,就是關(guān)于單片機(jī)按鍵檢測(cè)的(單片機(jī)我剛剛學(xué)一兩周),主要表現(xiàn)在:當(dāng)我按下按鍵的時(shí)候,運(yùn)行的數(shù)碼管會(huì)熄滅,釋放按鍵數(shù)碼管又恢復(fù),檢測(cè)程序是我根據(jù)書上和網(wǎng)上寫出來的如下:
void keyscan()
{
if((key2==0)&&(s==2))
{
delay(10);
if((key2==0)&&(s==2))
{
count1++;
while(!key2);
}
}
if((key1==0)&&(s==1))
{
delay(10);
if((key1==0)&&(s==1))
{
count2++;
while(!key1);
}
}
}
這個(gè)keyscan()函數(shù)我在中斷中調(diào)用了。
void Time0 () interrupt 1
{
time=10;//設(shè)置改變的時(shí)間基數(shù)為10s。
TH0 = (65536 - 50000)/256;
TL0 = (65536 - 50000)%256; //設(shè)置定時(shí)時(shí)間為50MS
keyscan();
t ++ ;
if( t == 10) //0.5秒
{
half_sec ++;
t = 0;。。。。。。。。
求大神指導(dǎo)。先謝謝你們了。
|
|