好文档 - 专业文书写作范文服务资料分享网站

基于单片机的交通灯控制系统设计

天下 分享 时间: 加入收藏 我要投稿 点赞

根据前面的要求以及硬件的设置情况,本系统的软件部分需要进行中断设

置。为了实现上述要求,软件部分应包括正常模式﹑夜间模式﹑紧急模式﹑强制通行等子程序。主程序流程图如图4所示:

开始 外部中断初始化 调用正常通行子程序 N INT1中断? 调用紧急模式子程序 N

INT0中断? 调用夜间模式子程序

图4 主程序流程图

开机上电处于正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。而显示系统则显示到下一次改变所剩的时间,利于司机调整车辆状况。每到同行方向转换时,绿灯闪烁,变为黄灯。提醒司机注意通行方向的改变,避免不必要的危险。

在设计运用了单片机的外部中断,系统的紧急和夜间模式的切换采用中断系统完成。这样在任何通行情况下都可进入以上两种模式。在设计中,设置外部中断0为夜间模式触发按钮,由电平触发完成,设置为低优先级,设置外部中断1为紧急模式触发按钮,由电平触发完成,设置为高优先级。此时无论紧急状况(如车祸等)发生在何时都可以直接进入紧急模式以便于交通管理人员处理问题。同时,通过在紧急模式下软件检测p3.7和p3.6是否不为1来触发东西及南

- 6 -

北强制通行模式,以弥补外部中断的不足,实现更多的功能。

总程序见附录一。

2.2.1正常工作模式子程序

正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通

行,其流程图如图5所示。 其主要程序为:

MOV

MOV MOV SETB SETB

R6,#03H R0,#00H P2,R0 P2.7 P2.1

;绿灯闪烁次数 ; ;灯全灭 ;南北绿灯亮 ;东西红灯亮 ;显示倒计时 ;南北方向绿灯闪烁 ;南北绿灯灭 ;南北黄灯亮 ;短延时2 ;南北黄灯灭 ;东西红灯灭 ;东西绿灯亮 ;南北红灯亮 ;显示倒计时 ;东西方向绿灯闪烁 ;东西绿灯灭 ;东西黄灯亮 ;短延时2

;东西黄灯灭

ACALL DISPLAY ACALL FLASHN CLR SETB

P2.7 p2.6

ACALL DELAY2 CLR CLR SETB SETB

P2.6 P2.1 P2.3 P2.5

ACALL DISPLAY ACALL FLASHS CLR SETB

P2.3 P2.2

ACALL DELAY2 CLR

P2.2

- 7 -

开始 外部中断初始化 进入正常工作状态 南北45秒倒计时显示 东西45秒倒计时显示 图5 正常工作模式流程图

2.2.2 延时子程序

设计中通过对指令运行的次数进行循环来实现软件延时。当晶振频率为12MHz时每个机器周期是1微秒,一条NOP指令是一个机器周期,一条DJNZ指令是两个机器周期,所以可写出如下的1秒延时子程序:

DELAY: MOV DEL3: DEL2: DEL1:

MOV MOV NOP

R2,#33 R3,#100 R4,#75

NOP DJNZ DJNZ DJNZ

R4,DEL1 R3,DEL2 R2,DEL3

其流程图如6所示:

- 8 -

开始 R2<-33 R3<-100

R4<-75 NOPNOP DJNZ R4 DJNZ R3 DJNZ R2 返回 图6 1秒延时子程序流程图

2.2.3 夜间模式子程序

系统在主程序中已经完成中断初始化,在正常模式下,其随时可通过中断0进入夜间模式,不受当时通行方向的影响。夜间模式中,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。其流程图如图7。其程序为: YEJIAN: MOV R0,#00H ;夜间模式 MOV P2,R0 ;灯全灭

- 9 -

SETB P2.7 ; 南北绿灯亮 SETB P2.1 ;东西红灯亮 ACALL DISPLAY1 ;显示倒计时 ACALL FLASHN ;南北方向绿灯闪烁 CLR P2.7 ;南北绿灯灭 SETB P2.6 ;南北黄灯亮 ACALL DELAY2 ;短延时2 CLR P2.6 ;南北黄灯灭 CLR P2.1 ;东西红灯灭 SETB P2.3 ;东西绿灯亮 SETB P2.5 ;南北红灯亮 ACALL DISPLAY1 ;显示倒计时 ACALL FLASHS ;东西方向绿灯闪烁 CLR P2.3 ;东西绿灯灭 SETB P2.2 ;东西黄灯亮 ACALL DELAY2 ;短延时2 CLR P2.2 ;东西黄灯灭

LJMP YEJIAN

开始 外部中断0初始化 进入夜间工作状态 南北10秒倒计时显示 东西10秒倒计时显示

- 10 -

基于单片机的交通灯控制系统设计

根据前面的要求以及硬件的设置情况,本系统的软件部分需要进行中断设置。为了实现上述要求,软件部分应包括正常模式﹑夜间模式﹑紧急模式﹑强制通行等子程序。主程序流程图如图4所示:开始外部中断初始化调用正常通行子程序NINT1中断?调用紧急模式子程序NINT0中断?调用夜间模式子程序图4主程序流程图<
推荐度:
点击下载文档文档为doc格式
0mm7071asq3bj0w6iip07zlrl1bkfq0130z
领取福利

微信扫码领取福利

微信扫码分享