JB P3.6,T13 ;若加法输入无效则跳转 INC R3 ;东西直通时间加1 CJNE R3,#60,T23 ;东西直通最大时间60S MOV R3,#00H ;超过60s则重新赋值 AJMP T23 ;加法调整完毕,调入赋值 T13: JB P3.7,T21 ;若减法输入按钮无效,则跳转 DEC R3 ;东西直通时间减1 CJNE R3,#00H,T23 ;最大时间60S MOV R3,#60 ;若减到界限则重新赋值 T23: MOV 42H,R3 ;将调整结果写入 LJMP TZ11 ;东西直通调整完毕,返回重新检测 T5: MOV R3,43H ;东西左转调整初值转入 LCALL XIANSHI1 ;调用显示程序,第二功能延时40MS JB P3.6,T14 ;若加法输入端无效则跳转 INC R3 ;东西左转时间+1 CJNE R3,#30,T24 ;最大调整时间30S MOV R3,#00H ;超出重新赋值 AJMP T24 ;加法调整完毕转入赋值 T14: JB P3.7,T22 ;若减法无效则跳转 DEC R3 ;东西左转时间减1 CJNE R3,#00H,T24 ;最大调整时间30S MOV R3,#30 ;若溢出则重新赋值 T24: MOV 43H,R3 ;将调整时间写入 LJMP TZ11 ;东西左转调整完毕跳转重新检测 FANHUI: RETI ;子程序结束,返回
4.3各类情况处置程序
4.3.1各类情况介绍
在现实的应用中,交通灯需要很多的功能,除了实现正常亮灭和控制计数之外,还需要紧急处置模式、夜间少车模式、交警手动指挥模式、单南北通行方式、单南北左转向方式、单东西通行方式、单东西左转向通行方式、智能调控程序等功能,本设计已经实现以上功能,每个功能介绍如下:
(1)紧急处置模式:如110、119、120等需要通过,则全路段实行红灯暂停模式,紧允许以上车类通过。
(2)夜间少车模式:在很多的交通路口,夜间行人车辆特别少,由路口等候又显得不合理,这个时候全路段闪烁黄灯,让过往车辆行人注意瞭望通过。
(3)交警手动指挥模式:在这个模式下,相当于关闭交通灯的工作,但是为了保持相关设置不做更改,所以程序还需要待机,这个时候输出的计时器和交通灯都是灭的,具体通行方式根据交警指挥通行。
(4)单南北通行方式:其余路段均为红灯,南北主路绿灯只允许南北方向的行车通过。 (5)单南北左转向方式:其余路段均为红灯,南北左转向绿灯,紧允许南北左转向。 (6)单东西通行方式:其余路段均为红灯,东西主路绿灯只允许东西方向的行车通过。 (7)单东西左转向方式:其余路段均为红灯,东西左转向绿灯,紧允许东西左转向。 (8)智能调控程序:即由某种方式统计各方向的行车,智能控制交通灯的亮灭和倒计时时间,因为仿真中无法使用统计设备完成检测的功能,所以设计了两级自动调控级别,可
第 17 页 共 40 页
通过按键进行选择。具体的调控级别可由自己设定。 4.3.2调配各模式流程图 开始 1 Y 少车模式? 转入H1执行该模式
N Y 手动指挥模式? 转入H2执行该模式 N Y 单南北通行模式? 转入H3执行该模式 N Y 单南北左转模式? 转入H4执行该模式 N Y 单东西通行模式? 转入H5执行该模式 N Y 单东西左转模式 转入H6执行该模式 N Y 智能南北车多? 转入H7执行该模式 第 18 页 共 40 页
N
Y 转入H8执行该模式 智能东西车多? 返回开始1处 紧急处置模式 4.2.3调配各模式程序
此段程序中包括调配各模式的程序和紧急处置模式 TZ3: JNB P3.5,H1 ; 若P3.5有效则启动黄灯闪烁模式 JNB P3.1,H2 ; 若P3.1有效则进入全灭手动指挥模式 JB P0.6,H3 ; 若P0.6有效则进入单独南北向通行模式 JB P0.7,H4 ; 若P0.7有效则进入单独南北向左转通行模式 JB P2.6,H5 ; 若P2.6有效则进入单独东西向通行模式 JB P2.7,H6 ; 若P2.7有效则进入单独东西向左转通行模式 JNB P3.6,H07 ; 智能模式南北向车多开启 JNB P3.7,H08 ; 智能模式东西向车多开启 MOV P1,#00H ; 交通灯全部为红灯 MOV P0,#30H ; 显示倒计时00 MOV P2,#30H ; JB P3.3,H013 ; 若工作模式再次有效则退出 LJMP TZ3 ; 返回重新检测
4.2.4少车模式H1
该模式下每秒黄灯闪烁一次亮500ms灭500ms,延时通过调用显示程序来实现。 H1: SETB P3.4 MOV R3,#50 ; 寄存器赋值,黄灯闪烁使用 MOV R4,#50 ; MOV P0,#00H ; 交通计时器灭 MOV P2,#00H ; MOV P1,#0AAH ; 各路黄灯亮 H11: JNB P3.4,H21 ; 等待延时10ms SJMP H11 ; H21: SETB P3.4 ; DJNZ R3,H11 ; 等待延时一共500ms MOV P1,#0FFH ; 各路黄灯灭 H12: JNB P3.4,H22 ; 等待延时10ms SJMP H12 ; H22: SETB P3.4 ; DJNZ R4,H12 ; 等待延时一共500ms LJMP TZ3 ; 闪烁1S完毕返回重新检测
第 19 页 共 40 页
4.2.5手动指挥模式H2
该模式下全部灯光灭掉,交通交由警察负责 H2: MOV P0,#00H ; 交通灯计时器全灭 MOV P2,#00H ; MOV P1,#0FFH ; 交通灯全灭 LJMP TZ3 ; 返回重新检测 4.2.6单南北通行模式H3
该模式下只有南北向交通灯绿灯,其余为红灯。 H3: MOV P0,#00H ; 交通灯计时器全灭 MOV P2,#00H ; MOV P1,#01H ; 南北向直通绿灯亮,其余为红灯 LJMP TZ3 ; 返回重新检测 4.2.7单南北向左转模式H4
该模式下只有南北向左转交通灯绿灯,其余为红灯。 H4: MOV P0,#00H ; 交通灯计时器全灭 MOV P2,#00H ; MOV P1,#04H ; 南北左转向绿灯亮,其余红灯 LJMP TZ3 ; 返回重新检测 4.2.8单东西通行模式H5
该模式下只有东西向交通灯绿灯,其余为红灯。 H5: MOV P0,#00H ; 交通灯计时器全灭 MOV P2,#00H ; MOV P1,#10H ; 东西向直通绿灯亮,其余红灯 LJMP TZ3 ; 返回继续检测 4.2.9单东西向左转模式H6
该模式下只有东西向左转交通灯绿灯,其余为红灯。 H6: MOV P0,#00H ; 交通灯计时器全灭 MOV P2,#00H ; MOV P1,#40H ; 东西向左转绿灯亮,其余红灯 LJMP TZ3 ; 返回重新检测 4.2.10智能调控模式
智能调控模式下有两个输入按钮,南北向车多、和东西向车多两个按钮,本设计中只加入了两级调控,可以根据具体情况设置多级调控模式。
一级调控:主路35s 主路左转20s 辅路15s 辅路左转10s 二级调控:主路45s 主路左转25s 辅路10s 辅路左转5s 同样,调控程序和调时程序采用类似的工作方法,所以每次主程序完成一次循环之后才会起作用。
4.2.11智能调控模式演示
下面是智能调控程序演示,以南北向车多H7模式示例: H7: MOV A,50H ;将当前智能环境写入累加器 JB ACC.1,H41 ;检测当前级别为2则跳转H41 H42: INC 50H ;智能级别加1 INC A ; JB ACC.0,H31 ;检测当前级别为1则跳转H31
第 20 页 共 40 页
JB ACC.1,H32 ;检测当前级别为2则跳转H32 LJMP TZ3 ; 返回重新检测 H31: MOV 40H,60H ;智能一级级别写入 MOV 41H,61H MOV 42H,63H MOV 43H,64H MOV R1,#1 ;调用显示显示当前级别 MOV R3,#0 Y1: LCALL XIANSHI1 DJNZ R7,Y1 ;延时1S,相当于1S防抖 MOV R7,#25 LJMP TZ3 ; 返回重新检测 H32: MOV 40H,65H ;智能二级级别写入 MOV 41H,66H MOV 42H,67H MOV 43H,68H MOV R1,#2 ;调用显示显示当前级别 MOV R3,#0 Y2: LCALL XIANSHI1 DJNZ R7,Y2 ;延时1S,相当于1S防抖 MOV R7,#25 LJMP TZ3 ; 返回重新检测 H41: MOV 50H,#00H ;当然最大级别为2,若超出则从1级开始 LJMP H42 ;返回执行当前级别 4.2.12内部延时程序
在本设计中,内部延时程序为10ms。具体程序如下: TZ2: MOV TL0,#0F0H ;计数器重新赋值初值 MOV TH0,#0D8H ; CLR P3.4 ;P3.4口清零 RETI ;延时程序返回 4.2.13显示调用程序
显示调用程序本来只需使用一个,但是设计过程中一直有寄存器值未调用但发生变化的问题,所以设计2各显示调用程序,一个用于正常交通灯显示,一个用于调整程序使用。调时程序还有一个功能,就是通过4此位选以后延时了将近40ms,起到了延时的作用。
以交通灯调时程序1作为示例: XIANSHI1: MOV P1,#00H ; 交通灯全部为红灯
MOV A,R1 ;南北方向时间显示
MOV B,#10 DIV AB ;A放十位,B放个位 ADD A,#10H ;十位位选码 MOV P0,A ;输出显示 CK10: JNB P3.4,CK11 ;等待T0溢出 10ms SJMP CK10 CK11: SETB P3.4 ;P3.4重新置1检测溢出
第 21 页 共 40 页