《单片机交通灯自动控制及时间显示系统研究【毕业设计】电大考试必备小抄.doc》由会员分享,可在线阅读,更多相关《单片机交通灯自动控制及时间显示系统研究【毕业设计】电大考试必备小抄.doc(28页珍藏版)》请在三一办公上搜索。
1、单片机交通灯自动控制及时间显示系统研究摘 要单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增强,内部资源在增多,引脚的多功能化,以及低电压底功耗。考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,所以用单片机来实现十字路口交通信号灯的控制。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
2、在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊,靠的就是交通信号灯的自动指挥系统。本系统拟采用STC89C52单片机为中心器件来设计交通灯控制器,其中,P0口作为东西南北四个方向左转信号灯的控制信号,P2口作为四个方向直行信号灯的控制信号。P1口作为南北方向的倒计时显示控制口,P3口作为东西方向的倒计时显示控制口。系统外接12MHZ的晶振,在晶振电路中并联两个30PF的电容,起到滤波的作用。发光二极管与系统接口连接时串联一个0.1K的电阻,起到
3、限流作用。系统中发光二极管采用共阳极的连接方式,LED数码显示管采用共阴极连接方式。本系统实用性强、操作简单、扩展功能强。关键词:单片机,I/O接口,自动控制,交通灯SCM Traffic Light Control and Time Display System ABSTRACTSingle chip micro-computer, referred to as SCM, especially for control of the field, it is also known as micro-controller. Typically, the microcontroller from
4、a single integrated circuit chip structure, internal contains the basic functions of the computer components: CPU, memory and I/O interface circuit. Therefore, the MCU only needs and appropriate combination of software and peripherals can be a microcomputer control system.SCM is moving in the curren
5、t performance and direction of many varieties, and their function in the enhanced CPU, internal resources are increasing and the function of lead angle, and low voltage underground power. Taking into account the MCU is inexpensive, strong function, easy to use and flexible, high reliability, the sin
6、gle chip to achieve a crossroads with traffic signal control.With the rapid development of science and technology in recent years, SCM applications are deepening at the same time promote more traditional control detection update. In real-time detection and control of the microcomputer application sy
7、stem, the microcontroller is often used as a core component; only the SCM knowledge is inadequate and should be based on specific hardware architecture hardware and software, to be improved. Crossroads shuttle vehicles, pedestrians bustling, car dealers Drive, people walkways, orderly, must rely on
8、the automatic traffic light control system. The system to be adopted as the central device STC89C52 microcontroller to design traffic signal controller, which, P0 port as the East and West four lights turn left direction control signal, P2 port lights as a four direction control signals straight. P1
9、 port as a north-south direction countdown display control population, P3 port east-west direction as the countdown display control port. System external 12MHZ crystal, crystal oscillator circuit in two 30PF capacitor in parallel, plays the role of filtering. Light-emitting diodes connected in serie
10、s with the system interface of a 0.1K resistor, limiting the role play. Light-emitting diode system using common anode connection, LED digital display tube with common cathode connection. The system is practical, simple, powerful extensions.KEY WORDS: microcontroller, I/O interface, automatic contro
11、l, traffic lights目 录1绪论11.1 交通灯的形成11.2 交通灯的发展意义22 课程设计方案42.1 电源提供方案42.2 显示界面方案42.3 输入方案42.4 交通灯显示时序的理论分析43 硬件设计63.1 单片机简介63.1.1 STC89C52芯片简介63.1.2 STC89C52引脚说明63.2 单片机接口设计83.3 交通灯控制电路设计93.4 倒计时显示电路设计103.5 最小系统电路设计123.5.1 振荡电路123.5.2 复位电路124 软件设计144.1 系统流程图144.2 交通灯控制程序设计164.3 1秒延时程序设计165 调试与仿真175.1
12、硬件部分175.2 软件部分175.3 交通灯的显示测试175.4 LED倒计时显示测试185.5 程序测试195.6 整体电路测试196 发展与期望217 结束语22致 谢23参 考 文 献24附录 系统电路图25附录 系统程序26附录 元件清单321绪论1.1 交通灯的形成当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师,纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早
13、的煤气红绿灯。它由红绿两色旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。1电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯点亮表示“停止”,绿灯点亮表示“通行”。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下喇叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟
14、汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。本课题设计的交通灯就是基于单片机。2交通灯控制系统是城市的重要基础设施之一,一般的交
15、通灯系统采用固定周期换灯的控制方式,路口的交通灯大多只有红绿黄指示灯,行人在过路口时,会出现走到路中央绿灯跳变为红灯的情况。为符合以人为本的设计,我们可在路口安装与信号灯同步的倒记时显示器,行人和自行车可根据绿灯结束的时间决定是否过路口。实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、可编程序控制器plc,单片机等方案来实现。3交通灯在安全行车过程中起着十分重要的作用,根据行车过程中出现的实际情况,如何全面有效地利用交通灯指示交通情况,用单片机来控制交通灯,在软、硬件方面采取一些改进措施,使交通灯在控制中灵活而有效。在十字路口设置交通灯可以对交通进行有效的疏通,并为交通参与者的安全提供了
16、强有力的保障。但是随着社会、经济的快速发展,原先的交通灯控制系统已经不能适应现在日益繁忙的交通状况。如何改善交通灯控制系统,使其适应现在的交通状况,成为研究的课题。4当前,交通事业蓬勃发展,交通流量年年增长,大、中、小城市的汽车、摩托车等各种车辆与日俱增,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,机动车、非机动车、行人来往非常混乱,为了在十字路口的各条干道实现合理科学的分流,根据单片机具有物美价廉、功能强的特点,本课题拟采用单片机来控制交通灯和记时显示系统。1.2 交通灯的发展意义道路交通系统是一个地区、一个城市的主要组成部份,这个系统的运行状况如何,直接反映了一个地区、一个城市的现代
17、化管理水平。在这一系统中,道路不仅仅是易变化的部分,而其它组成部分则存在着较大的可变性和随机性。只有对这一系统的组成及其运行机理进行科学客观的分析研究,对能制定出科学有效的管理和控制对策,从而保障系统的有效运行。为确保车辆和行人安全顺利地通过十字路口,目前大多数城市已经使用自动控制的交通信号灯来指挥。传统的交通信号灯控制一般采用电子线路和继电器实现,结构复杂,可靠性低,故障率高;有的只是利用一些常用集成电路完成,基本以硬件实现为主,成本较低,功能也相对比较简单,但较难实现功能的变更。5交通灯控制系统是城市的重要基础设施之一,一般的交通灯系统采用固定周期换灯的控制方式,路口的交通灯大多只有红绿黄
18、指示灯,行人在过路口时,会出现走到路中央绿灯跳变为红灯的情况。为符合以人为本的设计,我们可在路口安装与信号灯同步的倒记时显示器,行人和自行车可根据绿灯结束的时间决定是否过路口。实现路口交通灯系统的控制方法很多,可以用标准逻辑器件、可编程序控制器plc,单片机等方案来实现。 交通灯在安全行车过程中起着十分重要的作用,根据行车过程中出现的实际情况,如何全面有效地利用交通灯指示交通情况,用单片机来控制交通灯,在软、硬件方面采取一些改进措施,使交通灯在控制中灵活而有效。6当前,交通事业蓬勃发展,交通流量年年增长,大、中、小城市的汽车等各种车辆与日俱增,道路交通繁忙,经常有严重堵车现象,特别是在交叉口,
19、机动车、非机动车、行人来往非常混乱,为了在十字路口的各条干道实现合理科学的分流,根据单片机具有物美价廉、功能强的特点,本课题拟采用单片机来控制交通灯和记时显示系统。随着社会的发展,人们的消费水平不断的提高,私人车辆不断的增加。人多、车多道路少的道路交通状况已经很明显了。车辆的增加反映出了国家的整体进步,但是也给人民带来了其他的一些负面的影响。城市交通问题日益突出,经常在十字路口等交通繁忙的地方发生堵塞情况,出现交通混乱。在这个时候道路交通灯的正常运行以及合理的功能就是交通畅通的重要保障。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。2 课程设计方
20、案2.1 电源提供方案因为STC89C52可以在4V到5.5V宽电压范围内正常工作,所以本系统拟采用5.3V外接电源,所以单片机可正常工作。本方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。2.2 显示界面方案采用发光二极管与LED数码显示管相结合的方法,因为设计既要求倒计时数字输出,又要求有状态灯输出,为方便观看并考虑到现实情况,用红、黄、绿三色发光二极管作信号灯,LED数码管显示各色信号灯的倒计时秒数,倒计时为零时切换信号灯。考虑到实际情况,本系统设计了左转及直行信号灯,因为右转在大部分情况下是一直允许的,所以系统一共用了24个发光二极管,及四个LED数码显示管。为了符合实际情况,
21、在绿灯即将熄灭的时候,设置了2s的闪烁时间,即绿灯燃亮时间剩2s时,绿灯会灭一秒,亮一秒,这样便可实现绿灯的闪烁。然后绿灯熄灭后,会有1s的黄灯时间,这样可以给驾驶员及行人充足的反应时间。这种方案既满足系统功能要求,又可以对交通状况实现人性化管理。2.3 输入方案采用STC89C52微处理器为核心器件,片内数据存储器(RAM)空间为256B;片内程序存储器(ROM)空间为4KB。本系统所用到的数据单元不多,系统程序所占的空间也不大,利用STC89C52片内的RAM与ROM就足够,不用外扩数据存储器与程序存储器。系统设计将复位电路,振荡电路,电源电路集成于一块PCB板上,将LED显示灯与信号灯电
22、路集成于另一块PCB板中,然后通过导线将两块PCB板连接起来。接口设计中,P0口作为东西南北四个方向左转信号灯的控制信号,P2口作为四个方向直行信号灯的控制信号。P1口作为南北方向的倒计时显示控制口,P3口作为东西方向的倒计时显示控制口。系统外接12MHZ的晶振,在晶振电路中并联两个30PF的电容,起到滤波的作用。发光二极管与系统接口连接时串联一个0.33K的电阻,起到限流作用。系统中发光二极管采用共阳极的连接方式,LED数码显示管采用共阴极连接方式。系统外置振荡电路,晶振为12MHZ,采用软件延时来确定每秒钟的设定。2.4 交通灯显示时序的理论分析对于一个交通路口来说,能在最短的时间内达到最
23、大的车流量,就算是达到了最佳的性能,我们称在单位时间内能达到的最大车流为车流量,用公式:车流量=车流/时间来表示。在十字路口的东西、南北方向装设左转红、黄、绿灯,及直行红、黄、绿灯和LED倒计时显示器,红、黄、绿灯按照一定时序轮流发亮,显示器对每个方向的信号灯接通时间进行倒计时显示,本系统可以实现正常情况下的时序控制,具体控制要求如下:(1)系统接通电源后信号灯系统开始工作,直到除去电源,系统才停止工作。(2)系统启动后,东西直行及左转红灯亮9s,南北左转红灯亮9s,与此同时南北直行绿灯亮8s,到2s时绿灯闪烁,周期为2s(亮1s,灭1s ),绿灯闪烁2s后,黄灯亮,并维持1s,1s后,南北直
24、行黄灯灭,红灯亮。同时东西左转红灯灭,绿灯亮。(3)东西左转绿灯维持6s,南北直行及左转红灯维持7s,到2s时,东西左转绿灯闪亮2s后灭,黄灯亮,并维持1s,1s后东西左转黄灯灭,红灯亮。同时南北左转红灯灭,绿灯亮。(4)南北左转绿灯维持6s,东西直行及左转红灯维持7s,到2s时,南北左转绿灯闪亮2s后灭,黄灯亮,并维持1s,1s后南北左转黄灯灭,红灯亮。同时东西直行红灯灭,绿灯亮。(5)南北直行及左转红灯亮9s,东西左转红灯亮9s,与此同时东西直行绿灯亮8s,到2s时绿灯闪烁,周期为2s(亮1s,灭1s ),绿灯闪烁2s后,黄灯亮,并维持1s,1s后,东西直行黄灯灭,红灯亮。同时南北直行绿灯
25、亮,左转红灯亮,东西直行及左转红灯亮。(6)两个方向的信号灯按上面的要求周而复始地进行工作。(7)当去掉电路电源后,所有信号灯熄灭。3 硬件设计3.1 单片机简介3.1.1 STC89C52芯片简介单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。7 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。 单片机经过几代的发展,目前单片机正朝着高性能和多品种方向发展,它们的CPU功能在增
26、强,内部资源在增多,引脚多功能化,以及低电压底功耗。8STC89C52是MCS-51系列单片机的典型产品,它包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线三大总线。中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。STC89C52有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。STC89C52共有4组8位I/O口(P0、 P1、P2或P3),用
27、于对外部数据的传输。STC89C52内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。STC89C52具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。STC89C52内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但STC89C52单片机需外置振荡电容。3.1.2 STC89C52引脚说明STC89C52 8位单片机是MSC-51系列产品的升级版,有世界著名半导体公司ATMEL在购买MSC-51设计结构后,利用自身优势技术,闪存的生产技
28、术对旧技术进行改进和扩展,同时使用新的半导体生产工艺,最终得到成型产品。与此同时,世界上其他的著名公司也通过基本的51内核,结合公司自身技术进行改进生产,推广一批如51F020等高性能单片机。9STC89C52片内集成256字节程序运行空间、8K字节Flash存储空间,支持最大64K外部存储扩展。根据不同的运行速度和功耗的要求,时钟频率可以设置在0-33M之间。片内资源有4组I/O控制端口、3个定时器、8个中断、软件设置低能耗模式、看门狗和断电保护。可以在4V到5.5V宽电压范围内正常工作。不断发展的半导体工艺也让该单片机的功耗不断降低。同时,该单片机支持计算机并口下载,简单的数字芯片就可以制
29、成下载线,仅仅几块钱的价格让该型号单片机畅销10年不衰。根据不同场合的要求,这款单片机提供了多种封装,本次设计根据最小系统有时需要更换单片机的具体情况,使用双列直插DIP-40的封装。如图3-1所示。图3-1 STC89C52引脚分布Pin9:RESET复位信号复用脚,当STC89C52通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作
30、寄存器R0-R7)的状态,STC89C52的初始态。Pin30:ALE当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,PROG将用于输入编程脉冲。Pin29:PSEN当访问外部程序存储器时,此引脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器
31、的内外部选通线,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。P0口:P0口是一个8位漏极开路的双向I/O口。作为输出口,每位能驱动8个TTL逻辑电平。对P0端口写1时,引脚用作高阻抗输入。当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。在这种模式下,P0具有内部上拉电阻。P1口:P1 口是一个具有内部上拉电阻的8 位双向I/O 口,p1 输出缓冲器能驱动4个逻辑电平。对P1 端口写1时,内部上拉电阻把端口拉高,此时可以作为输入口使用
32、。此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX)。3.2 单片机接口设计直行红绿灯接口设计如图3-2所示。南北方向东西方向空闲LED片选控制信 号红灯黄灯绿灯红灯黄灯绿灯“0”“0”P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.7南北绿灯亮东西红灯亮11001100#33H南北黄灯亮东西红灯亮10101100#35H南北红灯亮东西绿灯亮01111000#1EH南北红灯亮东西黄灯亮01110100#2EH图3-2 直行接口设计左转红绿灯接口设计如图3-3所示。南北方向东西方向空闲空闲控制信 号红灯黄
33、灯绿灯红灯黄灯绿灯“0”“0”P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7南北绿灯亮东西红灯亮11001100#33H南北黄灯亮东西红灯亮10101100#35H南北红灯亮东西绿灯亮01111000#1EH南北红灯亮东西黄灯亮01110100#2EH图3-3 左转接口设计3.3 交通灯控制电路设计红绿灯的显示采用普通的发光二极管,每个方向上设置直行及左转红绿黄灯各一个,共两组。其中,P2.0,P2.1,P2.2用于控制南北方向直行的红绿灯;P2.5,P2.6,P2.7用于控制东西方向直行的红绿灯。P0.0,P0.1,P0.2用于控制南北方向左转的红绿灯;P0.5,P0.6,
34、P0.7用于控制东西方向左转的红绿灯。如果东西方向红灯亮那南北方向就是绿灯,反之亦然,所以在硬件连接图上也成对称分布。对应的电路图如图3-4所示。图3-4 灯控电路图中,每个接口与二极管相连时串联了一个0.1K的电阻,起到限流作用,一共用了12个电阻。3.4 倒计时显示电路设计显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及生产工艺,单片机应用系统中常用的显示器有:发光二极管LED显示器、液晶LCD显示器、CRT显示器等。LED显示器是现在最常用的显示器之一。10LED显示器的显示控制方式按驱动方式可分成静态显示方式和动态显示方式两种。静态显示就是显示驱动电路具有输出锁存功能
35、,单片机将所要显示的数据送出后就不再管,直到下一次显示数据需要更新时再传送一次新数据,显示数据稳定,占用很少的CPU时间。动态显示需要CPU时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的CPU时间多。这两种显示方式各有利弊;静态显示虽然数据稳定,占用很少的CPU时间,但每个显示单元都需要单独的显示驱动电路,使用的硬件较多;动态显示虽然有闪烁感,占用的CPU时间多,但使用的硬件少,能节省线路板空间。11LED数码管根据LED的接法不同分为共阴极型和共阳极型两类,图3-5是共阴极数码管的内部电路,它们的发光原理是一样的,只是它们的电源极性不同而已。将多只LED的阴极连在一起即为共阴极式,而将
36、多只LED的阳极连在一起即为共阳极式。 图3-5 共阴极数码管发光二极管是一种将电能转变成光能的半导体器件。LED数码管的结构简单,价格便宜。八段LED显示管有八只发光二极管组成,编号是a、b、c、d,e,f和SP,分别和同名管脚相连。七段LED显示管比八段LED少一只发光二极管SP,其它和八段LED相同。在给每个二极管通电后,二极管发光后表示要显示的数字的一部分,组成这个数字的所有二极管都发亮时,才能正确的显示这个数字。它是由若干个发光二极管组成的,当发光二极管导通时,相应的一个点或一段笔画发亮。控制不同组合的二级管导通,就能显示出各种字符。使用LED显示器的时候,为了显示数字或是字符,要为
37、LED显示器提供代码,因为这些代码是通过各个段的点亮与熄灭来显示不同字符的,因此称之为段码。8段LED是一种常用的数码显示屏,这种数码管的每个线段都是一个发光二极管。 E10501是属于共阴极类型的数码管,只要公共端接地,其他端送上高电平就能点亮。E10501不仅具有工作电压低,体积小,寿命长,可靠性高等优点,而且响应时间短,亮度也比较高。缺点是工作电流比较高,一般工作电流都在10毫安左右。12LED数码显示管的段码设置为每个方位上一个1位显示器。四个方位上总共有4个LED接在单片机的I/O口上。显示时我们不需要小数点,所以每个LED的10根管脚只用了9根。虽然路口不一样,但是显示的时间在数字
38、上是一样的,所以两边连接的I/O口是对称的。本设计中倒计时显示电路在整体电路中的设计如图3-6所示。图3-6 倒计时显示电路图中,P1口控制的是南北方向的倒计时显示,P3口控制东西方向的倒计时显示。四个LED的片选信号由P2.7提供。3.5 最小系统电路设计整体电路由单片机最小系统和外围控制和显示电路组成。最小系统由STC89C52和相应的振荡电路、复位电路、电源电路组成。外围电路由数码管倒计时显示电路、发光二极管表示的交通灯电路组成。3.5.1 振荡电路每个单片机系统里都有晶振,全称叫晶体振荡器,在单片机系统里晶振的作用非常大,它结合单片机内部的电路,产生单片机所必须的时钟频率,单片机的一切
39、指令的执行都是建立在这个基础上的,晶振提供的时钟频率越高,单片机运行的速度也就越快。晶振在能把电能和机械能相互转化的晶体在共振的状态下工作,以提供稳定,精确的单频振荡。在通常工作条件下,普通的晶振频率绝对精度可达百分之五十,高级的精度更高。有些晶振还可以由外加电压在一定范围内调整频率,称为压控振荡器。13晶振的作用是为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法保持同步。14由于单片机需要高稳定,高频率的实时脉冲,因此需要晶体振荡器。STC89C52在XTAL1,XTAL2两管脚接晶体振荡器,晶振频率为1
40、2MHZ。在晶体振荡器的两端并联两个电容C1,C2,参数为30pf,对振荡器频率有微调作用,振荡范围为1.2MHZ-12MHZ。本设计中振荡电路在整体电路中的设计如图3-7所示。图3-7 振荡电路3.5.2 复位电路本设计中振荡电路在整体电路中的设计如图3-8所示。图中,C3的值为0.1uf,R2的值为0.1K。图3-8 复位电路为确保微机系统中电路稳定可靠工作,复位电路是必不可少的一部分,复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。一般微机电路正常
41、工作需要供电电源为4V5.5V。由于微机电路是时序数字电路,它需要稳定的时钟信号,因此在电源上电时,只有当VCC超过4V低于5.5V以及晶体振荡器稳定工作时,复位信号才被撤除,微机电路开始正常工作。154 软件设计4.1 系统流程图系统初始化后,首先东西直行及左转红灯亮9s,南北左转红灯亮9s,与此同时南北直行绿灯亮8s,到2s时绿灯闪烁,周期为2s(亮1s,灭1s ),绿灯闪烁2s后,黄灯亮,并维持1s,1s后,南北直行黄灯灭,红灯亮。同时东西左转红灯灭,绿灯亮。东西左转绿灯维持6s,南北直行及左转红灯维持7s,到2s时,东西左转绿灯闪亮2s后灭,黄灯亮,并维持1s,1s后东西左转黄灯灭,红
42、灯亮。同时南北左转红灯灭,绿灯亮。南北左转绿灯维持6s,东西直行及左转红灯维持7s,到2s时,南北左转绿灯闪亮2s后灭,黄灯亮,并维持1s,1s后南北左转黄灯灭,红灯亮。同时东西直行红灯灭,绿灯亮。南北直行及左转红灯亮9s,东西左转红灯亮9s,与此同时东西直行绿灯亮8s,到2s时绿灯闪烁,周期为2s(亮1s,灭1s ),绿灯闪烁2s后,黄灯亮,并维持1s,1s后,东西直行黄灯灭,红灯亮。同时南北直行绿灯亮,左转红灯亮,东西直行及左转红灯亮。由此循环执行。流程图如图4-1所示。开始初始化南北直行绿灯8s南北左转红灯9s东西直行红灯9s东西左转红灯9s时间到?计数器减一黄灯亮1s东西左转绿灯6s东
43、西直行红灯7s南北直行红灯7s南北左转红灯7s 计数器减一时间到?黄灯亮1s东西左转绿灯6s东西直行红灯7s南北直行红灯7s南北左转红灯7s时间到?计数器减一黄灯亮1s东西左转绿灯6s东西直行红灯7s南北直行红灯7s南北左转红灯7s时间到?计数器减一黄灯亮1s结束图4-1 系统流程图4.2 交通灯控制程序设计用STC89C52控制发光二极管,P2口控制东西南北四个方向直行的信号灯,P0口控制东西南北四个方向左转的信号灯,其中,P2.0,P2.1,P2.2控制的是南北方向直行的红,黄,绿信号灯, P2.3,P2.4,P2.5控制的是东西方向直行的红,黄,绿信号灯。P0.0,P0.1,P0.2控制
44、的是南北方向左转的红,黄,绿信号灯, P0.3,P0.4,P0.5控制的是东西方向左转的红,黄,绿信号灯。例如,要使南北直行绿灯,东西直行红灯,则mov p2, #33H 。南北左转红灯,东西左转红灯,则mov p0, #36H 。用STC89C52的P1口与P3口控制LED数码显示管,其中P1口控制的使南北方向的倒计时显示,P3口控制的使东西方向的倒计时显示。P1.0-P1.6分别与LED数码显示管的a,b,c,d,e,f,g相连,LED的片选信号由P2.7提供。本设计使用的是共阴极的数码显示管,所以片选信号为高电平时选中该数码管。a,b,c,d,e,f,g分别给高电平时点亮,低电平不亮。例
45、如,要使东西方向LED数码显示管显示数字9,则mov p3, #0EFH 。南北方向LED数码显示管显示数字8,则mov p1, #0FFH 。4.3 1秒延时程序设计每秒钟的设定一种是利用STC89C52内部定时器产生溢出中断来确定1秒的时间,另一种是采用软延时的方法。16该设计的主程序通过软件延时的方法来确定1秒的时间,即需要倒计时的时候,系统指令就调用该延时子程序,在LED倒计时显示过程中,输出一个数字,就要调用该延时子程序一次,这样便可达到倒计时的效果。为了提高倒计时的精确度,给单片机中加了一个频率为12MHZ的晶振电路。机器周期是主频的12倍,所以一个机器周期的时间为12*(1/12M)=1us。我们可以知道具体每条指令的周期数,这样我们就可以通过指令的执行条数来确定1秒的时间。具体的延时程序分析:delay: mov r7,#200 ;设定外循环次数200 L1: mov r6,#250 ;设定中循环次数250 L2: mov r5,#10 ;设定内循环次数10L3: djnz r5,L3 ;内循环语句,本条指令用时2us djnz r6,L2 ;中循环语句,本条指令用时2usdjnz r7,L1 ;外循环语句,本条指令用时2usret延时10*250*200*2us=1s,单片机运行速度很快其他的指令执行时间忽略不计。5 调试与仿真5.1 硬件部分