十字路口交通灯的设计.doc
《十字路口交通灯的设计.doc》由会员分享,可在线阅读,更多相关《十字路口交通灯的设计.doc(28页珍藏版)》请在沃文网上搜索。
1、 目 录1 设计要求及总体方案介绍11.1 设计课题任务11.2 功能说明11.3 设计总体方案介绍及工作原理说明21.3.1 总体方案介绍21.3.2 工作原理32 硬件系统设计42.1 硬件模块介绍42.2 电路原理图 PCB图 元器件布局图42.3 元器件清单43 软件系统设计53.1 单片机的使用资源情况53.2 软件模块功能介绍53.3 程序流程图53.3.1 主程序流程图53.3.2子程序流程图63.3.3应急通道程序流程图73.3.4键扫程序流程图74 设计总结84.1 使用说明84.2 仿真结果84.3 误差分析105 设计总结与体会115.1设计总结115.2 教学建议11结
2、束语12致谢13参考文献14附录A15附录B18附录 C191 设计要求及总体方案介绍1.1 设计课题任务设计一个具有特定功能的十字路口交通灯。该交通灯上电或按键复位后能自动显示系统提示符“P.”, 进入准备工作状态。按开始键则开始工作,按结束键则返回“P.”状态。要求甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。有应急车辆出现时,红灯全亮,应急车辆通车时间10秒,同时禁止其他车辆通过。1.2 功能说明本次课程设计在硬件方面的接法如下:P3口接二极管,P3.0、P3.1、P3.2口线分别
3、来控制东西方向的绿灯、黄灯和红灯;P3.3、P3.4、P3.5口线分别控制南北方向的红灯、黄灯和绿灯。P2口作为数码管的位控,P0口作为数码管的段控,P1口作为输入部分(这里用到了P1.0、P1.1、P1.2口线),控制数码管的显示情况和二极管的亮灭情况。当交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。当按下启动按钮K0并释放后,数码管显示将会从“57”开始倒计时,每隔一秒减1,此时东西方向开始一直亮绿灯,南北方向一直亮红灯,直到显示为“00”时,数码管将会从“03”开始倒计时,每隔一秒减1,此时东西方向每隔一秒黄灯就闪烁一次,南北方向亮一直红灯,直到显示为“00”时,
4、数码管将会从“27”开始倒计时,此时东西方向一直亮红灯,南北方向一直亮绿灯,直到显示为“00”时,数码管又将从“03”开始倒计时,此时东西方向一直亮红灯,南北方向每隔一秒黄灯就闪烁一次;当没有其他键按下时,交通灯将这样一直循环下去。当按下结束键K2并释放后,数码管将显示“P.”,东西南北方向无灯亮。当按下紧急键JINJI并释放后,数码管将显示“10”,并且每隔一秒就减1,东西南北方向全部红灯亮。单片机采用AT89S52,fosc=12MHZ。其按键功能如表1.1所示。表1.1 按键功能按键键名功能P1.0K0键启动键P1.2K2键结束键P1.1JINJI键紧急键1.3 设计总体方案介绍及工作原
5、理说明1.3.1 总体方案介绍该交通灯电路由单片机AT98S52、键盘接口电路、显示接口电路、发光二极管控制电路、时钟电路和复位电路构成,原理框图如图1.1所示。 图1 原理框图(1) 电源提供方面采用独立的稳压电源,此方案的优点是稳定可靠,且有各种成熟电路可供使用。(2) 显示方面采用数码管显示,用来显示有限符号和数码字符。(3) 键盘输入方面直接在I/O口线上接按键开关,因为设计时精简和优化了电路,所以剩余的口资源较多。此设计共用到了3个按键,分别为:K0、JINJI、K2。1.3.2 工作原理首先时钟电路产生单片机工作时所需要的时钟信号,这是单片机能够正常工作的前提,而单片机有无定时的基
6、础以及定多长的时间,这些还需要我们人为的确定。我是采用50ms延时中断程序用来定时,在我们的硬件电路中,按键的键功能程序在中断服务中,在正常情况下会不断运行主程序,当有键按下时,CPU去转去执行中断程序,而中断程序可以执行三种键功能:第一个是十秒倒计时紧急红灯亮;第二个是结束倒计时,显示P.;第三个是重新开始倒计时。当有键按下时,外部中断0口线就会变成低电平,通过键扫程序来具体判断到底是哪个键按下,CPU才会去执行中断里面的某个键功能。8个发光二极管是由P3口控制的,P3口与二极管之间串接一个限流电阻使二极管不易烧坏,采用送低电平有效。2 硬件系统设计2.1 硬件模块介绍本交通灯硬件模块主要由
7、显示模块,时钟模块,复位模块,键盘模块和指示灯模块五大模块构成。A 显示模块:本次课程设计中,采用的是八位数码管,显示原理跟单个LED的显示原理完全相同,在段控线和位控线都串接一个电阻,以提高其输出功率。B 时钟模块: 时钟电路用来产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。通过在芯片的外部XTAL1和XTAL2两个引脚跨接晶体振荡器和微调电容,形成反馈电路。C 复位模块:复位电路用于产生复位信号,通过RST引脚送入单片机,复位是单片机的初始操作,其主要功能是:为一些专用寄存器设置初始状态、
8、程序状态字PSW清0、程序计数器PC被赋值为0000H等,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需安装复位键以重新启动。RST引脚是复位信号的输入端,复位信号是高电平有效,完成复位操作共需要24个状态周期,复位结束后,单片机从地址0000H单元开始执行程序,SP为07H,其它寄存器大多数被置为00H,本设计使用频率为12MHz的晶振,所以复位信号持续时间应超过2s才能完成复位操作。D 键盘模块:编码键盘采用硬件方法产生键码。每按下一个键,键盘能自动生成键盘代码,键数较多,且具有去抖动功能。这种键盘使用方便,但硬件较复杂。非编码键盘仅提供按
9、键开关工作状态,其键码由软件确定,这种键盘键数较少,硬件简单,广泛应用于各种单片机应用系统。E 指示灯模块:本次课程设计采用P3口控制二极管的发光情况 具体设计如下:P3.0控制东西方向的绿灯 P3.1口控制东西方向的黄灯 P3.2控制东西方向的红灯 P3.3控制南北方向的绿灯 P3.4控制南北方向的黄灯 P3.5控制南北方向的红灯2.2 电路原理图 PCB图 元器件布局图见附录A2.3 元器件清单见附录B3 软件系统设计 3.1 单片机的使用资源情况AT89S52的P3口用来接八个发光二极管的阴极,控制其亮与灭,P0口和P2口外接由2个LED数码管(LED1、LED0)构成的显示器,用P0口
10、作LED的段码输出口(P0.0P0.7对应于LED的adp),P2口作LED的位控输出线(P1.1、P1.0分别对应于LED1、LED0),P2口外接三个个按键K0、JINJI、K2(分别对应于P1.0、P1.1、P1.2口)用于调整显示接口电路。41H46H单元存放显示在数码管上的初始值7FH作为堆栈的栈底通用寄存器用来存放一些数值78H79H单元为显示缓冲区SFR寄存器中IE,TMOD,TCOD用来定时3.2 软件模块功能介绍主程序模块的主要任务是程序的初始化显示“P.”,当没任何键按下时,显示模块将一直不变,交通灯全部是熄灭的,当K0键按下并松开后开始倒计时,其中在时间显示的过程中判断是
11、否有JINJI和K2键按下,如果是K2按下,将显示“P.”,并且发光二极管全部熄灭,如果是JINJI按下,数码管将开始十秒倒计时,并且东西南北的红灯全部亮起来。显示模块包括送缓冲区模块,BCD码转换和送显示等,通过这些模块完成了显示的功能,并能按照我们所熟悉的时钟时间进行显示。3.3 程序流程图3.3.1 主程序流程图 主程序的主要功能是负责准备状态提示符“P.”显示,等待按键按下进入各键功能子程序完成各项功能 图2 主程序流程图3.3.2子程序流程图 图3 子程序流程图3.3.3应急通道程序流程图 图4 应急程序流程图3.3.4键扫程序流程图 图5 键扫程序流程图4 设计总结4.1 使用说明
12、本实验主要是利用单片机AT89S52、数码管和发光二极管组成,整个电路结构比较简单, 具体操作说明如下: 当交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。当按下启动按钮K1并释放后,数码管显示将会从“57”开始倒计时,每隔一秒减1,此时东西方向开始一直亮绿灯,南北方向一直亮红灯,直到显示为“00”时,数码管将会从“05”开始倒计时,每隔一秒减1,此时东西方向每隔一秒黄灯就闪烁一次,南北方向亮一直红灯,直到显示为“00”时,数码管将会从“27”开始倒计时,此时东西方向一直亮红灯,南北方向一直亮绿灯,直到显示为“00”时,数码管又将从“03”开始倒计时,此时东西方向一直亮红
13、灯,南北方向每隔一秒黄灯就闪烁一次;当没有其他键按下时,交通灯将这样一直循环下去。当按下结束键K2并释放后,数码管将显示“P.”,东西南北方向无灯亮。当按下紧急键JINJI并释放后,数码管将显示“10”,并且每隔一秒就减1,东西南北方向全部红灯亮,当没亮到显示“00”就有结束键按下时,就退出,执行该键的键功能,当显示到“00”时,就会自动退出中断继续完成主程序。4.2 仿真结果(1)上电时,数码管上的显示显示系统提示符“P.”进入准备工作状态,如图4.1所示。(图示LED灯从左到右依次是,主道干路上的黄灯、红灯、绿灯;次道干路上的黄灯、红灯、绿灯 图6 上电时的数码管显示(2)在正常情况下,L
14、ED循环说明:设LED灯从左至右前六个灯分别为:甲干道绿灯、黄灯、红灯;乙干道绿灯、黄灯、红灯(下面操作显示的各道路灯口皆按此设置)。交通灯上电后,8位数码管显示初始状态即最右边的一个数码管显示“P.”。按下左边第一个按键,交通灯进入运行状态,甲干道绿灯亮,乙干道红灯亮,并且同时数码管从60s开始倒计时;倒计时结束,甲干道绿灯灭,黄灯亮且闪烁,乙干道红红亮,数码管显示倒计时3S;此次计时结束,甲干道红灯亮,乙干道绿灯亮,同时数码管从30s开始倒计时;倒计时结束,乙干道绿灯灭,黄灯亮且闪烁,甲干道红灯亮,计时结束,一轮循环就此完成。如图4.2所示。 图7 倒计时60时显示(3)紧急情况时:按下左
15、边第二个键紧急键,交通灯启动紧急状态,甲、乙两干道红灯同时亮起,数码管显示10秒倒计时,倒计时结束后,交通灯系统回到启动紧急情况前的状态,恢复正常通行。如图4.3所示。 图8 紧急状态显示(4)结束按S7键灯全部灭掉,回到“P.”状态,如图4.4所示; 图9 回到初始状态显示4.3 误差分析交通灯在运行中存在一定的误差,误差产生有三种可能,首先是采用的计时方案是软件计时的,计时优势利用中断来实现。而你开启定时器和开启LED灯顺序上是有先后的,这个过程需时间的,所以就产生了一定的误差,当然这个误差是避免不了的,其次还有硬件系统也有一定的影响。第三,设计用到12MHz的晶振,计算是满20次为一秒钟
16、,但实际会慢很多。5 设计总结与体会5.1设计总结通过这次交通灯的课程设计,更加熟悉了在Proteus里面找元器件,画原理图。由PCB图到制作板子,再到编出来的程序在板子上实现功能。我学会了如何学习和使用一些以前没用过的软件。还学会了如何把课堂中学习到的知识运用到实践当中。在本次课程设计中不断翻开书本的找资料,上网查找资料。一遍又一遍的回顾以前在课堂上学习到的知识。通过这次课程设计,加强了我的动手、思考和解决问题的能力。书中的理论有点枯燥,但是,运用书中的知识去调试,那是一种无法比拟的成就感。这样更能激发我们对我们专业的兴趣,和对我们专业知识的理解和掌握,能激发我们对电子科研技术的钻研,增加设
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 十字路口 交通灯 设计