目錄
1前言 5
1.1該課程選題背景 5
1.2該課程選題現實意義 5
1.3單片機交通燈研究任務 5
2設計方案 6
2.1方案設計目的 6
2.2方案設計思路 6
2.3方案設計原理 7
3系統硬件設計 8
3.1 AT89C51芯片簡介 8
3.2 74LS47芯片簡介 11
3.3系統總框圖 12
3.4、交通燈硬件線路 12
3.5、系統工作原理 12
4.軟件設計 13
4.1每秒鐘的設定 13
4.2秒的方法 13
4.3相應程序代碼 13
4.4、鍵盤顯示流程圖 14
4.5、 軟件延時 14
5 Proteus軟件仿真 15
5.1正常運行時狀態 15
5.2黃燈亮時狀態 16
5.3應急情況下狀態 16
6 設計心得體會 17
附錄1:源程序代碼 18
附錄2:硬件連接圖 23
參考文獻 23
2.2設計思路
東西、南北兩干道交于一個十字路口,各干道有一組紅、黃、綠三色的指示燈,指揮車輛和行人安全通行。紅燈亮禁止通行,綠燈亮允許通行。黃燈亮提示人們注意紅、綠燈的狀態即將切換,且黃燈燃亮時間為東西、南北兩干道的公共停車時間。設東西道比南北道的車流量大,指示燈燃亮的方案如表1: 表1 表1說明:(1)當東西道為綠燈,此道車輛通過,行人禁止通行。時間為60秒;南北方向為紅燈,此道車輛禁止通行,南北道行人可通過。 (2)當東西方向為黃燈閃爍3秒,警示車輛和行人紅、綠燈的狀態即將切換;南北方向為紅燈,此道車輛禁止通行,南北道行人可通過。 (3)當東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;當南北方向為紅燈,此道車輛禁止通行,南北道行人可通過。 (4)當東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;東西道為綠燈,此道車輛通過,行人禁止通行。時間為35秒。 (5)當東西方向為紅燈,此道車輛禁止通行,東西道行人可通過;南北方向為黃燈閃爍3秒,警示車輛和行人紅、綠燈的狀態即將切換。 (6)此表可根據車流量動態設定紅綠燈初始值。
2、對于交通信號燈來說,應該有東西南北共四組燈,但由于同一道上的兩組的信號燈的顯示情況是相同的,所以只要用兩組就行了,因此,采用單片機內部的I/O口上的P1口中的6個引腳即可來控制6個信號燈。 3、通過編寫程序,實現對發光二極管的控制,來模擬交通信號燈的管理。每延時一段時間,燈的顯示情況都會按交通燈的顯示規律進行狀態轉換。 4、通過延時時間送顯,可以在原有的交通信號燈系統的基礎上,增添其倒計時間的顯示功能,實現其功能的擴展。 5、通過脈沖中斷編寫中斷程序,可實現中斷。
這是具體的匯編編程程序
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP ZHD1
ORG 000BH
LJMP ZHD2
ORG 0013H
LJMP ZHD3
ORG 1000H
MAIN:MOV TMOD,#01H
MOV TL0,#0F0H
MOV TH0,#0D8H
SETB EA
SETB ET0
SETB TR0
SETB EX0
SETB EX1 1
SETB IT0
CLR IT1
SETB PT0
CYCLE:MOV R0,#60
MOV R1,#65
MOV R2,#25
LOOP1:SETB P3.4
MOV P1,#01H
SETB P1.7
SETB P1.4
LCALL DISPLAY
DJNZ R2,LOOP1
MOV R2,#25
DEC R1
DJNZ R0,LOOP1
MOV R0,#3
LOOP2:MOV P1,#01H
SETB P1.7
SETB P1.3
LLJ: LCALL DISPLAY
CPL P1.3
DJNZ R2,LLJ
DEC R1
MOV R2,#25
DJNZ R0,LOOP2
MOV R0,#40
LOOP3:MOV P1,#01H
SETB P1.7
SETB P1.2
LCALL DISPLAY
DJNZ R2,LOOP3
MOV R2,#25
DEC R0
DJNZ R1,LOOP3
MOV R1,#35;
LOOP4:MOV P1,#01H
SETB P1.5
SETB P1.2
LCALL DISPLAY
DJNZ R2,LOOP4
MOV R2,#25
DEC R0
DJNZ R1,LOOP4
MOV R1,#3
LOOP5:MOV P1,#01H
SETB P1.6
SETB P1.2
LLJ1: LCALL DISPLAY
CPL P1.6
DJNZ R2,LLJ1
MOV R2,#25
DEC R0
DJNZ R1,LOOP5
LJMP CYCLE
ZHD1: LCALL DISPLAY
JB P3.6,Q2
INC R1
INC R0
CJNE R1,#99,TIAO2
MOV R1,#00H
TIAO2:CJNE R0,#99,TIAO3
MOV R0,#00H
TIAO3:LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
JNB P1.0,Z2
Q2: JB P3.7,WAIT1
DEC R1
DEC R0
CJNE R1,#00H,TIAO
MOV R1,#99
TIAO: CJNE R0,#00H,TIAO1
MOV R0,#99
TIAO1:LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
LCALL DISPLAY
WAIT1:JNB P1.0,Z2
WAIT: LJMP ZHD1
Z2: RETI
ZHD2: MOV TL0,#0F0H
MOV TH0,#0D8H
CLR P3.4
RETI
ZHD3:MOV P1,#85H
MOV P0,#30H
MOV P2,#30H
JNB P3.3,ZHD3
RETI
DISPLAY:MOV A,R0
MOV B,#10
DIV AB
ADD A,#10H
MOV P0,A
TI0: JNB P3.4,TT
SJMP TI0
TT: SETB P3.4
MOV A,B
ADD A,#20H
MOV P0,A
TI1: JNB P3.4,TT1
SJMP TI1
TT1: SETB P3.4
MOV A,R1
MOV B,#10
DIV AB
ADD A,#10H
MOV P2,A
TI2: JNB P3.4,TT2
SJMP TI2
TT2: SETB P3.4
MOV A,B
ADD A,#20H
…………限于本文篇幅 余下代碼請從51黑下載附件…………
完整論文下載(word格式 可編輯):
基于51單片機匯編語言設計的交通燈.doc
(339.27 KB, 下載次數: 156)
2017-5-16 18:21 上傳
點擊文件名下載附件
|