模拟交通指示灯的控制报告书.doc

上传人:doc321 文档编号:14952287 上传时间:2022-02-26 格式:DOC 页数:16 大小:190.50KB
返回 下载 相关 举报
模拟交通指示灯的控制报告书.doc_第1页
第1页 / 共16页
模拟交通指示灯的控制报告书.doc_第2页
第2页 / 共16页
模拟交通指示灯的控制报告书.doc_第3页
第3页 / 共16页
模拟交通指示灯的控制报告书.doc_第4页
第4页 / 共16页
模拟交通指示灯的控制报告书.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《模拟交通指示灯的控制报告书.doc》由会员分享,可在线阅读,更多相关《模拟交通指示灯的控制报告书.doc(16页珍藏版)》请在三一文库上搜索。

1、目录1.技术要求12.设计方案13.设计总体框图24.设计单元电路24.1交通指示灯电路24.2紧急通车及复位电路.44.3倒计时数显电路55.电路原理说明66.调试报告87.心得体会98.参考文献10附录:11附录1:源程序代码11附录2:系统整体实现电路图14附录3:元器件清单15模拟交通指示灯的控制1. 技术要求假设十字路口有东南两个方向的交通信号指示灯,每个方向各有3个指示灯(用发光二极管模拟),这三个指示灯分别用来标识前行、暂停、左拐,要求如下:A、 每个方向的指示灯按照要求点亮不同的时间,前行指示灯点亮10秒熄灭,接着暂停指示灯点亮2秒熄灭,然后左拐指示灯点亮8秒熄灭,按照这种方式

2、进行循环;B、 当向东方向的前行指示灯点亮的时候,向南方向的前行指示灯熄灭,暂停指示灯和左拐指示灯分别点亮;C、 当向南方向的前行指示灯点亮的时候,向东方向的前行指示灯熄灭,暂停指示灯和左拐指示灯点亮。2. 设计方案十字路口有东西南北四个方向的交通信号指示灯,每个方向各有3个指示灯,分别用绿色、红色、黄色的发光二极管来模拟,其中绿色指示灯用来标识前行,红色指示灯用来标识暂停,黄色指示灯用来标识左拐。指示灯的亮灭规律如下:当东西方向的绿色指示灯点亮10秒时,东西方向的红色指示灯和黄色指示灯以及南北方向的绿色指示灯熄灭,与此同时,在南北方向上,红色指示灯先点亮2秒后熄灭,接着黄色指示灯点亮8秒,1

3、0秒结束后,东西方向的绿色指示灯、南北方向的红色指示灯和黄色指示灯熄灭,南北方向的绿色指示灯点亮10秒,与此同时,在东西方向上,红色指示灯先点亮2秒后接着黄色指示灯点亮8秒。东西和南北方向的指示灯就这样循环交替进行点亮和熄灭。为了更贴近生活,我还考虑了紧急通车情况,通过外部中断请求信号来响应,当紧急通车结束后或者指示灯的规律出现错误后,需要复位来重新回到正常状态。为了看到指示灯清晰地变化情况,我还添加了倒计时数显部分,让数码管的数字显示和指示灯的点亮情况同步。整个过程通过AT89c51芯片来控制,利用proteus来仿真模拟。3. 设计总体框图 设计的总体框图如图1所示,由AT89c51芯片来

4、控制指示灯的循环点亮和倒计时电路,并且响应外部中断信号进行处理。倒计时显示指示灯循环芯片控制紧急通车以及复位操作 图1 设计总体框图4. 设计单元电路4.1 交通指示灯电路东西、南北两干道交于一个十字路口,各干道有一组红、绿、黄三色的指示灯,指挥车辆和行人的安全通行。绿色指示灯点亮表示前行,红色指示灯点亮表示暂停,黄色指示灯点亮表示左拐。下图2即为十字路口的交通指示灯的分布示意图。北绿红黄黄绿 红光红 西 东绿黄黄红绿南图2十字路口的交通指示灯的分布示意图。表1 交通指示灯点亮规律表2s 8s 2s 8s东西方向绿色灯点亮绿色灯点亮红色灯点亮黄色灯点亮 南北方向红色灯点亮黄色灯点亮绿色灯点亮绿

5、色灯点亮表1说明东西方向绿色指示灯点亮时,开始进行10s倒计时,同时南北方向的红色指示灯亮2s后接着黄色指示灯点亮8s。完成一次这样的循环要10s,10s结束后,东西方向红色指示灯点亮2s,接着黄色指示灯点亮8s,同时南北方向的绿色指示灯点亮10s,并重新10s倒计时,东西和南北就这样交替,依次循环。由于东西方向一致,南北方向一致,因此在电路图中只画了东南方向的交通指示灯,电路图如图3所示。图3 交通指示灯电路图4.2 紧急通车及复位电路 利用AT89c51芯片中断以及硬件复位达到目的。 AT89c51芯片中断源有三类,即:外部中断、定时中断、串行中断。在此我采用的是外部中断,通过一个手动按钮

6、开关接至AT89c51芯片的引脚,同时在软件设计时将其设置为最高优先级。当有紧急按键按下时,东南方向均亮红色指示灯,此时,所有普通车辆都被禁止通行,只有特殊车辆可以通行。 单片机响应中断后,转向中断服务程序执行,中断服务程序执行完后,即紧急通车结束后,需要解除紧急通车情况,让指示灯恢复正常工作状态。此时需要对电路进行复位,AT89c51芯片的RST引脚是复位信号的输入端。复位方式有三种,即:上电自动复位、按键电平复位和外部脉冲复位。在此我采用的是上电自动复位。上电自动复位是通过外部复位电路的电容充电来实现的,如图3所示,先将单刀双掷开关拨向电源端,紧接着再拨向接地端,在电源接通后就完成了系统的

7、复位初始化。当交通指示灯的显示情况出现紊乱的情况时,也可以通过此方式对系统进行复位初始化,让系统再次回归到正常工作状态。紧急通车及复位电路图如图4所示。图4 紧急通车及复位电路图4.3 倒计时数显电路倒计时数显电路图如图5所示,P0端口的低四位接了一个七段数码管,用一个排阻作为上拉电阻保证P0口的正确输出状态,P0端口对应的是东方向的倒计时数码管显示,P1端口的低四位接的数码管用来显示南方向的倒计时。倒计时的功能是利用延时程序来完成的,通过延时程序将数码管的显示和交通指示灯的点亮同步,具体的程序代码见附录1。图5 倒计时数显电路图5. 电路原理说明图6为AT89c51芯片功能结构图,它内部集成

8、了中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和并行I/O口P0P3、串行口、中断系统以及定时控制逻辑电路等,这些部件通过内部总线连接在一起。中央处理器CPU是单片微机的核心,它包括算术逻辑单元ALU和控制器等,主要完成运算和控制功能;数据存储器RAM集成在单片微机内,以提高单片机的运行速度;程序存储器ROM用来存储单片微机的应用程序;定时器/计数器用来精确的定时或者对外部事件进行计数;并行I/O口P0P3用于监测和控制,还可用作数据总线的数据线、地址总线的地址线、控制总线的控制线灯;串行口用以实现与某些终端设备进行串行通信或者和一些特殊功能的器件相连的能力,甚至用多个

9、单片微机相连构成多机系统;中断系统的功能较强,具有内、外共五个中断源,两个中断优先级;定时控制逻辑电路外接振荡元件即可工作,使计算机按照严格的时序有规律的执行各种操作。图6 AT89c51芯片功能结构图 图7是AT89c51芯片的引脚图,它有40个引脚,各个引脚的功能将如下所述。l VCC运行和程序校验时接电源正端。l GND接地。l XTAL1输入到单片微机内部振荡器的反相放大器。当采用外部振荡器时,对HMOS单片微机,此引脚应接地;对CHMOS单片微机,此引脚作驱动端。l XTAL2反相放大器的输出,输入到内部时钟发生器。当采用外部振荡器时,XTAL2接收振荡器信号,对CHMOS单片微机,

10、此引脚应悬浮。l P08位、漏极开路的双向I/O口。能驱动8个LSTTL负载。l P18位、准双向I/O口。在编程/校验期间,用作输入低位字节地址。P1口可以驱动4个LSTTL负载。l P28位、准双向I/O口。在编程/校验期间,接收高位字节地址。P2口可以驱动4个LSTTL负载。l P38位、准双向I/O口,具有内部上拉电阻。P3.0RXD串行输入口;P3.1TXD串行输出口;P3.2外部中断0输入;P3.3外部中断1输入;P3.4T0定时器/计数器0的外部输入;P3.5T1定时器/计数器1的外部输入;P3.6低电平有效,输出,片外数据存储器或I/O端口写选通;P3.7低电平有效,输出,片外

11、数据存储器或I/O端口读选通。l RST复位输入信号,高电平有效。l 片外程序存储器访问允许信号,低电平有效。l ALE/PROG地址锁存允许信号,输出。l 片外程序存储器读选通信号,低电平有效。图7 AT89c51芯片的引脚图完整的电路图见附录2所示,交通指示灯接芯片的P2端口进行输出显示,东南方向的数码管显示分别接在芯片的P0和P1端口进行输出显示,紧急按钮接在芯片的P3.2端口进行外部中断控制,复位电路接在芯片的RST端口通过上电复位进行复位。6. 调试报告利用proteus软件进行仿真模拟。点击51芯片添加hex文件后,点击运行按钮,在电路模块上会看到东方向的绿色指示灯点亮,同时数码管

12、从90秒进行倒计时显示,而在南方向,红色指示灯先点亮2秒并相应的数码管进行10秒倒计时,接着黄色指示灯点亮8秒并且数码管进行70秒倒计时显示,10秒结束之后东南方向的状态交换,点亮及显示规律不变。当点击紧急按键按钮时,两个方向只有红色指示灯点亮,表示禁止一切普通车辆通过,并且两个方向的数码管都停止倒计时工作。紧急通车结束后,对电路进行复位操作,先将单刀双掷开关接电源然后接地,整个系统又恢复到开始的状态进行正常工作。调试结果正确,达到了预期的效果和目的。7. 心得体会在这次课程设计中,我又学习了一次单片机,虽然觉得单片机很头疼,要记的东西很多,但是有时又觉得很有趣,尤其是在能够做一些简单设计程序

13、看到成果之后。由于之前做了一些与AT89c51芯片有关的实验,所以对这个课程设计也不是很陌生。利用proteus软件搭建硬件电路很顺利,但是在写程序方面的困难还是挺大的。这一次没有在网上查很多关于模拟交通指示灯的控制的直接报告,而是先从课本入手,在课本上看到一个相关的应用AT89c2051的交通灯智能管理系统,然后想到以前实验做的一些关于循环彩灯显示的实验以及数码管显示的实验,于是慢慢模仿研究,虽然很多地方还是不是很清楚,但是通过和周围的同学交流沟通,软件部分的代码慢慢的也有了进展。但是在复位模块上仍然不知道怎么写,因为从以前的单片机上级的实验中所了解的复位程序在这里总是出问题,但是由于时间紧

14、迫,没有办法再从软件方面解决,而是采用了硬件复位的方式。按照一些熟悉的电路图在AT89c51的RST引脚接入了由一个电阻和一个电容以及电源和接地端组合而成的复位电路,但是这样连接之后依然没有办法完成复位操作。有一天早晨在去自习室的路上,我突然间想到了大三上学期做的一次光电实验,也是利用AT89c51芯片来完成LED显示频的显示,当时是手动来复位的,先将并联电阻和电容的一端(另一端接在AT89c51芯片的RST引脚)接上电源然后再接地,于是我想到了利用一个单刀双掷开关来完成此任务,按照电路图4连接所示,先将开关接通电源,接着接地,就完成了复位。这个问题解决了,又想给电路加上数码管显示,这样可以更

15、清晰地看到变化,但是在程序调试的当天,没有将数码管的显示同步,虽然可以进行倒计时显示,但是显示得有点奇怪,一边是90倒计时10s,一边又是81倒计时8s。虽然调试结束了,但依然想将程序完善一下,后来想到DEC指令和DJNZ指令的区别,于是想到了把DJNZ指令改成DEC指令,对实现同步显示的帮助更大,于是通过调整,后来又完成了同步显示的功能。虽然和其他同学做的比较,我的方案很简单,没有什么出色的地方,但是通过这次课程设计还是学会了很多东西,原来以前的上机实验以及一些课程实验在关键时刻还是挺有作用的。虽然调试的时候答辩不是很理想,但是我努力做了,也重新收获了很多知识和经验。8. 参考文献1 高锋.

16、单片微型计算机原理与接口技术(第二版).北京:科学出版社,20072微处理器与微控制器应用实验指导书.武汉理工大学理学院物理科学与技术系,2011.01附录:附录1:源程序代码 ORG 0000HLJMP STARTORG 0003HLJMP TT0ORG 0030HSTART:MOV P2,#00010001BMOV R4,#00HMOV IE,#85HMOV TCON,#00HLJMP S1TT0:MOV P2,#00010010BMOV P0,#00H MOV P1,#00HHERE:JMP HERERETIS1:MOV R7,#2MOV R4,#9LP1:MOV P0,R4DEC R4

17、DEC R7MOV P1,R7LCALL DELAYMOV A,R7JNZ LP1CPL P2.4CPL P2.5MOV R7,#8MOV R4,#7LP2:MOV P0,R4DEC R4DEC R7MOV P1,R7LCALL DELAYMOV A,R7JNZ LP2CPL P2.0CPL P2.1CPL P2.3CPL P2.5MOV R7,#2MOV R4,#9LP3:MOV P1,R4DEC R4DEC R7MOV P0,R7LCALL DELAYMOV A,R7JNZ LP3CPL P2.1CPL P2.2MOV R7,#8MOV R4,#7LP4:MOV P1,R4DEC R4DE

18、C R7MOV P0,R7LCALL DELAYMOV A,R7JNZ LP4CPL P2.0CPL P2.2CPL P2.3CPL P2.4LJMP STARTRETDELAY:MOV R1,#100LOOP3:MOV R2,#100LOOP1:MOV R3,#47LOOP0:DJNZ R3,LOOP0 NOP DJNZ R2,LOOP1 MOV R3,#46LOOP2:DJNZ R3,LOOP2 NOP DJNZ R1,LOOP3 MOV R3,#48LOOP4:DJNZ R3,LOOP4RETEND附录2:系统整体实现电路图附录3:元器件清单AT89c51芯片 1个LED-GREEN 2个 LED-RED 2个 LED-YELLOW 2个 SW-SPDT单刀双掷开关 1个 10K电阻 1个 10uF电容 1个 RESPACK-8排阻 1个 7SEG-BCD数码管 2个 BUTTON开关 1个15 / 16文档可自由编辑打印

展开阅读全文
相关资源
猜你喜欢
相关搜索

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


经营许可证编号:宁ICP备18001539号-1