這是51單片機的交通燈模擬
掌握單片機內部通用資源如中斷、定時計數器、串行口及并行端口的應用。
- 試驗內容
編寫模擬交通燈運行控制程序。要求紅綠燈亮燈延時時間為30秒,黃燈亮燈延時時間為10秒。利用二位八段LED顯示器進行時間顯示。時間顯示采用倒計時的方式。時間歸零時信號進行切換。
- 實驗要求
時間的延時必須采用定時器定時中斷方式進行,定時器0或定時器1可任選一個(默認為0)。編程時請充分考慮定期器的時間擴展問題。
利用二位八段LED顯示器進行時間顯示,顯示碼采用串行口模式0進行輸出。
掌握中斷系統的基本概念及使用方法。如:中斷被響應所需的必要條件;一個完整的中斷響應過程;中斷優先級的概念
信號燈的控制由并行口P0口輸出進行快關控制。
0.png (185.69 KB, 下載次數: 12)
下載附件
2019-6-1 03:25 上傳
單片機源程序如下:
- S_OK BIT 20H.0
- ORG 0000H
- AJMP MAIN
- ORG 000BH
- AJMP SECOND
- ORG 0030H
- MAIN:
- MOV SP, #60H
- CLR EA
- MOV SCON, #00H
- MOV TMOD, #01H
- MOV TL0, #0B0H
- MOV TH0, #3CH
- SETB ET0
- SETB PT0
- SETB EA
- SETB TR0
- MOV R7, #10
- HONGDENG:
- MOV P0,#21H
- MOV R0, #30
- LOOP1: MOV A, R0
- LCALL XIANSHI
- JNB S_OK, $
- CLR S_OK
- DEC R0
- DJNZ R0, LOOP1
- HUANGDENG:
- MOV P0,#12H
- MOV R0, #10
- LOOP2: MOV A, R0
- LCALL XIANSHI
- JNB S_OK, $
- CLR S_OK
- DEC R0
- DJNZ R0, LOOP2
- LVDENG:
- MOV P0,#0CH
- MOV R0, #30
- LOOP3: MOV A, R0
- LCALL XIANSHI
- JNB S_OK, $
- CLR S_OK
- DEC R0
- DJNZ R0, LOOP3
- LJMP MAIN
- XIANSHI:
- MOV 22H, R0
- MOV B, #10
- DIV AB
- MOV DPTR, #TAB
- MOVC A, @A+DPTR
- MOV 4BH, A
- MOV A, B
- MOVC A, @A+DPTR
- MOV 4AH, A
- MOV 4CH, #0FFH; 前四個顯示管滅
- MOV 4DH, #0FFH
- MOV 4EH, #0FFH
- MOV 4FH, #0FFH
- MOV R1, #4AH
- MOV R0, #06H
- FASONG:
- MOV A, @R1
- CLR TI
- MOV SBUF, A
- JNB TI, $
- INC R1
- DJNZ R0, FASONG
- MOV R0, 22H
- RET
- SECOND:
- CLR EA
- CLR S_OK
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼
所有資料51hei提供下載:
交通燈.rar
(82.64 KB, 下載次數: 27)
2019-6-1 00:03 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
|