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