单片机课程设计

发布 2022-10-04 20:50:28 阅读 4918

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 家庭智能防盗报警系统设计的背景及目的。随着经济的发展,人们对防盗 防劫 防火保安设备的需求量大大增加。针对偷盗 抢劫 火灾 煤气泄漏等事故进行检测和报警的系统,其需求也越来越高。家居智能是以家为平台,兼备建筑 自动化,智能化于一体的高效 舒适 安全 便利的家居环境。自动化的家居...