目录
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)
|