目录摘要……………………………………………………………………………………………31引言…………………………………………………………………………………………41.1问题提出…………………………………………………………………………………41.2任务与分析………………………………………………………………………………42方案设计……………………………………………………………………………………52.1最终设计方案………………………………………………………………………………52.2性能指标…………………………………………………………………………………63系统硬件设计………………………………………………………………………………73.180C51单片机………………………………………………………………………………73.2显示电路…………………………………………………………………………………93.3时钟电路…………………………………………………………………………………103.4复位电路…………………………………………………………………………………114系统软件设计………………………………………………………………………………124.1主程序框图………………………………………………………………………………124.2按键扫描子程序框图……………………………………………………………………134.3LED显示子程序…………………………………………………………………………144.4数码管显示子程序………………………………………………………………………144.5延时子程序………………………………………………………………………………154.6外部中断中断服务子程序框图…………………………………………………………164.7定时器中断子程序………………………………………………………………………175系统调试过程………………………………………………………………………………185.1原理图和印制板图绘制和检查…………………………………………………………185.2Keil程序调试…………………………………………………………………………195.3Proteus仿真调试………………………………………………………………………21结论……………………………………………………………………………………………27致谢……………………………………………………………………………………………28参考文献………………………………………………………………………………………29微机原理及应用课程设计说明书-1-附录A程序源代码……………………………………………………………………………30附录B电路原理图……………………………………………………………………………40微机原理及应用课程设计说明书-2-摘要本文所阐述的交通灯系统。在结构设计上采用了单片机控制。对交通灯的工作状态可进行实时显示,以便交通安全。在硬件方面,本系统主要以51系列单片机AT89C52为中心器件来实现交通灯显示;在软件方面.我们的目的主要是实现对数码管、LED的显示以实现准确的显示。关键词::单片机;数码管;LED微机原理及应用课程设计说明书-3-1引言1.1问题的提出十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多,在学习了单片机的有关知识之后,运用相关知识来设计完成交通信号灯。Labcenter公司的Proteus具有微控制器的仿真功能等功能,其最大的特点就是能进行单片机以及外围芯片的仿真,通过其对设计产品的仿真,可以更好的帮助设计者进行计算机控制系统的分析及设计。1.2任务与分析本文的主要任务是交通灯系统在显示器件上显示,并且遇到紧急情况时时,全部显示红灯。重点突出了如何通过软件编程实现设计。在整体的硬件组成设计中,数码管显示时间,LED显示红绿灯,另一个输入电压由+5V电源提供。由于整个设计的目的是完成交通灯显示,除了显示电路、LED之外,几乎没有其它所需的外部电路,因此51系列单片机完全可以胜任。微机原理及应用课程设计说明书-4-2方案设计2.1最终设计方案总体设计框图图2-1系统总体框图东西、南北两干道交与一个十字路口,各干道有一组红、黄、绿三色的指示灯,指示车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,设黄灯亮时间为东西南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如下表所示。复位电路80C51单片机LED显示电路数码管1时钟电路电源电路数码管2P2P0P1微机原理及应用课程设计说明书-5-2.2性能指标(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。通行时间为60秒。(2)黄灯闪烁2秒,警示车辆和行人红、绿灯状态即将切换。(3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通行,行人通行。时间为90秒。东西方向车辆打通行时间长。(4)这样如上表的时间和红、绿、黄出现的顺序依次处出现这样行人和车辆就能安全畅通的通行。(5)此表可根据车辆动态设定红绿灯初始值。微机原理及应用课程设计说明书-6-3系统硬件设计3.180C51单片机3.1.180C51单片机介绍80C51是INTEL公司MCS-51系列单片机中最基本的产品,它采用INTEL公司可靠的CHMOS工艺技术制造的高性能8位单片机,属于标准的MCS-51的HCMOS产品。它结合了HMOS的高速和高密度技术及CHMOS的低功耗特征,它继承和扩展了MCS-48单片机的体系结构和指令系统。80C51内置中央处理单元、128字节内部数据存储器RAM、32个双向输入/输出(I/O)口、2个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片内时钟振荡电路。此外,80C51还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和中断系统维持其功能。掉电模式下,保存RAM数据,时钟振荡停止,同时停止芯片内其它功能。80C51有PDIP(40pin)和PLCC(44pin)两种封装形式。其引脚图如图3-1所示:图3-180C51单片机引脚图P1.01P1.12P1.23P1.34P1.45P1.56P1.67P1.78RST/VPD9RXDP3.010TXDP3.111INT0P3.212INT1P3.313T0P3.414T1P3.515WRP3.616RDP3.717XTAL218XTAL119VSS20P2.021P2.122P2.223P2.324P2.425P2.526P2.627P2.728PSEN29ALE/PROG30EA/VPP31P0.732P0.633P0.534P0.435P0.336P0.237P0.138P0.039VCC4080C511微机原理及应用课程设计说明书-7-80C51系列单片机都是以8031为核心发展起来的,具有和51系列单片机及基本结构和软件特征,其内部结构如图3-2所示:图3-280C51单片机框图80C51单片机的引脚功能:1、主电源引脚Vss和Vcc。①Vss接地。②Vcc正常操作时为+5伏电源。2、外接晶振引脚XTAL1和XTAL2。①XTAL1内部振荡电路反相放大器的输入端,是外接晶体的一个引脚。当采用外部振荡器时,此引脚接地。。②XTAL2内部振荡电路反相放大器的输出端。是外接晶体的另一端。当采用外部振荡器时,此引脚接外部振荡源。3、控制或与其它电源复用引脚RST/VPD,ALE/PROG,PSEN和EA/Vpp。①RST/VPD当振荡器运行时,在此引脚上出现两个机器周期的高电平(由低到高跳变),将使单片机复位在Vcc掉电期间,此引脚可接上备用电源,由VPD向内部提供备用电源,以保持内部RAM中的数据。②ALE/PROG正常操作时为ALE功能(允许地址锁存)提供把地址的低字节锁存到外部锁存器,ALE引脚以不变的频率(振荡器频率的61)周期性地发出正脉冲信号。因此,它振荡器及定时电路80C51CPU4K字节ROM128字节RAM2个16位定时器/计数器64K总线扩展控制可编程I/O可编程串行口微机原理及应用课程设计说明书-8-可用作对外输出的时钟,或用于定时目的。但要注意,每当访问外部数据存储器时,将跳过一个ALE脉冲,ALE端可以驱动(吸收或输出电流)八个LSTTL电路。对于EPROM型单片机,在EPROM编程期间,此引脚接收编程脉冲(PROG功能)。③PSEN外部程序存储器读选通信号输出端,在从外部程序存储取指令(或数据)期间,PSEN在每个机器周期内两次有效。PSEN同样可以驱动八LSTTL输入。④EA/VppEA/Vpp为内部程序存储器和外部程序存储器选择端。当EA/Vpp为高电平时,访问内部程序存储器,当EA/Vpp为低电平时,则访问外部程序存储器。对于EPROM型单片机,在EPROM编程期间,此引脚上加21伏EPROM编程电源(Vpp)。4、输入/输出引脚P0.0-P0.7,P1.0-P1.7,P2.0-P2.7,P3.0-P3.7。①P0口(P0.0-P0.7)是一个8位漏极开路型双向I/O口,在访问外部存储器时,它是分时传送的低字节地址和数据总线,P0口能以吸收电流的方式驱动八个LSTTL负载。②P1口(P1.0-P1.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动(吸收或输出电流)四个LSTTL负载。③P2口(P2.0-P2.7)是一个带有内部提升电阻的8位准双向I/O口,在访问外部存储器时,它输出高8位地址。P2口可以驱动(吸收或输出电流)四个LSTTL负载。④P3口(P3.0-P3.7)是一个带有内部提升电阻的8位准双向I/O口。能驱动四个LSTTL负载。且具有第二功能。3.2数码管与显示电路若采用动态扫描显示方式显示电压,动态显示方式所需元件数量和元件种类较静态显示方式要少的多,并且利用人眼的视觉暂留效应和发光二极管熄灭时的余辉,动态显示方式可以较好地“同时”显示多个字符,只要扫描频率足够高就不会使人产生闪烁的感觉。但本次设计为了方便而采用单个数码管的静态显示,如下图所示本设计采用P2口进行位选,P0、P1口进行段选。微机原理及应用课程设计说明书-9-1122334455667788991010数码管图3-7显示电路3.3时钟电路本设计采用内部时钟方式的电路。80C51单片机内部有一个用于构成振荡器的高增益反相放大器,该高增益反相放大器的输入端为芯片引脚XTAL1,输出端为引脚XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,就构成了一个稳定的自激振荡器。电路中的电容C1和C2典型值通常选择为30pF左右。晶体的振荡频率的范围通常是在1.2MHZ~12MHZ之间。晶体的频率越高,则系统的时钟频率也就越高,单片机的运行速度也就越快。.微机原理及应用课程设计说明书-10-图3-9时钟电路3.4复位电路复位电路通常采用上电自动复位和按钮复位两种方式。本次设计采用按键复位电路。按键复位电路是在按键瞬间接地来实现的,其电路如图3-7所示。按下复位按钮后,电源对按键RESET端维持两个机器周期的高电平实现复位的。+5+C310uFS1R7RES2图3-10复位电路微机原理及应用课程设计说明书-11-4系统软件设计4.1主程序图4-1主程序框图说明:该流程图主要是对设置定时器0为工作方式,显示数据初始化,中断服务程序初始化,并对定时器赋初值,然后开启总中断(EA)定时器0中断(ET0),启动定时器。调用按键扫描子程序定时器T0初始化,外部中断0初始化开始起始开关检测YN微机原理及应用课程设计说明书-12-4.2按键扫描子程序流程图按键扫描子程序流程图开始LED显示子程序下一个LED显示子程序判断计数递减是否到0?Y判断计数递减是否到0?NNYN微机原理及应用课程设计说明书-13-4.3LED显示子程序流