当前位置:文档之家› 单片机实训--交通灯

单片机实训--交通灯

单片机实训--交通灯
单片机实训--交通灯

桂林电子科技大学信息科技学院《单片机交通灯》实训报告

学号0951100231

姓名贾小丹

指导教师:韩剑易艺李德明

2011 年09 月22 日

交通灯控制系统

一、 任务

利用AT89S52单片机控制各个路口红绿灯及时间显示,设计一个交通灯控制系统。

二、 基本原理

利用51单片机控制各个路口红绿灯及时间显示。

模拟交通灯示意图:

西

次 干 道

设计的重点:

1、各个路口红绿灯亮灭的规则,暂不考虑左转方向;

2、倒计时的实现,利用单片机的定时器进行计数得到秒信号;

3、时间显示:东西南北四个方向的时间一致,当东西方向为60秒绿灯通行时间,同时南北方向为60秒红灯禁止时间,因此硬件连接时可考虑东西南北方向可采用同一接法;最后相当于2个数码管动态显示,具体见参考电路框图。

4、按键设置(扩展要求):设置键按一次,设置主干道通信时间(即次干道禁止时间),按第二次,设置主干道禁止时间(即次干道通信时间),按第三次,可作为紧急通信键。设置时间需要确定,可通过确定键实现,也可通过延时确定,如10秒。当然也可根据需要增加相应的按键。 参考电路框图

单 片 机

12只

发光

二极 管 (红、

黄、绿)

键(设置、+、-、

2位一体

共阴数码

三、性能指标要求

1、各方向的红、绿色信号灯能按照设定规则运行;

2、绿灯亮之前,黄灯闪烁5次;

3、红灯和绿灯倒计时间能够正确显示;

4、两干道的车辆不会会车冲突。

5、可以扩展其他功能(如按键设置时间,按键模拟警车。

四方案论证

一、方案比较论证

方案一:纯数字电路方式

用数电器件设计:时钟分频模块,交通灯亮灭控制模块,交通灯显示模块,倒计时计数模块,倒计时显示模块,实现交通灯的控制和显示功能。

优点是不需要软件编程控制,缺点是硬件规模庞大且不能实现延时可调。

方案二:FPGA/CPLD方式

FPGA/CPLD除了完成交通灯控制、存储和显示功能外,还可进行人机交互,实现定时器延时可调。这种方案系统结构紧凑,但调试过程繁琐。

方案三:单片机方式

利用单片机控制相应并口,模拟交通灯显示,利用其并口P2口实现数码管显示。利用外部中断功能,完成交通灯主干次道通行时间任意可调。此方案占用硬件资源少、功能齐全、调试过程简单。

本设计采用方案三。

二、原理图,

交通灯原理图为下图所示:

部分原理图分析:

东西、南北方向的数码管对角线放置,发光二极管连一个1K的电阻,防止灯烧。

这里的按键是实现复位清零的功能。

这里的按键P3.4按一下,进入倒计时时间设置,P3.5是实现显示时间减一功能,P3.6实现显示时间加一功能,P3.7实现确认功能。

交通灯

五、交通灯C语言程序为:

#include

/*-----------------------------//【贾小丹 (AdvancyYP)@制作】

//-----------------------------*/

/*

名称:交通灯

单片机型号:51系列单片机

晶振: 12MHz

*/

/*-----------------------------//【贾小丹 (AdvancyYP)@制作】

//-----------------------------*/

/*定义名称*/

#define unint unsigned int

#define unchar unsigned char

/*定义管脚*/

#define SMG_SEG P1 //定义数码管段选口为:P0

#define SMG_BIT P2 //定义数码管位选口为:P2

#define LIGHT P0 //定义红绿灯口为:P1

#define KEY P3 //定义按键口为:P3

sbit BEEP = P2^7; //定义蜂鸣器管脚为P3.7

/*定义行为*/

#define LIGHT_RED (LIGHT = 0xDE)//红灯亮起//

#define LIGHT_YELLOW (LIGHT = 0xED)//黄灯亮起//

#define LIGHT_GREEN (LIGHT = 0xF3)//绿灯亮起//

#define LIGHT_OFF (LIGHT = 0xFF)//全部熄灭

#define KEY1 0xEF//KEY1按下

#define KEY2 0xDF//KEY2按下

#define KEY3 0xBF//KEY3按下

#define KEY4 0x7F//KEY4按下

/*定义数码管编码*/

//数码管段码////(共阳)

unchar code SMG_SEG_CODE[]={0x3F, 0x06, 0x5B, 0x4F, 0x66, 0x6D, 0x7D, 0x07, 0x7F, 0x6F};//数码管段码

//数码管位码////(共阴)

unchar code SMG_BIT_CODE[]={0xFD, 0xFE};//数码管位码

/*定义时间变量*/

unchar th, tl;//定时计数器初值变量

unchar t_10ms, stop_time, run_time, set_stop_time, set_run_time;//时间变

/*定义模式、状态标识符*/

unchar now_mode;//定义当前模式标识符

//(注:0.系统运行模式 1.系统设置主干道通行时间 2.系统设置主干道禁止时间3.系统设置主干道紧急通行)

unchar stop_run;//定义:禁止通行标识符

//(注:0.禁止非0.通行)

/********************************************************************** *******************/

//函数声明//

/********************************************************************** *******************/

void _1ms();//1ms延时函数

void _Nms(unsigned int N);//N*1ms延时函数

void T0_INITIAL(void);//定时计数器T0初始化

void SMG(unchar x_seg, unchar x_bit);//数码管函数

void DISPLAY_TIME(unchar t);//显示时间函数

void MODE(void);//模式函数

/********************************************************************** *******************/

//时间函数//

/********************************************************************** *******************/

void _1ms()//1ms延时函数

{

unsigned char a,b,c;

for(c=1;c>0;c--)

for(b=142;b>0;b--)

for(a=2;a>0;a--);

}

void _Nms(unsigned int N)//N*1ms延时函数

{

while(N)

{

_1ms();

N--;

}

}

/**********************************************************************

*******************/

//定时计数器T0初始化//

/********************************************************************** *******************/

void T0_INITIAL(void)

{

EA=0;//总中断关闭

ET0=0;//定时器0关闭

TR0=0;//关闭TR0

TMOD = 0x01;//设置定时器工作方式为16位定时器自动重装(方式1)

th=(65536-10000)/256;//定时计数器初值计算(定时10ms)

tl=(65536-10000)%256;//定时计数器初值计算(定时10ms)

TH0=th;//定时器0附初始值(定时10ms)

TL0=tl;//定时器0附初始值(定时10ms)

stop_time = set_stop_time;//获取设定好的禁止时间

run_time = set_run_time;//获取设定好的通行时间

t_10ms=0;//初始化10ms定时计数变量

TR0=1;//开启TR0

ET0=1;//定时器0开启

EA=1;//总中断开启

}

/********************************************************************** *******************/

//定时计数器T0中断//

/********************************************************************** *******************/

void T0_INTERRUPT(void) interrupt 1 using 1

{

if(stop_run==0)//如果当前状态为:禁止

{

t_10ms++;//10ms变量自增

if(t_10ms==100)//如果定时计数到1s

{

t_10ms=0;//10ms定时计数变量清0

stop_time--;//禁止时间自减

if(stop_time==0)//禁止时间等于0时

{

run_time = set_run_time;//获取设定好的通行时间

stop_run = ~stop_run;//转换到通行状态

}

}

if((stop_time<=5)&&(stop_time>0))//当禁止时间小于等于5秒并且大于0秒的时候

{

if(t_10ms<50)//0.5秒内

{

LIGHT_OFF;//所有灯灯灭

}

else

if(t_10ms>=50)//0.5秒外

{

LIGHT_YELLOW;//黄灯亮

}

}

else

{

LIGHT_RED;//红灯亮

}

TH0=th;//定时器0附初始值(定时10ms)

TL0=tl;//定时器0附初始值(定时10ms)

}

else

if(stop_run!=0)//如果当前状态为:通行

{

t_10ms++;//10ms变量自增

if(t_10ms==100)//如果定时计数到1s

{

t_10ms=0;//10ms定时计数变量清0

run_time--;//通行时间自减

if(run_time==0)//通行时间等于0时

{

stop_time = set_stop_time;//获取设定好的禁止时间

stop_run = ~stop_run;//转换到禁止状态

}

}

if((run_time<=5)&&(run_time>0))//当通行时间小于等于5秒并且大于0

秒的时候

{

if(t_10ms<50)//0.5秒内

{

LIGHT_OFF;//所有灯灯灭

}

else

if(t_10ms>=50)//0.5秒外

{

LIGHT_YELLOW;//黄灯亮

}

}

else

{

LIGHT_GREEN;//绿灯亮

}

TH0=th;//定时器0附初始值(定时10ms)

TL0=tl;//定时器0附初始值(定时10ms)

}

}

/********************************************************************** *******************/

//数码管函数//

/********************************************************************** *******************/

void SMG(unchar x_seg, unchar x_bit)

{

SMG_SEG = SMG_SEG_CODE[x_seg];//数码管段选

SMG_BIT = SMG_BIT_CODE[x_bit];//数码管位选

}

/********************************************************************** *******************/

//显示时间函数//

/********************************************************************** *******************/

void DISPLAY_TIME(unchar t)

{

SMG((t/10), 1);//时间的十位

_Nms(1);//1ms延时函数

SMG((t%10), 0);//时间的个位

_Nms(1);//1ms延时函数

}

/********************************************************************** *******************/

//模式函数//

/********************************************************************** *******************/

void MODE(void)

{

if(now_mode==0)//0.系统运行模式

{

while(now_mode==0)//0.系统运行模式

{

if(stop_run==0)//当前状态:禁止

{

DISPLAY_TIME(stop_time);//禁止时时间显示函数

}

else

if(stop_run!=0)//当前状态:通行

{

DISPLAY_TIME(run_time);//通行时时间显示函数

}

if(KEY==KEY1)//如果按键1被按下

{

_Nms(10);//10ms延时去抖

if(KEY==KEY1)//如果按键1被按下

{

now_mode++;//移动到下一模式

if(now_mode==4)//如果增到模式4

{

now_mode = 1;//回到模式1(注:只有模式 0、1、2、3 可选)

}

}

while(KEY==KEY1);//等待按键1释放

_Nms(10);//10ms延时去抖

}

}

}

else

if(now_mode==1)//1.系统设置主干道通行时间

{

ET0=0;//定时器0关闭

LIGHT_GREEN;//绿灯亮起

while(now_mode==1)//1.系统设置主干道通行时间

{

DISPLAY_TIME(set_run_time);//显示设定的通行时间

if(KEY!=0xFF)//有按键按下

{

_Nms(10);//10ms延时函数

if(KEY!=0xFF)//有按键按下

{

switch(KEY)//获取键值

{

case KEY1 : //如果按键1被按下

{

now_mode++;//移动到下一模式

if(now_mode==4)//如果增到模式4

{

now_mode = 1;//回到模式1

}

}break;//退出

case KEY2 : //如果按键2被按下

{

if(set_run_time>6)//如果通行时间大于6秒

{

set_run_time--;//设置的通行时间减小

}

}break;//退出

case KEY3 : //如果按键3被按下

{

if(set_run_time<60)//如果通行时间小于60秒

{

set_run_time++;//设置的通行时间增大

}

}break;//退出

case KEY4 : //如果按键4被按下

{

now_mode = 0;//确定键按下,回到模式 //0.系统运行模式

T0_INITIAL();//定时计数器T0初始化

}break;//退出

default : break;//其它

}

}

while(KEY!=0xFF);//等待按键释放

_Nms(10);//10ms延时函数

}

}

}

else

if(now_mode==2)//2.系统设置主干道禁止时间

{

ET0=0;//定时器0关闭

LIGHT_RED;//红灯亮起

while(now_mode==2)//2.系统设置主干道禁止时间

{

DISPLAY_TIME(set_stop_time);//显示设定的禁止时间

if(KEY!=0xFF)//有按键按下

{

_Nms(10);//10ms延时函数

if(KEY!=0xFF)//有按键按下

{

switch(KEY)//获取键值

{

case KEY1 : //如果按键1被按下

{

now_mode++;//移动到下一模式

if(now_mode==4)//如果增到模式4

{

now_mode = 1;//回到模式1

}

}break;//退出

case KEY2 : //如果按键2被按下

{

if(set_stop_time>6)//如果禁止时间大于6秒

{

set_stop_time--;//设置的禁止时间减小

}

}break;//退出

case KEY3 : //如果按键3被按下

{

if(set_stop_time<60)//如果禁止时间小于60秒

{

set_stop_time++;//设置的通行时间增大

}

}break;//退出

case KEY4 : //如果按键4被按下

{

now_mode = 0;//确定键按下,回到模式 //0.系统运行模式

T0_INITIAL();//定时计数器T0初始化

}break;//退出

default : break;//其它

}

}

while(KEY!=0xFF);//等待按键释放

_Nms(10);//10ms延时函数

}

}

}

else

if(now_mode==3)//3.系统设置主干道紧急通行

{

ET0=0;//定时器0关闭

LIGHT_GREEN;//绿灯亮起

while(now_mode==3)//3.系统设置主干道紧急通行

{

DISPLAY_TIME(0);//显示0

if(KEY!=0xFF)//有按键按下

{

_Nms(10);//10ms延时函数

if(KEY!=0xFF)//有按键按下

{

switch(KEY)//获取键值

{

case KEY1 : //如果按键1被按下

{

now_mode++;//移动到下一模式

if(now_mode==4)//如果增到模式4

{

now_mode = 1;//回到模式1

}

}break;//退出

case KEY2 : //如果按键2被按下:主干道紧急通行

{

LIGHT_GREEN;//绿灯亮起

}break;//退出

case KEY3 : //如果按键3被按下:次干道紧急通行

{

LIGHT_RED;//红灯亮起

}break;//退出

case KEY4 : //如果按键4被按下

{

now_mode = 0;//确定键按下,回到模式 //0.系统运行模式

ET0=1;//定时器0开启

}break;//退出

default : break;//其它

}

}

while(KEY!=0xFF);//等待按键释放

_Nms(10);//10ms延时函数

}

}

}

}

/********************************************************************** *******************/

//主函数//

/********************************************************************** *******************/

void main(void)

{

set_stop_time = 60;//禁止时间:60s

set_run_time = 60;//通行时间:60s

stop_run = 0;//当前状态:禁止

T0_INITIAL();//定时计数器T0初始化

while(1)

{

MODE();//模式函数

}

}

六、制作与调试过程

1.状态灯显示测试

由于在刚焊接好电路板的时候,没有下载程序,而且有虚焊的线路,所以,状态指示灯都没有亮。然后,我仔细的检查电路板,终于,接上电源以后,状态指示灯都可以亮。

2.数码管的测试

测试数码管的时候,我将下好的程序下载到电路板上检测。由于,我焊的板子下载口有虚焊的地方。所以,导致下载不了。于是,我又重新检测板子,再次确认下载口焊接好了后,下载好程序,数码管显示正确。

3.整体电路测试

在确认硬件和软件都正确的情况下,我把程序下载在板子里。检测题目的要求是否完成。首先,是红,黄,绿灯在主干道和次干道显示正确。然后,测试附加按键功能,都能够实现模块选择,主干道通行时间和次干道通行时间,紧急通行。所以,整体电路测试成功。

七、实训心得体会

通过这几天的单片机实训,我觉得我的收获很大。说实话,我的单片机知识基础不好,因为,在之前的单片机理论课和实验课的学习中我没有认真学习,所以,没有打好基础。在实训的时候,我没有信心可以做好本次实训。但是,我依旧努力的去查资料,把单片机的实验认真复习,开始我的单片机实训。

首先,是从原理图开始,我上网查了很多关于AT89S52单片机芯片的资料,包括管脚和功能。开始画原理图。基于对Protel 99软件的应用,所以,原理图很快就画好了,在拿给老师检查之后,我开始焊板。

焊板是比较复杂的一个过程,因为,单片机实训的焊板不同于之前的做的实训,单片机实训没有PCB原理图,所以,必须用铁丝线搭建电路。所以,在焊电路板的时候要很仔细的检查每一根电路。由于我自己的不小心,我虚焊了很多,所以,在板子焊好之后,功能不能显示,于是,我仔细的检查了很多次,终于,板子成功。

之后,就是写程序。我做的交通灯的程序可以用C语言和汇编语言编写。我用的是C语言。写程序是比较困难的,我上网找了很多的资料,在自己查资料,看书,各种收集资料,阅读程序之后,反复修改,终于,写出了程序。

所以,历经困难重重我的交通灯单片机实训终于完成。

每一次的实训都能给我带来很大的成就感,让我明白很多知识。真正的让我认识到“时间是检验真理唯一的标准”。通过本次实训,让我在理论的基础上更深刻的掌握了单片机的深层内容集实际生活中应用,实训锻炼了我自己动手能力和思维能力,还有在软件方面的编程能力,让我受益匪浅,同时也暴露出一些平时学习上的问题,让我深刻反思。通过实训软件上的应用,让我更熟悉掌握了Keil uVision3, Protel 99 SE这些应用程序的运用,让我懂得了如何编写一些简单的程序,学会了如何制作单片机应用程序,还有焊接和程序固化。

所以,在以后的学习中,我希望自己能够更多的学习专业知识,能够把课本的知识运用到实际生活中。希望每一次的实训都能够锻炼自己的实践能力。

参考文献

1、《单片机原理与应用技术》李建民、喻晗西安电子科技大学出版社

2、《MCS-51系列单片机应用系统设计》何立民北京航空航天大学出版社

3、《单片机原理与应用》孙俊逸张铮清华大学出版社

单片机实训报告范文精选5篇

单片机实训报告范文精选5篇 实训报告是展示自身实训收获成长的重要报告,那么实训报告该如何写呢?小编精选了一些关于实训报告的优秀范例,一起来看看吧。 单片机课程设计心得体会 在学校学习期间我有幸的参加了学校的单片机学习小组,在小组里我了解了什么是单片机,单片机有哪些用途,利用单片机可以实现哪些功能来方便人们的生活如交通灯,时钟,还有手机中,电子玩具等等,它们里面都有单片机的存在来实现某种功能。通过在单片机小组里的学习我简单总结了几点心得和体会: 第一:万事开头难,要勇敢的迈出第一步,不要总找借口说没有学习过就总推脱。凡事都有第一步可以先可简单的来,然后可以逐步的向深层次学习。可以从建项目开始,然后可以找一个简单的小程序先把它敲进单片机内然他运行起来,感觉一下单片机的运行,让自己了解单片机整个运行。 第二:对于知识点,学过的要掌握牢固,对于没有学的和暂时用不到的先不用学习。比如:小灯得点亮就没有用到中断可以先不用看。这样可以避免知识过多记不住的麻烦。对于程序这里的知识点不能只停留在理论层次上,一定要结合着程序进行学习这样才能掌握的很牢靠,当用到哪里的知识点不记得了可以去看书,对于用不到的可以不去看。 第三:程序不要只是看别人得,一定要自己写过才是自己的。开始

不懂可以参考别人的,看看每一句代表着什么意思,能够实现什么现象。明白之后自己再重新写一遍,你会发现看别人的能懂到自己写的时候很困难。当你自己能写出来的时候说明你真懂了。 第四:一定要学会程序调试的方法。有时候把程序写完了然后运行时不能实现理想的现象。这时有人就晕了不知该怎么办,然后就去问别人。当别人找出问题出在哪里时就会恍然大悟。其实当遇到问题一定要自己尝试着解决,不能遇到问题就去问别人。自己一定要掌握解决问的方法和思路。 第五:在学习初期看别人的代码,学习别人的思路这个很有用。通过看别人的代码特别是有多年编程经验的人的程序,可以迅速提高自己的编程水平。也可以结合着别人的手法,与自己的想法结合在一起写出更好的程序。但是切记将学习变成抄袭,不能认为抄袭别人的你就学会了,这样只能使你退步。第六:面对一个新项目时,自己一定要多想想,不要急着去看别人是怎么写的。有的人看到新项目时就去找别人的然后抄一小段,自己在写几句,放在一起完成任务,虽然省时间但不利你的学习。当你遇到一新项目时你应该先想一下程序的构架,想想如何来完成。然后自己动手去写,当你遇到实在是没办法解决的问题时再去请教别人,看他是怎么处理的,学习他的方法。这样起码你自己想过了,有自己的思路不会受到别人的影响,这样更容易提高自己。 在单片机的学习开始时感觉很吃力,在不断的学习过程中慢慢的对

单片机交通灯实训报告

机电工程学院课程设计报告 课程名称:单片机课程设计 专业班级: 13电本2班 学号: 2013041632 学生:罗炜 指导教师:王清辉、何文丰 完成时间: 报告成绩:

交通灯设计 一、设计任务与要求 设计基本要求: (1)车辆通行繁忙的十字交叉路口,设计一交通灯控制器,设东西方向通行时间为30秒,当剩余3秒时黄灯亮,南北方向通行时间为20秒,当剩余3秒时黄灯亮。(2)东西、南北方向各用三个(绿、黄、红)LED表示,并用数码管显示东西、南北方向的剩余时间。 (3)可利用按键修改时间参数,可以利用按键切换东西南北交通灯的当前状态(即立刻东西由红变绿,南北有绿变红,并按设定的时间工作)。 二、方案设计与论证 表2-1:交通灯的工作状态表 根据表2-1所示可将交通灯的工作状态设为以下几个步骤: 1、初始状态时即为东西方向绿灯通行27秒+3秒黄灯,此时南北红灯亮。 2、随后是南北方向绿灯通行17秒+3秒黄灯,此时东西红灯亮。 3、通过按模式选择键一次来切换东西南北交通灯的当前状态。(通过设置定时计时器T1实现交通灯的计时) 4、通过按模式选择键第二次切换至南北方向红绿灯的计时设置,通过加减按键来确定南北方向红绿灯的计时数。 5、确定南北方向计数值后,通过按模式选择键第三次切换至东西方向红绿灯的计

时设置,通过加减按键来确定东西方向红绿灯的计时数。 6、确定交通灯计时数后再按下模式选择键后,交通灯便进入工作状态。 时间计时的实现:采用定时中断实现秒的精确计时(详细方案入下列程序设计所示)。 按键输入的实现:通过编写按键读取函数,来实现交通灯的状态以及时间值得设定(详细方案入下列程序设计所示)。

基于AT89c51单片机实现的交通灯

江西科技师范大学 通信与电子学院《单片机应用技术》实训报告实训题目:模拟交通灯 小组成员:龚石冲罗仁敏曾建伟 班级:12电子科学与技术 指导老师:熊朝松

一、实训选题内容、要求 交通模拟灯 要求: 1、南北方向为主干道,东西方向为支路;主干路绿灯时间为45秒,红灯时间为35秒; 支路绿灯时间30秒,红灯时间为50秒,两个方向的黄灯时间都为4秒; 2、使用定时器实现时间的倒计时;用显示部件显示主干道路的倒计时变化; 3、设计三个外部按钮,分别用以手动控制紧急情况下两个方向同时禁通过;南北方向 长时间通过(不显示时间倒计时变化);东西方向长时间通过;释放按钮后则正常 通行。 二、实训计划和人员安排 经小组人员商定,分工完成任务,在课余时间完成。 若其中遇到什么问题,大家聚在一起讨论解决。具体分工如下: 1、程序编写:龚石冲 2、实体焊接:龚石冲 3、实训报告:罗仁敏 4、视频及PPT:曾建伟 三、实训选题分析 交通灯由东西南北四向灯,倒计时显示,人行横道通行指示标志等部分组成。其中东西南北四向灯中的每一向都由红、黄、绿三色灯组成;东西为一组,南北为一组。黄灯在红绿灯之间转换时亮。倒计时显示表示红、黄、绿灯亮时所剩时间。由于人行横道通行指示标志与红灯是同步的,所以在模拟交通灯时省略。交通会遇到一些突发情况。因此交通信号灯要设定一些特定功能,以防不时之需。

整个电路由单片机完成,控制部分由软件完成,硬件只负责响应。 四、方案设计 方案一:主控系统采用AT89C51单片机作为控制器,由定时器1间接控制通行倒计时及南北和东西的通行。由按键开关完成禁止通行,东西 通行,南北通行。

51单片机用C语言实现交通灯(红绿灯)源程序

51单片机用C语言实现交通灯(红绿灯)源程序 2009-10-29 23:00 交通灯,红黄绿灯交替亮,怎样实现呢?其实就是根据单片机定时器及倒计时的程序修改。源程序如下: /* 1、程序目的:使用定时器学习倒计时红绿灯原理主要程序和倒计时一样 2、硬件要求:数码管、晶振12M */ #include bit red,green,yellow,turnred; //定义红、黄、绿及转红标志 code unsigned char tab[]= {0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f}; //共阴数码管 0-9 unsigned char Dis_Shiwei;//定义十位 unsigned char Dis_Gewei; //定义个位 void delay(unsigned int cnt) //用于动态扫描数码管的延时程序 { while(--cnt); } main() { TMOD |=0x01;//定时器设置 10ms in 12M crystal定时器0,工作方式1,16位定时器 TH0=0xd8; //65535-10000=55535=D8F0(十六进制) TL0=0xf0; IE= 0x82; //中断控制,EA=1开总中断,ET0=1:定时器0中断允许 TR0=1; //开定时器0中断 P1=0xfc;//红灯亮,根据红黄绿接灯的顺序。 red =1; while(1) { P0=Dis_Shiwei;//显示十位,这里实现用8位数码管,即左1位 P2=0; delay(300);//短暂延时 P0=Dis_Gewei; //显示个位,左数,2位 P2=1; delay(300);

单片机实验三(急救车与交通灯)

单片机技术与应用 实验报告 实验名称:外部中断实验(急救车与交通灯)班级:11062811 学号:11061118 姓名:吕琳涛 指导老师:谷雨 2013年5月20日

1. 实验要求 由以74LS273作为输出口,控制4个双色LED灯(可发红,绿,黄光),模拟交通灯管理,并允许急救车优先通过的要求。有急救车到达时,两向交通信号为全红,以便让急救车通过。假定急救车通过路口时间为10秒,急救车通过后,交通灯恢复中断前状态。本实验以按键为中断申请,表示有急救车通过。 2. 实验目的 1.学习外部中断技术的基本使用方法。 2.学习中断处理程序的编程方法。 3. 程序说明: 在本次实验中,我们可以确定外部中断的作用是用于有救护车行驶过来时对程序的进行的简单的控制。对于正常的红绿灯的亮灭我们可以参考第一个实验中流水灯的设计理念。综上所述我们这一次的实验就是流水灯与外部中断的结合。 通过对七种情况的罗列 1 0 0 1 0 1 1 0 南北绿,东西红 0 1 1 0 1 0 0 1 南北红,东西绿 1 0 0 1 1 1 1 1 只亮东西红 0 1 1 0 1 1 1 1 只亮南北红 0 0 0 0 0 1 1 0 南北黄,东西红 0 0 0 0 1 0 0 1 南北红,东西黄 0 0 0 0 1 1 1 1 全红 我们可以利用XBYTE[0xf200]这个函数对这几种情况进行读取与显

示,在不同情况进行显示的过程中我们用以前的delay函数进行时间上的规划从而达到依次显示的效果。 0x0f 全红XBYTE[0xf200]=0x0f; 0x96 南北绿,东西红XBYTE[0xf200]=0x96; 0x9f 只亮东西红XBYTE[0xf200]=0x9f; 0x06 南北黄,东西红XBYTE[0xf200]=0x06; 0x69 南北红,东西绿XBYTE[0xf200]=0x69; 0x6f 只亮南北红XBYTE[0xf200]=0x6f; 0x09 南北红,东西黄XBYTE[0xf200]=0x09; 在具体的实验代码编写过程中,我们会用到EA=1;EX0=1;IT0=1;用于设定外部中断0为跳变沿触发方式,默认为电平触发方式。interrupt 0函数是处理有救护车驶过时的情况。 至此,程序编写完成,放入软件中进行编译和下载。

基于单片机的交通灯

毕业设计说明书 基于单片机的交通灯 控制系统设计 专业 电气工程及其自动化 学生姓名 郭 恒 燕 班级 BD 电气042 学 号 0420610228 指导教师 张 兰 红 完成日期 2008年6月10日

基于单片机的交通灯控制系统设计 摘要:对基于单片机的交通灯控制系统进行了设计。系统功能为:以MCS-51系列单片机作为控制核心,设计并制作交通灯控制系统,东西南北四个方向具有左拐、右拐、直行及行人4种通行指示灯,用计时器显示路口通行转换剩余时间,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行状态。 在对系统功能分析的基础上,提出了三种设计方案,经比较,选择性能较优的LED动态循环显示方案进行了设计。设计包括硬件和软件两大部分。硬件部分包括单片机最小系统、时间显示、交通灯显示三部分。选用Atmel公司的AT89S52单片机作为控制核心,东西南北四个方向设置了LED时间显示和交通灯显示,时间显示采用三位LED显示器,交通灯显示则采用红绿双色高亮发光二极管来模拟。软件采用了模块化的设计方法,主要分为主程序、定时器中断服务子程序、倒计时显示子程序、交通灯模拟显示子程序四部分。 在实验板上制作了基于单片机的交通灯控制系统样机,对硬件和软件部分分别进行了调试,再进行了软硬件联调,得到的交通灯控制系统样机实物,可圆满地完成毕业设计任务书所要求的功能。 关键词: 交通灯;单片机;AT89S52

基于单片机的交通灯控制系统设计 1 概述 1.1 课题研究背景与意义 随着经济的增长和人口的增加,人们生活方式不断变化,人们对交通的需求不断增加。城市中交通拥挤、堵塞现象日趋严重,由此造成巨大的经济与时间损失。资料显示,对日本东京268个主要交叉路口的调查估计表明:每年在交叉路口的时间延误,折成经济报失为20亿美元;而在我国北京市,当早晚交通高峰时,交叉路口处的排队长度竟达1000多米,有的阻车车队从一个交叉路口延伸到另一个交叉路口,这时一辆车为通过一交叉路口,往往需要半个小时以上,时间损失相当可观。 我国是一个历史悠久、人口众多的国家,城市数量随着社会的发展不断增多。随着城市化进程的大大加快,诱发的交通需求急剧增长,供需矛盾不断激化,严重的交通问题也随之而来。人、车、路三者关系的协调,已成为交通管理部门需要解决的重要问题之一。城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊,这一切要归功于城市交通控制系统中的交通灯控制系统。交通灯控制系统对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果,使城市交通得以有效管理。 交通灯可以采用PLC、单片机等控制方法。利用单片机实现对交通信号灯的实时控制,只要采用一块单片机,加上简单的接口与驱动放大电路,即可实现,具有成本低,可靠性高的特点。 1.2 课题设计内容 本课题对基于单片机的交通灯控制系统进行设计。以MCS-51系列单片机为控制核心,设计并制作交通灯控制系统,用于十字路口的车辆及行人的交通管理。东西南北四个路口具有左拐、右拐、直行及行人4种通行指示灯,并分别用计时器显示路口通行转换剩余时间,在特种车辆如119、120通过路口时,系统可自动转为特种车辆放行,其他车辆禁止通行状态。 设计交通灯控制系统硬件电路与软件控制程序,对硬件电路与软件程序分别进行调试,并进行软硬件联调,要求获得调试成功的实物。 2 系统设计 2.1 设计方案论证 根据设计内容要求,提出了如下三种方案: 方案一:采用AT89S52单片机作为控制核心,采用四组高亮红绿双色二极管作

单片机的交通灯显示系统

单片机课程设计 基于单片机的交通灯显示系统 交通灯是日常生活中常见的自动控制产品,人们的日常出行及人身安全等都与交通灯有着密切的联系。本文提出一种基于单片机的交通灯设计,系统包含三个功能模块: (1)交通灯LED显示模块,实时显示东西、南北两个路口红、黄、绿三种灯的状态; (2)定时器模块,中断计算绿灯剩余时间; (3)独立按键模块,分为紧急制动按钮和夜间模式按钮两个按钮; (4)LCD液晶显示模块,显示绿灯亮的剩余时间 系统结构如下图所示: 关键词:定时器;液晶显示;独立按键

山东经济学院课程设计 目录 摘要...................................................................................................... 错误!未定义书签。引言. (1) 1.交通灯的概述 (2) 1.1交通灯的结构 (2) 1.2 工作原理 (3) 1.3功能应用 (3) 1.4工作流程 (4) 2 交通灯显示系统组成 (5) 2.1 定时器TR1模块的选择与设计 (5) 2.2 LCD液晶显示模块的选择与设计 (5) 2.3独立按键模块的选择与设计 (7) 2.4LED模块的选择与设计 (8) 3 实验结果演示 (9) 结论 (10) 参考文献.................................................................................................. 错误!未定义书签。附录.. (11) 1.原件明细表 (11) 2.源程序清单 (11) 致谢 (17)

(完整)基于89C51单片机交通灯课程设计要点

(完整)基于89C51单片机交通灯课程设计要点 编辑整理: 尊敬的读者朋友们: 这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)基于89C51单片机交通灯课程设计要点)的内容能够给您的工作和学习带来便利。同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。 本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)基于89C51单片机交通灯课程设计要点的全部内容。

华北水利水电学院 基于C51单片机 交通灯课程设计实验报告 姓名:田坤 班级:125 专业:电子信息科学与技术 指导老师:辛艳辉刘明堂 2013年1月16日 摘要 近年来,随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,正在不断的应用到实际生活中,并且根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊.那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MCS-51系列单片机STC89C51为中心器件来设计交通灯控制器,实现了通过信号灯对路面状况的智能控制。从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题.系统具

有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 关键词:交通灯 单片机 数码管 一 。总体设计思路 1.1设计目的及思路 设计目的 了解交通灯管理的基本工作原理,熟练掌握STC89C51的工作原理和应用编程,熟悉STC89C51单片机并行接口的各种工作方式和应用,并了解计数器/定时器的工作方式和应用编程外部中断的方法,掌握多位LED 显示问题的解决。 设计思路 (1)分析目前交通路口的基本控制技术,提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,增加了倒计时显示提示。 (3)进行显示电路。 (4)进行软件系统的设计。 1。2 实际交通灯显示时序及状态转换的理论分析 图1所示为红绿灯转换的状态图。 图1 红绿灯状态转换图 表1 十字路口指示灯燃 亮方 S1 S4 S3 S2

基于51单片机做简易的交通灯

目录 摘要 (1) 一、设计目的 (2) 二、设计任务和要求 (2) 三、设计原理分析 (2) 四、硬件模块及功能 (3) 1、个模块功能 (3) 2、材料清单 (4) 3、硬件图 (5) 五、软件模块及功能 (6) 1、个模块功能原理 (6) 2、程序清单 (6) 3、程序流程图 (9) 六、调试运行 (10) 1、程序编译链接 (10) 2、观察模拟仿真 (11) 七、心得体会 (12) 参考文献 (12) 致谢 (13)

摘要: 单片微型计算机(单片机)自问世以来,因其小巧灵活、成本低、控制能力强、易于产品化等优势,在社会各领域中得到广泛的应用。根据89C52单片机的特点及交通灯在实际控制中的特点,本文提出一种利用单片机自动控制交通灯及时间倒计时显示的方法,将整个系统缩小在一块小小的单片机上,大大提高了产品的经济性和轻便性。设计过程包括硬件电路设计和程序设计两大步骤。硬件电路其结构比较简单,主要包括核心器件单片机、12只二极管组成的模拟交通灯、复位电路、振荡电路、显示数码管模块。单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,Keil软件是目前最流行开发MCS-51系列单片机的软件,这从近年来各仿真机厂商纷纷宣布全面支持Keil即可看出。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部份组合在一起。本文就用Keil编程,相比硬件设计程序设计较为复杂,必需同时考虑灯控制、时间显示、紧急开关等问题,并且具有一定的C语言基础和一定的思维能力及逻辑能力。本文对十字路口状态预设为两种,一种是正常状态,即倒计时60秒,交通灯循环亮,另一种是故障或紧急状态,即无论交通灯处于何种状态只要按下紧急开关,就立即打开相应的绿灯,另一方向则亮红灯,当再按起开关则反向,并从60秒倒计时,恢复正常状态,分别用黄、红、绿色灯的不同组合来表示。本系统采用单片机AT89C52为核心器件来设计交通灯控制器,模拟现实中的交通灯控制方法,具有较强的实用性。 关键词:89C51单片机;交通灯;自动控制;时间显示器; 一、设计目的

单片机交通灯(含程序)解析

单片机课程设计报告 题目现代交通灯的设计 专业电气工程及其自动化 班级电气081 学号3080421029 学生姓名郭琪 指导老师王水鱼老师 2010年秋季学期 起止日期:2011年1月10日至2011年1月14日 平时(10%任务完成 (30% 答辩 (30% (30%

课设报告 总评成绩 目录 一、引言 3 二、概要设计 4 2.1设计思路 4 2.2设计的主要内容和要求 4 2.3总体设计框图 5 三、硬件设计 5 3.1LED 循环电路设计 6 3.1.189c51单片机概述 6 3.1.2 LED循环说明9 3.2 倒计时显示电路11 3.2.1 74LS164芯片11 3.2.2 共阴极数码显示管12 3.2.3 倒计时电路13 3.2.4 急通车电路13 四、软件设计14 4.1程序流程图14 4.2 LED红绿灯显示14 4.3 到计时显示16 4.4急通车控制16 4.5程序代码16

五、总结16 参考文献17 附录一: 18 附录二: 19 基于51 单片机的交通灯控制系统设计

摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通灯控制系统由80C51 单片机、键盘、LED 显示、交通灯延时组成。系统除具有基本交通灯功能外,还具有时间设置、LED 信息显示功能,市交通实现有效控制。 关键词:交通灯,单片机,自动控制 一、引言 当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这个技术在19 世纪就已经出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868 年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”绿,色表示“注意”。1869年1 月2日,煤气灯爆炸,是警察受伤,遂被取消! 电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市 5 号大街的一座高塔上。红灯亮表示 “停止”绿,灯亮表示“通行”。 信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。1968 年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一种标志禁止某一种转向。左右转弯车 辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停

单片机交通灯实验报告(汇编语言)

实验四单片机交通灯实验 1、实验要求 本实验分两部分,第一部分是普通交通灯的模拟:初始状态0为东西红灯,南北红灯.然后转状态1南北绿灯通车,东西红灯.过一段时间转状态,南北绿灯闪几次转两黄灯,延时几秒,东西仍然红灯,再转状态3,东西绿灯通车,南北红灯.过一段时间转状态4.东西绿灯山几次转黄灯,延时几秒,南北仍然红灯,,最后循环至状态1。 第二部分在以上的基础上当有急救车到达时,两项交通信号为全红,以便让急救车通过.假定急救车通过路口时间为10秒,急救车通过后,交通恢复中断前状态.被实验已按键为终端申请,表示有急救车通过. 2、实验电路图 (1)十二端口控制 (2)六端口控制

3、实验程序如下 (1) 十二位控制ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P MAIN: MOV P1,#0F0H MOV P0,#0FFH MOV A,#00H MOV TMOD,#01H MOV TL0,#0B0H MOV TH0,#3CH SETB ET0 SETB EA SETB TR0 HERE: SJMP HERE IT0P: MOV TL0,#0B0H MOV TH0,#3CH INC A CJNE A,#50,L1 MOV P1,#0FCH MOV P0,#0F3H RETI L1: CJNE A,#100,L2 MOV P1,#03CH MOV P0,#0FFH RETI L2: CJNE A,#110,L3

MOV P1,#0FCH MOV P0,#0FFH RETI L3: CJNE A,#120,L4 MOV P1,#03CH MOV P0,#0FFH RETI L4: CJNE A,#130,L5 MOV P1,#0F3H MOV P0,#0FCH RETI L5: CJNE A,#180,L6 MOV P1,#0C3H MOV P0,#0FFH L6: CJNE A,#190,L7 MOV P1,#0F3H MOV P0,#0FFH RETI L7: CJNE A,#200,L8 MOV P1,#0C3H MOV P0,#0FFH L8: CJNE A,#210,BUTTON MOV P1,#0F0H MOV P0,#0FFH CLR A RETI BUTTON:RETI END (2) 六位控制ORG 0000H LJMP MAIN ORG 000BH LJMP IT0P ORG 0013H LJMP IT1P MAIN: MOV P0,#09H MOV A,#00H MOV TL0,#0B0H MOV TMOD,#61H MOV TL0,#0FFH MOV TH0,#0FFH SETB ET0 SETB EA SETB TR0 SETB PX1

单片机交通灯课程设计(LED显示倒计时)(精)

单片机交通灯课程设计 (LED显示倒计时 .txt27信念的力量在于即使身处逆境,亦能帮助你鼓起前进的船帆;信念的魅力在于即使遇到险运,亦能召唤你鼓起生活的勇气;信念的伟大在于即使遭遇不幸,亦能促使你保持崇高的心灵。本文由 ID 很难想啊贡献 doc文档可能在 WAP 端浏览体验不佳。建议您优先选择 TXT ,或下载源文件到本机查看。摘要近年来随着科技的飞速发展, 单片机的应用正在不断深入, 同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中, 单片机往往作为一个核心部件来使用, 仅单片机方面知识是不够的, 还应根据具体硬件结构软硬件结合, 加以完善。由于我国经济的快速发展从而导致了汽车数量的猛增, 大中型城市的城市交通, 正面临着严峻的考验, 从而导致交通问题日益严重, 日常的交通堵塞成为人们司空见惯而又不得不忍受的问题。在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。对交叉口实行科学的管理与控制是交通控制工程的重要研究课题,是保障交叉口的交通安全和充分发挥交叉口的通行能力的重要措施,是解决城市交通问题的有效途径。交通灯控制系统由 80C51 单片机、键盘、LED 显示、交通灯延时组成。系统除具有基本交通灯功能外, 还具有时间设置、LED 信息显示功能,市交通实现有效控制。 目录 一序言...... 3 1.1 交通灯的形成...... 4 1.2 单片机的发展历程...... 4 1.3 芯片简介 (5) 1.4 技术指标及设计要求...... 7 二硬件电路的设计及描述...... 9 2.1MCS-51 单片机内部结构...... 9 2.2 MCS-51 单片机芯片引脚位置及功能符号...... 12 2.3 51 系列单片机运行的硬件条件...... 13 2.4 单片机的特点与应用...... 14 三软件设计流程及描述...... 15 3.1 软件设计...... 15 3.2 电路连接分配...... 16 3.3 主程序流程图...... 17 四源程序代码 (18) 体会总结...... 22 体会总结参考文献 (23) 2 一序言

单片机交通灯课程设计报告

单片机系统课程设计报告 专业:自动化073班 学生姓名:XXXX XXX 学号:2007023323 2007023328 指导教师:XXXX XXXX 完成日期:2010年7月7日

目录 1 设计任务和性能指标 (1) 1.1设计任务 (1) 1.2性能指标 (1) 2 设计方案 (2) 2.1任务分析 (2) 2.2方案设计 (2) 3 系统硬件设计 (3) 3.1单片机的最小系统 (3) 3.2电源电路 (4) 3.3数码管显示时间电路设计 (4) 3.4信号灯控制电路设计 (5) 4 系统软件设计 (5) 4.1主程序设计 (5) 5 调试及性能分析 (6) 5.1调试分析 (6) 5.1.1 软件调试 (6) 5.1.2 硬件调试 (6) 5.1.3 系统功能调试 (6) 6 心得体会 (6) 参考文献 (8) 附录1 系统原理图 (9) 附录2 系统仿真图 (10) 附录3 程序清单 (11)

1 设计任务和性能指标 1.1设计任务 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。用红、绿、黄发光二极管作信号灯。如图上图所示。设东西向为主干道,南北为支干道。 1.2性能指标 (1)处于常允许通行的状态,支干道有车来时才允许通行。主干道亮绿灯时,支干道亮红灯;支干道亮绿灯时,主干道亮红灯。 (2)干道均有车时,两者交替允许通行,主干道每次放行60秒,支干道每次放行40秒,设立60秒、40秒计时、显示电路。 南 北 东 西

基于单片机的交通灯设计实训报告

重庆三峡学院 课程设计报告书题目:基于单片机的交通灯设计 学院(系): 学号: 学生姓名: 指导教师: 教师职称: 制作日期2011年12月25日 目录

1.设计要求---------------------------------------------------- 01 2.系统设计方案---------------------------------------------- 01 3.硬件电路设计---------------------------------------------- 02 4.软件系统设计---------------------------------------------- 06 5.仿真与调试------------------------------------------------- 08 6.实训体会---------------------------------------------------- 13 7.附录---------------------------------------------------------- 14 摘要

单片微型计算机简称单片机,即把组成微型计算机的各个功能部件,如中央处理器(CPU )、随机存储器(RAM )、只读存储器(ROM )、I/O 接口电路、定时器/计数器以及串行接口等集成在一块芯片中构成一个完整的微型计算机。设计一个基于单片机的交通灯设计。主要包括AT89c51单片机、复位电路、驱动控制芯片74LS240和74LS07及外中断等。实现控制各个路口的交通灯变化,通过外中断起 到紧急开关作用,加上复位电路,使其恢复成初始状态。 本设计主控芯片采用AT89C51单片机,配合其他基本设备完成设计。采用C51语言进行编程,编程后利用KEIL C51进行编译,生成对应用的HEX 文件,采用PROETUS 软件进行系统硬件的仿真模拟,检验功能。模拟试验成功后,焊接硬件电路,通过ISP 下载线将HEX 文件载入单片机内,完成整个设计进行实际操作,并实际记录单片机工作情况。 设计一个基于单片机的交通灯设计。主要包括AT89c51单片机、复位电路、驱动控制芯片74LS240和74LS07及外中断等。实现控制各个路口的交通灯变化,通过外中断起到紧急开关作用,加上复位电路,使其恢复成初始状态。 1. 设计要求 设计一个基本十字路口交通灯管理系统。初始化4个路口红灯全亮,2秒后切换为东西 路口红灯亮,南北绿灯亮,持续60秒,红绿灯切换过渡时红灯依旧亮,绿灯亮转变为黄灯闪烁5次,过程时间为5秒,然后切换为南北路口红灯亮,东西路口绿灯亮,持续时间60秒,过渡过程切换方式同上,5秒后,再次切换为东西路口红灯亮,南北绿灯亮。如此周而复始。 2.系统设计图 利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支 干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮 南 东

基于51单片机的智能交通灯课程设计

目录 摘要 (1) 1 系统硬件设计 (2) 1.1 80C51单片机引脚图及引脚功能介绍 (2) 1.2 74LS245引脚图及功能 (4) 1.3 八段LED数码管 (5) 1.4 硬件系统总控制电路 (6) 1.5各模块控制电路 (8) 1.5.1 交通灯控制电路 (8) 1.5.2 倒计时显示电路 (9) 1.5.3 紧急通行电路 (12) 1.5.4 声音警示装置 (13) 2 系统程序设计 (14) 2.1 主程序流程图 (14) 2.2 显示子程序流程图 (15) 3 心得体会 (16) 参考文献 (17) 附录源程序 (18)

摘要 近年来随着科技的飞速发展,一个以微电子技术、计算机技术和通信技术为先导的信息革命正在蓬勃发展。计算机技术作为三者之一,怎样与实际应用更有效的结合并发挥其作用。单片机作为计算机技术的一个分支,正在不断的应用到实际生活中,同时带动传统控制检测的更新。在实时检测和自动控制的应用系统中,单片机往往是作为一个核心部件使用,针对具体应用对象的特点,配以其它器件来加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现交通的井然秩序呢?靠的是交通信号灯的自动指挥系统,来实现交通的井然有序。交通信号灯控制方式很多。本系统采用美国ATMEL公司生产的单片机AT80S51,以及其它芯片来设计交通灯控制。实现了通过AT89S51芯片的P1口设置红、绿灯点亮的功能,输出设置显示时间。交通灯的点亮采用发光二极管实现,时间的显示采用七段数码管实现。单片机系统采用的直流供电。 关键词:AT89S51单片机;智能交通灯控制系统;

基于51单片机控制交通灯的毕业设计

安徽工商职业学院ANHUI BUSINESS VOCATIONAL COLLEGE 毕业设计(论文) 基于单片机控制的交通灯毕业设计 系别:电子信息系 专业班级:10应用电子技术2班 学号: 103596 学生姓名:吴坤 指导老师:聂凯 二零一二年十月

基于单片机控制的交通灯毕业设计 摘要 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本设计主要分为五大模块输入:控制电路、时钟控制电路、片内外程序切换控制、显示电路。以MSC-51系列单片机IntelAT89C51为中心器件来设计交通灯控制器,实现了AT89C51芯片的P0口设置红灯、绿灯、黄灯燃亮时间的功能;为了系统稳定可靠采用了74LS14施密特触发器芯片的消抖电路,避免了系统因输入信号抖动产生误操作;显示时间直接通过AT89C51的P2口输出,由CD4511驱动LED数码管显示红灯燃亮时间。 关键字:AT89C51 LED显示交通灯

The Traffic Light Based On The Single-chip Control Abstract The intersections vehicle wears shuttle, pedestrian Xi Rang, garage driveway, person's sidewalk, orderly. So depend what to carry out this well arranged order? What to depend is a traffic sign light of automatic conductor system. The control method of the traffic sign light is a lot of. This design is mainly divided into five greatest molds a piece the electric circuit, clock of the importation control a control outside procedure inside the electric circuit, slice to cut over a control and shows electric circuit. Take single slice the machine IntelAT89 C51 of the serieses MSC-51s as a center spare part to design transportation light controller, carried out the AT89 C51's P's 0 people's constitution of the chips red, the function in bright time of green light, Huang2 Deng Ran2;For the sake of system stability the credibility adopted a 74 LS14 airtight trigger eliminate of machine chip to tremble electric circuit especially, avoided system because of importation the signal tremble movable property to living a mistake operation; The P 2 people who shows that time directly passes the AT89 C51 output, is driven LED figures a tube by the CD4511 to show red-light Ran bright time. Key word: The AT89 C51 LED show transportation light

用单片机来控制交通灯

基于单片机的交通灯设计 摘要: 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用MSC-51系列单片机ATSC51和可编程并行I/O接口芯片8255A为中心器件来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。 关键词: 单片机交通灯闯红灯检测车流量 1 引言 当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。 电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,

单片机交通灯实训报告完整版

课程设计 课题名称智能交通信号灯姓名 学号 班级 专业 所在系 指导教师 完成日期

智能交通信号灯 摘要 本设计是在熟练掌握单片机及其仿真系统使用方法基础上,综合应用单片机原理、微机原理等课程方面的知识,设计一个采用AT89C52单片机控制的交通灯控制电路。该设计结合实际情况给出了一种简单低成本城市交通灯控制系统的硬件及软件设计方案、各个路口交通灯的状态循环显示,并对程序流程图进行详细讲解分析。交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。根据给出的要求设计交通灯东西、南北两干道交于一个十字路口各干道有一组红、黄、绿三色的指示灯指挥车辆和行人安全通行。红灯亮禁止通行绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换且黄灯亮的时间为东西、南北两干道的公共停车时间。关键词:电子线路;AT89C52 ; LED 交通灯。

目录 一、绪论 (4) 二、总体设计方案 (4) 1.设计思路 (4) 2.设计目的 (5) 3.设计任务和内容 (5) (1)设计任务 (5) 4.电源提供方案 (5) 5.复位方案 (5) 6.输入方案 (5) 三、显示界面方案 (6) 四、交通管理的方案论证 (7) 五、芯片简介 (7) 1.AT89S52单片机简介 (7) 2.主要性能 (8) 3.功能特性描述 (8) 六、设计原理分析 (10) 1.交通灯显示时序的理论分析与计算 (10) 2.交通灯显示时间的理论分析与计算 (12) 七、LED数码管显示模块 (13) 1.静态显示方式 (13) 八、复位电路 (14) 九、晶振电路 (15) 十、总结与谢词 (15) 十一、参考文献 (16) 十二、附录 (16) 附录1:程序清单 (16) 附录2:电路设计图 (18)

相关主题
文本预览
相关文档 最新文档