当前位置:首页 > 交通灯毕业设计论文 - 图文
南京工程学院自动化学院本科毕业设计(论文)
图3.6矩阵键盘
由于矩阵键盘功能复杂,其软件编写上有一定的困难,而且交通灯控制系统的功能较为简单,所需要的按键数目不多,独立按键键盘结构简单,性能也更加稳定,选用按键键盘可以节约硬件资源,综合上述原因,在本设计中选用的是独立按键键盘。
本设计中只使用了5个按键,故采用独立式按键的原理图如图3.7所示,其中K0 用于南北时间调整,K1用于东西时间调整,K2用于模拟禁止通行,亮红灯,K3返回键,K4用于设定时间,需要设定时,先按下此按钮。单独按下K0键就是南北方向通行,单独按下K1是东西方向通行。
图3.7 键盘输入电路原理图
21
南京工程学院自动化学院本科毕业设计(论文)
第四章 系统软件设计
4.1系统软件的设计要求
由软件设置交通灯的初始时间,南北方向通行30秒,东西方向通行20秒,数码管采用动态显示,P0口送字形码,P2口送字位选通信号,通过单片机的P1口控制各种信号灯的燃亮与熄灭。采用中断方式实现按键的功能。
4.2系统应用程序的设计
C语言基本组成部分紧凑、简洁,使用一些简单的规则方法,就可以构造出相
当复杂的结构,表达式简练、灵活、实用,既提高了变异效率和目标代码的质量,又提高了程序的可读性。C语言中提供了某些渐进于汇编程序的功能,如地址处理、二进制位运算以及制定用寄存器存放变量等。它是结构化程序设计语言,具有良好的程序所需要的各种控制流结构,如for、while、do while循环语句等。在C语言中具有各种现代程序设计语言普遍配置的数据结构和基本数据类型,运算符丰富,处理字符方便,输入/输出时依靠函数调用实现,在标准程序库中,具有使用方便,功能强的I/O函数。所以,在程序设计时,采用C语言进行程序设计。 4.2.1主程序设计
设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一 方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。 表4.1 交通状态 25 5S 15S 5S ??
东西道 红灯亮 红灯亮 绿灯亮 黄灯亮 ??
南北道 绿灯亮 黄灯亮 红灯亮 红灯亮 ??
全部控制程序实际上分为若干模块:键盘设置处理程序,状态灯控制程序, LED显示程序,消抖动延时程序,紧停判断程序,中断服务子程序,车流量计数程序,红绿灯时间调整程序等。整个软件程序方面主要分两大部分:按键处理程序和50ms扫描程序。流程图如图4.2所示。
22
南京工程学院自动化学院本科毕业设计(论文)
开始
初始化
设初值 红灯倒计时
倒计时完毕 Y
红绿灯交替
绿灯倒计时
车流量改变 倒计时完毕 Y 黄灯亮 N N Y 键盘输入
N 灯交替 图3.7 键盘输入电路原理图
4.2.2按键设置程序的设计
按键程序的流程图如图4.3所示:
23
南京工程学院自动化学院本科毕业设计(论文)
图4.3 按键程序流程图
在按键程序中,运用while语句不断循环,来检测按键是否按下,按下后,防止因抖动引起的误操作,延时10ms再次确认按键是否按下后,确定后执行相应代码,然后等待按键的释放。
void delay(uint ms) //延时子程序 {
uchar t; }
void keyscan() {
if(S1==0) //检测按键按下
while(ms--) //ms即延时毫秒 for(t=0;t<120;t++);
{
delay(10); //延时
if(S1==0) //确认按键按下
{
a++; //执行代码
while(!S1); //等待按键释放
24
共分享92篇相关文档