標題: 單片機交通燈課程設計 含源碼與仿真圖 [打印本頁]
作者: DamonW 時間: 2018-4-15 12:02
標題: 單片機交通燈課程設計 含源碼與仿真圖
一、要求:
1.交通燈按表格要求,用發光二極管顯示。
2.用數碼管進行倒計時顯示。
3.夜晚時數碼管和紅、綠燈都不亮,黃燈以1HZ閃爍。
4.用按鍵轉換白天和夜晚的顯示方式。
二、設計綜述:
利用單片機實現交通燈的控制, 該任務分以下幾個方面:
(1) 實現東西方向和南北方向的紅、綠、黃燈的循環控制。要實現此功能需要表示三種不同顏色的LED燈分別接在P1個管腳,用軟件實現。
(2)用數碼管顯示倒計時。接P0端口與P2端口,并給P0口接上上拉電阻。
(3)實現夜晚黃燈閃爍。這需要人工實現,編程時利用到中斷才能達到目的,P3.2口所接按鈕為黑夜黃燈閃爍中斷,只要按鈕按下,那么四個方向紅綠燈不亮,黃燈以1HZ閃爍。當情況解除,讓時間回到之前繼續進行。
三、總電路圖:
總電路圖.png (122.53 KB, 下載次數: 68)
下載附件
2018-4-15 11:54 上傳
單片機匯編語言源碼:
- 程序:
- ORG 0000H
- LJMP MAIN ;上電,轉向主程序
- ORG 0003H
- LJMP HDSS ;跳轉到夜晚黃燈1HZ閃爍程序
- ORG 0030H
- MAIN:
- SETB TR0 ;啟動T0
- SETB EA ;允許CPU中斷
- SETB EX0 ;開放外部中斷0
- SETB IT0 ;設外中斷0為邊沿觸發
- MOV TMOD,#01H ;設置T0工作于模式一
- LCALL DXLNBH ;調用程序,東西綠燈亮,南北紅燈亮
- LCALL DXHNBH ;調用程序,東西黃燈亮,南北紅燈亮
- LCALL NBLDXH ;調用程序,南北綠燈亮,東西紅燈亮
- LCALL NBHDXH ;調用程序,南北黃燈亮,東西紅燈亮
- AJMP MAIN
- ;東西綠燈亮,南北紅燈亮
- DXLNBH: MOV R0,#6
- LOOP4: MOV R2,#100 ;設循環次數,定時1s,每隔10ms循環一次,循環100次為1s
- LOOP5: MOV TL0,#0F0H ;裝入計數值低8位
- MOV TH0,#0D8H ;裝入計數值高8位
- JNB TF0,[ DISCUZ_CODE_7 ]nbsp; ;T0沒有溢出等待
- CLR TF0 ;產生溢出,清標志位
- DJNZ R2,LOOP5 ; R2不為0,繼續循環
- MOV P1,#00H
- SETB P1.3 ;點亮紅燈
- SETB P1.1 ;點亮綠燈
- MOV A,R0 ;將R0的值賦予累加器A
- DEC A ;累加器A自減
- MOV DPTR,#TAB ;查表
- MOVC A,@A+DPTR
- MOV P0,A
- MOV A,R0
- DEC A
- ADD A,#04H
- MOVC A,@A+DPTR
- MOV P2,A
- DJNZ R0,LOOP4
- RET
- ;東西黃燈亮,南北紅燈亮
- DXHNBH:MOV R0,#4
- LOOP7:MOV R2,#100 ;設循環次數,定時1s,每隔10ms循環一次,循環100次為1s
- LOOP8:MOV TL0,#0F0H ;裝入計數值低8位
- MOV TH0,#0D8H ;裝入計數值高8位
- JNB TF0,[ DISCUZ_CODE_7 ]nbsp; ;T0沒有溢出等待
- CLR TF0 ;產生溢出,清標志位
- DJNZ R2,LOOP8
- MOV P1,#00H
- SETB P1.3 ;點亮紅燈
- SETB P1.2 ;點亮黃燈
- MOV A,R0
- DEC A
- MOV DPTR,#TAB
- MOVC A,@A+DPTR
- MOV P0,A
- MOV A,R0
- DEC A
- MOVC A,@A+DPTR
- MOV P2,A
- DJNZ R0,LOOP7
- RET
- ;南北綠燈亮,東西紅燈亮
- NBLDXH:MOV R0,#6
- LOOP10:MOV R2,#100 ;設循環次數,定時1s,每隔10ms循環一次,循環100次為1s
- LOOP11:MOV TL0,#0F0H
- MOV TH0,#0D8H
- JNB TF0,$
- CLR TF0
- DJNZ R2,LOOP11
- MOV P1,#00H
- SETB P1.0 ;點亮紅燈
- SETB P1.4 ;點亮綠燈
- MOV A,R0
- ADD A,#04H
- DEC A
- MOV DPTR,#TAB
- MOVC A,@A+DPTR
- MOV P0,A
- MOV A,R0
- DEC A
- MOVC A,@A+DPTR
- MOV P2,A
- DJNZ R0,LOOP10
- RET
- ;南北黃燈亮,東西紅燈
- NBHDXH:MOV R0,#4
- LOOP13:MOV R2,#100 ;設循環次數,定時1s,每隔10ms循環一次,循環100次為1s
- LOOP14:MOV TL0,#0F0H ;裝入計數值低8位
- MOV TH0,#0D8H ;裝入計數值高8位
- JNB TF0,[ DISCUZ_CODE_7 ]nbsp; ; T0沒有溢出等待
- CLR TF0 ;產生溢出,清標志位
- DJNZ R2,LOOP14
- MOV P1,#00H
- SETB P1.0 ;點亮紅燈
- SETB P1.5 ;點亮黃燈
- MOV A,R0
- DEC A
- MOV DPTR,#TAB
- MOVC A,@A+DPTR
- MOV P0,A
- MOV A,R0
- DEC A
- MOVC A,@A+DPTR
- MOV P2,A
- DJNZ R0,LOOP13
- RET
- ;夜晚黃燈1HZ閃爍
- HDSS:MOV P0,#00H ;賦初值
- MOV P1,#00H
- MOV P2,#00H
- LOOP1:MOV R3,#50 ;設循環次數,定時1s,每隔20ms循環一次,循環50次為1s
- LOOP2: MOV TL0,#0F0H ;裝入計數值低8位
- MOV TH0,#0D8H ;裝入計數值高8位
- JNB TF0,[ DISCUZ_CODE_7 ]nbsp; ;T0沒有溢出等待
- CLR TF0 ;產生溢出,清標志位
- DJNZ R3,LOOP2 ;判斷R3是否為0
- CPL P1.2 ;P1.2取反輸出
- CPL P1.5 ;P1.5取反輸出
- JNB P3.2,LOOP1 ;判斷位變量是否為0
- RETI ;中斷返回
- TAB:DB 3FH, 06H, 5BH, 4FH, 66H, 6DH, 7DH, 07H, 7FH, 6FH, 77H
- END
復制代碼
0.jpg (27.11 KB, 下載次數: 76)
下載附件
2018-4-15 17:01 上傳
全部資料51hei下載地址:
交通燈.zip
(19.52 KB, 下載次數: 44)
2018-4-15 11:56 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
作者: 1ychee 時間: 2018-11-5 00:33
很有價值的一個程序
作者: 穹祺 時間: 2019-12-8 14:32
仿真圖里咋啥都沒有
歡迎光臨 (http://m.zg4o1577.cn/bbs/) |
Powered by Discuz! X3.1 |
主站蜘蛛池模板:
九九热精品视频
|
一区二区在线不卡
|
99精品视频在线
|
成人精品国产
|
欧美一级片在线看
|
天天操网|
亚洲欧美中文日韩在线v日本
|
a网站在线观看
|
成人在线中文字幕
|
91新视频|
欧美a级成人淫片免费看
|
欧美精品一区二区在线观看
|
国产精品99久久久久久动医院
|
日韩视频精品在线
|
国产成人精品久久二区二区91
|
欧美中文一区
|
成年人网站免费视频
|
国产精品久久久久久一区二区三区
|
日韩中文字幕在线观看视频
|
a级黄色片在线观看
|
久久久久久中文字幕
|
成人免费观看网站
|
精品福利在线
|
h视频在线免费
|
www.操.com
|
黄色毛片在线播放
|
日日操操
|
www午夜视频
|
日本久久www成人免
成人久久久久
|
欧美三级在线
|
欧美一级黄
|
91精品国产综合久久久久久丝袜
|
亚洲高清av在线
|
91亚洲精品久久久电影
|
久色网
|
国产人成精品一区二区三
|
一区在线观看视频
|
综合色婷婷
|
亚洲精品国产a久久久久久
午夜影院网站
|
天堂免费|
日韩二区
|