定時(shí)器
我們學(xué)單片機(jī)是首先學(xué)的就是led閃爍,那是用延時(shí)程序做的,現(xiàn)在回想起來,這樣做不很恰當(dāng),為什么呢?我們的主程序做了燈的閃爍,就不能再干其它的事了,難道單片機(jī)只能這樣工作嗎?當(dāng)然不是,我們能用定時(shí)器來實(shí)現(xiàn)燈的閃爍的功能。
例1:查詢方式
ORG 0000H
AJMP STARTORG 30H
START:
MOV P1,#0FFH ;關(guān)所 燈
MOV TMOD,#00000001B ;定時(shí)/計(jì)數(shù)器0工作于方式1
MOV TH0,#15H
MOV TL0,#0A0H ;即數(shù)5536
SETB TR0 ;定時(shí)/計(jì)數(shù)器0開始運(yùn)行
LOOP:JBC TF0,NEXT ;如果TF0等于1,則清TF0并轉(zhuǎn)NEXT處
AJMP LOOP ;不然跳轉(zhuǎn)到LOOP處運(yùn)行
NEXT:CPL P1.0
MOV TH0,#15H
MOV TL0,#9FH;重置定時(shí)/計(jì)數(shù)器的初值
AJMP LOOP
END AJMP LOOP
END
全文內(nèi)容電子電路網(wǎng):從零開始學(xué)51單片機(jī)定時(shí)器
你這樣達(dá)不到你所需要的效果,單片機(jī)仍然騰不出空來做其他事情,只能不停地查詢TF0的狀態(tài)。比如說:怎么查詢某一I/O端口電平的變化?
你可以試一試使用T0中斷的方式來達(dá)到你預(yù)期目的。不要使用查詢TF0的方式。中斷到來之前,單片機(jī)可以做其他事情;中斷發(fā)生了,單片機(jī)放下手中的活,去處理中斷請(qǐng)求,處理完了中斷,接著做剛才停下來的事情。。
不錯(cuò),挺一下。
歡迎光臨 (http://m.zg4o1577.cn/bbs/) | Powered by Discuz! X3.1 |