在定時器中斷函式裡執行獨立按鍵的掃瞄程式

2022-07-17 20:12:18 字數 1207 閱讀 2204

/*上一例在主函式中利用累計定時器中斷的次數來實現獨立按鍵的檢測,但是

如果在某些專案中,需要主函式裡面間歇性地執行一些一氣呵成的耗時任務,

當主函式正在執行一氣呵成的耗時任務時(前提沒有關閉定時器中斷),這個時候

如果有按鍵按下來,就有可能沒有被及時響應而遺漏了。

解決辦法:在定時器裡面處理獨立按鍵的掃瞄程式,可以避免上述問題。

*/#include "reg52.h"

#define const_voice_short 40

#define const_voice_long 200

#define const_key_time1 20

#define const_key_time2 20

void initial_myself();

void initial_peripheral();

void delay_long(unsigned int uidelaylong);

void t0_time();

void key_service();

void key_scan();

sbit key_sr1=p0^0;

sbit key_sr2=p0^1;

sbit key_gnd_dr=p0^4;

sbit beep_dr=p1^5;

unsigned char uckeysec=0;

unsigned int uikeytimecnt1=0;

unsigned char uckeylock1=0;

unsigned int uikeytimecnt2=0;

unsigned char uckeylock2=0;

unsigned int uivoicecnt=0;

void main()

}void key_scan()

else if(uckeylock1==0)

}if(key_sr2==1)

else if(uckeylock2==0)}}

void key_service()

}void t0_time() interrupt 1

else

th0=0xf8;

tl0=0x2f;

tr0=1;

}void delay_long(unsigned int uidelaylong)

void initial_peripheral()

js實現定時器(定時執行函式)

全部 doctype html en utf 8 viewport content width device width,initial scale 1.0 document title var i 0 function show window.onload function 1000 script...

for迴圈 js定時器 閉包 自執行函式

for迴圈 js定時器 閉包 自執行函式 前言 面試題目經常會出現這麼一道題目,請將1 10有序每隔一秒輸出。看似這個題目很簡單,但是確難倒了很多js初學者。還有跟這個類似情況,比如給五個dom新增hover事件,理想效果是列印出當前索引,知識都是列印出最後乙個值。錯誤 var len 10 for...

利用定時器,讓程式在某一天執行

全域性配置檔案中 定時任務 system.timers.timer timer new system.timers.timer 10000 繫結方法 timer.elapsed new elapsedeventhandler addcount addcount是乙個方法,此方法就是每個1秒而做的事情...