
单片机交通灯课程设计.doc
27页单片机交通灯课程设计22020年4月19日文档仅供参考,不当之处,请联系改正目 录一 引 言 1二 设计任务与要求 12.1 设计任务 12.2 设计要求 1三 方案总体设计 23.1 显示时间方案的选择 23.2 总体设计 23.3总体设计 2四 硬件设计 44.1 单片机最小系统 44.1.1 STC89C52单片机特性参数 44.1.2 STC89C52RC主要引脚功能 44.1.3 STC89C52RC的中断源 54.1.4 时钟电路 54.1.5 复位电路 64.2 数码换显示电路 64.3 红绿灯显示电路 84.4 整体电路 9五 软件设计 105.1 KEIL C简介 105.2 程序流程图 105.3 keil调试过程 11六 系统仿真 136.1 proteus仿真软件简介 136.2 仿真调试过程 13七 设计总结 15参 考 文 献 16基于单片机的交通灯设计一 引 言交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显作用。
本系统采用单片机89C52为中心器件来设计交通灯控制器,系统实用性强、操作简单、扩展性强本设计就是采用单片机模拟十字路口交通灯的各种状态显示以及倒计时时间本设计系统由单片机I/O口扩展系统、交通灯状态显示系统、LED数码显示系统、复位电路等几大部分组成系统除基本的交通灯功能外,还具有倒计时功能,较好的模拟实现了十字路口可能出现的状况软件上采用KEILC编程,主要编写了主程序,LED数码管显示程序,中断程序延时程序等经过整机调试,实现了对十字路口交通灯的模拟中国车辆数量不断增加,交通控制在未来的交通管理中起着越来越重要的作用智能交通灯的管理比重修一条马路无论在经济、交通运行速率上都有很好的效益、更加节约资源使交管人员有更多的精力投入到管理整个城市交通控制,带来更大的经济和社会效益,为创造美好的城市交通形象发挥更多的作用二 设计任务与要求2.1 设计任务经过单片机课程设计,熟练掌握汇编语言的编程方法,将理论联系到实践中去,提高我们的动脑和动手的能力;经过交通信号灯控制系统的设计,掌握定时/计数器的使用方法,和简单程序的编写,把理论知识与实践知识相结合,充分发挥个人能力,并在实践中得到锻炼2.2 设计要求设计一个能够控制十二盏交通信号灯的模拟系统,:利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并用LED灯显示倒计时间。
三 方案总体设计本次课程设计的主要任务是设计复杂的十字路口交通信号灯控制系统本模拟交通信号灯系统利用STC89C52单片机作为核心元件,实现信号灯对路面交通的智能控制从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理等问题系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景3.1 显示时间方案的选择方案一:采用数码管显示,半导体数码管不但具有工作电压低、体积小、寿命长、可靠性高等优点,而且响应时间短(一般不超过0.1us),亮度也比较高方案二:采用液晶显示,液晶显示器的最大优点是功耗极小可是,由于它本身不会发光,仅仅靠反射外界光线显示字形,因此亮度很差经过上述两种方案的对比,显然能够发现,对于交通灯时间的显示,数码管显示更加适合,可靠,因此选择方案一3.2 总体设计总体设计如图1所示图1 总体设计图3.3总体设计首先了解实际交通灯的变化情况和规律假设一个十字路口如图(2)所示东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行红灯亮禁止通行,绿灯亮允许通行黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。
初始状态1东西绿灯通车,南北红灯亮,禁止通车,人行道通行,行人可过过一段时间(10秒)后,转状态2,东西方向还是绿灯亮,南北方向还是红灯亮,黄灯开始闪烁,黄灯闪几下(5秒),即提示红绿灯状态将发生转换再转状态3,南北方向绿灯亮通车,东西方向红灯亮,即此方向禁止通车,人行道可通行黄灯熄灭后转状态4,南北方向还是绿灯,东西方向还是为红灯亮,闪几下黄灯(5秒),提示红绿灯显示状态将发生转换一段时间后,又循环至状态1列出交通信号灯的状态表如表1所示(1表示灯亮,0表示灯灭)图2 十字路口示意图表1 红绿灯状态表状态东西南北红 黄 绿红 黄 绿红 黄 绿红 黄 绿10 0 10 0 11 0 01 0 020 1 10 1 11 1 01 1 031 0 01 0 00 0 10 0 141 1 01 1 00 1 10 1 1对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,而且,东西方向与南北方向显示的状态相反,因此只要用一组就行了,因此,可采用单片机内部的I/O口上的P1口中的3个引脚即可来控制3个信号灯。
经过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换四 硬件设计4.1 单片机最小系统单片机最小系统由一块单片机、一个时钟电路和一个复位电路组成如图3所示图3 最小系统结构图4.1.1 STC89C52单片机特性参数STC89C52RC单片机8K字节程序存储空间;512字节数据存储空间;内带2K字节EEPROM存储空间;可直接使用串口下载;8K字节程序存储空间;256字节数据存储空间l 增强型8051单片机,6时钟/机器周期和12时钟/机器周期能够任意选择,指令代码完全兼容传统8051.l 工作电压:5.5V~3.3V(5V 单片机)/3.8V~2.0V(3V 单片机)l 工作频率范围:0~40MHz,相当于普通8051的0~80MHz,实际工作频率可达48MHz;l 用户应用程序空间为8K字节;l 片上集成512字节RAM;l 通用I/O口(32个),复位后为:P0/P1/P2/P3是准双向口/弱上拉,P0口是漏极开路输出,作为总线扩展用时,不用加上拉电阻,作为I/O口用时,需加上拉电阻,设计电路时需要注意这点l 共3个16位定时/计数器,分别为T0,T1,T2.4.1.2 STC89C52RC主要引脚功能STC89C51引脚图如图4所示,其主要芯片功能如下所示。
图4 STC89C52引脚图l VCC:电源电压l GND:接地l P0口:P0口是一组8位双向I/O口P0口即可作地址/数据总线使用,又能够作为通用的I/O口使用l P1口:P1是一个带内部上拉电阻的8准位双向I/O口,P1作为通用的I/O口使用l P2口:P2是一个带有内部上拉电阻的8 位准双向I/O口l P3口:P3口是一组带有内部上拉电阻的8 位准双向I/0口l RST:复位输入l PSEN(————)程序储存允许(PSEN(————))输出是外部程序存储器的读选通信号l EA(——)/VPP:外部访问允许l XTAL1:振荡器反相放大器及内部时钟发生器的输入端l XTAL2:振荡器反相放大器及内部时钟发生器的输:出端4.1.3 STC89C52RC的中断源89C52有6个中断源,它们是两个外中断INT0(P3.2)和INT1(P3.3)、三个片内定时/计数器溢出中断TF0,TF1,TF2、一个是片内串行口中断TI或RI,这几个中断源由TCON和SCON两个特殊功能寄存器进行控制4.1.4 时钟电路此次设计的时钟电路由一个12MHz的晶振和两个22PF的陶瓷贴片电容组成89C52芯片内部有一个高增益反相放大器,用于构成振荡器。
引线XTAL1和XTAL2分别为反向放大器的输入和输出,两端跨接石英晶体及两个电容就可构成稳定的自激振荡器而电容器C1,C2起稳定振荡频率,并对振荡频率有微调作用,C1和C2可在20-100PF之间取值,这里取22PF电路如图5所示图5 时钟电路4.1.5 复位电路手动按钮复位需要人为在复位输入端RST上加入高电平一般采用的办法是在RST端和正电源Vcc之间接一个按钮当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端手动按钮复位的电路如所示由于人的动作再快也会使按钮保持接通达数十毫秒,因此,完全能够满足复位的时间要求一般采用手动复位和上电自动复位结合,其电路如图6所示图6 复位电路4.2 数码换显示电路显示电路既能够选用液晶显示器,也能够选用数码管显示我采用的是数码管显示电路用1个二位共阴极数码管显示,LED是七段式显示器,内部有7个条形发光二极管和1个小圆点发光二极管组成,根据各管的亮暗组合成字符共阴数码管的码表为如表2所示表2 共阴数码管码表01234567890x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f在用数码管显示时,我们有静态和动态两种选择,静态显示程序简单,显示稳定,可是占用端口比较多;动态显示所使用的端口比较少,能够节省单片机的I/O口。
LED数码管的显示原理:数码管有段选与位选两个使能端,由于采用共阴极数码管,要把数码管点亮,就必须给位选选通,至于显示什么数字,只需给段选输入数据即可经过给52单片机P1口送入初始值,并用P1口来控制段选位,P3.5、P3.6口来控制位显来实现动态显示,来显示各灯所在状态的显示时间8052单片机的P3口的三个端口接主干道的红、绿、黄灯,显示燃亮情况,经过两个八段显示器显示每个灯的燃亮时间,使灯和显示器时间同步在设计中,我们采用LED数码管动态显示,用P1口驱动显示由于P1口的输出级时,数码管显示的亮度不够,根据以前学习的知识及学长们的经验,只需给P1口强势上拉1K排阻,经实验验证,P1口上拉1K排阻后,数码管显示较亮电路图如图7所示图7 数码管显示电路其中单片机P口与数码管各引脚之间的连接关系分别为:Ø P1.0------aØ P1.1------bØ P1.2------cØ P1.3------dØ P1.4------eØ P1.5------fØ P1.6------gØ P1.7------hØ P3.5------2Ø P3.6------1其中a,b,c,d,e,f,g,h在数码管上的位置如图8所示。
图8 数码管4.3 红绿灯显示电路在本次交通灯设计中,主干道上东西南北四个方向各三盏灯,分别是红灯、黄灯、绿灯由于东西方向与南北方向信号相反,红灯与绿灯信号相反,故只需3个端口即可控制这12盏灯的亮灭这些灯由三种颜色即红、黄、绿发光二极管代替,采用共阳极接法,故只需选择性的给这3个端口低电平,对应的二极管就被点亮显示电路如图9(当然,其中的数码管不包括在内)所示图9 红绿灯显示电路4.4 整体电路将各模块电路整合到一起就形成了系统工作电。
