工作只需要+5V电压,在实际连接中电路左端连接4个5V的电池为系统提供稳定的电源。
3.3 晶振电路
本设计系统电路的晶体振荡器的值为12MHZ的陶瓷电容,数值大约为22uf。在设计和焊刷电路板时候,晶体振荡器与电容尽量与单片机芯片靠近,减少寄生电容,保证振荡器的稳定性。
3.4 复位电路
单片机的复位分为上电自动复位和按钮手动复位。上电复位电路是靠电容充电来实现的。按钮复位电路又分为脉冲和电平复位。按钮电平复位电路按下复位按钮时,电容充电,使RST/VPD端为高电平,当把复位按钮松开后,电容放电,使RST/VPD端恢复为低电平。本次设计采用按钮电平复位电路。
3.5 交通灯指示电路
发光二极管Light- Emitting Diode 简称为LED,只能往一个方向导通,发光二极管的反向击穿电压约5 伏。为了保护LED不被破坏,需要加限流电阻。
3.6 时间显示电路介绍
本次设计采用2位7段数码管作为时间显示电路,分别对十字路口和人行导通时间进行倒计时。2位7段数码管中,1、2是公共端,控制位码。如果是共阴极接低电平,共阳的则接高电平。A-G,DP是控制断码和二极管的亮暗。可以直接接51单片机的输出口,输出口需要加上拉电阻,提供电流,驱动数码管正常工作。如果是共阴极的接高电平来使数码管亮,若为共阳则用低电平来点亮数码管。此设计LED显示器采用动态显示。
4 软件设计
4.1软件总体流程图
软件总体设计流程图如图2,主要完成的各个部分的软件控制
4.2 时间显示程序的设计
动态数码管扫描,完成数码管的显示功能
DIS:
MOV P2,#00000001B //显示第一位
MOV A,SNTIME //取显示的南北时间
MOV B,#10 //完成数据个位和十位的分解
DIV AB
MOV DPTR,#TAB //查数码管段码表
MOVC A,@A+DPTR
CPL A
MOV P0,A //送P0口,进行显示
LCALL DELAY //扫描程序延时1ms
MOV P0,#00H //灭调P0口,为下次显示做准备
MOV P2,#00000010B //显示第二位
MOV A,B //类似于显示第一位
MOV DPTR,#TAB
MOVC A,@A+DPTR
CPL A
MOV P0,A
LCALL DELAY
MOV P0,#00H
MOV P2,#00000100B //显示第三位
MOV A,EWTIME
MOV B,#10
DIV AB
MOV DPTR,#TAB
MOVC A,@A+DPTR
CPL A
MOV P0,A
LCALL DELAY
MOV P0,#00H
MOV P2,#00001000B //顯示第四位
MOV A,B
MOV DPTR,#TAB
MOVC A,@A+DPTR
CPL A
MOV P0,A
LCALL DELAY
MOV P0,#00H
MOV P2,#00010000B //显示第五位
MOV A,RXTIME
MOV B,#10
DIV AB
MOV DPTR,#TAB
MOVC A,@A+DPTR
CPL A
MOV P0,A
LCALL DELAY
MOV P0,#00H
MOV P2,#00100000B //显示第六位
MOV A,B
MOV DPTR,#TAB
MOVC A,@A+DPTR
CPL A
MOV P0,A
LCALL DELAY
MOV P0,#00H
MOV P2,#01000000B //显示第七位
MOV A,RXTIME2
MOV B,#10
DIV AB
MOV DPTR,#TAB
MOVC A,@A+DPTR
CPL A
MOV P0,A
LCALL DELAY
MOV P0,#00H
MOV P2,#10000000B //显示第八位
MOV A,B
MOV DPTR,#TAB
MOVC A,@A+DPTR
CPL A
MOV P0,A
LCALL DELAY
MOV P0,#00H
RET
4.3延时程序的设计
AT89C51单片机的工作频率为12MHz。机器周期與主频有关,是它的12倍,所以一个
机器周期的时间为1us(12*1/12=1us)。我们可以知道每条指令的周期数,这样就能通过指令的执行条数来确定延时的时间。
具体的延时500ms程序:
DELAY500MS:
MOV R4,#75
DELAY1S2:
LCALL DIS //调用数码管显示程序75遍
DJNZ R4,DELAY1S2
RET
5系统仿真与调试
系统仿真是利用计算机的keiluVsion和proteus软件完成,将keiluVison编写好的程序通过生成的hex文件加载到proteus原理图的单片机中,进行程序的仿真。
本次设计采用PCB电路板焊接,采用双层板,默认工艺FR4 1.6板厚过孔盖绿油有铅喷锡。电路焊接完后,对其进行检查,有无虚焊短路等情况的出现,检测元件是否安装正确,各个元器件是否能够正常工作。
在软硬连调的过程中,将程序加载到硬件电路中的,进行交通信号灯真实情况模拟,观察交通灯的状态,通过反复调试,才得以正常运行。
参考文献:
[1]周美娟,肖来胜.单片机技术及系统设计[M]. 北京:清华大学出版社,2007.08.
[2]周蔚吾. 道路交通信号灯控制设置技术手册[M].知识产权出版社,2003.
[3]罗苑棠. CPLD/FPGA常用模块与综合系统设计实例精讲.电子工艺出版社,2007.
[4]夏继强. 单片机实验与实践教程.北京航空航天大学出版社,2001.
相关热词搜索: 信号灯 控制系统 交通 设计