1、摘 要随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题。因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。根据交通灯在实际控制中的特点,结合单片机的控制功能,提出了一种用单片机自动控制交通灯的简易方法。设计中包括硬件电路的设计和程序设计两大步骤,对单片机学习中的几个重要内容都有涉足。单片机的应用正在不断深入,单片机可以用来仿真各个系统。在自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然
2、秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用单片机STC89C52为中心器件来设计交通灯控制器,实现了通过P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过P1口输出,显示时间通过P0口输出至双位数码管)。本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。 关键词:单片机 交通灯 数码管Microcontroller to control traffic lightsAbstract: With economic development, a sharp increase in the number
3、of cars, increasingly crowded city roads, traffic congestion has become an international problem. Therefore, the design of reliable, safe, convenient and versatile traffic light control system of great practical necessity.According to the characteristics of the traffic lights in the actual control,
4、combined with the microcontroller control functions, and easy with Auto Control traffic lights. The design includes two steps of the hardware circuit design and programming have to get involved in several important single-chip learning.The application of microcontroller is the deepening of the Micro
5、controller can be used to simulate systems. In the automatic control of microcomputer application system, the Microcontroller is often used as a core component to use only Microcontroller knowledge is not enough, but also according to the specific hardware architecture hardware and software, to be i
6、mproved.Crossroads shuttle vehicles, pedestrians bustling Dealers lane, walkways, and orderly. Rely on to achieve this orderly order? Rely on automatic command system of traffic lights. Traffic signal control. The system uses the Microcontroller STC89C52-centric devices to design the traffic signal
7、controller to achieve a set of red, green light to kindle through the P1 port function of time; traffic light cycle lights, countdown 5 seconds left flashing yellow warning (traffic light signals through the P1 the output port, and displays the time through the P0 port output to double-digit LED). T
8、he system design cycle, high reliability, practical, simple operation, easy maintenance, strong extensions.Key words:microcontroller traffic light digital tub目 录第1章 前 言11.1交通灯发展概述11.2 课题背景及意义21.3课题任务及主要实现内容31.4 原理分析41.4.1交通灯显示时序的理论分析41.4.2 交通灯显示的理论分析5第2章 设计方案分析62.1 单片机与外围接口部件62.2 倒计时显示界面72.3 交通灯7第3章
9、 硬件系统设计83.1 单片机的选择83.2 硬件电路实现113.2.1 最小系统设计113.2.2 显示设计133.2.3 发光二极管模拟红绿灯163.2.4 按键模块17第4章 软件电路设计184.1 软件编译环境测试184.1.1 C语言介绍184.1.2 Keil uVision4介绍184.2软件总体设计19第5章 电路检测22结论.25致 谢.26参考文献27附录:.28源程序:3038成都理工大学2012届本科毕业设计(论文)第1章 前 言单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故称为微控制器。通常,单片机
10、由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。单片机经过1、2、3,三代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电压低功耗。1.1交通灯发展概述早在1850年,城市交叉口处不断增长的交通就引发了人们对安全和拥堵的关注。世界上第一台交通自动信号灯的诞生,拉开了城市交通控制的序幕,1868年,英国工程师纳伊特在伦敦威斯特敏斯特街口安装了一台红绿两色的煤气照明灯,用来控制交叉路口马车的通行,但一次煤气爆炸事故
11、致使这种交通信号灯几乎销声匿迹了近半个世纪。1914年及稍晚一些时候,美国的克利夫兰、纽约和芝加哥才重新出现了交通信号灯,它们采用电力驱动,与现在意义上的信号灯已经相差无几。1926年英国人第一次安装和使用自动化的控制器来控制交通信号灯,这是城市交通自动控制的起点。 伴随着城市交通信号控制系统的迅速发展。人们认识到,要更好地提高城市管理水平,不仅仅依靠硬件设备的更新和改进,还必须同时在控制逻辑和方法上有所突破,即城市交通的区域协调控制。传统的城市道路交通控制指的是区域交叉口信号灯控制,而城市交通的区域协调控制,是在整个城市范围内对交通进行控制,这无论是从理论角度还是实践角度,都是一个极其复杂的
12、大系统控制问题。 可以说,在近百年的发展中,道路交通信号控制系统经历了无感应控制到有感应控制、手动控制到自动控制再到智能控制、单点控制(点控)到干线控制(线控)再到区域控制和网络控制(面控)的过程。1.2 课题背景及意义当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“
13、停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对
14、于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。如果将每个交通十字路口的多余交通警察撤回,安排在最不利于管理和事故高发的地方,不但可以大大的降低交通事故的发生率,而且可以节省大量的人力财力。所以,
15、采用单片机自动控制交通灯有现实的社会意义。1.3课题任务及主要实现内容本系统由单片机系统、数码管显示、交通灯显示系统组成。系统除基本的交通功能外,还具有倒计时,时间设置。东西、南北两个干道交于一个十字路口,各干道有一组红、绿、黄三色的指示灯,此外,每个路口加入一个新的左转绿灯,以区别直行路灯,指挥车辆安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换。程序开始运行先南北段通行、东西段禁止60s,后东西段通行、南北段禁止60s,依此循环。 系统分三种工作模式:正常模式、繁忙模式、特殊模式,并且通过三个按钮“正常”、“繁忙”、“特殊”可相互转化。正常模式:直行时间显
16、示数码管显示60。此时南北段直行通行(绿灯)、东西段禁止(红灯)40s,同时南北段和东西段方向的数码管分别从40s和60s开始倒计时,至最后5s时南北段绿灯变成黄灯闪烁;此后南北段左拐(左拐灯亮)通行、东西段禁止(红灯)20s,同时南北段和东西段方向的数码管都从20s开始倒计时,至最后5s时南北段左拐灯变成黄灯闪烁;再后东西段直行通行(绿灯)、南北段禁止(红灯)40s,同时东西段和南北段方向的数码管分别从40s和60s开始倒计时,至最后5s时东西段绿灯变成黄灯闪烁;最后东西段左拐(左拐灯亮)通行、南北段禁止(红灯)20s,同时东西段和南北段方向的数码管都从20s开始倒计时,至最后5s时东西段左
17、拐灯变成黄灯闪烁。繁忙模式:南北段、东西段的通行时间改为45s,其中左拐的时间改为15s,其它与正常模式类似。特殊模式:特殊模式灯亮,南北段、东西段的通行时间改为0s,禁止左转和直行,东西南北四个方向都亮红灯。1.4 原理分析1.4.1交通灯显示时序的理论分析下图所示为一种红绿灯规则的状态图: 图1-1 状态S1南北直行通行 图1-2 状态S2南北左拐通行 图1-3 状态S3东西直行通行 图1-4 状态S4东西左拐通行交通灯状态转化图:图1-5 交通灯状态循环图依据上述车辆行驶的状态图,可以列出各个路口灯的逻辑表如下表所示(其中逻辑值“1”代表直行通行,逻辑值“0”代表禁止通行,逻辑值“L”代
18、表左拐通行): 表 1-1 逻辑值ENWNS10101S20L0LS31010S4L0L01.4.2 交通灯显示的理论分析倒计时显示的理论分析:利用定时器中断,设TH0=TH1(65536-50000)/256,即每0.05秒中断一次。每到第20次中断即过了20*0.05秒1秒时,使时间的计数值减1,便实现了倒计时的功能。 状态灯显示的理论分析:黄灯闪烁同样可以利用定时器中断。每到第10次中断即过了10*0.05秒0.5秒时,使黄灯标志位反置,即可让黄灯1秒闪烁一次。第2章 设计方案分析本设计实现的交通灯是一款的多功能交通灯,预期实现的主要功能如下。1.具有时间显示功能,数码管倒计时功能;2.
19、红绿灯具有四种状态,南北直行,南北左拐,东西直行,东西左拐;3.具有模式转换功能,切换到不同状态,交通灯通行时间不一样;2.1 单片机与外围接口部件根据课题任务的要求,该系统具有交通灯的显示功能,倒计时功能,改变时间设定功能,所以把系统分为几个模块,包括倒计时显示器、交通信号灯、控制模块。系统硬件框图如下图2-1: 图2-1 硬件框图该系统主控芯片单片机采用MCS-8051,它内部具有128个8位用户数据存储单元和128个专用寄存器单元,两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向,可以满足该控制程序系统的设计要求。2.2 倒计时显示界面该系统要求完成倒计时、状态灯
20、等功能。基于上述原因,我们考虑了二种方案:方案一:完全采用数码管显示。显示简单,程序简单,端口用的少。 法案二:完全采用点阵式LED显示。这种方案实现复杂,且须完成大量的软件工作。但功能强大,可方便的显示各种英文字符,汉字,图形等。权衡利弊,第一种的方案适合于此题,我们决定采用方案二实现系统的时间显示2.3 交通灯发光二极管简称为LED,在此处设计中我们用他来模拟红绿黄交通灯,普通单色发光二极管具有体积小、工作电压低、工作电流小、发光均匀稳定、响应速度快、寿命长等优点,可用各种直流、交流、脉冲等电源驱动点亮。它属于电流控制型半导体器件,使用时需串接合适的限流电阻。第3章 硬件系统设计3.1 单
21、片机的选择1 常用单片机的比较目前在单片机系统中,应用较广泛的微处理器芯片主要为8XC5X系列单片机。该系列单片机均采用标准MCS-51内核,硬件资源相互兼容,品类齐全,功能完善,性能稳定,体积小,价格低廉,货源充足,调试和编程方便,所以应用极为广泛。若采用89C51芯片作为硬件核心,采用Flash ROM,内部具有4KB ROM存储空间,能于3V的超低电压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具备ISP在线编程技术,当在对电路进行调试时,由于程序的错误修改或对程序的新增功能需要烧入程序时,对芯片的多次插拔会对芯片造成一定的损坏。若采用STC89C52单片机则
22、不同,STC89C52是一个低电压,高性能CMOS8位单片机,片内含有4KB的可反复擦写的Flash只读程序存储器和128bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-52指令系统,片内置通用8位中央处理器和Flash存储单元。可以按照常规方法进行编程,也可以在线编程。其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效的降低开发成本。2STC89C52简介(1) STC89C52基本特性STC89C52是一种低功耗、高性能CMOS 8位微控制器,具有8K在系统可编程Flash存储器。使用高密
23、度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。(2) 功能STC89C52具有以下标准功能:8K字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,STC89C52可降至0Hz静态逻辑操作,支持2种软件可选择节点模式。空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被
24、冻结,单片机一切工作停止,指导下一个中断或硬件复位为止。(3)引脚说明图3-1 STC89C52引脚图引脚如图3-1所示:VCC:供电电压。 GND:接地。 P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8个TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。 P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4个TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1
25、口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。 P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控
26、制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流这是由于上拉的缘故。 P3口也可作为STC89C52的一些特殊功能口,如下表3-1所示: 表3-1 P3口管脚特殊功能P3口管脚备选功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2/INT0(外部中断0)P3.3INT1(外部中断1)P3.4T0(记时器0外部输入)P3.5T1(记时器1外部输入)P3.6WR(外部数据存储器写选通)P3.7/RD(外部数据存储器读选通)P3口同时
27、为闪烁编程和编程校验接收一些控制信号。 RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。 ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在 FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态A
28、LE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H- FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH 编程期间,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3.2 硬件电路实现选用设备8051单片机
29、一片,共阴极的七段两位数码管两个,红、黄、交通灯各四个,绿发光二极管8个,按键三个、电容两个22pF,电阻十六个470,晶体振荡器一个,连线若干。3.2.1 最小系统设计单片机最小系统有一个单片机加上一个复位电路和振荡电路组成。如图3-2所示。 1复位电路单片机复位电路原理是在单片机的复位引脚RST上外接电阻和电容,实现上电复位。当复位电平持续两个机器周期以上时复位有效。复位电平的持续时间必须大于单片机的两个机器周期。具体数值可以由RC电路计算出时间常数。复位电路由手动复位和上电复位两部分组成。(1)上电复位电路要求接通电源后,通过外部电容充电来实现单片机自动复位操作。上电瞬间RESET引脚获
30、得高电平,随着电容的充电,RERST引脚的高电平将逐渐下降。RERST引脚的高电平只要能保持足够的时间(2个机器周期),单片机就可以进行复位操作。(2)手动复位:手动复位就是在复位电容上并联一个开关,当开关按下时电容被放电、RST也被拉到高电平,而且由于电容的充电,会保持一段时间的高电平来使单片机复位。单片机复位期间不产生ALE和PSEN信号,即ALE=1和PSEN=1。这表明单片机复位期间不会有任何取指操作。本设计的复位电路,如图3-2所示图3-2 最小系统2.振荡电路单片机系统里都有晶振,在单片机系统里晶振作用非常大,全称叫晶体振荡器,它结合单片机内部电路产生单片机所需的时钟频率,单片机晶
31、振提供的时钟频率越高,那么单片机运行速度就越快,单片机的一切指令的执行都是建立在单片机晶振提供的时钟频率。单片机晶振的作用是为系统提供基本的时钟信号。单片机的时钟电路设计有两种方式,一种是内部时钟方式,一种是外部时钟方式。在内部时钟方式下单片机内部的高增益、反相放大器通过XTAL1、XTAL2外接作为反馈元件的外部晶体管振荡器与电容组成的并联谐振回路构成一个稳定的自激振荡器,向内部时钟电路提供振荡时钟。振荡器的频率主要取决于晶体的振荡频率。MCS-51单片机的晶体振荡频率可以再1-12MHz范围内选择,电容C1、C2的选择范围是15-45pF,电容的大小会影响振荡器的稳定性和起振速度。外部时钟
32、方式是把外部已有的时钟信号引入到单片机内。此方式常用于多片单片机同时工作,以便于各单片机的同步。一般要求外部信号高电平的持续时间大于20s,且为频率低于12MHz的方波。本设计采用内部时钟方式,采用11.0592MHz的晶振和两个22pF的电容。如图3-2所示。3.2.2 显示设计LED显示器由七个发光二极管组成,因此也称之为七段LED显示器,此外,显示器中还有一个圆点型发光二极管(在图中以dp表示),用于显示小数点。通过七段发光二极管的不同组合,可以显示多种数字、字母或者其他符号。LED显示器中的发光二极管共有两种连接方法。如图3-3所示。(1)共阳极接法把发光二极管的阳极连在一起构成公共阳
33、极。使用时公共阳极接+5V。这样阴极端输入低电平的段发光二极管就导通点亮,而输入高电平的则不点亮。 (2)共阴极接法把发光二极管的阴极连在一起构成公共阴极。使用时公共阴极接地,这样阳极端输入高电平的段发光二极管就导通点亮,而输入低电平的则不点亮。图3-3 LED引脚图及两种连接方法此设计用共阴级的2位数码管,如图3-4所示:图3-4 二位数码管经过万用表测定,此设计所用的数码管的引脚图,如下图3-5所示: 图3-5 实物数码管引脚图LED显示分为动态显示和静态显示(1)静态显示,是指显示器显示某一字符时,相应段的发光二极管恒定地导通或截止。这种显示方法每一位都需要有一个8位输出控口控制,占用硬
34、件资源多,一般用于显示位数较少场合。静态显示时,较小的驱动电流就可以得到较高的显示亮度,所以可由接口芯片直接驱动。 (2)动态显示,是一位一位地轮流点亮各位数码管。对于多位LED显示器的接口电路来说,需要有两个输出口:各位数码管的段控线相应并联在一起,由一个8位的I/O口控制,还学要一个输出口输出位控制信号,“位控”实际上就是对LED显示器的公共端进行控制,位控信号的数目与显示器个数相同。这种电路的特点是节省I/O口线,硬件电路相对静态显示方式简单。动态显示方式的硬件电路简单,动态显示采用多路复用技术的动态扫描显示方式,利用人眼的暂留效应和发光二极管发光时间的长短,发光的亮度等因素。静态显示程
35、序简单,且CPU占用率低,但每个LED数码管需要一个锁存器来锁存每一个显示位的代码,硬件开销大,仅适合显示位数较少的场合。本设计采用两个二位一体共阴数码管,不管将几位数码管连在一起,数码管的显示原理都是一样的,用P0口来控制LED数码管的段控线和和利用P2口控制位控线,动态显示采用动态扫描的方法进行显示及循环点亮每一个数码管,虽然任何时刻都只有一位数码管被点亮,但由于人眼存在暂留效应,只要每位数码管间隔时间足够短,就可以给人以同时显示的感觉。图3-6 二位数码管3.2.3 发光二极管模拟红绿灯 它是半导体二极管的一种,可以把电能转化成光能,常简写为LED。发光二极管与普通二极管一样是由一个PN
36、结组成,也具有单向导电性。当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。不同的半导体材料中电子和空穴所处的能量状态不同。当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。常用的是发红光、绿光或黄光的二极管。 发光二极管的反向击穿电压约5伏。它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。3.2.4 按键模块 程序开始运行先南北段通行、东西段禁止60s,后东西段通行、南北段禁止60s,依此循环。 系统分三种工作模式:正常模式、繁忙模式、特殊
37、模式,并且通过三个按钮“正常”、“繁忙”、“特殊”可相互转化。 正常模式下东西南北直行通行时间为40S,左转为20S,繁忙模式下直行时间改为20S,左转为15S,特殊模式下四个方向都亮红灯,禁止通行,3个按键可以互相转化。按键图如3-7所示:图 3-7 按键模块 这里用到了二极管做开关,是为了防止有一按键被按下3根线同时被低,中断无效。二极管在正向电压作用下电阻很小,处于导通状态,相当于一只接通的开关;在反向电压作用下,电阻很大,处于截止状态,如同一只断开的开关。利用二极管的开关特性,可以组成各种逻辑电路。 第4章 软件电路设计4.1 软件编译环境测试4.1.1 C语言介绍C语言是一种通用的计
38、算机程序设计语言,它既可以用来编写计算机的系统程序也可以用来编写一般的应用程序。以前计算机的系统软件主要用汇编语言编写,单片机应用系统更是如此。由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用程序不但周期长,而且调试和排错也比较困难,为了提高单片机应用程序的开发效率,改善程序的可读性和可移植性,采用高级语言无疑是一种最好的选择。C语言既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,表达和运算能力也较强,许多以前只能采用汇编语言来解决的问题现在都可以用C语言来解决。综上所述,C语言在功能上、结构性、可读性、可维护性上有明显的优势,故本课题采用C语言实现软件功能。4.
39、1.2 Keil uVision4介绍本课题采用Keil uVision4软件开发系统,Keil uVision4是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统。Keil uVision4是一款可用于多种8051MCU的集成开发环境(IDE),该IDE同时也是PK51及其它开发套件的一个重要组件。除增加了源代码、功能导航器、模板编辑以及改进的搜索功能外,uVision4还提供了一个配置向导功能,加速了启动代码和配置文件的生成。此外其内置的仿真器可模拟目标MCU,包括指令集、片上外围设备及外部信号等。uVision4提供逻辑分析器,可监控基于MCU的I/O引脚和外
40、设状态变化下的程序变量。4.2软件总体设计主程序流程图如下图4-1所示,开始单片机初始化SN直行EW禁行EW禁行SN禁行通行35s通行35sSN黄灯闪EW黄灯闪闪5s闪5sSN左拐EW禁行通行15sEW左拐SN禁行SN黄灯闪通行15s闪5SEW黄灯闪闪5S图 4-1 主程序流程图本设计中用到了定时器T0中断来控制灯的闪烁和数码管的倒计时功能,定时器中断流程图如下图4-2所示,外部中断流程图如4-3所示:图 4-2 定时器中断流程图图4-3 外部中断0中断流程图本设计用外部中断来控制按下键之后的情况,上图4-3 为外部中断的流程图。第5章 电路检测交通灯的主要用途是指示通行和显示时间,因此主要检
41、测发光二极管模块和数码管显示模块,按键模块。按照本设计的功能需求,进行相应的功能测试。测试内容包括: 检查硬件电路是否有虚焊。 检查发光二极管模块,显示模块,按键模块。测试条件:在寝室内,5月15日中午12:00,室内温度是28。测试结果:交通灯各项基本功能和工作状态都正常,可显示时间,调整状态。图5-1、5-2、5-3、是交通灯测试实物图。图5-1是设计实物图,上边标注了南北,东西方向,每个路口4个灯,一个左转绿灯,一个直行绿灯,共用黄灯和红灯。图5-1 交通灯实物图图5-2和图5-3展示了直行和黄灯闪烁场景:图5-2 南北直行图 5-3 黄灯闪烁图5-4展示了左转绿灯亮时情景:图5-4 南
42、北左转结论本设计是一款的多功能交通灯,采用STC89C52单片机为核心,2位LED数码管显示,本设计采用模块化的设计方法,硬件设计包括单片机模块、显示模块、发光二极管模块、相关控制模块等的模块化设计与制作;整个设计过程是硬件和软件相结合的,并采用C语言编写实现。根据要求用单片机对其进行控制,取得了以下研究成果:(1)控制系统接线图 (2)控制系统工作原理的阐述(3)硬件电路的完成由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,达到了预期设计要求的结果,实现了交通灯4个状态的转化,数码管的倒计时功能,和特殊情况下的交通灯的变化。致 谢在本论文完成之际,首先向于真老师
43、表示最衷心的感谢,从论文的选题、具体研究到最终的撰写修改,无不凝聚着高老师的心血和汗水。在学习和工作中,林老师是我的恩师,他严谨的治学态度、丰富的研究经验、高超的实验技能、在学术领域敏锐的洞察力使我在学习工作中受益匪浅,也将对我今后的工作产生有益的影响。再者,感谢我的同学,在我遇到困难时,他们给予我热情的指导和帮助,同时,我还要感谢学院领导、老师以及我的同学和朋友们,是他们的大力支持才使我能顺利地完成学业。最后感谢父母一如既往的理解、关心和支持,正是他们所给予的无私的爱和全力的支持才使我能够安心学习和工作。再次衷心感谢所有给予过我帮助的老师、同学、家人和朋友,陪伴我健康快乐的成长并顺利完成了学
44、业,我将会不负众望、努力进取。谢谢你们!参考文献1李雄杰.模拟电子技术教程M.北京:电子工业出版社,2004.092张培忠.单片机C程序设计实验/实训指导书.浙江工商职业技术学院,20083单片微型计算机原理及应用张毅坤 陈善久 裘雪红 编著 西安电子科技大学出版社4周坚.单片机C语言轻松入门M.北京:北京航空航天大学出版社,20065田丰单片机原理及应用M北京:清华大学出版社,20046李建忠.单片机原理及应用M. 西安:电子科技大学出版社,20027 李晓静.液晶显示控制器与单片机的接口及编程J.电子技术,2004(6):113-132.8 方方.单片机微机原理及应用M.北京:清华大学出版
45、社,2007.9 刘同法,陈忠平.单片机基础与最小系统实践M.北京:北京航空航天大学出版社,2007.10 楼然苗,李光飞.51系列单片机设计实例M.北京:北京航空航天大学出版社,2003.11 James SSecurity of Vilal Private NetworksJ J1nfomati cn SystemSecurity,2001,1(10):183612Andy Morell.Countdown TimerJ.Electronics,2003(29):321-322.13 U.Tietze,Ch.Schenk:Electronics CircuitsDesign and ApplicationM, Springer-Verlag,1991. 14 Mark E.Buccini.Digital countdown timer never needs barrery replacementJ.Electronics,2005(11):79-80.附录:原理图源程序:/* 十字路口交通灯控制 C 程序*/#defineucharunsigned char