交通灯课程设计.doc

上传人:鲁** 文档编号:563386300 上传时间:2023-03-30 格式:DOC 页数:25 大小:516.01KB
返回 下载 相关 举报
交通灯课程设计.doc_第1页
第1页 / 共25页
交通灯课程设计.doc_第2页
第2页 / 共25页
交通灯课程设计.doc_第3页
第3页 / 共25页
交通灯课程设计.doc_第4页
第4页 / 共25页
交通灯课程设计.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《交通灯课程设计.doc》由会员分享,可在线阅读,更多相关《交通灯课程设计.doc(25页珍藏版)》请在金锄头文库上搜索。

1、邵阳学院课程设计目录摘 要I第1章 整体设计11.1任务与要求11.2系统设计1第2章 硬件系统设计32.1单片机模块32.2显示模块42.3按键模块4第3章 系统软件设计63.1正常工作模式子程序73.2延时子程序83.3夜间模式子程序93.4绿灯闪烁子程序103.5显示倒计时子程序11第4章 系统测试与实现134.1汇编源程序134.2 PROTEUS仿真13第5章 课程设计总结16参考文献17附录一 交通灯控制系统源程序18附录二 系统总电路图24第1章 整体设计1.1任务与要求需要完成的任务是用单片机实现交通灯的基本功能,该系统除了可以实现基本交通灯功能外,也能实现倒计时紧急特殊模式等

2、功能。详细功能为:在白天正常东西方向和南北方向通车,通车时间均为45秒。正常通车情况下,可以对通车的时间进行倒计时计数,并通过显示器显示出来。如果遇到特殊情况,在处理特殊事件时,可使整个十字路口禁止通车。强制东西通行,适用某些需要只进行东西通车的情况。强制南北通行,适用某些需要只进行南北通车的情况。在夜间车流量较少的情况下,正常东西方向和南北方向通车,通车时间均为10秒,相对与白天通行模式,车辆等待时间减少,提高了通行效率。1.2系统设计 此次设计通过ATMEL公司的单片机AT89C52对整个交通灯电路进行控制。根据上面的功能要求,本次设计需要完成正常模式计时功能紧急特殊模式夜间模式等四个功能

3、。在正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。而LED显示系统则显示到下一次改变所剩的时间,利于司机调整车辆状况。每到同行方向转换时,绿灯闪烁,变为黄灯。提醒司机注意通行方向的改变,避免不必要的危险。本交通灯的设计运用了单片机的外部中断,系统的紧急和夜间模式的切换采用中断系统完成。这样在任何通行情况下都可进入以上两种模式。在设计中,设置外部中断0为夜间模式触发按钮,由电平触发完成,设置为低优先级,设置外部中断1为紧急模式触发按钮,由电平触发完成,设置为高优先级。此时无论紧急状况(如车祸等)发生在何时都可以直接进入紧急模式以便于交通管理人员处理问题。同时,通过在紧急模式

4、下软件检测P3.7和P3.6是否不为1来触发东西及南北强制通行模式,以弥补外部中断的不足,实现更多的功能。此次设计运用了软件延时程序,这样不仅调整延时长短十分灵活,而且不占用内部定时/计数器的资源。设计中通过对指令运行的次数进行循环来实现软件延时。当晶振频率为12MHz时有以下时间周期:震荡周期:1/12微秒;状态周期:1/6微秒;机器周期:1微秒;指令周期:14微秒;(根据指令的不同而不同)软件延时的优点是较为灵活,调整更为容易,且不受延时时间限制。但软件延时长时间占用系统资源,使得CPU工作效率不高,在中断频繁的系统中其定时精度也受到中断的影响。但本系统要求延时时间较长,且没有频繁申请的中

5、断系统,所以选择软件延时配合外部申请中断模式切换较为合理。第2章 硬件系统设计 根据上面的功能要求,硬件系统主要模块有单片机模块显示模块按键模块,其硬件总电路图如附录二所示。2.1 单片机模块AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器, 2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。本设计中AT89C52使用12MHz晶振。XTAL1(19脚)和XTAL2(18脚):外接晶体引脚,XTAL1和XTAL2分别接外部晶振一端;RST:即为RESET,该引脚为单片机的上电复位或掉电

6、保护端。在此设计中接正常模式按扭;P3.7:使用第二功能,接强制南北通行按扭;P3.6:使用第二功能,接强制东西通行按扭;P3.3:使用第二功能INT1,接紧急工作模式按扭;P3.2:使用第二功能INT0,接夜间工作模式按扭;P1.0P1.7:输出BCD码,用来控制LED显示器的显示控制;P2.7、P2.6、P2.5:输出高低电平,用来控制南北交通信号灯;P2.1、P2.2、P2.3:输出高低电平,用来控制东西交通信号灯;第40脚为电源端VCC,接+5V电源,第20引脚为接地端VSS。单片机与其他模块的连接如下图2.1所示:图2.1 单片机与其它模块的连接2.2 显示模块传统的共阳极或共阴极的

7、数码管其显示输入需要为段码,这样就使得电路相对复杂和繁琐。对于相同的功能在成本相差不大的情况下,此处运用了带BCD译码电路的LED显示器。这样既可使线路简化,又可使可靠性提高本设计中使用的自带BCD译码电路的LED显示器,其主要特点是采用四线BCD码输入,可显示0-F十六进制数。使用时直接输入BCD码 即可显示相应的数字,使得电路大大简化。设计时,把P1.0P1.7当 做BCD码输出端口,连接到LED显示器上,这样可把BCD码直接转换成可显示的数字,显示模块的连接如图2.2所示: 图2.2 显示模块 图中的总线接至单片机的P1.0P1.7端口。2.3 按键模块在此系统中,按键模块是实现各项功能

8、的关键,按键通过电阻与单片机相连接,可以对单片机进行控制,低电平信号对相应的单片机引脚有效,可使按键的另一端接地。本设计中有强制东西通行按键强制南北通行按键夜间模式按键正常模式按键紧急模式按键五个按键,分别对应着相应的子模式。如图2.3所示:图2.3 按键模块第3章 系统软件设计根据前面的要求以及硬件的设置情况,本系统的软件部分需要进行中断设置。为了实现上述要求,软件部分应包括正常模式夜间模式紧急模式强制通行等子程序。主程序流程图如图3.1所示:图3.1 主程序流程图开机上电处于正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。而显示系统则显示到下一次改变所剩的时间,利于司机

9、调整车辆状况。每到同行方向转换时,绿灯闪烁,变为黄灯。提醒司机注意通行方向的改变,避免不必要的危险。在设计运用了单片机的外部中断,系统的紧急和夜间模式的切换采用中断系统完成。这样在任何通行情况下都可进入以上两种模式。在设计中,设置外部中断0为夜间模式触发按钮,由电平触发完成,设置为低优先级,设置外部中断1为紧急模式触发按钮,由电平触发完成,设置为高优先级。此时无论紧急状况(如车祸等)发生在何时都可以直接进入紧急模式以便于交通管理人员处理问题。同时,通过在紧急模式下软件检测P3.7和P3.6是否不为1来触发东西及南北强制通行模式,以弥补外部中断的不足,实现更多的功能。总程序见附录一。3.1正常工

10、作模式子程序正常模式下,交通灯每45秒改变一次通行方向,使得南北和东西交替通行,其流程图如图3.2所示。其主要程序为:MOVR6,#03H;绿灯闪烁次数MOVR0,#00H;MOVP2,R0;灯全灭SETBP2.7 ;南北绿灯亮SETBP2.1 ;东西红灯亮ACALLDISPLAY ;显示倒计时ACALLFLASHN;南北方向绿灯闪烁CLRP2.7;南北绿灯灭SETBP2.6 ;南北黄灯亮ACALLDELAY2;短延时2CLRP2.6;南北黄灯灭CLRP2.1;东西红灯灭SETBP2.3 ;东西绿灯亮SETBP2.5 ;南北红灯亮ACALLDISPLAY ;显示倒计时ACALLFLASHS;东

11、西方向绿灯闪烁CLRP2.3;东西绿灯灭SETBP2.2 ;东西黄灯亮ACALLDELAY2;短延时2CLRP2.2 ;东西黄灯灭图3.2 正常工作模式流程图3.2 延时子程序设计中通过对指令运行的次数进行循环来实现软件延时。当晶振频率为12MHz时每个机器周期是1微秒,一条NOP指令是一个机器周期,一条DJNZ指令是两个机器周期,所以可写出如下的1秒延时子程序:DELAY:MOV R2,#33DEL3:MOV R3,#100DEL2:MOV R4,#75DEL1:NOP NOP DJNZ R4,DEL1 DJNZ R3,DEL2 DJNZ R2,DEL3其流程图如3.3所示:图3.3 秒延时

12、子程序流程图3.3 夜间模式子程序 系统在主程序中已经完成中断初始化,在正常模式下,其随时可通过中断0进入夜间模式,不受当时通行方向的影响。夜间模式中,交通灯每45秒改变一次通行方向,使得南北和东西交替通行。其流程图如图3.4。其程序为: YEJIAN: MOV R0,#00H ;夜间模式 MOV P2,R0 ;灯全灭 SETB P2.7 ; 南北绿灯亮 SETB P2.1 ;东西红灯亮 ACALL DISPLAY1 ;显示倒计时 ACALL FLASHN ;南北方向绿灯闪烁 CLR P2.7 ;南北绿灯灭 SETB P2.6 ;南北黄灯亮 ACALL DELAY2 ;短延时2 CLR P2.

13、6 ;南北黄灯灭 CLR P2.1 ;东西红灯灭 SETB P2.3 ;东西绿灯亮 SETB P2.5 ;南北红灯亮 ACALL DISPLAY1 ;显示倒计时 ACALL FLASHS ;东西方向绿灯闪烁 CLR P2.3 ;东西绿灯灭 SETB P2.2 ;东西黄灯亮 ACALL DELAY2 ;短延时2 CLR P2.2 ;东西黄灯灭 LJMP YEJIAN 开始外部中断0初始化东西10秒倒计时显示南北10秒倒计时显示进入夜间工作状态图3.4 夜间工作模式3.4绿灯闪烁子程序 每到同行方向转换时,绿灯闪烁,提醒司机注意通行方向的改变,避免不必要的危险。绿灯闪烁的程序分南北方向和东西方向,以南北方向为例,流程图如图3.5所示,其程序为: SETBP2.7 ;南北方向绿灯闪烁子程序ACALLDELAY1;短延时1CLRP2.7;灭南北方向绿灯ACALLDELAY1;短延时1DJNZR6,FLASHN

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

当前位置:首页 > 生活休闲 > 社会民生

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