交通灯实训论文.doc
甘肃联合大学实训论文院 系:电子信息工程学院班 级:09电子信息工程技术2班姓名/学号:杨贵平 : 11097241253 杨 凯 : 11097241254 2011年7月1日有时间显示的定时交通信号灯控制一、 设计要求1、设计方案总体要求(1)设计能控制东、西、南、北四个路口的红、黄、绿信号灯正常工作。(2)当东西方向放行、南北方向禁止时,东西方向绿灯亮25s,然后黄灯亮5s;南北方向红灯亮30s。(3)当南北方向放行、东西方向禁止时,南北方向绿灯亮25s,然后黄灯亮5s;东西方向红灯亮30s。当两条路线交替地成为放行线和禁止线时,就可以定时实现交通控制。 2、具体设计参数PCB板一块 ;330电阻6只; 10K电阻1只; LED发光二极管6只;晶振1块; 25V 10F电容1只; 30PF瓷片电容2只;单片机IC座1块 ;AT89S51单片机芯片1块; 二、系统总体设计设计一个单片机控制交通灯信号,使其能模拟城市“十字”路口交通信号灯的功能,并能进行某些特殊功能控制。所谓模拟,就是以绿、黄、红色三只共两组(因东、西方向信号灯的变化情况相同,用一组发光二极管;南、北方向信号灯的变化情况相同,用一组发光二极管)发光二极管(LED)表示交通信号灯,以按动按键表示车辆的到达。 在双干线的“十字”路口上,交通信号灯的变化是定时的,其基本变化规律如下A:放行线:绿灯亮放行25s,黄灯亮警告5s,然后红灯亮静止。B:禁行线:红灯亮禁行30s,然后绿灯亮放行。三、硬件电路设计1、电路原理图交通信号灯的控制电路的核心是AT89S51单片机,其内部带有4KB 的FLASH,无需扩展程序存储器;交通灯的控制没有大量的运算和暂存数据,AT89S51芯片内的128BRAM已经满足要求,所以不必外扩RAM。P1口接六位发光二极管(LED),P0,P2口分别 接一个一位七段数码显示管用于定时的显示。电路图如下图所示。2、“信号灯”控制码表四、软件设计1、程序中使用的工作单元定义如下:Count秒计数器;Tount50ms计数器。2、定时器/计数器的参数计算设系统的时钟脉冲频率为6MHz,定时器TO实现100ms定时,计数器的初值为:(THO)=3CH,(TLO)=OBOH模式控制寄存器TMOD中的控制字为: (TMOD)=01H3、流程图开始1s到减1秒十位显示码送P0秒个位显示码送P2返回显示子程序流程图系统初始化显示初始值设置25sA线放行,B线禁止延时、显示显示初始值设置5sA线警告,B线禁止延时、显示显示初始值25sA线禁止,B线放行延时、显示显示初始值5sA线禁止,B线警告延时、显示开始程序流程图 4、参考程序#include<REG52.H>unsigned char code LEDcode=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f;#define uchar unsigned char#define uint unsigned int#define A_PASS_B_STOP 0x33#define A_WARNING_B_STOP 0x35#define A_STOP_B_PASS 0x1e#define A_STOP_B_WARNING 0x2uchar Count;uchar tcount;void main(void) P1=0xff; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; TR0=1; ET0=1; EA=1; tcount=0; Count=0; P0=LEDcodeCount/10; P2=LEDcodeCount%10; while(1) P1=A_PASS_B_STOP; Count=25; while(Count!=0); P1=A_WARNING_B_STOP; Count=5; while(Count!=0); P1=A_STOP_B_PASS; Count=25; while(Count!=0); P1=A_STOP_B_WARNING; Count=5; while(Count!=0); void t0(void) interrupt 1 using 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; tcount+; if(tcount=20) tcount=0; if(Count!=0) Count-; P0=LEDcodeCount/10; P2=LEDcodeCount%10; 五、系统调试 1、仿真1)用protel99或protues绘制原理图,经正确后protues仿真软件对所编写的程序进行编,检查是否有语法错误;2)出现错误时protues会自动提示有错误产生,并自动指向错误的语句;3)程序修改无误后,利用仿真软件,监视程序pc指针、p0、p1、p2口的变化、以及存储单元的值的变化来检查程序是否运行正常,是否能够实现预定的控制功能。2、安装步骤1)按照已经设计好的电路设计图,在外能印刷电路板上焊接各个元件;2)电路板制作完成以后,利用万用表检查硬件是否焊接正常以及是否出现短路、断路的情况并修改焊接中的错误,直到硬件电路可以正常工作为止。在第一次进行检测时发现显示管不会显示数据,经过进一步检查才发现是电源线没有焊接;3) 如此反复操作,直到硬件可以正常运行。六、结论当东西方向放行、南北方向禁止时,东西方向绿灯亮25s,然后黄灯亮5s;南北方向红灯亮30s;当南北方向放行、东西方向禁止时,南北方向绿灯亮25s,然后黄灯亮5s;东西方向红灯亮30s。基本实现了预定功能,通过硬件下载和调试,电路工作正常,控制结果达到了相应的要求。