標題: 單片機交通燈實驗報告 [打印本頁]
作者: 51黑電子迷 時間: 2017-8-13 02:43
標題: 單片機交通燈實驗報告
實驗五:交通燈一、實驗目的- 熟悉51單片機的匯編指令。
- 進一步了解8255芯片的結構及編程方法。
- 學習模擬交通控制的實現方法。
二、實驗設備STC89C52單片機實驗板、串口下載線、USB連接線、電腦
3、程序框圖
1.018.jpg (17.51 KB, 下載次數: 77)
下載附件
2017-8-13 02:43 上傳
4、實驗電路
1.019.jpg (31.22 KB, 下載次數: 76)
下載附件
2017-8-13 02:43 上傳
五、實驗原理及內容
1.020.jpg (23.48 KB, 下載次數: 65)
下載附件
2017-8-13 02:43 上傳
- 8255的PA0~PA7、 PB0~PB3 接發光二極管 L15~L13、L11~L9、L7~L5、L3~L1。
- 執行程序,初始態為四個路口的紅燈全亮之后,東西路口的綠燈亮,南北路口的紅燈亮,東西路口方向通車,延時一段時間后東西路口的綠燈熄滅,黃燈開始閃爍,閃爍若干次后,東西路口紅燈亮,而同時南北路口的綠燈亮,南北路口方向開始通車,延時一段時間后,南北路口的綠燈熄滅,黃燈開始閃爍,閃爍若干次后,再切換到東西路口方向,之后重復以上過程。
- 實驗接線圖:
1.021.jpg (50.99 KB, 下載次數: 68)
下載附件
2017-8-13 02:43 上傳
ORG 0BB0H
0BB0 758160 JOD0: MOV SP,#60H
0BB3 90FFDB MOV DPTR,#0FFDBH
0BB6 7488 MOV A,#88H
0BB8 F0 MOVX @DPTR,A ;8255初始化
0BB9 90FFD8 MOV DPTR,#0FFD8H
OBBC 74B6 MOV A,#0B6H
0BBE F0 MOVX @DPTR,A
0BBF A3 INC DPTR
0BC0 740D MOV A,#0DH
0BC2 F0 MOVX @DPTR,A ;點亮4個紅燈
0BC3 7A25 MOV R2,#25H ;延時
0BC5 120213 LCALL DELY
0BC8 90FFD8 JOD3: MOV DPTR,#0FFD8H
0BCB 7475 MOV A,#75H
0BCD F0 MOVX @DPTR,A
0BCE A3 INC DPTR
0BCF 740D MOV A,#0DH
0BD1 F0 MOVX @DPTR,A ;東西綠燈亮,;南北紅燈亮
0BD2 7A55 MOV R2,#55H
0BD4 120213 LCALL DELY ;延時
0BD7 7F05 MOV R7,#05H ;閃爍次數
0BD9 90FFD8 JOD1: MOV DPTR,#0FFD8H
0BDC 74F3 MOV A,#0F3H
0BDE F0 MOVX @DPTR,A
0BDF A3 INC DPTR
0BE0 740C MOV A,#0CH
0BE2 F0 MOVX @DPTR,A ;東西黃燈亮,南北紅燈亮
0BE3 7A20 MOV R2,#20H
0BE5 120213 LCALL DELY ;延時
0BE8 90FFD8 MOV DPTR,#0FFD8H
0BEB 74F7 MOV A, #0F7H
0BED F0 MOVX @DPTR, A
0BEE A3 INC DPTR
0BEF 740D MOV A, #0DH
0BF1 F0 MOVX @DPTR, A ;南北紅燈亮
0BF2 7A20 MOV R2, #20H
0BF4 120213 LCALL DELY ;延時
0BF7 DFE0 DJNZ R7, JOD1 ;閃爍次數未到,繼續
0BF9 90FFD8 MOV DPTR,#0FFD8H
0BFC 74AE MOV A, #0AEH
0BFE F0 MOVX @DPTR,A
0BFF A3 INC DPTR
0C00 740B MOV A, #0BH
0C02 F0 MOVX @DPTR,A ;東西紅燈亮,南北綠燈亮
0C03 7A55 MOV R2,#55H
0C05 120213 LCALL DELY ;延時
0C08 7F05 MOV R7,#05H ;閃爍次數
0C0A 90FFD8 JOD2: MOV DPTR,#0FFD8H
0C0D 749E MOV A,#9EH
0C0F F0 MOVX @DPTR,A
0C10 A3 INC DPTR
0C11 7407 MOV A,#07H
0C13 F0 MOVX @DPTR,A ;東西紅燈亮,南北黃燈亮
0C14 7A20 MOV R2,#20H
0C16 120213 LCALL DELY ;延時
0C19 90FFD8 MOV DPTR,#0FFD8H
0C1C 74BE MOV A,#0BEH
0C1E F0 MOVX @DPTR,A
0C1F A3 INC DPTR
0C20 740F MOV A,#0FH
0C22 F0 MOVX @DPTR,A ;東西紅燈亮
0C23 7A20 MOV R2,#20H
0C25 120213 LACLL DELY ;延時
0C28 DFE0 DJN R7,JOD2 ;閃爍次數未到繼續
0C2A 020BC8 LJMP JOD3 ;循環 ORG 0213H
0213 C002 DELY: PUSH 02H
0215 C002 DEL2: PUSH 02H
0217 C002 DEL3: PUSH 02H ;延時
0219 DAFE DEL4: DJNZ R2,DEL4
021B D002 POP 02H
021D DAF8 DJNZ R2,DEL3
021F D002 POP 02H
0221 DAF2 DJNZ R2,DEL2
0223 D002 POP 02H
0225 DAEC DJNZ R2,DELY
0227 22 RET END
六、實驗結果
1.022.jpg (45.17 KB, 下載次數: 65)
下載附件
2017-8-13 02:43 上傳
1.023.jpg (51.25 KB, 下載次數: 78)
下載附件
2017-8-13 02:43 上傳
七、實驗收獲及體會本次試驗我們做的是交通燈的實驗,并且成功完成了此次實驗。
在本次試驗中,我們學習到了如何對8255的PC口進行位操作:8255的控制字中,D7位為1時表示方式選擇,D7位為0時,表示對C口進行置為/復位。C口共有8個二進制位,控制字中的D3、D2、D1三位的編碼與C口的某一位對應,而對指定位進行的操作則由D0確定。如:D0=0時,D3、D2、D1分別為1、0、1,則C口的第五位PC5置0;若D0=1時,D3、D2、D1分別為0、0、1,則C口的第一位PC1置1。在控制字中D6、D5、D4是無效位。在實驗中,由于對于片選端口所對應的地址不是很熟悉,使得程序運行結果出錯;經過翻閱實驗書,找到了片選區中各個片選口所對應的端口地址,并將其改正。
完整單片機實驗報告下載(word格式 可編輯):
http://www.raoushi.com/bbs/dpj-88784-1.html
作者: KULIKA 時間: 2018-10-30 16:04
有沒有C語言程序阿
作者: KULIKA 時間: 2018-10-30 16:04
大佬,又沒有C語言程序阿
| 歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |