当前位置:首页 > 基于单片机的交通灯控制系统设计
RYGAMBERCCAMBERCC0.3K0.3K0.3K塔里木大学毕业设计
vccvccvcc12345678abacdfgbeecfdgdpdpGND12345678abacdfgbeecfdgdpdpGNDRvccp100.3KYvccp110.3KGvccp120.3Kp13R8R1KYGp14p150.3Kp12G0.3Kvccp11Y0.3Kp10RP20P219U?7126345ABCDLTBI/RBORBI7448abcdefg1312111091514DS?AMBERCCDS?AMBERCC12345678abacbdfgeecfdgdpdpGND12345678abacbdfgeecfdgdpdpGNDP229P239DS?AMBERCCDS?AMBERCCvcc光敏电阻vcc0.3K0.3K0.3Kp101p112p123p134p145p15678P10P11P12P13P14P15P16P1713121514VCCC1CRYSTAL11.0592MHZC2R5R1C3vccSFR2R391716vcc311918INT1INT0T1T0EA/VPX1X2RESETRDWR8051A1104 开关型霍尔车辆检测传感器P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P27vccRXDTXDALE/PPSEN1011302939383736353433322122232425262728P20P21P22P23P24P25P26P27vcc1vcc12345678A1104 开关型霍尔车辆检测传感器vccabacbdfgeecfdgdpdpGND12345678abacbdfgeecfdgdpdpGND9P24P259R4vccJR9vccvccDS?AMBERCCDS?AMBERCC12345678abacfbdgeecfdgdpdpGND12345678abacfbdgeecfdgdpdpGNDP26D19P279附录一:总电路图 220v交流U1U24LM78052+21.6v19C4GND0.22μfVinVout3+5v0.1μfvccC53vccvcc
2
18
塔里木大学毕业设计
附录二:程序
源程序代码
SECOND1 EQU 30H ;东西路口计时寄存器 SECOND2 EQU 31H ;南北路口计时寄存器 DBUF EQU 40H ;显示码缓冲1 TEMP EQU 44H ;显示码缓冲2 LED_G1 BIT P1.0 ;东西路口绿灯 LED_Y1 BIT P1.1 ;东西路口黄灯 LED_R1 BIT P1.2 ;东西路口红灯 LED_G2 BIT P1.5 ; LED_Y2 BIT P1.6 ; LED_R2 BIT P1.7 ; ORG 0000H LJMP START ORG 0003H LJMP INTO0 ORG 0100H
START:MOV TMOD,#01H MOV TH0,#3CH MOV TLO,#0B0H CLR TFO
SETB TRO SETB EX0
SETB PX0 SETB EA
LOOP: MOV R2,#20 MOV R3,#20 MOV SECOND1,#25 MOV SECOND2,#25 LCALL DISPLAY
LCALL STATEL WAIT1:JNB TF0,WAIT1 CLR TF0
MOV TH0,#3CH MOV TL0,#0B0H
DJNZ R2,WAIT1 MOV R2,#20 DEC SECIND1 DEC SECOND2 LCALL DISPLAY
DJNZ R3,WAIT1 MOV R2,#5 MOV R3,#3 MOV R4,#4 MOV SECOND1,#5 MOV SECOND2,#5 LCALL DISPLAY
WAIT2:LCALL STATE2 JNB TF0,WAIT2 CLR TF0
南北路口绿灯 南北路口黄灯 南北路口红灯 置T0工作方式1 启动T0 设置外中断0高优先级 置1s计数初值 红灯亮20S
东西路口计时显示初值25s 南北路口计时显示初值25s 调用状态1 查询50ms到否 恢复T0定时初值50ms 判断1s到否?未到继续状态1 置50ms计数初值
东西路口显示时间减1 南北路口显示时间减1 状态1维持20s 置50ms计数初值 绿灯闪烁3s 闪烁间隔200ms
东西路口计时显示初值5s 南北路口计时显示初值5s 调用状态2
查询50ms到否
19
塔里木大学毕业设计
MOV TH0,#3CH 恢复T0定时初值50ms MOV TL0,#0B0H
DJNZ R4,WAIT2 判断200ms到否?未到继续状态2 CPLLED_G1 东西绿灯闪烁 MOV R4,#4 闪烁200ms
DJNZ R2,WAIT2 判断1s到否?未到继续状态2 MOV R2,#5 置50ma计数初值
DEC SECOND1 东西路口显示时间减1 DEC SECOND2 南北路口显示时间减1 LCALL DISPLAY
DJNZ R3,WAIT2 状态2维持3s MOV R2,#20 MOV R3,#2 MOV SECOND1,#2 MOV SECOND2,#2 LCALL DISPLAY
WAIT4:LCALL STATE4 JNB TF0,WAIT4 CLR TF0
MOV TH0,#3CH MOV TL0,#0B0H
DJNZ R2,WAIT4 MOV R2,#20 WAIT5:LCALL STATE5 JNB TF0,WAIT5 置50ms计数初值 黄灯闪烁2s
东西路口计时显示初值2s 南北路口计时显示初值2s 调用状态3
查询100ms到否 恢复T0定时初值100ms 判断1s到否?未到继续状态3 置100ms计数初值 东西路口显示时间减1 南北路口显示时间减1 状态3维持2s 置50ms计数初值 红灯闪烁20s
东西路口计时显示初值25s 南北路口计时显示初值25s 调用状态4
查询100ms到否 恢复T0定时初值100ms 判断1s到否?未到继续状态4 置100ms计数初值 东西路口显示时间减1 南北路口显示时间减1 状态4维持2s 置50ms计数初值 红灯闪烁20s 绿灯闪烁3s
东西路口计时显示初值5s 南北路口计时显示初值25s 调用状态5
查询100ms到否
20
WAIT3:LCALL STATE3 JNB TF0,#3CH CLR TF0
MOV TH0,#3CH MOV TL0,#0B0H
DJNZ R2,WAIT3 MOV R2,#20 DEC SECOND1 DEC SECOND2 LCALL DISPLAY
DJNZ R3,WAIT3 MOV R2,#20 MOV R3,#20 MOV SECOND1,#25 MOV SECOND2,#25 LCALL DISPLAY
DEC SECOND1 DEC SECOND2 LCALL DISPLAY
DJNZ R3,WAIT4 MOV R2,#5 MOV R3,#4 MOV R3,#3 MOV SECOND1,#25 MOV SECOND2,#25 LCALL DISPLAY
塔里木大学毕业设计
CLR TF0
MOV TH0,#3CH 恢复T0定时初值100ms MOV TL0,#0B0H
DJNZ R4,WAIT5 判断200ms到否?未到继续状态5 CPLLED_G2 南北绿灯闪烁 MOV R4,#4 闪烁200ms
DJNZ R2,WAIT5 判断1s到否?未到继续状态5 MOV R2,#5 置100ms计数初值 DEC SECOND1 东西路口显示时间减1 DEC SECOND2 南北路口显示时间减1 LCALL DISPLAY
DJNZ R3,WAIT5 MOV R2,#20 MOV R3,#20 MOV SECOND1,#25 MOV SECOND2,#25 LCALL DISPLAY
WAIT6:LCALL STATE6 JNB TF0,WAIT6 CLR TF0
MOV TH0,#3CH MOV TL0,#0B0H
DJNZ R2,WAIT6 MOV R2,#20 DEC SECOND1 DEC SECOND2 LCALL DISPLAY
DJNZ R3,WAIT6 LJMP LOOP
STATE1: SETB LED_G1 CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2
SETB LED_R2 RET
STATE2: CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2
SETBLED_R2 RET STATE3:CLR LED_G1 CLR LED_R1 CLR LED_G2 CLR LED_Y2
SETB LED_R2 SETB LED_Y1 RET
STATE4: CLR LED_G1 CLR LED_Y1
状态5维持3s 置50ms计数初值 红灯闪烁2s
东西路口计时显示初值5s 南北路口计时显示初值5s 调用状态4
查询100ms到否 恢复T0定时初值100ms 判断1s到否?未到继续状态6 置100ms计数初值 东西路口显示时间减1 南北路口显示时间减1 状态6维持3s 东西路口路灯亮状态1 南北路口红灯亮 状态2 南北路口红灯亮 状态3 南北路口红灯亮 东西路口黄灯亮 状态4 21
共分享92篇相关文档