智能交通信号控制器程序设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.设计主要内容及要求;
编写智能交通信号控制器程序。
要求:1)进行正常交通信号的控制。
2)显示信号剩余时间。
3)能够利用车辆数量控制信号切换信号等多种控制方法。
2.对设计论文撰写内容、格式、字数的要求;
(1).课程设计论文是体现和总结课程设计成果的载体,一般不应少于3000字。
(2).学生应撰写的内容为:中文摘要和关键词、目录、正文、参考文献等。课程设计论文的结构及各部分内容要求可参照《沈阳工程学院毕业设计(论文)撰写规范》执行。应做到文理通顺,内容正确完整,书写工整,装订整齐。
(3).论文要求打印,打印时按《沈阳工程学院毕业设计(论文)撰写规范》的要求进行打印。
(4). 课程设计论文装订顺序为:封面、任务书、成绩评审意见表、中文摘要和关键词、目录、正文、参考文献。
3.时间进度安排;
顺序阶段日期计划完成内容备注
1 月日教师讲解题目,学生查阅相关资料
2 月日查阅相关资料、进行方案论证
3 月日确定智能控制算法
4 月日编写程序
5 月日调试程序
6 月日撰写论文
7 月日验收作品、答辩
一设计任务描述
1.1 设计题目:智能交通信号控制器程序设计
1.2 设计要求
1.2.1 基本要求:
编写智能交通信号控制器程序。
要求:1)进行正常交通信号的控制。
2)显示信号剩余时间。
3)能够利用车辆数量控制信号切换信号等多种控制方法。
二设计思路
第一部分:利用I/O口的低端口(P1口)控制发光二极管(信号灯)的亮与灭。
利用延时程序控制发光二极管(信号灯)的亮与灭的时间间隔。
第二部分:利用液晶显示控制发光二极管(信号灯)亮与灭时间的倒计时显示。第三部分:利用外部中断(外部中断6、外部中断7)来控制不同车流量情况下,发光二极管(信号灯)亮与灭的时间的可调性。
三 设计方框图
程序开始
初始化 程序结束
东西绿灯亮,南北红灯亮,(10S )
液晶显示倒计时。
东西黄灯闪烁,南北红灯亮,(4S )
液晶显示倒计时。
东西红灯亮,南北绿灯亮,(4S )
液晶显示倒计时。
东西红灯亮,南北黄灯闪烁,(4S )
液晶显示倒计时。
中断开始
中断 条件
东西绿 南北红 东西红 南北绿
外部中断7
外部中断6 中断结束
四 设计原理
4.1 发光二级管(信号灯)显示控制
发光二极管(信号灯)为低电平有效,即“0”电平时发光二极管亮。并利用I/O 口(P1口)控制发光二极管的亮与灭。P1.0、P1.1、P1.2依次为东西方向的红、绿、黄,P1.3、P1.4、P1.5依次为南北方向的红、绿、黄。
4.1.1 状态一
东西绿灯亮,南北红灯亮时P1口送11110101即F5H 。 东西绿灯亮,南北红灯亮的时间为10秒。
4.1.2 状态二
东西黄灯灭,南北红灯亮时P1口送11110111即F7H 。 东西黄灯亮,南北红灯亮时P1口送11110011即F3H 。 异或指令(XRL ):欲取反的位置“1”欲保留的位置“0”。
(11110111)XRL(00000100)为(11110011)即F7H 同04H 异或为F3H 。 东西黄灯闪烁,南北红亮灯的时间为04秒,黄灯闪烁2 次。
状态一 东西绿 南北红
状态二 东西黄 南北红
4.1.3 状态三
东西红灯亮,南北绿灯亮时P1口送11101110即EEH 。 东西红灯亮,南北绿灯亮的时间为04秒。
4.1.4 状态四
东西红灯亮,南北黄灯灭时P1口送11111110即FEH 。 东西红灯亮,南北黄灯亮时P1口送11011110即DEH 。 异或指令(XRL ):欲取反的位置“1”欲保留的位置“0”。
(11111110)XRL(00100000)为(11011110)即FEH 同20H 异或为DEH 。 东西红灯亮,南北黄灯闪烁时间为04秒,黄灯闪烁2次。
状态三 东西红 南北绿
状态四 东西红 南北黄
4.2 液晶显示控制
4.2.1 系统时钟初始化
系统时钟初始化为片内的4MHz时钟,即OSCICN送00000101即05H。4.2.2 通用I/O口及交叉开关初始化
通用I/O口及交叉开关初始化:
1、没有选择数字外设,即XBR0送00000000即00H。
2、P4~P7口设为推拉方式,即P74OUT送11110000即F0H。
4.2.3 LCD初始化
LCD初始化,写命令操作
1、功能设置:两行显示,5×7点阵,即P7口送00111000即38H。
写命令,即P6口送00000001即01H。
结束写命令,即P6口送00000000即00H。
2、开显示,开光标,字符不闪烁,即P7口送00001110即0EH。
写命令,即P6口送00000001即01H。
结束写命令,即P6口送00000000即00H。
3、I/D=1,AC自动增1;S=0,整体显示不移动,即P7口送00000110即
06H。
写命令,即P6口送00000001即01H。
结束写命令,即P6口送00000000即00H。
4、清除DDRAM,置AC=0,即P7口送00000001即01H。
写命令,即P6口送00000001即01H。
结束写命令,即P6口送00000000即00H。
4.2.4 液晶显示
将要显示的数送给累加器A,将10送给累加器B即0AH。用除法指令DIV 即A除以B,其结果商保存在累加器A中,余数保留在累加器B中。再将累加器A中的数与累加器B中的数分别依次查表即取ASCII码字符并显示出来。查表时利用DPTR。先把所查表的首地址送给DPTR指针,然后再查表。