2022年2022年交通灯程序 .pdf

上传人:C****o 文档编号:38688209 上传时间:2022-09-04 格式:PDF 页数:6 大小:52KB
返回 下载 相关 举报
2022年2022年交通灯程序 .pdf_第1页
第1页 / 共6页
2022年2022年交通灯程序 .pdf_第2页
第2页 / 共6页
点击查看更多>>
资源描述

《2022年2022年交通灯程序 .pdf》由会员分享,可在线阅读,更多相关《2022年2022年交通灯程序 .pdf(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、编程提示:(1) 通过 74LS164 控制发光二极管,以模拟交通灯的控制。(2) 程序中设定好计数初值,开始倒数。(3) 各发光二极管共阴极,使其点亮应使对应的端口输出高电平。;=交通灯控制器 = SECOND1 EQU 30H ; 东西路口计时寄存器SECOND2 EQU 31H ; 南北路口计时寄存器DBUF EQU 40H ; 显示码缓冲区1 TEMP EQU 44H ; 显示码缓冲区2 LED_G1 BIT P2.1 ; 东西路口绿灯LED_Y1 BIT P2.2 ; 东西路口黄灯LED_R1 BIT P2.3 ; 东西路口红灯LED_G2 BIT P2.4 ; 南北路口绿灯LED_

2、Y2 BIT P2.5 ; 南北路口黄灯LED_R2 BIT P2.6 ; 南北路口红灯ORG 0000H LJMP START ORG 0100H START: MOV TMOD,#01H ; 置 T0 为工作方式1 MOV TH0,#3CH ; 置 T0 定时初值50ms MOV TL0,#0B0H CLR TF0 SETB TR0 ; 启动 T0 CLR A MOV P1,A ; 关闭不相关的LED ;* LOOP: MOV R2,#20 ; 置 1s 计数初值 ,50ms*20=1s MOV R3,#20 ; 红灯亮 20s MOV SECOND1,#25 ; 东西路口计时显示初值25

3、s MOV SECOND2,#25 ; 南北路口计时显示初值25s LCALL DISPLAY LCALL STATE1 ; 调用状态 1 WAIT1: JNB TF0,WAIT1 ; 查询 50ms到否CLR TF0 MOV TH0,#3CH ; 恢复 T0 定时初值50ms MOV TL0,#0B0H DJNZ R2,WAIT1 ;判断 1s 到否?未到继续状态1 MOV R2,#20 ; 置 50ms计数初值DEC SECOND1 ; 东西路口显示时间减1s DEC SECOND2 ; 南北路口显示时间减1s 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - -

4、- - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - LCALL DISPLAY DJNZ R3,WAIT1 ; 状态 1 维持 20s ;* MOV R2,#5 ; 置 50ms计数初值5*4=20 MOV R3,#3 ; 绿灯闪 3s MOV R4,#4 ; 闪烁间隔 200ms MOV SECOND1,#5 ; 东西路口计时显示初值5s MOV SECOND2,#5 ; 南北路口计时显示初值5s LCALL DISPLAY WAIT2: LCALL STATE2 ; 调用状态2 JNB TF0,WAIT2

5、 ; 查询 50ms到否CLR TF0 MOV TH0,#3CH ; 恢复 T0 定时初值 50ms MOV TL0,#0B0H DJNZ R4,WAIT2 ; 判断 200ms到否?未到继续状态2 CPL LED_G1 ; 东西绿灯闪MOV R4,#4 ; 闪烁间隔200ms DJNZ R2,WAIT2 ; 判 1s 到否?未到继续状态2 MOV R2,#5 ; 置 50ms计数初值DEC SECOND1 ; 东西路口显示时间减1s DEC SECOND2 ; 南北路口显示时间减1s LCALL DISPLAY DJNZ R3,WAIT2 ; 状态 2 维持 3s ;* MOV R2,#20

6、 ; 置 50ms计数初值MOV R3,#2 ; 黄灯闪 2s MOV SECOND1,#2 ; 东西路口计时显示初值2s MOV SECOND2,#2 ; 南北路口计时显示初值2s LCALL DISPLAY WAIT3: LCALL STATE3 ; 调用状态3 JNB TF0,WAIT3 ; 查询 100ms到否CLR TF0 MOV TH0,#3CH ; 恢复 T0 定时初值 100ms MOV TL0,#0B0H DJNZ R2,WAIT3 ; 判断 1s 到否?未到继续状态3 MOV R2,#20 ; 置 100ms计数初值DEC SECOND1 ; 东西路口显示时间减1s DEC

7、 SECOND2 ; 南北路口显示时间减1s LCALL DISPLAY DJNZ R3,WAIT3 ; 状态 3 维持 2s 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - ;* MOV R2,#20 ; 置 50ms计数初值MOV R3,#20 ; 红灯闪 20s MOV SECOND1,#25 ; 东西路口计时显示初值25s MOV SECOND2,#25 ; 南北路口计时显示初值25s LCALL DISPLAY WAI

8、T4: LCALL STATE4 ; 调用状态4 JNB TF0,WAIT4 ; 查询 100ms到否CLR TF0 MOV TH0,#3CH ; 恢复 T0 定时初值 100ms MOV TL0,#0B0H DJNZ R2,WAIT4 ; 判断 1s 到否?未到继续状态4 MOV R2,#20 ; 置 100ms计数初值DEC SECOND1 ; 东西路口显示时间减1s DEC SECOND2 ; 南北路口显示时间减1s LCALL DISPLAY DJNZ R3,WAIT4 ; 状态 4 维持 20s ;* MOV R2,#5 ; 置 50ms计数初值MOV R4,#4 ; 红灯闪 20m

9、s MOV R3,#3 ; 绿灯闪 3s MOV SECOND1,#5 ; 东西路口计时显示初值5s MOV SECOND2,#5 ; 南北路口计时显示初值5s LCALL DISPLAY WAIT5: LCALL STATE5 ; 调用状态5 JNB TF0,WAIT5 ; 查询 100ms到否CLR TF0 MOV TH0,#3CH ; 恢复 T0 定时初值 100ms MOV TL0,#0B0H DJNZ R4,WAIT5 ; 判断 200ms到否?未到继续状态5 CPL LED_G2 ; 南北绿灯闪MOV R4,#4 ; 闪烁 200ms DJNZ R2,WAIT5 ; 判断 1s 到

10、否?未到继续状态5 MOV R2,#5 ; 置 100ms计数初值DEC SECOND1 ; 东西路口显示时间减1s DEC SECOND2 ; 南北路口显示时间减1s LCALL DISPLAY DJNZ R3,WAIT5 ; 状态 5 维持 3s ;* MOV R2,#20 ; 置 50ms计数初值名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - MOV R3,#2 ; 红灯闪 2s MOV SECOND1,#2 ; 东西路口

11、计时显示初值2s MOV SECOND2,#2 ; 南北路口计时显示初值2s LCALL DISPLAY WAIT6: LCALL STATE6 ;调用状态6 JNB TF0,WAIT6 ; 查询 100ms到否CLR TF0 MOV TH0,#3CH ; 恢复 T0 定时初值 100ms MOV TL0,#0B0H DJNZ R2,WAIT6 ; 判断 1s 到否?未到继续状态6 MOV R2,#20 ; 置 100ms计数初值DEC SECOND1 ; 东西路口显示时间减1s DEC SECOND2 ; 南北路口显示时间减1s LCALL DISPLAY DJNZ R3,WAIT6 ; 状

12、态 6 维持 2s LJMP LOOP ; 大循环;* STATE1: ; 状态 1 SETB LED_G1 ; 东西路口绿灯亮CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ; 南北路口红灯亮RET STATE2: ; 状态 2 CLR LED_Y1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ; 南北路口红灯亮RET STATE3: ; 状态 3 CLR LED_G1 CLR LED_R1 CLR LED_G2 CLR LED_Y2 SETB LED_R2 ; 南北路口红灯亮SET

13、B LED_Y1 ; 东西路口绿灯亮RET 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - STATE4: ; 状态 4 CLR LED_G1 CLR LED_Y1 SETB LED_R1 ; 东西路口红灯亮SETB LED_G2 ; 南北路口绿灯亮CLR LED_Y2 CLR LED_R2 RET STATE5: ; 状态 5 CLR LED_G1 CLR LED_Y1 SETB LED_R1 ; 东西路口红灯亮CLR LED

14、_Y2 CLR LED_R2 RET STATE6: ; 状态 6 CLR LED_G1 CLR LED_Y1 SETB LED_R1 ; 东西路口红灯亮CLR LED_G2 CLR LED_R2 SETB LED_Y2 ; 南北路口红灯亮RET DISPLAY: ; 数码显示MOV A,SECOND1 ; 东西路口计时寄存器MOV B,#10 ;16 进制数拆成两个10 进制数DIV AB MOV DBUF+3,A MOV A,B MOV DBUF+2,A MOV A,SECOND2 ; 南北路口计时寄存器MOV B,#10 ;16 进制数拆成两个10 进制数DIV AB MOV DBUF+

15、1,A MOV A,B MOV DBUF,A MOV R0,#DBUF MOV R1,#TEMP MOV R7,#4 DP10: MOV DPTR,#LEDMAP 名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - MOV A,R0 MOVC A,A+DPTR MOV R1,A INC R0 INC R1 DJNZ R7,DP10 MOV R0,#TEMP MOV R1,#4 DP12: MOV R7,#8 MOV A,R0 DP1

16、3: RLC A MOV P3.0,C CLR P3.1 SETB P3.1 DJNZ R7,DP13 INC R0 DJNZ R1,DP12 RET LEDMAP: DB 3FH,06H,5BH,4FH,66H,6DH ;0 ,1,2,3,4,5 DB 7DH,07H,7FH,6FH,77H,7CH ;6 ,7,8,9,A,B DB 58H,5EH,7BH,71H,0,40H ;C,D,E,F, ,- END 运行实验程序编译程序时,在系统“P.”状态后,运行程序时 L1L12 发光二极管模拟交通灯显示。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 高考资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁