摘要本系统能够真实模拟双干线交通信号的管理。交通信号灯的控制电路中的核心是80C51单片机。系统设置两组红、黄、绿灯,并配置两个三位LED数码管分别显示东西、南北方向的时间,LED数码管使用动态显示方式显示倒计时间。硬件上由MCS51系列单片机、4×4行列式键盘、两个3位LED管、74LS573芯片、排阻和若干电阻组成。LED显示器通过P0和P2口以共阴极接法连接,P0口作字形口,输出段码;P2口作字位口,输出位码。P1口接4×4行列式键盘。P3口外接6个发光二极管模拟交通指示灯,采用共阳极接法,相应口线输出高电平则“信号灯”灭,相应口线输出低电平则“信号灯”亮。单片机通过XTAL1和XTAL2引脚外接12MHz晶振。软件设计分为以下几个模块:(1)键盘管理程序(包括键扫描、键处理程序)(2)LED数码管显示程序(3)控制交通灯程序通过动态扫描法对键盘按键进行识别,当有功能键按下时执行相应的子程序。按键抖动会引起按键命令的错误执行或重复执行,为确保对键的一次闭合仅处理一次,采用软件延时的办法避开抖动阶段,即检测到键闭合后延时5ms,只有再次检测到按键闭合才转入该键的处理程序。系统使用T0、T1的模式1实现10ms定时,T0用于白天模式,T1用于黑夜模式。在定时器中断程序里,先进行按键扫描,有键按下则转入相应子程序,无键按下时调用数码管显示子程序,并改变相应寄存器数值,定时1s时,令数码管显示时间减一,实现定时计数功能。关键词:交通信号灯控制,行列式键盘扫描,LED数码管动态显示,按键抖动目录摘要........................................................................................................................................0第一章绪论............................................................................................................................11.1交通灯控制概述...............................................................................................................11.2主要研究工作...................................................................................................................1第二章基础知识介绍............................................................................................................22.1主控制器AT89C52..........................................................................................................22.2LED数码管模块..............................................................................................................32.3键盘模块...........................................................................................................................42.474LS573............................................................................................................................5第三章系统硬件电路设计......................................................................................................63.1主控制系统电路...............................................................................................................73.2信号灯显示电路...............................................................................................................83.3数码管时间显示电路.......................................................................................................93.4矩阵式键盘电路.............................................................................................................10第四章电路板的制作............................................................................................................104.1设备介绍.........................................................................................................................104.1制作过程.........................................................................................................................10第五章系统软件设计............................................................................................................11结束语.........................................................................................................错误!未定义书签。参考文献..................................................................................................................................201第一章绪论1.1交通灯控制概述单片机的基本结构是将微型计算机的基本功能部件全部集成在一个半导体芯片上。单片机结构上的设计,在硬件、指令系统及I/O能力等方面都有独到之处,具有较强而有效的控制功能。另一方面,单片机毕竟是一个芯片,只有外加所需的输入、输出设备,才可以构成实用的单片机应用系统[1]。单片机由于体积小、功耗低、价格低廉,且具有逻辑判断、定时计数、程序控制等多种功能,广泛应用于智能仪表、可编程序控制器、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域[2]。本课程设计交通灯控制系统采用单片机作为主控制器,外接必要的设备,模拟十字路口的车辆及行人的交通管理,有东西、南北方向的交通指示灯及用于倒计时的数码管,整个系统简单,价格低廉,并能真实模拟现实情况。1.2主要研究工作1.完成系统硬件电路设计(1)单片机采用MCS51系列(2)键盘为4×4行列式键盘,按键设有启动、停止、白天、黑夜功能键。(3)两个3位的LED数码管,南北方向和东西方向个一个,用来显示时间。2.完成系统软件设计(1)键盘管理程序(包括键扫描、键处理程序)。(2)LED数码管显示程序。(3)控制交通灯程序3.实现系统要求的功能:(1)在LED数码管上显示倒计时秒的时间。(2)采用LED模拟信号灯,信号灯分东西、南北二组,分别有“红”“黄”“绿”三种颜色。其工作状态由单片机程序控制,“启动”、“停止”按钮分别控制信号灯的启动和停止。“白天/黑夜”开关控制信号灯白天/黑夜转换。按下“启动”按钮开始工作,按下“停止”按钮停止工作,“白天/黑夜”开关按下闭合时为黑夜工作状态,这时只有黄灯闪烁,断开时按时序控制图工作。第二章基础知识介绍2.1主控制器AT89C52主控制器采用MCS51系列单片机AT89C52,AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元[3]。MCS51单片机的内部基本结构框图如图2-1所示,由以下部分组成[4]:(1)一个8位的微处理器(CPU)。(2)片内数据存储器RAM(128B),用以存放可以读写的数据,如运算的中间结果、最终结果以及状态标志位等。(3)片内程序存储器ROM(4KB),用以存放已编制好的程序及程序中用到的常数。(4)四个8位并行I/O接口P0~P3,每个口既可以用作输入,也可以用作输出使用。(5)两个定时器/计数器,每个定时器/计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。(6)五个中断源的中断控制系统,提供两个中断优先级,能实现两级中断嵌套。(7)一个全双工串行异步通信接口,用于实现单片机之间或单机与微机之间的串行通信。(8)片内振荡器和时钟产生电路,但需要外接石英晶体和微调电容,最高允许振荡频率为12MHz。单片机内部各功能部件通过内部总线连接,传送地址信息、数据信息和控制信息,各功能部件分时使用总线,即所谓的内部单总线结构。AT89C52与其他MCS51单片机的不同之处在于具有8KB可反复擦写(大于1000次)FlashROM以及3个16位可编程定时/计数器中断。可反复擦写的FlashROM使得单片机能反复写入程序,使用更加地方便。2.2LED数码管模块LED数码管是由若干个发光二级管组成显示字段的显示器件,有七段和“米”字段之分。LED数码管有共阴极和共阳极两种,发光二极管的阳极接在一起的称为共阳极数码管,阴极接在一起的称为共阴极数码管。一个数码管由8个发光二极管组成,其中,7个发光二极管a~g构成字型“8”的各个笔划,另一个dp发光二极管为小数点。当某段发光二极管上施加一定的正向电压时,该段比划就亮;不加电压就暗。另外,为了保护各段LED不被损坏,应该使其工作在安全电流下,故必须外加限流电阻。本系统使用三位共阴七段数码管,其引脚如下图所示:在实际应用中,LED数码管有静态显示和动态显示两种显示方式。静态显示方式,即七段LED数码管在显示某一个字符时,相应的段恒定的导通或截止,直至换显其他字符为止。LED的静态显示虽然有编程容易、管理简单等优点,但是静态显示所要占的I/O口资源很多,所以在显示的LED点