课程设计论文-基于51单片机的交通灯控制设计内容摘要:

A 车道绿灯亮,南北方向 B 车道红灯亮。 表示南北方向 B 车道上的车辆禁止通行,东西方向 A 车道允许通行。 绿灯亮足规 定的时间隔时,控制器发出状态信号,转到下一工作状态。 ( 2)东西方向 A 车道黄灯亮,南北方向 B 车道红灯亮。 表示东西方向 A 车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,南北方向 B 车道禁止通行。 黄灯亮足规定时间间隔时,控制器发出状态转换信号,转到下一工作状态。 ( 3)东西方向 A 车道红灯亮,南北方向 B 车道绿灯亮。 表示东西方向 A 车道上的车辆禁止通行,南北方向 B 车道允许通行,绿灯亮足规定的时间间隔时,控制器发出状态转换信号,转到下一工作状态。 ( 4)东西方向 A 车道红灯亮,南北方向 B 车道黄灯亮。 表示东西方向 A 车 道禁止通行,南北方向 B 车道上未过限停车线的车辆停止通行,已过停车线的车辆继续通行。 黄灯亮足规定的时间间隔时,控制器发出状态转换信号,系统又转换到 8 第( 1)种工作状态。 控制灯程序流程图如下: 延时程序模块的设计 延迟程序块是要生成一定的是时间延时,这在数码管显示模块中会用到延迟程序,以满足足动态扫描时数码管的闪亮能产生视觉效果。 4 Proteus 软件仿真 Proteus 软件系统仿真 如硬件系统图所示接线 ,图中 ,在十字路口的红 ,黄 ,绿交通灯中 A 道的两组同色灯连在起 ,B上的也互联 ,受 MCS51 的 控制。 打开 keil软件 调试环境,把已经编好的程序输入,保存为 “ .asm” 格式的,然后编译,系统自动生成 “ .hex”文件。 设置好仿真器后,编译程序无误后调试执行程序,结果显示符合要求。 具体仿真结果见 Protues 里仿真图形。 置 A 道放行标志 0— F0 A 道放行时间送 R4 缓冲 3。 A 道亮绿灯, B 道亮红灯 A 道黄灯 B 道红灯 B 道亮绿灯 A 道亮红灯 B 道黄灯 A 道红灯 B 时间已走完。 A 已走完。 缓冲 3? 9 5 课程设计体会 这次课程设计经过一个假期的反复琢磨与修改,终于完成了。 从查资料,整理资料到读程序,写程序,改程序,仿真直至通过老师的验收,一切都充满了刻苦与艰辛,其间充满了挫折可是同时又伴随着欢乐。 令我感触最深的就是 同学们倾心的帮助,由于我的《单片机原理与应用技术》学的并不是很好,所以对某些知识点并不是很清楚,可是同学们总是不厌其烦的给我一遍又一遍的讲解,直到我弄清楚为止。 他们的知识阅历另我打开眼界,他们的无私精神更另我感动不已。 另外,在重复修改与设计的过程中,我又重新把《单片机原理与应用技术》这本书仔细的看了一下,弄懂了一些以前一知半解的东西,进一次加强和巩固了我的理论知识。 在此次课程设计过程中,我把单片机的理论知识用于实践中,使理论与实践相结合,使我的理论知识的到了巩固,在查资料翻阅资料的过程中也丰富了我的知识 跟阅历。 参考文献 [1] 张毅刚 .新编 MCS51 单片机应用设计(第 3 版) .哈尔滨工业大学出版社, 2020 [2] 马家辰 .MCS51 单片机原理及接口技术(修订版)哈尔滨工业大学出版社民 2020 [3] 何立民 .MCS51 系列 —— 单片机应用系统设计 . 北京:北京航空航天大学出版社 1990 [4]侯玉宝,基于 protues 的 51 系列单片机设计与仿真 . 北京:电子工业出版社 2020 10 附 1 源程序代码。 .........数字显示代码 ........................................... ORG 0100H TAB: DB 3FH,6H,5BH,4FH,66H,6DH,7DH,7H,7FH,6FH。 主程序 ORG 0300H MAIN: MOV 26H,80。 东西通行时间初始值,存到 26H 单元 MOV 25H,60。 南北通行时间初始值,存到 25H 单元 MOV SP,40H。 堆栈选址 CLR。 MOV TMOD,66H。 T0、 T1 都计数方式,工作模式 2 ,启动方式 TRi 确定 MOV TL0,255。 计数器 0 初值 低 8 位 MOV TH0,0。 计数器 0 初值高 8 位 MOV TL1,255。 计数器 1 初值 低 8 位 MOV TH1,0。 计数器 1 初值高 8 位 SETB IT0。 外部中断一边沿触发 SETB IT1。 外部中断二边沿触发 MOV IE,8FH。 开中断 SETB TR0。 T0 开始计数 SETB TR1。 T1 开始计数。 ......东西绿灯南北红灯 ............................................... DXLD: CLR。 MOV R3,26H。 东西通行 80 秒 ( 26H)=80, (DXLD 即东西绿灯) DXLD1: MOV P2,33H。 点亮东西绿灯南北红灯 MOV 24H,R3。 为东西方向显示时间做准备 MOV A,R3。 ADD A,3。 黄灯的时间差 MOV 23H,A。 为南北方向显示时间做准备 LCALL DISP3。 时间显示 ,其中有 秒延时 LCALL DISP3。 凑够 1 秒时间 DJNZ R3,DXLD1。 判断 80 秒是否已完。 .......南北红灯东西黄灯闪 ......................................... ShanHD1: MOV R2,3。 转入黄灯闪亮 3 秒 HD1: MOV 22H,R2。 为显示做准备 MOV P2,2BH。 点亮南北红灯东西黄灯 LCALL DISP2。 显示时间,并延时 秒 MOV P2,3BH。 点亮南北红灯关闭东西黄灯 LCALL DISP2。 显时,且再延时 秒以便凑够 1 秒 DJNZ R2,HD1。 判断 5 秒是否到,若未到继续闪灭东西黄灯 AJMP NBLD。 .......南北绿灯东西红灯 ................................ NBLD: CLR。 MOV R1,25H。 南北通行时间 60 秒 (25h)=60,( NBLD 即东西绿灯) NBLD1: MOV P2,1EH。 点亮南北绿灯东西红灯 MOV 20H,R1。 为南北方向显示时间做准备 MOV A,R1。 ADD A,3。 MOV 21H,A。 为东西方向显示时间做准备 LCALL DISP1。 显示通行所剩时间,其中有 秒延时 LCALL DISP1。 再次显示以便数码管不闪,且再延时 秒以便凑够一秒 DJNZ R1,NBLD1。 判断 30 秒是否已完,若未完则从新显示、延时 11。 .......南北黄灯闪东西红灯 ............................................. ShanHD: MOV R2,3。 黄灯闪亮 3 秒 HD: MOV P2,1DH。 点亮黄灯 MOV 22H,R2。 为显示时间做准备 LCALL DISP2。 黄灯闪亮剩时显示 ,其中延时 秒 MOV P2,1FH。 熄灭黄灯 LCALL DISP2。 显时,且再延时 秒以便凑够 1 秒 DJNZ R2,HD。 判断 5 秒是否已完,若未完则从新闪灭、延时和显示。 主程序到此完 */。 ......延时程序 ..。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。