1.2设计要求。
1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改;
2)在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;
3)黄灯亮时,要求每秒闪亮一次;
4)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法);
5)一道有车而另一道无车(实验时用开关 k0 和 k1 控制),交通灯控制系统能立即让有车道放行;
6)有紧急车辆要求通过时,系统要能禁止普通车辆通行,a、b道均为红灯,紧急车由k2 开关模拟。
1.3设计意义。
国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程**现的情况,还存在以下缺点:
1.两车道的车辆轮流放行时间相同且固定, 在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。
2.没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。
基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行。
2.3工作原理。
由软件设置交通灯的初始时间,南北方向通行30秒,东西方向通行20秒,数码管采用动态显示,p0口送字形码,p2口送字位选通信号,通过单片机的p1口控制各种信号灯的燃亮与熄灭。采用中断方式实现按键的功能。
2.4电路原理图。
2.5单片机最小系统。
时钟电路在单片机的外部通过xtal1,xtal2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器。本系统采用的为12mhz的晶振,一个机器周期为1us,c2,c3为30pf。
复位电路分为上电自动复位和按键手动复位,rst引脚是复位信号的输入端,复位信号是高电平有效。上电自动复位通过电容c1和电阻r4来实现,按键手动复位是图中复位键来实现的。
2.6时间显示电路。
因为系统要求南北和东西方向的信号灯时间不一样,所以就利用单片机的p0口送出数据的段码,位选信号用p2口送出,用动态扫描的方法显示东西、南北的倒计时间(如图-4所示)。
数码管使用共阴数码管,需要接上470欧上拉电阻以提供足够大的电流来驱动数码管,数码管的每段的电流是约10毫安。
2.7交通灯电路。
本设计利用单片机的p1口来驱动和控制各种信号灯的燃亮和燃亮时间,在实际中,交通灯的信号灯需要用高电压控制,在这里我们只是模拟一下它的控制信号,所以我们就只用单片机的信号引脚直接来控制发光二极管(如图-5所示)
3 软件设计。
3.1整体系统分析。
总体流程图(实现各种状态间的转换):
3.2相关参数计算。
t0的计数初值:x=216-12*50*1000/12=15536=3cb0h
3.3程序流程图。
附1:源程序**。
#include<>
#include<>
#define uchar unsigned char /*定义字符串类型为无符号型*/
uchar code a[10]=;
uchar code b[4]=;p2口,低有效*/
uchar code c[4]=;p1口,低有效*/
char sn=25,we=30
char sn_g=25,we_g=15,y=5;
uchar i,k=0,count=0;
void delay(uchar t);/定义函数*/
void light();定义函数*/
void led定义函数*/
sbit k0=p3^7;/*开关k0接p3^7管脚*/
sbit k1=p3^6;/*开关k1接p3^6管脚*/
sbit k2=p3^3;/*开关k2接p3^3管脚*/
sbit k3=p3^5;/*开关k3接p3^5管脚*/
sbit k4=p3^2;/*开关k4接p3^2管脚*/
*程序初始化*/
void init(void)
/*12mhz */
tmod=0x01; /计数器用模式1,为16位计数器***
th1=(65536-50000)/256; /0x3c*/
tl1=(65536-50000)%256; /0xb0*//计50000个数,用时50ms*/
it0=1;/*外部中断0为边沿触发方式*/
et0=1;/*允许t0中断*/
tr0=1;/*启动计数器*/
ea=1;/*cpu开放总中断*/
ex0=1;/*允许外部中断0中断,即允许响应端口p3^2(k4)中断*/
ex1=1;/*允许外部中断1中断,即允许响应端口p3^3(k2)中断*/
*中断0处理程序*/
void int0(void) interrupt 0
ea=0;/*cpu禁止响应一切中断*/
p1=0xdb,p0=a[0];/东西南北方向均红灯亮,p0口输出0*/
for(;;无条件循环*/
/*设置东西方向通行时间*/
if(k1==0) /p3^6=0*/
delay(10);/延时,把抖动的时间抛掉*/
if(k1==0)
while(!k1)/*当松开k1开关时,跳出空循环,执行后面的程序*/
we_g++;东西方向绿灯时间+1*/
if(we_g==100)
we_g=0;/*由于使用的是两位数码管,当东西方向绿灯时间加到100后清零*/
/*返回*/
if(k3==0) /p3^5=0*/
delay(10);/延时,把抖动的时间抛掉*/
if(k3==0)
while(!k3)/*当松开k3开关时,跳出空循环,执行后面的程序*/
count=0;/*清零*/
k=0;/*南北方向通车,东西方向不通车*/
sn=sn_g,we=sn_g+y;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/
light();调用交通灯函数*/
led();调用数码管函数*/
ea=1; /cpu开放总中断*/
break;/*跳出*/
*中断1处理程序*/
void int1(void) interrupt 2
p1=0xdb,p0=a[0];/东西南北方向均红灯亮,p0口输出0*/
ea=0;/*cpu禁止响应一切中断*/
tr0=!tr0;/*计数器停止工作*/
for(;;无条件循环*/
/*数码管扫描程序,*/
p2=b[0];/显示南北方向个位*/
单片机课程设计
可变程序控制器是集微机技术 自动化技术 通讯技术于一体的通用工业控制装置。它可靠性强 性能 比高 使用方便,已在工业控制的各个领域里得到了极为广泛的应用,成为实现工业自动化的一种强有力的工具 1 plc的定义有许多种。国际电工委员会 iec 对plc的定义是 可编程控制器是一种数字运算操作的电子系统...
单片机课程设计
目录。内容提要2 关键词2引言3 一 硬件电路设计3 一 电路板原理3 二 电路元器件3 二 软件设计3 一 秒钟设计方案3 二 时钟设计方案4 结语7单片机时钟设计。内容摘要 一 在实验板上用动态扫描显示00 59秒钟,具体要求如下 一 6m晶振 二 l9 l10显示00 59十进制数并循环,间隔...
单片机课程设计
1 选题背景。1.1 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...