交通灯实时控制系统设计说明

上传人:xmg****18 文档编号:114553233 上传时间:2019-11-11 格式:DOC 页数:14 大小:128.50KB
返回 下载 相关 举报
交通灯实时控制系统设计说明_第1页
第1页 / 共14页
交通灯实时控制系统设计说明_第2页
第2页 / 共14页
交通灯实时控制系统设计说明_第3页
第3页 / 共14页
交通灯实时控制系统设计说明_第4页
第4页 / 共14页
交通灯实时控制系统设计说明_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《交通灯实时控制系统设计说明》由会员分享,可在线阅读,更多相关《交通灯实时控制系统设计说明(14页珍藏版)》请在金锄头文库上搜索。

1、. . . .目 录第1章 需求分析11.1 课程设计题目11.2 课程设计任务及要求11.3 软硬件运行环境及开发工具1第2章 概要设计22.1 设计方案及设计原理概述22.2 实验设计流程概述3第3章 详细设计43.1 硬件设计与实现43.2 软件设计与实现4第4章 系统调试与操作说明74.1 系统调试74.2 操作说明7第5章 课程设计总结与体会8参考文献8附录:交通灯实时控制程序9第1章 需求分析1.1 课程设计题目课程设计的题目是:交通灯实时控制系统设计1.2 课程设计任务及要求本次课程设计要求设计一个十字路口的交通灯控制系统,要求车辆无交叉通过。十字路口的交通灯是交通法规的无声命令

2、,是司机和行人的行为准则。十字路口的交通灯控制是保证交通安全和道路畅通的关键,这次课程设计只是一个十字路口交通灯的工作情况的模拟。课程设计的任务要求完成实验方案的论证,十字路口的交通信号灯的控制电路设计,画出电路原理图、元器件布线图及实验电路图;搭建实验电路,进行软件编程、调试、运行以及使用说明文档的建立等一整套工作任务。进行十字路口的交通信号灯控制程序设计,系统联调,并提交一个符合上述功能要求的十字路口的交通信号灯实时控制系统设计。其功能的具体要求如下:1东西方向和南北方向轮流放行控制:1)南北方向准行60秒,东西方向准行40秒,按秒倒计时,并通过两位七段数码管显示器显示剩余时间;2)当准行

3、时间剩最后5秒时,灯闪烁以示警告。2. 特殊功能设计:当按下紧急按钮(本次实验中是用开关控制的)时,两车道均为红灯,保证紧急车辆顺利通过。1.3 软硬件运行环境及开发工具 DVCC-52196JH单片机仿真实验系统和一台PC机第2章 概要设计2.1 设计方案及设计原理概述 使用了MCS-51单片机的中断系统、并行I/O口实现了对南北方向、东西方向及紧急情况时交通的控制,并通过七段数码管的显示出倒计时间,其显示的原理是将十六进制数按高低四位拆开后分别送入R0,R1,然后分别将其调整为十进制后显示出来。设计采用倒计时的方式,规定了每种情况下车辆的通行时间。这个十字路口交通灯实时控制系统主要负责控制

4、南北方向、东西方向及紧急情况下通车的状态和转换顺序,设计关键是各个状态之间的转换和紧急情况下中断的产生,具体设计如下:1南北方向绿灯通过89C51的接口P1.0送到二极管L1,南北方向红灯通过89C51的接口P1.2送到二极管L3,东西方向绿灯通过89C51的接口P1.3送到二极管L4,东西方向红灯通过89C51的接口P1.5送到二极管L6,当将21H送入P1口时,南北方向绿灯,东西方向红灯,倒计时60秒,最后5秒红绿灯闪烁表示提示;2然后,当将0CH送入P1口时,东西方向绿灯,南北方向红灯,倒计时40秒,最后5秒红绿灯闪烁表示提示;3紧急情况在任何时候都能发生,即产生中断,中断发生后南北方向

5、、东西方向均为红灯即将24H送入P1口,停止普通车辆通行,倒计时20秒,最后5秒红绿灯闪烁表示提示。其实验设计原理图如图2.1:P1.0P1.1 P3.2P1.2P1.3 P3.0P1.4P1.5 P3.1P1.6 P1.7 AT89C51 Q0 Q1DATA Q2 Q3CLK Q4 Q5CLR Q6 Q774LS164P.gfedcba . .+5V/SPK1图2.1 交通灯实时控制原理图2.2 实验设计流程概述此次实验我主要分成四个模块进行的,模块一是程序的初始化;模块二是七段数码管显示倒计时间及红绿指示灯的闪烁(这一部分我将其设计成二个子函数,然后在主函数中直接调用即可);模块三是紧急情

6、况时的中断过程;模块四是延时程序部分。其实验流程图如图2.3:开 始中断初始化南北绿灯东西红灯,倒计时60秒 最后5秒红绿灯闪烁南北红灯东西绿灯,倒计时40秒 最后5秒红绿灯闪烁中断返回南北红灯东西红灯,倒计时20秒 最后5秒红灯闪烁发生中断紧急按钮的中断子程序图2.3 交通灯实时控制流程图第3章 详细设计3.1 硬件设计与实现其实验硬件设计的接线图如图2.2,主要是MCS-51单片机的并行I/O接口(P1.0P1.7)与发光二极管(L1L8)的接线和其控制接口(P3.0,P3.1)与七段数码管以及其控制接口(P3.2)与中断控制开关(K)的接线: 图2.2 实验接线图3.2 软件设计与实现

7、1. 用七段数码管显示倒计时间时我是利用拆字的方法将高位和低位分开显示,将低位显示出后用短暂延时,然后再将高位输出【2】,程序如下: MOV A, R2 SWAP A;互换A的高低位 ANL A,#0FH MOV R1,A;将A的高位送R1 CLR A ;将A清零 MOV A,R2 ANL A,#0FH MOV R0,A; 将A的低位送R0 MOV A,R0 MOV DPTR,#TAB MOVC A,A+DPTR MOV SBUF,A; 将A的低位输出 MOV R4,#0FH H55S:DJNZ R4,H55S;输出的短暂延时 MOV A,R1 MOV DPTR,#TAB MOVC A,A+D

8、PTR MOV SBUF,A; 将A的高位输出 LCALL DELAY;延时半秒 LCALL DELAY;延时1秒 MOV A,R2 ADD A,#99H;将A加上-1的补码 DA A;将A调整为十进制 MOV R2,A;十进制数输出 CLR C;将进位C清零 SUBB A,#5 JNZ LOOP;不到最后5秒就继续减1倒计时 LCALL LOOP1;最后5秒调用灯闪烁的子函数 2. 我是通过让灯亮一秒再灭一秒来实现红绿指示灯的闪烁的,其具体程序如下: MOV A,R7 MOV P1,A LCALL DELAY;灯亮半秒 MOV A,#00H MOV P1,A LCALL DELAY;灯灭半秒

9、 3. 我是将十六进制与-1的补码相加后再通过调整指令DA调整以后转换成相应的十进制数通过数码管显示的【3】,其程序如下: MOV A,R2 ADD A,#99H;将A加上-1的补码 DA A;将A调整为十进制 MOV R2,A;十进制数输出 4. 紧急情况时的中断程序,因为在中断程序中R7发生改变了,故需对R7进行保护,在中断结束时也需对R7进行恢复,虽然R2没有改变,但中断结束后不能立即执行对R2赋值的指令,所以计算机系统就默认R2的值为0FFH,故我在中断程序中用R5代替R2,其程序如下: INT_EX0:MOV 30H,R7 LOOP2:MOV SBUF,A PUSH 30H;对R7进

10、行现场保护 MOV SBUF,A;将SBUF清零 MOV R5,#20H;中断20秒 MOV A, R5 MOV R7,#24H;将灯的状态送入R7 SWAP A;互换A的高低位 MOV A,#24H ANL A,#0FH MOV P1,A;灯的状态从P1口输出 MOV R1,A;将A的高位送R1 LOOP3:MOV A,#00H CLR A;将A清零 MOV SBUF,A MOV A,R5 MOV SBUF,A;将SBUF清零 ANL A,#0FH MOV A, R5 MOV R0,A; 将A的低位送R0 SWAP A;互换A的高低位 MOV A,R0 ANL A,#0FH MOV DPTR,#TAB MOV R1,A;将A的高位送R1 MOVC A,A+DPTR

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

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号