1、基于基于 STC89C52 单片机的交通灯设计单片机的交通灯设计 基于 STC89C52 单片机的交通灯设计 摘摘 要要 一个完整的交通灯相当于一个简单的单片机系统,该系统有交通灯设置电路、单片机、显示电路等构成。信号灯控制的实现是通过电路与汇编程序的结合来完成,其中信号灯的模拟采用了发光二极管,发光二极管有熄灭、点亮和闪烁三种信号,其中闪烁信号的产生运用了延时程序来实现,而时间倒数方面引进了 LED数字显示,克服了人们在等待时的心急的心情,减少了红灯未灭,闯红灯的现象。电路部分原理图是通过用 DXP 软件绘制设计,汇编程序的设计与调试都在 KEIL上完成。最后使用 DXP软件上的虚拟元件来代
2、替所有的电路元件完成整个系统的调试和仿真,这样就大大保证了焊制硬件实物能正常运行。本系统功能设计完善,采用 AT89C51 单片机为核心,具有实用,方便,灵活的特点。随着电子技术的广泛应用,车辆日益增多将成为一种发展趋势,所以要有一套安全可靠的交通指示灯。本设计以单片机 AT89S52 为控制核心,以红、绿、黄三种 LED发光管作为直行和左右拐弯以及行人通行的指示,以 LED数码管作为倒计时指示,完成了题目要求的所有功能。在此基础上增设了 LED灯和数码管实时显示系统各种状态,还可根据交通拥挤情况分别设置主干道和次干道的通行时间以及紧急情况时可根据需要手动设置某干道车辆通行状态,紧急情况结束后
3、再转成自动状态,并对系统机械结构进行了优化设计,整体性好,人性化强、可靠性高。关键词:单片机;交通灯;显示 摘要.2 1绪论.5 1.1 交通灯的历史和现状.5 1.2 单片机相关介绍.5 2 系统设计.6 2.1 课程内容.6 2.2 系统硬件设计部分.6 2.2.1 单片机系统.6 2.2.2 复位电路.7 2.2.3 晶振电路.8 2.2.4 交通灯演示系统.8 2.2.5 电源供电电路.9 2.2.6 74HC573 的功能.9 2.2.7 发光二极管.11 2.2.8 数码管.12 3 软件设计.12 4 设计结果与分析.16 4.1 proteus简介.16 4.2 proteus
4、仿真过程.16 4.3 制板印制电路板 PCB.18 4.3.1 DXP 简介.18 4.3.2 电路原理图制作.18 4.3.3 PCB制作.19 5实物图.22 5.1 印制电路板概述.22 5.1.1 印制电路板.22 5.1.2 印制电路板结构.22 5.1.3 印制电路板的种类.22 5.2 印制电路板流程.23 5.3 元器件安装与焊接.24 5.3.1 手工安装.24 5.3.2 手工焊接.24 6 系统调试.26 6.1 断电调试.26 6.2 通电调试.26 6.3 基本要求部分的测试与分析.27 7 结论.27 参 考 文 献.28 1 绪论 今天,红绿灯安装在各个道口上,
5、已经成为疏导交通车辆最常见和最有效的手段。但这一技术在 19世纪就已出现了。1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868 年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两块以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869 年 1 月 2日,煤气灯爆炸,使警察受伤,遂被取消。1914年,电气启动的红绿灯出现在美国。这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市 5 号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”
6、。1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,当车辆接近时,红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下喇叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国道路交通和道路标志信号协定对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆
7、都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。随着经济的发展,交通运输中出现了一些传统方法难以解决的问题。道路拥挤现象日趋严重,造成的经济损失越来越大,并一直保持大比例的增长。现在交通系统已不能满足经济发展的需求。由于生活水平的提高,人们对交通运输的安全性及服务水平提出了更高的要求。在交通中管理引入单片机交通灯控制代替交管人员在交叉路口服务,有助于提高交通运输的安全性、提高交通管理的服务质量。并在一定程度上尽可能的降低
8、由道路拥挤造成的经济损失,同时也减小了工作人员的劳动强度。中国车辆数量不断增加,交通控制在未来的交通管理中起着越来越重要的作用。智能交通灯的管理比重修一条马路无论在经济、交通运行速率上都有很好的效益、更加节约资源。使交管人员有更多的精力投入到管理整个城市交通控制,带来更大的经济和社会效益,为创造美好的城市交通形象发挥更多的作用 2 系统设计 2.1课题内容 本课题的主要内容包括如下几个方面:(a).设计交通灯状态的管理方案;(b).设计单片机最小系统和周边电路;(c).设计交通灯系统、不间断供电系统以及中断系统的电路结构;(d).设计整个系统的电路分布和接线;(d).使用 C 语言编写整个系统
9、运行所需要的程序,重点是分时管理系统和紧急中断系统的程序。2.2 硬件设计部分 根据本设计交通灯的模型和实现的功能,硬件部分可以分为以下两个大的系统:单片机系统、交通灯演示系统、电源供电系统。2.2.1 交通灯系统电路 根据功能,交通灯的演示系统从功能上则分为:倒计时电路、红绿灯功能电路。交通灯演示系统电路图 2.2.1如示。倒计时电路主要是由双位共阴数码管和 74HC573N 驱动模块组成,控制信号通过单片机的端口 P1口进行信号的传输。倒计时电路负责的是显示红绿灯持续显示的时间。当绿灯或者红灯持续显示时,数码管显示该状态的持续时间,在黄灯闪烁显示时,起到倒计时秒数的作用。红绿灯功能电路主要
10、是由各色的发光二极管和 74HC573N驱动模块组成,控制信号跟数码管一样都是通过 P1口进行传输。红绿灯电路负责的是各个车行道和人行道通行状态的显示。图 2.2.1交通灯的电路图 2.2.2 单片机系统 本设计单片机主要是用于控制交通灯的演示系统,故只需要单片机最小系统即可完成。单片机的最小系统是指能够驱动单片机工作的最小电路。此电路由单片机、时钟电路、电源、复位电路 4个组成部分组成。图 2.2.2 为单片机最小电路的电路图。图 2.2.2 STC89C51 最小系统图 2.2.3 复位电路 单片机复位是使 CPU 和系统中的其他功能部件都处在一个确定的初始状态,并从这个状态开始工作,例如
11、复位后 PC0000H,使单片机从第个单元取指令。无论是在单片机刚开始接上电源时,还是断电后或者发生故障后都要复位。在复位期间(即RST 为高电平期间),P0 口为高组态,P1P3 口输出高电平;外部程序存储器读选通信号 PSEN无效。地址锁存信号 ALE也为高电平。图 2.2.3为单片机复位电路的电路图 图 2.2.3 复位电路图 2.2.4 晶振电路 STC89C52 引脚 XTAL1 和 XTAL2 与晶体振荡器及电容 C2、C1按下图 2.3所示方式连接。晶振、电容 C1C2 及片内与非门(作为反馈、放大元件)构成了电容三点式振荡器,振荡信号频率与晶振频率及电容 C1、C2的容量有关,
12、但主要由晶振频率决定,范围在 033MHz 之间,电容 C1、C2取值范围在 30pF左右。根据实际情况,本设计中采用 11.0592MHZ做系统的外部晶振。电容取值为 33pF。图 2.2.4 为单片机晶振电路的电路图 图 2.2.4晶振电路图 2.2.5电源供电电路 供电电路由主电源和备用电源组成。主电源主要是由变压器、6A整流桥、4个二极管,2个 104pf电容,二个电解电容以及 7805 三端稳压管组成。这个部分为系统提供主要的供电,输出电压为 5V直流。备用电源主要是由 4位的 5号电池盒组成。这个部分在主电源断电时能够几乎瞬时的为系统提供电源,输出电压也是 5V 直流。该电源直接接
13、到单片机的电源端。图 2.2.5 主电源和备用电源切换功能电路 假设二极管处于截止状态,此时二极管阴极电位为 4V,阳极电位为 5V,所以电压差为 1V,此时二极管一定处于导通状态,所以假设不成立。当主电源工作时电池组也提供电源,这会造成两个不同电压的电源并联,造成干电池组给主电源充电。而当选用两个二极管串联时,假设二极管 处于截止状态,此时电压差为 0.5V,0.5V0.7V二极截止,假设成立。而当主电源断开时,能提供电压为 6V减去 2个二极管的压降为3.6V,此电压能保证单片机正常工作。3.2.6 74HC573 的功能 图 2.2.6 SL74HC573 跟 LS/AL573 的管脚一
14、样。器件的输入是和标准 CMOS 输出兼容的;加上拉电阻,他们能和 LS/ALSTTL输出兼容。当锁存使能端为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。输出能直接接到 CMOS,NMOS 和 TTL接口上 操作电压范围:2.0V6.0V 低输入电流:1.0uA CMOS 器件的高噪声抵抗特性 三态总线驱动输出 置数全并行存取 缓冲控制输入 使能输入有改善抗扰度的滞后作用 原理说明:M54HC563/74HC563/M54HC573/74HC573 的八个锁存器都是透明的 D 型锁存器,当使能(G)为高时,Q 输出 将随数据
15、(D)输入而变。当使能为低时,输出将锁存在已建立的数据电平上。输出控制不影响锁存器的内部工作,即老数据可以保持,甚至当输出被关闭时,新的数据也可以置入。这种电路可以驱动大电容或低阻抗负载,可以直接与系统总线接口并驱动总线,而不需要外接口。特别适用于缓冲寄存器,I/O 通道,双向总线驱动器和工作寄存器。图 2.2.6为 74HC573 引脚图。HC573 引脚功能表:引脚号 符号 名称及功能 1 OE 3态输出使能输入(低电平)2,3,4,5,6,7,8,9 D0 to D7 数据输入 12,13,14,15,16,17,18,19 Q0 to Q7 3态锁存输出 11 LE 锁存使能输入 10
16、 GND 接地(0V)20 VCC 电源电压 2.2.7 发光二极管 半导体发光器件包括半导体发光二极管(简称 LED)、数码管、符号管、米字管及点阵式显示屏(简称矩阵管)等。事实上,数码管、符号管、米字管及矩阵管中的每个发光单元都是一个发光二极管。图 2.2.7是发光二极管图 图 2.2.7 发光二极管图 2.2.8 数码管 1.LED数码管分类:按其内部结构可分为共阴型和共阳型;导通时正向压降一般为 1.52V,额定电流为 10mA,最大电流为 40mA。2.数码管工作原理 共阳极数码管的 8 个发光二极管的阳极(二极管正端)连接在一起。通常,公共阳极接高电平(一般接电源),其它管脚接段驱
17、动电路输出端。当某段驱动电路的输出端为低电平时,则该端所连接的字段导通并点亮。根据发光字段的不同组合可显示出各种数字或字符。此时,要求段驱动电路能吸收额定的段导通电流,还需根据外接电源及额定段导通电流来确定相应的限流电阻。图 2.2.8 是数码管图 图 2.2.8数码管图 3 软件设计 相较于 C 语言,汇编语言的机器代码生成效率很高但可读性却并不强,复杂一点的程序就更是难读懂,而 C 语言在大多数情况下其机器代码生成效率和汇编语言相当,但可读性和可移植性却远远超过汇编语言,而且 C 语言还可以嵌入汇编来解决高时效性的代码编写问题。对于开发周期来说,中大型的软件编写用 C 语言的开发周期通常要
18、小于汇编语言很多。综合以上 C 语言的优点,本设计在编程的时候选择了 C 语言。本设计在编程环境上也选择了 Keil Vision 2.0。这款软件支持众多不同公司的MCS51 架构芯片,它集编辑、编译、仿真为一体,同时还支持 PLM、汇编和 C 语言的程序设计,界面友好、简单易学,在调试程序。软件仿真方面都有很强大的功能。在初期的软件调试阶段,Keil Vision 会提供非常便利的环境。在本次设计中,采用了 C 语言作为程序编程的语言。程序如下#include#define uchar unsigned char#define uint unsigned int sbit dula=P26
19、;sbit wela=P27;sbit beep=P23;unsigned int pp;unsigned char code table=0 x3f,0 x06,0 x5b,0 x4f,0 x66,0 x6d,0 x7d,0 x07,0 x7f,0 x6f,0 x77,0 x7c,0 x39,0 x5e,0 x79,0 x71;uchar j,k,l=255;uchar a1,a0;uchar shijian,deng=2;void delay(unsigned int i)for(j=i;j0;j-)for(k=125;k0;k-);void display(unsigned char s
20、h_c,unsigned char g_c)dula=0;P0=tablesh_c;dula=1;dula=0;wela=0;P0=0 xfe;wela=1;wela=0;delay(5);P0=tableg_c;dula=1;dula=0;P0=0 xfd;wela=1;wela=0;delay(5);void main()TMOD=0 x01;TR0=1;TH0=(65536-46080)/256;/由于晶振为 11.0592,故所记次数应为 46080,计时器每隔 50000微秒发起一次中断。TL0=(65536-46080)%256;/46080 的来历,为 50000*11.0592
21、/12 ET0=1;EA=1;while(1)if(shijian=0)switch(deng)case 0:shijian=50;/红灯 deng=1;break;case 1:shijian=15;/黄灯 deng=2;break;case 2:shijian=50;/绿灯 deng=3;break;case 3:shijian=15;/黄灯 deng=0;break;if(pp=20)pp=0;shijian-;a0=shijian%10;a1=shijian/10;display(a1,a0);switch(deng)case 1:P1=0X00;/红灯 break;case 2:/黄
22、灯 if(shijian%2=0)P1=0 x00;if(shijian%2=1)P1=0 xff;break;case 3:/绿灯 if(shijian%2=0)P1=0 x55;if(shijian%2=1)P1=0 xaa;break;case 0:if(shijian%2=0)/黄灯 P1=0 x00;if(shijian%2=1)P1=0 xff;break;void time0()interrupt 1 TH0=(65536-46080)/256;TL0=(65536-46080)%256;pp+;4 设计结果与分析 4.1 Proteus 简介简介 此次仿真使用的 Proteus
23、 仿真软件,Proteus 软件是英国 Labcenter electronics 公司出版的 EDA工具软件。目前来说,它是最好用的仿真外围器件及单片机的工具。虽然在我国,对于它的使用才刚刚起步,但是已经受到了很多人是喜爱,如:学生、教师、单片机爱好者以及一些从事于单片机开发人员。Proteus 是世界上著名的 EDA仿真软件,从原理图的设计布图、代码的调试再到单片机与外围电路仿真,可一键切换到PCB设计,真正实现了从概念到产品的完整设计。从目前来说,是世界上唯一将 PCB设计软件、电路仿真软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持PIC10/12/16/18/24/30/Ds
24、PIC33、8051、AVR、HC11、8086、ARM 和 MSP430 等,2010 年又新增了 DSP 和 Cortex 系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持 MPLAB、Keil 和 IAR 等编译器。4.2 Proteus 仿真结果 图 2.2.1是在 Proteus 下做出仿真原理图,如图 4.2.1所示,然后把.hex 文件写入单片机 AT89C51,运行并得出如下 4.2.1仿真图,4.2.2为不同时刻的 Proteus 仿真图.图 4.2.1为 Proteus 仿真图 图 4.2.2为 Proteus 不同时刻仿真图 4.3 制板印制电路板 4.3.
25、1 DXP 的简介 Protel DXP 在前版本的基础上增加了许多新的功能。新的可定制设计环境功能包括双显示器支持,可固定、浮动以及弹出面板,强大的过滤和对象定位功能及增强的用户界面等。Protel DXP 是第一个将所有设计工具集于一身的板级设计系统,电子设计者从最初的项目模块规划到最终形成生产数据都可以按照自己的设计方式实现。Protel DXP 运行在优化的设计浏览器平台上,并且具备当今所有先进的设计特点,能够处理各种复杂的 PCB设计过程。通过设计输入仿真、PCB绘制编辑、拓扑自动布线、信号完整性分析和设计输出等技术融合,Protel DXP 提供了全面的设计解决方案。4.3.2 电
26、路原理图的制作 电路原理图的设计过程可分为以下几个步骤:1、设置电路图纸参数及相关信息 根据电路图的复杂程度设置图纸的格式、尺寸、方向等参数以及与设计有关的信息,为以后的设计工作建立一个合适的工作平面。2、装入所需要的元件库 将所需的元件库装入设计系统中,以便从中查找和选定所需的元器件。3、设置元件 将选定的元件放置到已建立好的工作平面上,并对元件在工作平面上的位置进行调整,对元件的序号、封装形式、显示状态等进行定义和设置,以便为下一步的布线工作打好基础。4、电路图布线 利用 Protel 所提供的各种工具、命令进行画图工作,将事先放置好的元器件用具有电气意义的导线、网络标号等连接起来,布线结
27、束后,一张完整的电路原理图基本完成。5、调整、检查和修改 利用 Protel 所提供的各种工具对前面所绘制的原理图做进一步的调整和修改。6、补充完善 对原理图做一些相应的说明、标注和修饰,增加可读性和可观性。7、保存和打印输出 图 4.3.2电路原理图 图 4.3.2电路原理图 4.3.3 PCB的制作 1 得到正确的原理图和网络表 绘制原理图是绘制 PCB板图的前提,网络表是连接原理图和 PCB板图的中介,所以在绘制 PCB电路板之前一定要先得到正确的原理图和网络表。2 画出自己定义的非标准器件的封装库 自己独立绘制的封装一定要在 PCB设计之前完成,在制作 PCB电路板时,我们会导入这些自
28、己制作的封装。3 规划电路板 电路板是采用单面板还是多层板,电路板的形状、尺寸等具体的参数以及电路板的安装方式等在这里都要一并考虑。另外,还要考虑电路板与外界的接口形式,选择具体接插件的封装形式。4 设置环境参数 我们可以根据自己的习惯来设置环境参数。环境参数包括栅格大小、光标捕捉大小、公制英制的转换、工作层面颜色等。5 打开所有要用到的库文件后调入网络表文件需要注意的是要先把所有的库文件全都打开后,再导入网络表文件。否则,在导入网络表时会出现元件找不到封装的情况。6 设定工作参数主要进行 PCB板的图层设定。7 元件手工布局 应当从机械结构、散热、电磁干扰、将来布线的方便性等方面综合考虑。先
29、布置与机械尺寸 有关的器件并锁定这些器件,然后是大的占位置的器件和电路的核心元件,再是外围的小元件。对于同一个器件用多种封装形式的,可以把这个器件的封装改为第二 种封装形式并放好后 这个器件用撤消元件组功能,然后再调入一次网络表并放好新调入的这个器件,有更多种封装形式时依此类推。放好后可以用 VIEW3 功能查看一下实际效果.如果不甚满意的话可以根据实际情况再作适当调整,然后将全部器件锁定。假如板上空间允许,则可在板上放上一些类似于实验板的布线区。对于大板子应在 中间多加固定螺丝孔,板上有重的器件或较大的接插件等受力器件边上也应加固定螺丝孔。有需要的话,可在适当位置放上一些测试用焊盘。将过小的
30、焊盘过孔改 大,将所有固定螺丝孔焊盘的网络定义到地或保护地等。8 制订详细的布线规则 布线规则包括使用层面、各组线宽、过孔间距、布线的拓朴结构等,我们要根据所设计的板子的实际情况来进行设定。另外,还要在不希望有走线的区域内放置 FILE填充层 9 对线路进行手工布线 电路需要自己手动布线,必须要按照指定路线布线的电路也要进行手工布线。10 布线完成后的调整 布通之后,对布线进行手工初步调整。调整的内容有:需加粗的地线、电源线、功率输出线等进行手动加粗;某几根绕得太多,太过繁琐的线重布;消除部分不必要的过孔。另外,我们还要切换到单层显示模式下将每个布线层的线拉整齐和美观。手工调整时应经常进行 D
31、RC,因为有时有些线会断开。快完成时可将每个布线层单独打印出来以方便改线。调整完毕后用 VIEW3D功能查看实际效果,满意后进行下一步。11 印制板文件的保存和导出 Protel DXP 绘制 PCB 电路板的设计完成后,我们还要完成印制板文件整理并存档,打印出图纸等工作。可以导出元件明细表,生成电子表格文档作为元件清单等。最后,我们还要说明电路板上有特殊要求的地方,然后提交给制板加工厂进行电路板的加工其 PCB图,图 4.3.3PCB图 图 4.3.3 PCB图 5 实物图 5.1印制电路板概述 5.1.1 印制电路板印制电路板 简称电路板或 PCB板,是用印制的方法制成导电线路和元件封装,
32、它的主要功能是实现电子元器件的固定安装以及管脚之间的电气连接,从而实现电器的各种特定功能。5.1.2 印制电路板的结构印制电路板的结构 印制电路板是电子元件装载的基板,它要提供元件安装所需的焊盘,要有实现元件管脚电气连接的导线,要保证电路设计所要求的电气特性,以及为元件装配、维修提供识别字符和图形。5.1.3 印制电路板的种类印制电路板的种类 根据元件导电层面的多少可以分为单面板、双面板、多层板。单面板所用的绝缘基板上只有一面是敷铜面,用于制作铜箔导线,而另一面只印上没有电气特性的元件型号和参数等。双面板:在绝缘基板的上、下二面均有敷铜层,都可制作铜箔导线,底面和单面板作用相同,而在顶面除了印
33、制元件的型号和参数外,和底层一样可以制作成铜箔导线。元件一般仍安装在顶层,为了解决顶层和底层相同导线之间的连接关系,采用金属化过孔来实现。多层板:它由电气导电层和绝缘材料层交替粘合而成,成本较高,导电层数一般为 4、6、8等级,且中间层(即内电层)一般是连接元件管脚数目最多的电源和接地网络,层间的电气连接同样利用层间的金属化过孔来实现。5.2 印制电路板制作流程印制电路板制作流程 图 5-1 电路板制作流程 下料:一般是指导选取材料、厚度合适、整个表面铺有较薄铜箔的整张基板。丝网漏印:为了制作元件管脚间相连的铜箔导线,必须将多余的铜箔部分利用化学反应腐蚀掉,而使铜箔导线在化学反应的过程中保留下来,所以必须在腐蚀前将元件管脚间相连的铜箔导线利用特殊材料印制到铺有较薄铜箔的整张基板上,该特殊材料可以保证其下面的铜箔与腐蚀液离,将特殊材料印制到基板上的过程就是丝网漏印。腐蚀和去除印料:接下来将丝
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1