交通信号灯单片机设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1一、设计目的1、了解交通信号钟管理的基本工作原理。2、熟悉AT89S51单片机的各种工作方式和应用。3、熟悉应用编程,掌握利用软硬件相结合的方法。4、掌握多位LED显示问题的解决及显示方法。5、通过本次课程设计加深对单片机课程的全面认识复习和掌握,对单片机课程的应用进一步的了解。6、通过单片机课程设计,熟练掌握编程的方法,将理论联系到实践中去,提高我们的动脑和动手的能力。7、通过交通信号钟的设计和简单程序的编写,最终提高我们的逻辑抽象能力。8、通过此次课程设计掌握仿真软件的应用,能将软硬件结合起来,对程序进行编辑和校验。二、设计要求1、设计一个十字路口的交通灯控制电路,要求甲车道和乙车道两条交叉道路上的车辆交替运行,每次通行时间为25秒;2、要求黄灯先亮5秒,才能变换运行车道;3、黄灯亮时,要求每秒钟闪亮一次;4、根据交通灯控制系统框图,画出完整的电路图和波形图。三、总体设计1、AT89S51单片机的简介89S51是MCS-51系列单片机的典型产品,我们就这一代表性的机型进行系统的讲解。89S51单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、2定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:(1)中央处理器中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。(2)数据存储器RAM89S51内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。(3)程序存储器(ROM)89S51共有4KB掩膜ROM,最大可扩展64K字节,用于存放用户程序,原始数据或表格。(4)定时/计数器:89S51有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。(5)并行输入输出(I/O)口:89S51共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。(6)中断系统89S51具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。2、89S51单片机的引脚89S51单片机内部总线是单总线结构,即数据总线和地址总线是公用的.89S51有40条引脚,与其他51系列单片机引脚是兼容的.这40条引脚可分为I/O接口线、电源线、控制线、外接晶体线4部分.89S51单片机为双列直插式3封装结构,如图3.2所示.图3.289S51引脚分配图89S51单机的电源线有以下两种:(1)VCC:+5V电源线。电源线(2)GND:接地线。89S51单片机的外接晶体引脚有以下两种:(1)XTAL1:片内振荡器反相放大器的输入端和内部时钟工作的输入端。采用内部振荡器时,它接外部石英晶体和微调电容的一个引脚。(2)XTAL2:片内振荡器反相放大器的输出端,接外部石英晶体和微调电容的另一端。采用外部振荡器时,该引脚悬空。外接晶体引脚。控制线89S51单片机的控制线有以下几种:(1)RST:复位输入端,高电平有效。(2)ALE/PROG:地址锁存允许/编程线。(3)PSEN:外部程序存储器的读选通线。4(4)EA/Vpp:片外ROM允许访问端/编程电源端。3、交通钟设计流程图四、各部分电路设计(1)时钟电路设计南北绿灯,东西红灯延时25秒南北绿灯闪5次转黄灯,东西红灯,延时一秒南北红灯,东西绿灯延时25秒东西绿灯闪5次转黄灯,南北红灯,延时一秒开始结束5如上图所示,采用内部时钟产生方式,在XTAL1和XTAL2两端跨接晶体或陶瓷振荡器,与内部反相器构成稳定的自击震荡。其发出的时钟脉冲直接送入片内定时控制部件。(2)复位电路设计如上图所示,采用上电+按钮电平复位方式,当按下按钮时,RST管脚高电平触发。为保证复位可靠,RC时间常数应大于两个机器周期,电容取22uf,电阻取1K欧。(3)灯控制电路设计6如上图所示,交通灯状态显示电路由东西南北四个方向各三个LED灯组成,分别显示四个方向上红、黄、绿三个状态,用以指示十字路口各方向车辆的行驶。通过软件编程,可使路口交通变化情况为:南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,甲车道和乙车道两条交叉道路上的车辆交替运行,每次通行时间为25秒;黄灯先亮5秒,才能变换运行车道;黄灯亮时,要求每秒钟闪亮一次。(4)倒计时交通钟电路设计7如上图所示,交通显示钟由两个共阴极两位数码管来实现倒计时。由于P0口输出电流小,需外接上电阻,接到P1口的P1.0~P1.7口用单片机来控制其片选。(5)按键控制电路设计如上图所示,开关控制由三个连接到单片机的控制按钮组成。通过软件编程,8一道有车而另一道无车(实验时用开关K0和K1控制),交通灯控制系统能立即让有车道放行。有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2开关模拟。返回正常状态时通过复位电路的复位开关进行控制。五、整体电路图9六、设计总结1、设计过程中遇到的问题及解决方法仿真软件中找不到AT89S52,所以用AT89S51代替,在向仿真软件的单片机输入程序时需要HEX格式的文件,通过网上搜索找到了keilUvision软件将写好编程的TXT文档建成HEX文件,仿真时可能会出错,所以需要不断调试电路与程序,直到达到设计要求为止。2、设计体会通过这次课程设计,加强了我们动手、思考和解决问题的能力。让我对单片机的理论有了更加深入的了解,同时在具体的制作过程中我们发现现在书本上的知识与实际的应用存在着不小的差距。书本上的知识很多都是理想化后的结论,忽略了很多实际的因素,或者涉及的不全面,可在实际的应用时这些是不能被忽略的,我们不得不考虑这方的问题,这让我们无法根据书上的理论就轻易得到预想中的结果,有时结10果甚至很差别很大。特别是电路完成后,所有的焊接都与我们设计的方案一样,但当我们接通电源时,所看到的结果与我们料想的完全不同,十二盏灯都亮了,我们也都知道,任何实验都不可能一次就成功的,我们认真的去检查,可是检查了好久都没有任何发现,只知道单片机的IO口的输出与我们所输入的程序不相符合,我们逐步排查,最先检查LED灯电路的接法是否合理,然后检查时钟电路的晶振是否有问题,然后再检查复位电路是否完好,最后功夫不负有心人,我们把复位电路接地电阻断开后,就发现LED灯有规律的熄灭了,经过我们的认真检查,对位选控制位口的改正,最后电路基本上都实现了我们预先设计的功能。这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。3、对设计的建议以后应该下更多的功夫到实践中去,到图书馆或者上网获取更多的知识,单靠书本是不行的,可以定时开放实验室供学生进行实践学习,另外设计时间比较短,为了更好地符合设计要求,应花更多时间投入到学习当中去。实践是掌握只是的一个很好的途径。参考文献[1]李明毕万新主编单片机原理与接口技术,大连理工大学出版社[2]张毅坤主编单片微型计算机原理及应用.西安电子科技大学出版社[3]杨恢先黄辉先主编单片机原理及其应用,人民邮电出版社[4]刘瑞新主编单片机原理及应用教程,机械工业出版社[5]蔡明文冯先成主编单片机课程设计,华中科技大学出版社附录一:参考程序清单如下:LEDEQUP111ORG0000HLJMPSTARTORG0030HSTART:MOVSP,#60HLCALLS0;初始状态LCALLS1;南北绿灯,东西红灯LCALLS2;南北绿灯闪转黄灯,东西红灯LCALLS3;南北红灯,东西绿灯LCALLS4;南北红灯,东西绿灯闪转黄灯LJMPSTARTS0:MOVA,#00100001B;南北红灯,东西红灯MOVLED,AMOVR2,#10;延时LCALLDELAYRETS1:MOVA,#10000001B;南北绿灯,东西红灯MOVLED,AMOVR2,#200;延时LCALLDELAYRETS2:MOVA,#00000001B;南北绿灯灭,东西红灯亮FLASH:MOVA,#01000001B;南北黄灯,东西红灯MOVLED,AMOVR2,#03HLCALLDELAYMOVA,#10000001B;南北绿灯,东西红灯MOVLED,AMOVR2,#03HLCALLDELAYDJNZR3,FLASHRETS3:MOVA,#00100100B;南北红灯,东西绿灯MOVLED,AMOVR2,#200;延时LCALLDELAYRETS4:MOVA,#00100010BMOVLED,AMOVR3,#03HLCALLDELAYFLASH1:MOVA,#00100010B;南北红灯亮,东西绿灯灭MOVLED,AMOVR2,#03HLCALLDELAY12MOVA,#01000000BMOVLED,AMOVR2,#03HLCALLDELAYDJNZR3,FLASH1RETDELAY:PUSH02H;延时子程序PUSH01HPUSH00HDELAY1:MOVR1,#00HDELAY2:MOVR0,#0C2HDJNZR0,DELAY2DJNZR1,DELAY2;延时DJNZR2,DELAY1POP00HPOP01HPOP02HRETEND附录二:元件清单序号元器件名称数量1AT89S511片2两位共阴数码管1个3电容30PF2片4晶振1个5电阻10008个6开关2个7电池盒1个8发光二极管红黄绿各4个9电路板1块10导线若干11电池4个131415deng[0..4]wei[0..3]P[0..7]P0P1P2P3P4P5P6P0P1P2P3P4P5P6P0P1P2P3P4P5P6P0P1P2P3P4P5P6P0P1P2P3P4P5P6WEI0WEI1WEI2WEI3WEI0WEI1WEI2WEI3DENG0DENG1DENG2DENG3DENG4DENG1DENG0DENG3DENG2DENG4DENG4XTAL218XTAL119ALE30EA31PSEN29RST9P0.0/AD039P0.1/AD138P0.2/AD237P0.3/AD336P0.4/AD435P0.5/AD534P0.6/AD633P0.7/AD732P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78P3.0/RXD10P3.1/TXD11P3.2/INT012P3.3/INT113P3.4/T014P3.7/RD17P3.6/WR16P3.5/T115P2.7/A1528P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427U1AT89C51R11kR21kR31kR41kX1CRYSTALC31nFR510kD3LED-REDD4LED-RED数码管对应板子上的四个数码管#includereg52.h#defineuintunsignedint#defineucharunsignedcharucharcodetab[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};sbitashumage=P2^7;//对支路的设计sbitashumashi=P2^6;//左主,右支uintcnt=0;uintcnty=5;uintk1,k2,k3,k4;sbitred=P1^2;//三个模拟灯的设计sbitgreen=P1^1;sb

1 / 19
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功