收藏 分享(赏)

交通信号灯模拟控制器.docx

上传人:HR专家 文档编号:11625335 上传时间:2020-09-11 格式:DOCX 页数:8 大小:59.60KB
下载 相关 举报
交通信号灯模拟控制器.docx_第1页
第1页 / 共8页
交通信号灯模拟控制器.docx_第2页
第2页 / 共8页
交通信号灯模拟控制器.docx_第3页
第3页 / 共8页
交通信号灯模拟控制器.docx_第4页
第4页 / 共8页
交通信号灯模拟控制器.docx_第5页
第5页 / 共8页
点击查看更多>>
资源描述

1、昆明冶金高等专科学校教学教案课题:编程实例 2教学时数: 2 学时教学目的:1、通过交通灯控制的编程掌握单片机的编程方法2、学习中断服务程序的编写方法。重点、难点:中断服务程序的编写。主要教学内容(提纲):一、课题内容二、编程指导三、参考程序教学方法、手段:课堂讲授,学生练习课内外练习将所编程序在实验仪验证.课后小结1 / 7讲 授 要 点一、课题内容编写一程序实现城市 “十字” 路口正常情况下以及特殊情况和紧急情况下交通信号灯的模拟控制。1、在十字路口东西南北各设置红、黄、绿三种信号灯, 如图 1所示。正常情况下, 东西、南北方向轮流放行。当东西方向(A 线 ) 放行、南北方向(B 线) 禁

2、行时,东西方向(A 线 ) 绿灯亮25秒,然后黄灯亮5秒,南北方向 (B 线 ) 红灯亮 30秒;当南北方向 (B 线 ) 放行、东西方向 (A线 ) 禁行时,南北方向 (B 线 ) 绿灯亮 25秒,然后黄灯亮 5秒,东西方向 (A 线 ) 红灯亮 30秒。如此循环,实现交通灯定时控制。2、有急救车优先通过功能。当有急救车到达时,路口的信号灯全部变红灯,以便急救车通过,急救车的通行时间为 10秒,急救车过后,交通灯恢复先前状态。3、交通灯在红、绿灯交替点亮中,用两个数码管显示点亮的灯还能持续的时间。北西东南图 1 交通灯布置示意图二、编程指导1、电路图2 / 7交通灯控制电路的核心元件采用单片

3、机芯片AT89C51 ,其内部带有 4KB 的 ROM ,无须扩展存储器。信号灯的控制由单片机的P1.0P1.5控制, 6只信号灯以共阴极方式连接,当P1口输出为高电平时,信号灯点亮,为实现上述控制要求,P1口共输出四种控制码,如表1所示。表 1:交通灯信号控制码空空B 道B 道B 道A 道A 道A 道绿灯黄灯红灯绿灯黄灯红灯控制码P1.7P1.6P1.5P1.4P1.3P1.2P1.1P1.0状态说明A 道放行、 B 道000011000CH禁止A 道警告、 B 道000010100AH禁止A 道禁止、 B 道0010000121H放行A 道禁止、 B 道0001000111H警告2、控制程

4、序( 1) 流程图软件包括主程序、延时、显示子程序、中断服务程序,各程序流程图如图2所示。3 / 7开始开始初始化显示秒数减1显示初始值设置秒数转十进制A道放行, B道禁行拆分秒数延时秒个位数转字形码显示R1 个位数A道警告, B道禁行秒十位数转字形码延时5SR2 十位数A道禁行, B道放行设置显示次数置显示初始值显示十位数延时延时1ms显示显示个位数A道禁行, B道警告延时1ms延时N显示次数 =0?Y显示返回主程序流程图显示子程序流程图图 2程序流程图三、参考程序主程序:ORG 2000HMAIN:MOV DPTR,#7F00HMOV A, #0BH;PA、 PC口均为输出MOVX DPT

5、R,AMAIN:SETB EA;开中断SETB EX0中断响应保护现场A道放行, B道禁行延时10s恢复现场返回紧急情况中断服务程序4 / 7MOV 50H, #1FH;设置时间显示初值MOV P1, #0CH;A 道放行, B 道禁行MOV R7, #19H;延时秒数MAIN1:LCALL DISP;调 1 秒延时、及显示子程序DJNZ R7, MAIN1MOV P1, #0AH;A 道警告, B 道禁行MOV R7, #05H;延时秒数MAIN2:LCALL DISPDJNZ R7, MAIN2MOV 50H, #1FH;设置时间显示初值MOV P1, #21H;A 道禁行, B 道放行M

6、OV R7, #19H;延时秒数MAIN3:LCALL DISPDJNZ R7, MAIN3MOV P1, #11H;A 道禁行, B 道警告MOV R7, #05H;延时秒数MAIN4:LCALL DISPDJNZ R7, MAIN4AJMP MAIN;循环延时、显示子程序:ORG 2000HDISP :MOV R6, #01H;设置显示位寄存器初值(右边一位MOV TMOD,#01H;定时器T0 设置为定时方式的模式1MOV R5, #0AH;定时器操作循环10 次DEL1:MOV TH0, #3CH;定时器 100ms计数器的初始值MOV TL0, #B0HSETB TR0;启动定时器D

7、EL2:DEC 50H;显示秒数减 1MOV A, 50H5 / 7MOV B, #0AHDIV B;拆分秒数ADD A, #2BHMOVC A, A+PC;查表个位数的字形码MOV R1, A;个位数字形码送R1MOV A, BADD A, #25HMOVC A, A+PC;查表十位数的字形码MOV R2, A;十位数字形码送R2MOV A, R6;位控码MOV DRTP, #7F03HMOVX DPTR,AMOV A, R1;送个位数显示MOV DPTR, #7F01HMOVX DPTR,ALCALL DELAY;延时 1msMOV A, R6RL A;位控左移MOV R6, AMOV D

8、PTR, #7F03HMOVX DPTR,AMOV A, R2;送十位数显示MOV DPTR, #7F01HMOVX DPTR,ALCALL DELAY;延时 1msJNB TF0, $;检测 100ms 定时是否到CLR TF0DJNZ R5, DEL1; 100ms循环控制RET;返回TABLE:DBC0H,F9H,A4H, B0H,99HDB92H,82H,F8H, 80H,90HDELAY:MOV R7, #02H;延时 1ms 子程序6 / 7DEL3:MOV R6, #0F9HDEL4:DJNZ R6, DEL2DJNZ R7, DEL1RETEND中断服务程序:ORG 0003H;外部中断0 入口地址LJMP INTER0ORG 2100HINTER0:PUSH 50H;保护现场PUSH P1MOV P1, #00H;两车道禁止MOV R7, #0AH;延时 10 秒INT0 :LCALL DISP;调显示DJNZ R7, INT0POP P1;恢复现场POP 50HRETI;中断返回7 / 7

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > 计算机原理

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报