1. 實(shí)驗(yàn)任務(wù)
用AT89S51的定時(shí)/計(jì)數(shù)器T0產(chǎn)生2秒鐘的定時(shí),每當(dāng)2秒定時(shí)到來時(shí),更換指示燈閃爍,每個(gè)指示閃爍的頻率為0.2秒,也就是說,開始L1指示燈以0.2秒的速率閃爍,當(dāng)2秒定時(shí)到來之后,L2開始以0.2秒的速率閃爍,如此循環(huán)下去。0.2秒的閃爍速率也由定時(shí)/計(jì)數(shù)器T0來完成,也就是一個(gè)閃爍燈。
2. 電路原理圖
圖4.16.1
3. 系統(tǒng)板硬件連線
(1. 把“單片機(jī)系統(tǒng)”區(qū)域中的P1.0-P1.3用導(dǎo)線連接到“八路發(fā)光二極管指示模塊”區(qū)域中的L1-L4上
4. 程序設(shè)計(jì)內(nèi)容
(1. 由于采用中斷方式來完成,因此,對(duì)于中斷源必須它的中斷入口地址,對(duì)于定時(shí)/計(jì)數(shù)器T0來說,中斷入口地址為000BH,因此在中斷入口地方加入長(zhǎng)跳轉(zhuǎn)指令來執(zhí)行中斷服務(wù)程序。書寫匯編源程序格式如下所示:
ORG00H
LJMPSTART
ORG0BH ;定時(shí)/計(jì)數(shù)器T0中斷入口地址
LJMP INT_T0
START: NOP ;主程序開始
。
。
INT_T0: PUSH ACC ;定時(shí)/計(jì)數(shù)器T0中斷服務(wù)程序
PUSH PSW
。
。
POP PSW
POP ACC
RETI ;中斷服務(wù)程序返回
END
(2. 定時(shí)2秒,采用16位定時(shí)50ms,共定時(shí)40次才可達(dá)到2秒,每50ms產(chǎn)生一中斷,定時(shí)的40次數(shù)在中斷服務(wù)程序中完成,同樣0.2秒的定時(shí),需要4次才可達(dá)到0.2秒。對(duì)于中斷程序,在主程序中要對(duì)中斷開中斷。
(3. 由于每次2秒定時(shí)到時(shí),L1-L4要交替閃爍。采用ID來號(hào)來識(shí)別。當(dāng)ID=0時(shí),L1在閃爍,當(dāng)ID=1時(shí),L2在閃爍;當(dāng)ID=2時(shí),L3在閃爍;當(dāng)ID=3時(shí),L4在閃爍
5. 程序框圖
T0中斷服務(wù)程序框圖
-
單片機(jī)
+關(guān)注
關(guān)注
6043文章
44621瀏覽量
638565 -
計(jì)數(shù)器
+關(guān)注
關(guān)注
32文章
2261瀏覽量
94983 -
定時(shí)器
+關(guān)注
關(guān)注
23文章
3255瀏覽量
115371
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論