1基于增强型8051单片机的红绿灯模拟控制系统2012年11月13日2目录系统功能介绍..................................................................................................................................31.1系统结构框图.......................................................................................................................31.2各部分功能说明...................................................................................................................4二、系统方案..................................................................................................................................42.1系统设计与结构框图...........................................................................................................42.2方案论证与比较..................................................................................................................42.2.1虚拟仿真模块...............................................................................................................42.2.2控制器模块...................................................................................................................52.2.3交通灯显示模块............................................................................................................62.2.4数码管显示模块............................................................................................................72.2.5蜂鸣器模块...................................................................................................................92.2.6矩阵键盘模块...............................................................................................................9三、方案不足与改进方案............................................................................................................103.1控制器模块.........................................................................................................................103.2显示输出模块(数码管模块、红绿灯模块).................................................................103.3输入模块(矩阵键盘模块).............................................................................................103.4拓展模块............................................................................................................................10四、项目清单与注意事项............................................................................................................114.1项目清单............................................................................................................................114.2注意事项............................................................................................................................114.2.1模拟仿真.....................................................................................................................114.2.2连接电路.....................................................................................................................114.2.3软件调试与故障排除..................................................................................................11五、程序代码................................................................................................................................11附录、相关芯片资料....................................................................................................................2274HC573中文资料....................................................................................................................223摘要:本系统是以STC公司的STC12C5A60S2单片机为主控制器,通过74HC573驱动4位数码管显示红绿灯倒计时,能实现红绿灯的模拟控制,并具有比较强的适应性和可调性。关键词:4×4矩阵键盘;STC12C5A60S2;74HC573。系统功能介绍1.1系统结构框图41.2各部分功能说明(1)红绿灯模块可以实现红绿灯系统的显示模拟,在黄灯亮时,另一个方向上的红灯会闪烁;(2)数码管模块可以显示路口各个方向红灯、黄灯和绿灯的持续时间,并进行倒计时;(3)矩阵键盘模块可以进行对倒计时时间的修改,修改的时间可由数码管显示;(4)蜂鸣器在交通灯的状态发生改变时,会有不同的声音提示。二、系统方案2.1系统设计与结构框图根据题目要求,本系统主要由虚拟仿真模块,控制器模块,交通灯显示模块,数码管显示模块,蜂鸣器模块,矩阵键盘模块组成。2.2方案论证与比较2.2.1虚拟仿真模块我们决定先通过proteus软件仿真,设计好电路与程序,再动手焊接系统板。因为通过软件仿真,设计系统时灵活性会大一些,可以提前选择好硬件,便于硬件部分的修改,也可以做到软件部分的即时调试。仿真时的状况如图2-2所示:图2-1Proteus软件欢迎界面5图2-2Proteus仿真情况2.2.2控制器模块控制器模块我们决定选择STC公司的STC12C5A32S2单片机。STC12C5A60S2/AD/PWM系列单片机是STC生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合。(《STC12C5A32S2系列单片机器件手册》);内部结构相对简单,可用作入门级芯片;而且我们手中已经有几块STC12C5A32S2系列单片机最小应用系统,便于硬件电路的焊接。最小系统电路图参考图2-3:6图2-3最小系统电路图2.2.3交通灯显示模块方案一:采用四组红黄绿三色二极管,通过10K的排阻分别连至单片机的P1.0-P1.6口,通过改变P1.1-P1.6的输出电平控制交通灯的亮灭。缺点是占用I/O口较多,但易于编程控制;方案二:采用74HC573芯片控制四组发光二极管。通过P0.0-P0.5向74HC573发送信号,P2中某一I/O口控制芯片的开启和关闭。优点是能比较大的节约I/O口,缺点是会增加编程复杂度。由于单片机的I/O口足够用来实现系统的基本功能,所以我们决定采用方案一。如果之后扩展功能时还会需要更多的I/O口时,可以考虑换成方案二。方案一的电路图如下:7图2-4交通灯模块电路图(方案一)2.2.4数码管显示模块方案一:采用两片74HC595芯片驱动共阳极四位数码管。一片控制段选,一片控制位选。位选信号通过三极管9012放大。优点是占用I/O口较少,但在仿真过程中出现了一些问题。问题如下:静态显示时数码管显示正常,但动态仿真时虽然单片机的各个引脚的电平变化正常,但位选信号(9012的基极输入信号)的一直为零。更改限流电阻以后,数码管全部显示8。经查阅资料,得知在程序和硬件电路正常显示的情况下,数码管不正常显示的原因,可能是因为数码管的响应时间过短,对PNP三极管的仿真速度太低。资料中建议使用NPN型三极管,并将数码管的minimumTriggerTime值调高。这也说明了仿真与硬件电路之间的不统一。电路图如下图所示:方案二:采用两片74HC573芯片驱动共阴极四位数码管。一片控制段选,一片控制位选。通过P0口控制输出电平,故需要上拉电阻。上拉电阻采用10K的排阻。优点是软件控制比较简单,但相比方案一要占用更多的I/O口。此方案在仿真时也出现了问题,即数码管显示乱码。之后通过对数码管进行软件清屏的方法使数码管显示正常。方案二的电路图如下图所示:为了使硬件电路与仿真有较高的统一性,我们决定采用方案二。8图2-5数码管电路仿真图(方案一)图2-6数码管电路仿真图(方案二)92.2.5蜂鸣器模块方案一:通过控制蜂鸣