课程设计(论文)-基于stc89c52单片机的交通灯设计_第1页
课程设计(论文)-基于stc89c52单片机的交通灯设计_第2页
课程设计(论文)-基于stc89c52单片机的交通灯设计_第3页
课程设计(论文)-基于stc89c52单片机的交通灯设计_第4页
课程设计(论文)-基于stc89c52单片机的交通灯设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

0目录1系统设计511设计要求512硬件设计部分5121交通灯系统电路5122单片机最小系统电路(见附录1)6123复位电路6124晶振电路612574HC573的功能(见附录2)7126发光二极管8127数码管82软件设计(见附录3)93电路原理图的制作931电路原理图的设计932PCB的制作10结论13参考文献141摘要本次设计系统有交通灯设置电路、单片机、显示电路等构成。信号灯控制的实现是通过电路与C语言程序的结合来完成,其中信号灯的模拟采用了发光二极管,发光二极管有熄灭、点亮和闪烁三种信号,其中闪烁信号的产生运用了延时程序来实现,而时间倒数方面引进了LED数字显示,克服了人们在等待时的心急的心情,减少了红灯未灭,闯红灯的现象。电路部分原理图是通过用PROTEL99SE软件绘制设计,C语言程序的设计与调试都在KEIL上完成。本系统功能设计完善,采用AT89C52单片机为核心,具有实用,方便,灵活的特点。随着电子技术的广泛应用,车辆日益增多将成为一种发展趋势,所以要有一套安全可靠的交通指示灯。单片机AT89S52为控制核心,以红、绿、黄三种LED发光管作为直行和左右拐弯以及行人通行的指示,以LED数码管作为倒计时指示,完成了题目要求的所有功能。在此基础上对系统进行了优化设计,整体性好,人性化强、可靠性高。关键词单片机;交通灯;显示21系统设计11设计要求南北方向红灯与东西方向绿灯同时亮,倒计时30秒,数码管显示;南北方向黄灯与东西方向黄灯亮,倒计时3秒,数码管显示;南北方向绿灯与东西方向红灯亮时,倒计时30秒,数码管显示。12硬件设计部分根据本设计交通灯的模型和实现的功能,硬件部分可以分为以下两个大的系统单片机系统、交通灯演示系统。121交通灯系统电路根据功能,交通灯的演示系统从功能上则分为倒计时电路、红绿灯功能电路。交通灯演示系统电路图121如示。倒计时电路主要是由双位共阴数码管和74HC573N驱动模块组成,控制信号通过单片机的端口P1口进行信号的传输。倒计时电路负责的是显示红绿灯持续显示的时间。当绿灯或者红灯持续显示时,数码管显示该状态的持续时间,在黄灯闪烁显示时,起到倒计时秒数的作用。红绿灯功能电路主要是由各色的发光二极管组成,控制信号通过P1口进行传输。红绿灯电路负责的是各个车行道和人行道通行状态的显示。图121交通灯的电路图3122单片机最小系统电路(见附录1)本设计单片机主要是用于控制交通灯的演示系统,故只需要单片机最小系统即可完成。单片机的最小系统是指能够驱动单片机工作的最小电路。此电路由单片机、显示电路、电源、复位电路4个组成部分组成。单片机最小电路的电路图123复位电路单片机复位是使CPU和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如复位后PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即RST为高电平期间),P0口为高组态,P1P3口输出高电平;外部程序存储器读选通信号PSEN无效。地址锁存信号ALE也为高电平。图123为单片机复位电路的电路图如图123复位电路图如图124晶振电路图124晶振电路STC89C52引脚XTAL1和XTAL2与晶体振荡器及电容C2、C1按下图23所示方式连接。晶振、电容C1C2及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容C1、C2的容量有关,但主要由晶振频率决定,范围在033MHZ之间,电容C1、C2取值范围在30PF左右。根据实际情况,本设计中采用110592MHZ做系统的外部晶振。电容取值为33PF。图124为单片机晶振电路的电4路图12574HC573的功能(见附录2)SL74HC573跟LS/AL573的管脚一样。器件的输入是和标准CMOS输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。原理说明M54HC563/74HC563/M54HC573/74HC573的八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。HC573引脚功能表引脚号符号名称及功能1OE3态输出使能输入(低电平)2,3,4,5,6,7,8,9D0TOD7数据输入12,13,14,15,16,17,18,19Q0TOQ73态锁存输出11LE锁存使能输入10GND接地0V20VCC电源电压5126发光二极管半导体发光器件包括半导体发光二极管(简称LED)、数码管、符号管、米字管及点阵式显示屏(简称矩阵管)等。事实上,数码管、符号管、米字管及矩阵管中的每个发光单元都是一个发光二极管。图126是发光二管如图126发光二极管图127数码管1LED数码管分类按其内部结构可分为共阴型和共阳型;导通时正向压降一般为152V,额定电流为10MA,最大电流为40MA。2数码管工作原理共阳极数码管的8个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。图127是数码管图6如图127数码管图2软件设计(见附录3)相较于C语言,汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而C语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且C语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用C语言的开发周期通常要小于汇编语言很多。综合以上C语言的优点,本设计在编程的时候选择了C语言。本设计在编程环境上也选择了KEILVISION40。这款软件支持众多不同公司的MCS51架构芯片,它集编辑、编译、仿真为一体,同时还支持PLM、汇编和C语言的程序设计,界面友好、简单易学,在调试程序。软件仿真方面都有很强大的功能。在初期的软件调试阶段,KEILVISION会提供非常便利的环境。在本次设计中,采用了C语言作为程序编程的语言,程序见附录3。3电路原理图的制作31电路原理图的设计1、设置电路图纸参数及相关信息根据电路图的复杂程度设置图纸的格式、尺寸、方向等参数以及与设计有关的信息,为以后的设计工作建立一个合适的工作平面。2、装入所需要的元件库将所需的元件库装入设计系统中,以便从中查找和选定所需的元器件。3、设置元件将选定的元件放置到已建立好的工作平面上,并对元件在工作平面上的位置进行调整,对元件的序号、封装形式、显示状态等进行定义和设置,以便为下一步的布线工作打好基础。4、电路图布线利用PROTEL所提供的各种工具、命令进行画图工作,将事先放置好的元器件用具有电气意义的导线、网络标号等连接起来,布线结束后,一张完整的电路原理图基本完成。5、调整、检查和修改利用PROTEL所提供的各种工具对前面所绘制的原理图做进一步的调整和修改。6、补充完善对原理图做一些相应的说明、标注和修饰,增加可读性和可观性。77、保存和打印输出,电路如图31如图31基于STC89C52单片机的交通灯设计原理图32PCB的制作1得到正确的原理图和网络表绘制原理图是绘制PCB板图的前提,网络表是连接原理图和PCB板图的中介,所以在绘制PCB电路板之前一定要先得到正确的原理图和网络表。2画出自己定义的非标准器件的封装库自己独立绘制的封装一定要在PCB设计之前完成,在制作PCB电路板时,我们会导入这些自己制作的封装。3规划电路板电路板是采用单面板还是多层板,电路板的形状、尺寸等具体的参数以及电路板的安装方式等在这里都要一并考虑。另外,还要考虑电路板与外界的接口形式,选择具体接插件的封装形式。4设置环境参数8我们可以根据自己的习惯来设置环境参数。环境参数包括栅格大小、光标捕捉大小、公制英制的转换、工作层面颜色等。5打开所有要用到的库文件后调入网络表文件需要注意的是要先把所有的库文件全都打开后,再导入网络表文件。否则,在导入网络表时会出现元件找不到封装的情况。6设定工作参数主要进行PCB板的图层设定。7元件手工布局应当从机械结构、散热、电磁干扰、将来布线的方便性等方面综合考虑。先布置与机械尺寸有关的器件并锁定这些器件,然后是大的占位置的器件和电路的核心元件,再是外围的小元件。对于同一个器件用多种封装形式的,可以把这个器件的封装改为第二种封装形式并放好后这个器件用撤消元件组功能,然后再调入一次网络表并放好新调入的这个器件,有更多种封装形式时依此类推。放好后可以用VIEW3功能查看一下实际效果如果不甚满意的话可以根据实际情况再作适当调整,然后将全部器件锁定。假如板上空间允许,则可在板上放上一些类似于实验板的布线区。对于大板子应在中间多加固定螺丝孔,板上有重的器件或较大的接插件等受力器件边上也应加固定螺丝孔。有需要的话,可在适当位置放上一些测试用焊盘。将过小的焊盘过孔改大,将所有固定螺丝孔焊盘的网络定义到地或保护地等。8制订详细的布线规则布线规则包括使用层面、各组线宽、过孔间距、布线的拓朴结构等,我们要根据所设计的板子的实际情况来进行设定。另外,还要在不希望有走线的区域内放置FILE填充层9对线路进行手工布线电路需要自己手动布线,必须要按照指定路线布线的电路也要进行手工布线。10布线完成后的调整布通之后,对布线进行手工初步调整。调整的内容有需加粗的地线、电源线、功率输出线等进行手动加粗;某几根绕得太多,太过繁琐的线重布;消除部分不必要的过孔。另外,我们还要切换到单层显示模式下将每个布线层的线拉整齐和美观。手工调整时应经常进行DRC,因为有时有些线会断开。快完成时可将每个布线层单独打印出来以方便改线。调整完毕后用VIEW3D功能查看实际效果,满意后进行下一步。11印制板文件的保存和导出9PROTELDXP绘制PCB电路板的设计完成后,我们还要完成印制板文件整理并存档,打印出图纸等工作。可以导出元件明细表,生成电子表格文档作为元件清单等。最后,我们还要说明电路板上有特殊要求的地方,然后提交给制板加工厂进行电路板的加工其PCB图,图32PCB图图32基于STC89C52单片机的交通灯设计PCB图10结论本文探究了单片机在当今智能交通方面的应用。相对于其他解决方案来说,单片机具有成本低廉,通用性高,维护简单,软件灵活,成熟度高等优势。但是,单片机发展到现在也有存储空间较小、下游方案较少等局限性。本设计在实现相应功能的时候主要是考虑到现有的条件,采用成熟度高的STC89C52作为CPU的解决方案,同时用LED灯和双位数码管作为显示模块,软件则使用了移植性好的C语言。从功能需求上来看,已经能够满足实际需要,对提高交通运输系统的运行效率也有很大的帮助。11参考文献谭浩强2005C程序设计(第三版)北京清华大学出版社95104肖金球2004单片机原理与接口技术北京清华大学出版社210230彭冬明,韦友春2007单片机实验教程北京北京理工大学出版社5865范立南1996单片微机接口与控制技术沈阳辽宁大学出版社110135李华1993MCS51系列单片机实用接口技术北京北京航空航天大学出版社3656张伟,王丽,赵晶2003电路设计与制作PROTELDXP入门与提高北京人民邮电出版社30032012附录1单片机最小系统附录274HC573的功能引脚图附录3软件程序/基于STC89C52单片机的交通灯设计徐梅INCLUDEINCLUDEVOIDMAIN/主函数(调用XIANSHIH文件中的函数)INIT/中断初始化WHILE1XIANSHI/循环显示函数IFNDEF_XIANSHI_H_DEFINE_XIANSHI_H_13INCLUDEDEFINEUCHARUNSIGNEDCHARDEFINEUINTUNSIGNEDINTUCHARCODESHUZHU0X3F,0X06,0X5B,0X4F,0X66,0X6D,0X7D,0X07,0X7F,0X6F/数码管显示数组VOIDDELAYUINTX/延时UINTI,JFORIXI0IFORJ110J0JSBITDULAP26SBITWELAP27UCHARN,S,G,W30,NUM0,DENG0XF5/定义变量/定义变量DENG并赋初值0XF5BITFLAG0/标志位VOIDINIT/初始化定时时器中断TMOD0X01TL06553645872/256TH06553645872256EA1ET01TR01VOIDXIANSHI/显示GW10/数据分离取得个位上的数SW/10/数据分离取得十位上的数WELA1P00XDFWELA0DULA1P0SHUZHUGDULA0DE

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论