已阅读5页,还剩30页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中北大学信息商务学院2015届毕业设计说明书1毕业设计说明书智能交通控制系统设计学生姓名学号学院系名专业指导教师2015年6月中北大学信息商务学院2015届毕业设计说明书2目录第一章引言3第二章系统介绍及方案讨论421系统结构框图4211系统介绍4212系统各部件功能422单片机选型523计数显示的选择7231数码管结构介绍7232数码管动态显示824STC串口加载代码(ISP)925时钟芯片实现10第三章硬件设计1131系统电源设计1132单片机最小系统设计1133数码管显示电路设计13331数码管驱动芯片电路1334红绿灯电路设计1435实时时钟电路设计16第四章软件设计1841系统运行流程图1842单片机编程方法和软件20421KEILC51软件介绍20422单片机代码结构2143数码管驱动代码实现2244交通灯状态跳转实现23441单片机定时器实现23中北大学信息商务学院2015届毕业设计说明书3442定时器的中断25441交通灯运行流程实现2545交通进入特殊状态实现27第五章PROTEUS仿真与调试2951PROTEUS原理图绘制2952电路调试2953电路测试29总结30参考文献31致谢32中北大学信息商务学院2015届毕业设计说明书4第一章引言11选题背景最早的手牵皮带到20世纪50年代的电气控制,从采用计算机控制到现代化的电子定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。交通指挥灯是非裔美国人加莱特摩根在1923年发明的1。此前,铁路交通已经使用自动转换的灯光信号有一段时间了。但是由于火车是按固定的时刻表以单列方式运行的,而且火车要停下来不是很容易,因此铁路上使用的信号只有一种命令通行。公路交通的红绿灯则不一样,它的职责在很大程度上是要告诉汽车司机把车辆停下来2。开车的人谁也不愿意看到停车信号。美国夏威夷大学心理学家詹姆斯指出,人有一种将刹车和油门与自尊相互联系的倾向。他说驾车者看到黄灯亮时,心里便暗暗作好加速的准备。如果此时红灯亮了,马上就会产生一种失望的感觉。他把交叉路口称作“心理动力区”3。如果他的理论成立的话,这个区域在佛罗伊德心理学理论中应该是属于超我而非本能的范畴。新式的红绿灯能将闯红灯的人拍照下来。犯事的司机不久就会收到罚款单。有的红绿灯还具备监测车辆行驶速度的功能4。用于交通灯控制系统的设计方法很多,例如可编程控制器PLC、单片机、标准逻辑器件等实现,然而,基于这些设备需要调整和调试电路的硬件支持,在某种程度上增加了设计过程的难度56。提出基于单片机的交通灯系统设计,不仅编程简单、灵活、可靠性高,而且成本低,经济效益高。为实现交通系统智能控制提供了一个新方法7。12国内外发展情况近年来,在快速城市化进程和经济发展的影响下,城市交通迅速增长,交通问题成为困扰许多大城市发展的通病,已成为日趋严峻的国际性问题8。其中,十字路口则是造成交通堵塞的主要”瓶颈”。世界发达国家都在积极探索如何最大限度地发挥道路通行能力,尽量减少交通堵塞造成的各种损失9。基于单片机的智能交通灯控制系统,该系统可实现3种颜色灯的交替点亮,实现直行、左转、右转、掉头、四种通行控制,通过信息提示指挥车辆和行人安全通行,并中北大学信息商务学院2015届毕业设计说明书5能实时监测交通灯工作状态10。该系统不仅编程简单、灵活、具有较高的可靠性,而且成本低、具有良好的经济效益,是今后一段时间国内外交通灯的主流设计思路11。13发展前景自从1858年英国人,发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位12。随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果13。近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。智能交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制14。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景15。14本系统功能本系统设计一款带直行、左转、右转、掉头、四种通行控制交通控制系统。带紧急按钮,当按下后所有灯都亮红灯。带有时钟功能可以设定进入夜间模式的时间段,自动夜间模式此时所有灯都亮黄灯。同时有数码管显示当前颜色灯的剩余时间,倒计时功能。中北大学信息商务学院2015届毕业设计说明书6第二章系统介绍及方案讨论21系统结构框图STC89C51USB一UART一一一一一一一一一一LED一一一一一一一一一DS1302一一一一一一一I/O一一一一一一图21系统结构图211系统介绍因为系统逻辑较简单,在低成本低复杂度的思想下本系统主要利用STC89C51传统的51单片机作为主控核心,复杂交通灯的调度人机设置和显示。本系统主要包括红绿灯的驱动,利用发光7段数码管显示倒计时,利用USB接口加载单片机程序和按键进行系统设定。212系统各部件功能1双位数码管用来显示各灯状态的剩余停留时间。2USB通信接口用来进行单片机程序的加载,以及备用以后功能升级用来与外部设备中北大学信息商务学院2015届毕业设计说明书7通信;3LED驱动用来驱动LED,应为LED为电流驱动型单片机的IO不能直接驱动所以需要加一个大功率的功率转换芯片用以驱动LED。4DS1302时钟基准用于进入夜间模式的时间。22单片机选型在集成电路,微控制器,DSP,FPGA水平高度发达的今天,设计我们这样一款系统可以选择的为控制器有很多例如8位的改进型51单片机、AVR单片机、MSP43016位单片机以及现在比较火的32位的STM32、或者纯硬件控制的FPGA、CPLD、或者DSP等。对于工程应用应该选择一款合适于我们的系统的单片机,既符合功能要求、又节约成本、才是我们的核心思想,下面我将介绍一下我们常用的几款单片机AVR单片机AVR单片机是采用美国爱梅尔(ATMEL)公司生产的一款8位单片机。常用型号为ATMEGA48单片机。MEGA系列单片机是AVR家族的高档系列,采用哈佛结构。具备较宽的供电电压2055V,该型单片机可以运行在低频模式(32K时钟)具备较低的功耗但是不能由应用程序更改时钟。该型单片机采用了RISC精简指令集,集成了硬件乘法器,在速度与外设方面相比51单片机有很大提高,性价比较高,但是相比于51单片机成本还是稍高。ST公司的STM32单片机,该型单片机基于ARM公司的CORTXM3核心的由意法半导体(ST)公司生产的32位单片机,主要用于一些较复杂的工业与高端便携式应用,性价比较高,但是软件开发较复杂需要系统学习ARM,虽然性价比高,性能好但是开发复杂。经过综合考虑之后我采用国产的STC89C52单片机的DIP40封装的型号,该型单片机相对于传统的AT89C52单片机性能有所提升,程序采用串口加载也很方便。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FLASH存储器。STC89C52使用经典的MCS51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能其内部功能如图22所示。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效中北大学信息商务学院2015届毕业设计说明书8的解决方案。相比于传统51单片机其主要有以下特征18K字节程序存储空间;2512字节数据存储空间;3内带4K字节EEPROM存储空间4工作电压55V33V(5V单片机)/38V20V(3V单片机)5工作频率范围040MHZ,相当于普通8051的080MHZ,实际工作频率可达48MHZ6可直接使用串口下载ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P30,TXD/P31)直接下载用户程序,数秒即可完成一片7共3个16位定时器/计数器。即定时器T0、T1、T28外部中断4路,下降沿中断或低电平触发电路,POWERDOWN模式可由外部中断低电平触发中断方式唤醒中北大学信息商务学院2015届毕业设计说明书9图22STC89C52内部功能图23计数显示的选择为了显示明显和显示方便我采用的是8段数码管进行倒计时的显示。231数码管结构介绍LED数码管(LEDSEGMENTDISPLAYS)由多个发光二极管封装在一起组成“8”字型的器件,引线已在内部连接完成,只需引出它们的各个笔划,公共电极。数码管实际上是由七个发光管组成8字形构成的,加上小数点就是8个。这些段分别由字母A,B,C,D,E,F,G,DP来表示。LED数码管以发光二极管作为发光单元,颜色有单红,黄,蓝,绿,白,黄绿等效果。LED数码管广泛用于仪表,时钟,车站,家电等场合。选用时要注意产品尺寸颜色,功耗,亮度,波长等。多位数码管时其结构分为共阴和共阳极。我使用的056英寸的双位共阴极8段数码管其结构如图23所示。中北大学信息商务学院2015届毕业设计说明书10232数码管动态显示透过分时轮流控制各个LED数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。每位元数码管的点亮时间为12MS,由于人的视觉暂留现象及发光二极体的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示资料,不会有闪烁感,动态显示的效果和静态显示是一样的,能够节省大量的I/O口,而且功耗更低。图23双位共阳数码管结构中北大学信息商务学院2015届毕业设计说明书1124STC串口加载代码(ISP)USB,是英文UNIVERSALSERIALBUS(通用串行总线)的缩写,而其中文简称为“通串线”,是一个外部总线标准,用于规范电脑与外部设备的连接和通讯。是应用在PC领域的接口技术。USB接口支持设备的即插即用和热插拔功能。USB是在1994年底由英特尔、康柏、IBM、MICROSOFT等多家公司联合提出的。USB系统采用级联星型拓扑,该拓扑由三个基本部分组成主机(HOST),集线器(HUB)和功能设备。本次设计采用用的USB设备芯片CH340。CH340是一个USB总线的转接芯片,实现USB转串口、USB转IRDA红外或者USB转打印口。在串口方式下,CH340提供常用的MODEM联络信号,用于为计算机扩展异步串口,或者将普通的串口设备直接升级到USB总线。在红外方式下,CH340外加红外收发器即可构成USB红外线适配器,实现SIR红外线通讯。CH340具有以下特点全速USB设备接口,兼容USBV20,外围元器件只需要晶体和电容。仿真标准串口,用于升级原串口外围设备,或者通过USB增加额外串口。计算机端WINDOWS操作系统下的串口应用程序完全兼容,无需修改。硬件全双工串口,内置收发缓冲区,支持通讯波特率50BPS2MBPS。支持常用的MODEM联络信号RTS、DTR、DCD、RI、DSR、CTS。通过外加电平转换器件,提供RS232、RS485、RS422等接口。支持IRDA规范SIR红外线通讯,支持波特率2400BPS到115200BPS。软件兼容CH341,可以直接使用CH341的驱动程序。支持5V电源电压和33V电源电压。STC的51单片机内部带有ISP(在系统可编程)加载程序,无需专用编程器,无需专用仿真器,可通过串口(RXD/P30,RXD/P31)直接下载程序,数秒即可完成一片。通过这个USB转串口芯片,我们通过USB总线连接上电脑通过编程软件即可实现程序的加载和串口通信。中北大学信息商务学院2015届毕业设计说明书1225时钟芯片实现现在流行的实时时钟芯片很多,例如DS1302、DS1307、PCF8485等等。这些芯片的通信接口简单、芯片价格低廉、使用方便,因此被广泛地采用。我使用的实时时钟芯片DS1302,DS1302是美国DALLAS公司推出的一种较高性能、,具有低功耗和带RAM的实时时钟电路,它可以对年、月、日、周、时、分、秒进行计时,同时具有闰年补偿的功能,其工作电压为25V55V。采用三线SPI接口和CPU或者MCU进行同步通信,这个芯片可采用突发方式一次并且传送多个字节的时钟信号或RAM数据。DS1302的内部有一个318的RAM用于临时性存放数据的RAM寄存器。DS1302是DS1202芯片的升级产品,与DS1202兼容,与DS1202相比增加了主电源/后备电源双电源引脚,同时提供了对后备电源进行涓细电流充电的能力。所以说DS1302芯片操作方便使用成熟,并可以保证我们的应用需要的时间的精准度。中北大学信息商务学院2015届毕业设计说明书13第三章硬件设计31系统电源设计对于一个系统来讲,有一个稳定可靠地电源是必要的。为了提高电源可靠性、简化供电电路、适应多种不同电源供电,本系统采用外部电源适配器与板载稳压芯片结合的方法给电路供电。由于板载输入电源芯片采用的是低压差的AMS111750其适应外部直流供电,范围为515V,所以我们只需要一个515V的直流源就行。或者为了适应220V的交流供电我们的板子上面有一个MINI_UAB_A型接口,可以选择手机充电器作为电源适配器,通过一根MP3/MP4的USB线连接到板子就可以。为适应单片机、LCD等元器件的5V的供电利用AMS111750将外部供电稳压为5V。AMS1117为低压差的稳压芯片,最大可提供1A电流此时最小压差仅为为12V。我采用的是SOT223封装形式。外部输入我采用500MA的1206封装的自恢复保险,以保证系统用电的安全,避免短路等意外情况发生。为提高电源质量输入采用22UF电解电容和01UF瓷片电容滤波,输出采用10UF电解电容和01UF瓷片电容滤波。DCDC电路原理图如下所示图31系统电源中北大学信息商务学院2015届毕业设计说明书1432单片机最小系统设计STC89C52单片机我采用的封装为DIP40,DIP40引脚方便焊接和调试,使用方便,其引脚信息如表31所示引脚名引脚编号电源引脚VCC为40、GND为20外部时钟引脚XTAL1为12、XTAL2为11复位引脚复位引脚为13其他I/O或者功能引脚除上述5个引脚以外表31单片机引脚说明图3251单片机最小系统40脚为单片机电源提供引脚外接5V直流电源,C3和C4用于电源的去耦,以提供良好的电源品质。中北大学信息商务学院2015届毕业设计说明书159脚为单片机复位引脚,当9脚的电平为高电平时单片机处于复位状态,为低时单片机正常运行,K1开关用来进行手动复位选择。C1和R10共同组成单片机上电复位电路,当单片机接通电源以后由于C1两端的电压不会突变会有一个上升的过程,而C1和R10串接在VCC和地两端所以RST引脚的电压为VCC电容电压,上电初期电容电压非常小,所以单片机处于复位状态,复位时间取决于R和C的取值,大约为RC。18和19脚为外部晶振接口,单片机的时钟由外部晶振和内部的晶体振荡电路组成,STC89C52单片机最高可以运行在40MHZ,C2和C5为晶振电路负载电容,与晶振共同使时钟产生。31引脚为内部或者外部存储器选择引脚,当31引脚为高电平时单片机的程序运行从内部FLASH执行,当寻址范围超过8K时使用外部存储器。当31引脚为地电平时单片机默认为使用外部程序存储器。33数码管显示电路设计331数码管驱动芯片电路为了节省IO和增加单片的IO驱动能力,采用74HC573三态锁存芯片驱动数码管。74HC573包含八进制3态非反转透明锁存器,是一种高性能硅门CMOS器件。LE为锁存控制端OE为使能端。八个锁存器都是透明的D型锁存器,当使能(G)为高时,Q输出将随数据(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O通道,双向总线驱动器和工作寄存器。其引脚分布为引脚功能1OE低电平有效低电平时Q输出数据高电平Q输出高高阻态29D0D7输入数据端兼容TTL和CMOS器件中北大学信息商务学院2015届毕业设计说明书1610电源地11LE引脚当是高电平是将DN数据输入至D触发器1219Q7Q0数据输出端20提供电源2V6V表3274HC573引脚功能由于本设计中74HC573只作为一个驱动器使用所以我们将OE接地将LE接高电平即可。其电路图如图所示图33数码管驱动电路34红绿灯电路设计红绿灯的功率较大需要一个驱动电路的连接才能提高足够的功率使LED灯发光,我采用的是ULN2003反相驱动器进行LED红绿灯的驱动。ULN2003是大电流驱动阵列,多用于单片机、智能仪表、PLC、数字量输出卡等控制电路中。可直接驱动继电器等负载。输入5VTTL电平,输出可达500MA/50V。ULN2003是中北大学信息商务学院2015届毕业设计说明书17高耐压、大电流达林顿陈列,由七个硅NPN达林顿管组成。该电路的特点如下ULN2003的每一对达林顿都串联一个27K的基极电阻,在5V的工作电压下它能与TTL和CMOS电路直接相连,可以直接处理原先需要标准逻辑缓冲器来处理的数据。ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。图34ULN2003内部原理ULN2003的1脚到7脚为控制信号输入可以兼容TTL或者COMS电平的器件,10脚到16脚为反相驱动端口,当对应的控制引脚为高电平时这些引脚输出低电平,输入低电平时输出高电平。ULN2003驱动器输出端的二极管学名续流二极管,如果ULN2003的达林顿管输入端输入低电平使其截止,其驱动的元件是感性元件(电机等),则电流不能突变,此时会产生一个高压;如果没有二极管,达林顿管会被击穿,所以这个二极管主要起保护作用。由于ULN2003是集电极开路输出,为了让这个二极管起到续流作用,必须将COM引脚(PIN9)接在负载的供电电源上,只有这样才能够形成续流回路。我的ULN2003应用电路如图所示,其中R1到R7电阻为限流电阻,应为LED为电流驱动型,但是为了使用的方便我们一般通过串联一个电阻使LED导通时限定在一个合适的电流。LED本质上是一个发光二极管,导通时本身要产生压降,对于本设计使用的LED导通的压降大约为11V,最大的电流为40MA。我们使用的这个电路供电电压为5V,由中北大学信息商务学院2015届毕业设计说明书18电路可知导通时的电流为I(511)/100算出I等于39MA所以符合我们的LED使用要求,可以达到驱动LED发光而不至于损坏的要求。图35ULN2003驱动LED电路35实时时钟电路设计我采用DS1302的DIP8封装,DS1302的引脚排列和功能如下8脚和1脚分别为VCC1和VCC2,其中VCC1为后备电源,VCC2为主电源。在主电源关闭的情况下,也能保持时钟的连续运行。DS1302由VCC1或VCC2两者中的较大者供电。当VCC2大于VCC102V时,VCC2给DS1302供电。当VCC2小于VCC1时,DS1302由VCC1供电。2脚和3脚为X1和X2是外部晶体引脚,外接32768KHZ晶振,作为芯片的时钟信号。4脚是GND,为芯片提供电源。5脚RSTCE是复位/片选线,通过把RST输入驱动置高电平来启动所有的数据传送。RST输入有两种功能首先,RST接通控制逻辑,允许地址/命令序列送入移位寄存器;其次,RST提供终止单字节或多字节数据的传送手段。当RST为高电平时,所有的数据传送被初始化,允许对DS1302进行操作。如果在传送过程中RST置为低电平,则会终中北大学信息商务学院2015届毕业设计说明书19止此次数据传送,I/O引脚变为高阻态。上电运行时,在VCC20V之前,RST必须保持低电平。6脚I/O为单片机与DS1302的数据交换引脚,通信时序将在软件中介绍。7脚SCK是三线SPI接口的时钟。DS1302电路连接如图所示,其中X1为32768KHZ的晶振,C1为一个大电容用以备份当VCC2主供电断开的情况下仍能保证时钟运行一段时间(1/2个小时),C2为一个去耦电容用于保证芯片供电的质量,是系统运行稳定。图36DS1302电路中北大学信息商务学院2015届毕业设计说明书20中北大学信息商务学院2015届毕业设计说明书21第四章软件设计41系统运行流程图一一一一一一KSTART一一一一一一一一一一一一一一一一一一一一一一50MS一一一一一一一一一一一一一TIM_INT一MAIN一一一一一一一一一1一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一TH1TL1一一15535一一一一一一一50MS一一一一一一1一一一一一一一一0一一一一一一一一一1一一一一一一一一一一一一一一一一一一一一一一图41系统运行流程中北大学信息商务学院2015届毕业设计说明书22系统运行流程如图所示,系统上电以后首先等待功能按键(KSTATE(特殊状态按键)、KYEL(夜间模式按键)、KALL(全亮按键)是否按下,如果该按键按下那么系统将会进入运行状态,系统运行主要在定时器1中断函数中和MAIN函数中进行,交通灯的逻辑运行判断主要在定时器1的中断函数中执行,特殊状态和红绿灯时间的设定主要在主函数中执行。主函数中的执行流程为等待特殊状态按键KSTATE、夜间模式KYEL和全亮按键KALL的按下,如果三个状态按键没有一个按键按下,主函数将只会刷新数码管,直到定时器中断的触发或者等待按键按下。当KSTATE特殊状态按键按下时系统进入特殊状态点亮两个方向的红灯,同时等待再次KSTATE按键的按下才能退出。当KYEL夜间模式按键按下时系统进入夜间状态点亮两个方向的黄灯,同时等待再次KYEL按键的按下才能退出特殊状态。当KALL特殊状态按键按下时系统进入特殊状态点亮全部方向的黄红绿灯,同时等待再次KALL按键的按下才能退出。每一个按键按下时进入状态后将会禁止计数器技术和中断的触发,再次按下该状态按键时退出时会恢复计数和中断恢复运行。KYEL一一一KSTATE一一一KSTATE一一一一一一一一一一一一一一一一一一一一一一KYEL一一一KSTATE一一一KSTATE一一一一一一图42功能按键设定中北大学信息商务学院2015届毕业设计说明书23中断函数中的运行逻辑为进入中断以后将会给TH1和TL1寄存器赋值TH1和TL1赋值为15535,单片机运行时钟为1MHZ定时器最大值为65535所以没隔50000次技术进行中断一次也就是50MS。设置一个计数变量COUNT_INTS,定时器1没中断一次COUNT_INTS加1如果COUNT_INTS等于20时监测到时间过了一秒系统状态计数变量SUM_TIM加上1同时COUNT_INTS清0。SUM_TIM状态变量为一个循环计数变量,计数的最大值为左右红绿灯时间上下红绿灯时间2黄灯时间,黄灯时间固定为5秒。系统的状态如表41所示。系统主要有S0S3四个状态,通过状态判断灯的亮灭和加载数码管倒计时变量的值。一个周期时间TT上下方向红灯时间上下绿灯时间黄灯是时间上下红灯时间左右方向绿灯时间黄灯时间T左右绿灯时间上下绿灯时间黄灯时间2时间0T左右方向左右绿灯亮时间黄灯亮红灯亮上下方向红灯亮上下绿灯亮时间黄灯亮状态S0S1S2S3表41系统运行状态跳转表42单片机编程方法和软件421KEILC51软件介绍单片机开发使用的是经典的单片机开发工具KEILC51软件。KEILC51是美国KEILSOFTWARE公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。其开发界面如图44所示。KEIL软件开发主要过程为建立工程、选择使用的单片机型号、建议一个C语言中北大学信息商务学院2015届毕业设计说明书24文本。添加C语言文本到工程中、编辑文本即可、然后通过编译、调试、仿真、下载就可以实现整个系统了。422单片机代码结构APPDRIVER一一一一一一一一一一一一一一一一一LED一一一一一一一一LED一I/O一一一图43单片机程序开发思想和结构单片机软件分为3层,底层位接口定义将实际的接口名字定义为易于理解的别名以供DRIVER层编写的操作函数使用,第二层为一些基本的器件操作的函数封装,第三层为利用这些函数实现相关的功能。这种方式利于单片机程序的移植,与功能的更改,程序也更加规范化。图44KEIL软件界面中北大学信息商务学院2015届毕业设计说明书2543数码管驱动代码实现数码管的驱动分为直接静态驱动和动态扫描驱动,静态驱动适合于少量位数的数码管,特点是亮度高不会出现闪烁灯情况,并且编程简单,但是需要的I/O口较多。动态扫描驱动适合于多位数码管特点是需要的硬件资源相对较少,但是需要单片机定时刷新,利用LED灯的余晖来暂存视觉,通过高速的扫描和实现。由于这个系统涉及8位的数码管加上我使用的51单片机资源有限所以采用动态扫描方式。数码管显示扫描代码如下所示VOIDDISPLAYUCHARSXT,UCHARZYT/SXT表示上下的数码管的显示值UCHARTEMPTEMPSXT/10/高位PDTABLETEMP/TABLE为数码管的码字表SW10/对上和下的位选导通因为是共阴数码管XW10DELAY1/保持延时1毫秒SW1XW11PD0TEMPSXT10/低位PDTABLETEMPSW2XW20/导通位选DELAY1SW2XW21PD0TEMPZYT/10/高位PDTABLETEMPZW10YW10中北大学信息商务学院2015届毕业设计说明书26DELAY1ZW1YW11PD0TEMPZYT10/低位PDTABLETEMPZW2YW20/导通位选DELAY1ZW2YW21PD0由于左边和右边的倒计时以及上边和下边的倒计时相同所以对于上边和下边以及左边和右边是同时赋值同时显示。SXT和ZYT为需要显示的2位数数值由于数码管只能一位一位的赋值所以我们将两位数拆分成高位和低位分别显示,拆分的方法是用两位数除以10得到结果的整数部分这就是两位数的高位,然后用两位数对10取余得到的就是低位。扫描的方式就是先显示高位停留1秒钟以后再导通低位虽然高位此时没有供电但是由于余晖效应高位的数值仍存在,在显示完低位以后。就是显示第二个两位数,原理一样,都扫描完成以后我们就可以退出函数了因为整个函数只使用了8毫秒所以此时数码管显示的是刚才扫描的数字。只要我们在余晖消失之前再次调用该函数进行扫描即可。44交通灯状态跳转实现441单片机定时器实现STC单片机的定时器1相比于传统的单片增加了了一个时钟选择功能,如图45所示。时钟的选择通过STC单片机的下载器选择,选用/6模式可以使定时器的时钟频率加倍,由于我们这个系统需求的频率不高以及简化编程方式所以我使用与传统MCS51单片机兼容的/12模式。定时器1通过TMOD寄存器进行设置通过TCON寄存器进行控制其中TMOD寄存器是不可以进行位寻址的高四位为定时器1配置位低四位为定时器0配置位,TCON是可以进行位中北大学信息商务学院2015届毕业设计说明书27寻址的,主要使用TR1进行定时器的启动和停止和TF1表示定时器1溢出计数标志如果响应了中断该位自动清0,如果不响应中断的话那么需要通过软软件对该位进行清除。定时器1的可以选择为定时器或者计数器模式,通过TMOD第6位C/T位进行设置本设计使用定时器模式所以该位应该为0。第7为GATE位用于选择是否使用P33的INT1引脚对定时器进行控制,如果置位该位那么当INT1引脚为低电平时才进行计数,由于我的设计与外部没有交互所以置位位0。第5为M1和第6位M0为计数器计数方式选择位选择真值表如表所示M1M0功能0013位定时计数模式0016位定时计数模式暂存器TH1和TL1全用108位计数值自动装载适合于串口波特率发生11定时器0作为双8位计数器表42定时器模式由于我们只使用计数模式并且需要1S的时间跳动所以我门采用定时器1的方式1的16位计数方式。所示TMOD配置寄存器高4位的值应该为1只将TMOD的M0位置位。图45计数器1结构VOIDTIM_INITVOID/定时器0初始化TMOD0X11/定时器0工作在计数器模式定时器1定时TH115535/256/初始化值中北大学信息商务学院2015届毕业设计说明书28TL115535256TF10/清除溢出标识ET11TR11/开始计数EA1/开启总中断442定时器的中断单片机的中断主要使用IE寄存器IE寄存器也是可以位寻址的寄存器,我们主要使用IE寄存器的第7位EA位,该位为单片机总中断开启位,当使能中断时置位该位为1。第3位为ET1定时器中断开启位,所以需要定时器1中断时开启该位。此外单片机还有两个中断优先级可以通过编程可实现。单片默认的中断优先级是外部中断0、定时器0、外部中断1、定时器1、串口中断、以及定时器2中断。单片机的中断可以通过IP寄存器进行设定,有与这里只使用了定时器寄存器所以不用设置优先级。定时器中断触发条件为1总中断允许开关接通,也就是IE寄存器中的EA引脚置位;2定时器计数到65535然后再来一个脉冲,TCON寄存器中的TF1置位,请求中断;3定时器的中断允许位也就是ET1置位,表明TF1可以请求中断;4没有同级别或者定时中断级别高的中断响应。441交通灯运行流程实现VOIDTIM1_INTVOIDINTERRUPT3/50MS中断一次中断优先级3UCHARITH115535/256/初始化值TL115535256COUNT_INTS/中断计数器加1IFCOUNT_INTS20/计数到1SSUM_TIM1中北大学信息商务学院2015届毕业设计说明书29COUNT_INTS0SUM_TIM/中断技术值加1IFSUM_TIMSUMT/达到一次重新循环S
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 保安个人工作计划(18篇)
- 2025年网络营销管理员岗位招聘面试参考试题及参考答案
- 2025年表演艺术管理专员岗位招聘面试参考题库及参考答案
- 哲学与生活第三单元第九课唯物辩证法的实质与核心
- 算法物流应用-洞察与解读
- 2025年商用车销售专员岗位招聘面试参考题库及参考答案
- 2025年资深策略顾问岗位招聘面试参考试题及参考答案
- 气候变化评价方法-洞察与解读
- 2025年渠道专员岗位招聘面试参考题库及参考答案
- 2025年KWG审核员岗位招聘面试参考试题及参考答案
- 2025-2030中国冰雪装备器材行业市场发展分析及发展趋势与投资前景研究报告
- 实验室管理年度工作总结
- JJF(皖) 183-2024 大米全景品质分析仪校准规范
- (高清版)DB36∕T 1324-2020 公路建设项目档案管理规范
- 酒店安全风险分级管控和隐患排查双重预防
- 【MOOC】证券投资学-中南财经政法大学 中国大学慕课MOOC答案
- 《经济学基础》电子教案
- 建筑工程财务流程制度(6篇)
- 苯扎溴铵在水产养殖中应用前景
- 2025届新高考高中语文统编教材经典篇目议论文素材汇编(必修上、下册)
- 中等职业技术学校人工智能技术应用专业(三年制)人才培养方案
评论
0/150
提交评论