当前位置:文档之家› 单片机模拟交通灯系统带多功能加蜂鸣器含源代码仿真图

单片机模拟交通灯系统带多功能加蜂鸣器含源代码仿真图

单片机模拟交通灯系统带多功能加蜂鸣器含源代码仿真图
单片机模拟交通灯系统带多功能加蜂鸣器含源代码仿真图

单片机课程设计论文

摘要

本系统由单片机系统、键盘、LED 显示、蜂鸣器、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

本设计是单片机控制的交通灯控制系统。单片机即单片微型计算机。由RAM,

ROM,CPU构成,其集定时、计数和多种接口与一体的微控制器。它体积小、成

本低、功能强,广泛的应用于只能产业和工业自动化上。而51系列单片机是各

类单片机中最为典型和富有代表性的一种。

本设计的意义在于通过具体控制系统的设计,掌握微机控制系统设计的一般

方法和处理问题的思路,特别是一些常用的技术手段。使大家能在实践教学环节

中,积累设计经验,开拓思维空间,全面提高个人的综合能力。

红绿灯控制是智能交通系统的一个重要部分,本文给出了一个用单片机控制

的简易交通红绿灯自动控制系统。该系统适用于十字路口,并对放行和禁行时间

进行倒计时显示(秒)。

在车辆通行繁忙的十字交叉路口设置的交通灯控制系统,其特点是:道路较

窄而车流量较大,主干道,支干道的车辆通行时间不等,,同时设有道路应急控

制。具体的情况是:在正常的情况下,东西支干道通行时间为20秒,南北主干

道通行时间为30秒,每个方向在绿灯转为红灯时,要求黄灯先亮5秒钟,才能

变换运行车道。并且能够在人工监控状态下,如果一道有车而另一道无车,交通

灯控制系统能立即让有车道放行。而且有紧急车辆要求通过时,系统要能禁止普

通车辆通行。

关键字:单片机红绿灯 AT89C51 Proteus仿真

目录

1 概述

1.1课题名称 (3)

1.2设计要求 (3)

1.3设计意义 (3)

2 系统总体方案及硬件设计

2.1芯片的选择与简单介绍 (4)

2.2工作原理 (6)

2.3电路原理图 (7)

2.4单片机最小系统 (7)

2.5时间显示电路 (8)

2.6交通灯电路 (9)

3 软件设计

3.1整体系统分析 (9)

3.2相关参数计算 (10)

3.3程序流程图 (10)

4 Proteus软件仿真

4.1系统仿真电路图 (11)

4.2仿真结果分析 (12)

5课程设计体会 (12)

6参考文献 (14)

附1:元器件清单 (15)

附2:系统原理图 (15)

附3:程序清单 (16)

1 概述

1.1课题名称

单片机控制的交通灯控制系统设计

1.2设计要求

1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改;

2)在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;

3)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法);

4)一道有车而另一道无车(实验时用开关 K0 和 K1 控制),交通灯控制系统能立即让有车道放行;

5)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟;

6)有盲人禁行模式,东西南北红灯亮时蜂鸣器响。

1.3设计意义

国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。对于一般情况下的安全行车,车辆分流尚能发挥作用,但根据实际行车过程中出现的情况,还存在以下缺点:1.两车道的车辆轮流放行时间相同且固定,在十字路口,经常一个车道为主干道,车辆较多,放行时间应该长些;另一车道为副干道,车辆较少,放行时间应该短些。

2.没有考虑紧急车通过时,两车道应采取的措施,臂如,消防车执行紧急任务通过时,两车道的车都应停止,让紧急车通过。

3.没有考虑盲人过马路问题,可以加上蜂鸣器使盲人听到“红灯”。

基于传统交通灯控制系统设计过于死板,红绿灯交替是间过于程式化的缺点,智能交通灯控制系统的设计就更显示出了它的研究意义,它能根据道路交通拥护,交叉路口经常出现拥堵的情况。利用单片机控制技术.提出了软件和硬件设计方案,能够实现道路的最大通行效率。

2 系统总体方案及硬件设计

2.1芯片的选择与简单介绍

示)。单片机,亦称单片微型计算机。它是把中央处理

器(CPU)、数据存储器(RAM)、程序存储器(ROM)、

输入/输出端口(I/0)等主要计算机功能部件都集成在

一块集成电路芯片上的微型计算机。计算机的产生加快

了人类改造世界的步伐,但是它毕竟体积大。于是,微

型计算机(即单片机)在这种情况下诞生了。纵观生活

的各个领域,从导弹的导航装置,到飞机上各种仪表的

控制,从计算机的网络通讯与数据传输,到工业自动化

过程的实时控制和数据处理,以及我们生活中广泛使用

图1

的各种智能IC卡、电子宠物等,这些都离不开单片机。

单片机以体积小、功能全、性价比等诸多优点而独具特色,在工业控制、尖端武器、通信设备、家用电器等嵌入式应用领域中独占鳌头。如果说C语言程序设计课程设计的基础课,那么单片机以其系统硬件构架完整、价格低廉、学生能动手等特点,成为工科学生硬件设计基础课。

MCS-51单片机是指由美国INTEL公司(大名鼎鼎的INTEL)生产的一系列单片机的总称,该系列其它单片机都是在8051的基础上进行功能的增、减、改变而来的,所以人们习惯于用8051来称呼MCS-51系列单片机。

8051单片机包含中央处理器(CPU)、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:

1.中央处理器(CPU)

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。

2.数据存储器(RAM)

8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能

用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。

3.程序存储器(内部ROM):

程序存储器用于存放程序和固定不变的常数等。通常采用只读存储器,且其又多种类型,在89系列单片机中全部采用闪存。AT89C51内部配置了4KB闪存。

3.1.定时/计数器(ROM):

定时/计数器用于实现定时和计数功能。AT89C51共有2个16位定时/计数器。

3.2.并行输入输出(I/O)口:

8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。每个口都由1个锁存器和一个驱动器组成。它们主要用于实现与外部设备中数据的并行输入与输出,有些I/O口还有其他功能。

4.全双工串行口:

A89C51内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

5.时钟电路:

时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。

6.中断系统:

中断系统的作用主要是对外部或内部的终端请求进行管理与处理。AT89C51共有5个中断源,其中又2个外部中断源和3个内部中断源。

7.定时/计数器

8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控

2.2工作原理

由软件设置交通灯的初始时间,南北方向通行30秒,东西方向通行20秒,数

码管采用动态显示,P0口送字形码,P2口送字位选通信号,通过单片机的P1口控制各种信号灯的燃亮与熄灭。采用中断方式实现按键的功能。

图3

2.4单片机最小系统

图4

单片机最小系统以80SC51为核心,外加时钟和复位电路,电路结构简单,抗干扰能力强,成本相对较低,非常符合本设计的所有要求。89C51单片机系列是MCS-51系

列的基础上发展起来的,是当前8位单片机的典型代表,采用CHMOS工艺,即互补金属氧化物的HMOS工艺, CHMOS是CMOS和HMOS的结合,具有HMOS高速度和高密度的特点,还具有CMOS低功耗的特点。

时钟电路在单片机的外部通过XTAL1,XTAL2这两个引脚跨接晶体振荡器和微调电容,构成稳定的自激振荡器.本系统采用的为12MHz的晶振,一个机器周期为1us,C2,C3为30pF。

复位电路分为上电自动复位和按键手动复位,RST引脚是复位信号的输入端,复位信号是高电平有效.上电自动复位通过电容C1和电阻R4来实现,按键手动复位是图中复位键来实现的。

2.5时间显示电路

图5

因为系统要求南北和东西方向的信号灯时间不一样,所以就利用单片机的P0口送出数据的段码,位选信号用P2口送出,用动态扫描的方法显示东西、南北的倒计时间(如图5所示)。

数码管使用共阴数码管,需要在片选端加三极管放大电流和段选端加驱动以提供足够大的电流来驱动数码管,数码管的每段的电流是约10毫安。

2.6交通灯电路

本设计利用单片机的p1口来驱动和控制各种信号灯的燃亮和燃亮时间,在

实际中,交通灯的信号灯需要用高电压控制,在这里我们只是模拟一下它的控制信号,所以我们就只用单片机的信号引脚直接来控制发光二极管(如图6所示),实际电路中在东西、南北红灯处还各并联了一个蜂鸣器,蜂鸣器也需要加三极管放大电流,才能正常工作。

图6

3 软件设计

3.1整体系统分析

总体流程图(实现各种状态间的转换):

图7

图8

3.2相关参数计算

T0的计数初值:X=216-12*50*1000/12=15536=3CB0H

3.3程序流程图

图9

4 Proteus软件仿真

4.1系统仿真电路图

1.交通灯控制系统正常运行时仿真图(见图10)。

图10

2.交通灯南北方向绿灯向红灯转变,黄灯闪烁时仿真图(见图11)。

4.2仿真结果分析

仿真实验实现南北方向车道和东西方向车道两条交叉道路的车辆交替运行,南北方向(主干道)每次通行时间设为30秒、东西方向通行时间设为20秒,时间可以在程序中修改。同时能够实现红灯、黄灯、绿灯状态转换,红绿灯转换时间为5秒,转黄期间黄灯亮。可以准确显示每个状态所剩余的时间,按下禁行普通车辆键,东西南北方向都亮红灯;按下南北放行键,南北绿灯亮,东西红灯亮;按下东西放行键,东西绿灯亮,南北红灯亮;任何时候按下返回键,此系统都将回到初始状态,当紧急状况出现时,按下紧急开关,可实现主干道和支干道全部禁止通行,允许紧急车辆安全通行,实现了课程设计的要求。

5课程设计心得体会

这次单片机课程设计,我们选的模拟交通灯系统这个题目,在这两个星期的时间里我们三个人合作成功的完成了我们的作品我是我们组的组长,因为之前有过一定的实践经验,所以在完成作品过程中负责查找资料、指导协助两位组员完我们的作品。我觉得做单片机课程设计是十分有意义的,在已度过的大学时间里,我们大多数接触的是专业课。我们在课堂上掌握的仅仅是专业课的理论知识,如何去锻炼我们的实践能力?如何把我们所学的专业基础课理论知识运用到实践中去呢?我想做类似的课程设计就为我们提供了良好的实践平台。

这次单片机课程设计我们历时两个星期,两个星期里我们最开始选题、然后做仿真、焊电路板、再改正我们焊接和程序里的错误之处,最后作品成功完成,最后成功的那一刻使我们最开心的时候,我们的辛苦没有白费,作品也得到了老师的肯定。这次课设中遇到的主要问题是共阴极数码管太暗,我们一开始给数码管加上三极管后觉得应该可以了,可是最后还是不够亮,最后请教了同学和老师才知道要想变亮应该再给数码管段选加驱动芯片,加了驱动后数码管果然亮了,这让我们非常开心!

这次课程设计查阅了大量的资料,我更加全面的掌握了单片机知识,也学会了仿真,熟悉了用protle画图,掌握了kile软件的用法,掌握了调试程序的方法,我想这些能力都是我们作为一名自动化专业学生必须掌握的。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。设计过程,好比是我们人类成长的历程,常有一些不如意,难免会遇到各种各样的问题。在最后我们也得到了老师的建议,谢谢老师对我们的指点!(王海妮)

两周的时间匆匆而过,由于各种考试、试验,我们的单片机课程设计集中在了这最后的两周,总的来说时间有点仓促,不过经过两周的努力工作,终于完成了这次的单片机课程设计。我们的这次课题是基于51单片机设计交通灯,我们这组三个人,明确了自己的分工,我负责程序这块,其他两个负责焊接和实验报告的部分。在试验过程中,我们遇到了一些难题,比如在仿真环节上,焊接电路上,我们都遇到了不小的问题,最严重的一个就是数码管的亮度问题,我们向其他同学请教,向老师请教,在这个问题上花费了两天多的时间,当我们最后一次接上电路时,当我们看到数码管亮起的时候,我们都兴奋的跳了起来,因为我们两天多时间上都花在这上面,线路都焊接了n次,焊接好电路,把我们设计好的程序加载上去的时候,所有功能都按我们预期的实现了,看到我们的劳动成果时,那种喜悦,那种成就感,是无法言语的。当今天拿着我们的成果让老师验收时,老师给我们这组提了一些更智能化的建议,还夸奖了我们这组做的真的挺不错,还建议我们去参加比赛,顿时,我们的努力没有得到白费,自豪之情油然而生。不过,我们不会骄傲,会向更远处走去。

通过这次实习,我学会了很多知识,学会了一些画图软件和仿真软件,对单片机原理、各条指令、各个端口功能有了更进一步的了解和巩固。在试验过程中,我学会了克制、冷静。这次的课程设计让我受益匪浅。(叶骏)

经过这次课程设计实践,我收获颇多。在这次实践中我负责焊接的任务,其他两个组员则分别负责程序和报告的任务,但我们不是单独工作,而是相互协作相互帮助,达到了共同完成此次课程设计实践的目的,并且我们完成得很出色。这是我们每个组员都感到骄傲和自豪的地方。

在此次课程设计实践中,我主要负责焊接部分。经历过焊接实践的我一开始也认为它只是单纯的焊接,不需要任何知识和经验的积累,但实际我显然错了。这就使得我开始的焊接进程有些困难。但经过不断的实践和经验积累,我主动去了解和掌握相关焊接线路的结构、程序和知识,渐渐地焊接进程不断加速和熟练,随后的焊接过程也变的游刃有余。很快我的焊接任务变得畅通无阻,一口气完成了。

在焊接过程中会出现一些细小的问题,但就是这些细小纷繁的问题就有可能导致最终的结果与理想的相偏差很大。比如导线的虚焊,触点的短接等等。这些我在焊接过程中都必须注意。一旦焊成成品,检查错误是很难的一件事,与其一一检查错误还不如在焊接过程中多注意,仔细焊接。在焊接过程中,排版电子器件、元件也是一步很重要的过程,排版的清晰程度反映着焊接思路的清晰程度,如果排版纷乱就会导致焊接思路的混乱,最终使得焊接线路错误多出影响焊接进程,最终拖延整体项目的进程。所以在焊接之初,我花费了较多时间在排版上,但这反而使得我焊接的效率更大的提高了,和其他小组相比,这一点我感到很自信。

经过这次课程设计实践,我感觉收获匪浅,不仅在焊接这部分,而且在程序的编排和试验的部分也有很大受益。同时也十分感谢老师的指导和监督,才使得我们的项目得以顺利完成。(岳超)

参考文献

[1]柴钰单片机原理及应用 [M].西安:西安电子科技大学出版社2009

[2]余发山王福忠单片机原理及应用技术 [M].徐州:中国矿业大学出版社2008.

[3]吴黎明单片机原理及应用技术[M].北京:科学出版社 2003.

[4]刘乐善微型计算机接口技术及应用[M].北京:华中科技大学出版社 2004.

[5] 李伯成.基于MCS-51单片机的嵌入式系统的设计[M].北京:电子工业出版社,

2004.

[6] 吴黎明, 王桂棠, 洪添胜, 等. 单片机原理及应用技术[ M ] . 北京: 科学出版社,2005.

附录一元件清单

附录二系统原理图

·

附录三程序清单

/*#include */

#include

#define uchar unsigned char /*定义字符串类型为无符号型*/

uchar code a[10]={0x3F,0x06,0x5B,0x4F,0x66, 0x6D,0x7D,0x07,0x7F,0x6F};

uchar code b[4]={0x0D,0x0E,0x07,0x0B};

/****P2口,低有效*/

uchar code c[4]={0xDE,0xDD,0xF3,0xEB};

/****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(;;)/*无条件循环*/

{

P2=b[0],P0=a[(SN_G+Y)%10];/*南北方向数码管显示可通行时间的个位*/ delay(5); /*延时*/

P2=b[1],P0=a[(SN_G+Y)/10];/*南北方向数码管显示可通行时间的十位*/ delay(5); /*延时*/

P2=b[2],P0=a[(WE_G+Y)%10];/*东西方向数码管显示可通行时间的个位*/ delay(5); /*延时*/

P2=b[3],P0=a[(WE_G+Y)/10];/*东西方向数码管显示可通行时间的十位*/ delay(5); /*延时*/

/*设置南北方向通行时间*/

if(K0==0) /*P3^7=0*/

{

delay(10);/*延时,把抖动的时间抛掉*/

if(K0==0)

{

while(!K0)/*当松开K0开关时,跳出空循环,执行后面的程序*/

{

}

SN_G++;/*南北方向绿灯时间+1*/

if(SN_G==100)

SN_G=0;/*由于使用的是两位数码管,当南北方向绿灯时间加到100后清零*/

}

}

/*设置东西方向通行时间*/

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];/*显示南北方向个位*/

delay(5);/*延时*/

P2=b[1];/*显示南北方向十位*/

delay(5);/*延时*/

P2=b[2];/*显示东西方向个位*/

delay(5);/*延时*/

P2=b[3];/*显示东西方向十位*/

delay(5);/*延时*/

/*返回*/

if(K3==0) /*P3^5=0*/ {

delay(10);/*延时,把抖动的时间抛掉*/

if(K3==0)

{

while(!K3)/*当松开K3开关时,跳出空循环,执行后面的程序*/

{

}

EA=1;/*CPU开放总中断*/

TR0=!TR0;/*启动计数器*/

break;/*跳出*/

}

}

}

}

/*键盘程序*/

void key()

{

/*南北有车而东西无车*/

if(K0==0) /*K0=0*/

{

delay(10);/*延时,把抖动的时间抛掉*/

if(K0==0)

{

while(!K0)/*当松开K0开关时,跳出循环,执行后面的程序*/ {

light();/*调用交通灯函数*/

led(); /*调用数码管函数*/ }

count=0;/*清零*/

k=0;/*南北方向通车,东西方向不通车*/

SN=SN_G,WE=SN_G+Y;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/

light();/*调用交通灯函数*/

led(); /*调用数码管函数*/

}

}

/*南北无车而东西有车*/

if(K1==0) /*K1=0*/

{

delay(10);/*延时,把抖动的时间抛掉*/

if(K1==0)

{

while(!K1)/*当松开K1开关时,跳出循环,执行后面的程序*/ {

light();/*调用交通灯函数*/

led(); /*调用数码管函数*/

}

count=0;/*清零*/

k=2;/*南北方向不通车,东西方向通车*/

SN=WE_G+Y,WE=WE_G;/*南北方向显示时间为东西方向绿灯通行时间加黄灯闪亮时间,东西方向显示时间为东西方向绿灯通行时间*/

light();/*调用交通灯函数*/

led(); /*调用数码管函数*/

}

}

}

/*定时函数*/

void time1(void) interrupt 1 {

TH0=0x3c;

TL0=0xb0;/*计50000个数,用时50ms*/

count++; /*自增运算*/

if(count>=20)/*当count大于或等于20时,历时1s,执行程序*/ {

SN--;/*自减运算*/

WE--;/*自减运算*/

count=0;/*清零*/

if(SN==0||WE==0)/*当SN=0或者WE=0时,执行程序*/

{

k++;/*自增运算*/

if(k>3)/*当k>3时,执行程序*/

k=0;/*清零*/

switch(k)/*switch 语句*/

{

case

0:SN=SN_G,WE=SN_G+Y;break;/*南北方向显示时间为南北方向绿灯通行时间,东西方向显示时间为南北方向绿灯通行时间加黄灯闪亮时间*/

case

1:SN=Y,WE=Y;break; /*东西南北方向显示时间均为黄灯闪亮时间*/

case

2:SN=WE_G+Y,WE=WE_G;break;/*南北方向显示时间为东西方向绿灯通行时间加黄灯闪亮时间,东西方向显示时间为东西方向绿灯通行时间*/

case

3:SN=Y,WE=Y;break; /*东西南北方向显示时间均为黄灯闪亮时间*/

}

}

} }

/*延时t毫秒*/

void delay(uchar t)

{

uchar i;

for(t;t>0;t--)

{

for(i=2000;i>0;i--)

{}

}

}

/*交通灯函数*/

void light()

{

P1=c[k];/*交通灯对应着k的值变化*/

if(P1==c[1]&&count==0)/*当南北方向亮黄灯且count=0时,执行程序*/

{

TH1=(65536-50000)/256;

TL1=(65536-50000)%256;/*延时50ms*/

P1=0xDF;/*南北方向黄灯熄灭,东西方向亮红灯*/

}

else

if(P1==c[3]&&count==0)/*当东西方向亮黄灯且count=0时,执行程序*/

{

TH1=(65536-300000)/256;

TL1=(65536-300000)%256;/*延时50ms*/

P1=0xFB;/*南北方向亮红灯,东西方向黄灯熄灭*/

}

}

/*数码管函数*/

void led()

{

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

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

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

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

基于-51单片机的交通灯设计

师大学 电气工程及自动化
实习报告
姓 名: 班 级: 学 号: 实习科目:单片机实训 指导教师: 实习时间:

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

目录
第一章 引言.................................................................. 1 1.概述 ...................................................................... 1 2.设计目的 .................................................................. 4 3.设计要求 .................................................................. 4 4.实验原理 .................................................................. 4 第二章 芯片与元件............................................................ 5 1.MCU ....................................................................... 5 2.74HC573.................................................................... 6 3.led 数码管 ................................................................. 6 第三章 外围电路.............................................................. 6 1.单片机最小系统............................................................. 6 2.数码管显示电路............................................................. 7 3.12 位流水灯 ................................................................ 8 第四章 整体设计.............................................................. 8 1.交通控制系统总体设计....................................................... 8 2.单片机交通控制系统的基本构成及原理......................................... 8 3.系统软件程序的设计......................................................... 9 第五章 总结................................................................. 10 参考文献.................................................................... 11 附录 A 智能交通灯电路原理图 ................................................. 12 附录 B 智能交通灯汇编源程序 ................................................. 13

单片机交通灯实训报告

机电工程学院课程设计报告 课程名称:单片机课程设计 专业班级: 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、确定交通灯计时数后再按下模式选择键后,交通灯便进入工作状态。 时间计时的实现:采用定时中断实现秒的精确计时(详细方案入下列程序设计所示)。 按键输入的实现:通过编写按键读取函数,来实现交通灯的状态以及时间值得设定(详细方案入下列程序设计所示)。

基于单片机的交通灯

毕业设计说明书 基于单片机的交通灯 控制系统设计 专业 电气工程及其自动化 学生姓名 郭 恒 燕 班级 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单片机作为控制核心,采用四组高亮红绿双色二极管作

51单片机交通灯设计报告

课程设计说明书 课程名称:《单片机技术》 设计题目:交通灯设计 学院:电子信息与电气工程学院 学生姓名: 学号: 专业班级: 指导教师: 2017年4 月20日

课程设计任务书

交通灯设计 摘要: 近年来随着科技的发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面的知识是不够的,还应该根据具体硬件结构软硬结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊,那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用51系列单片机ATMEL89C51为核心控制器件来设计交通信号灯控制器,实现亮绿灯通行,亮黄灯闪烁并发声警示,亮红灯禁止通行的功能,并显示通行或禁止通行倒计时,紧急按键信号灯加时和紧急按键南北、东西红绿灯跳变。本系统使用性强,操作简单,容易实现,扩展功能强,可自行修改程序扩展自己想要实现的功能。 关键词:交通灯,单片机,复位电路

目录 1. 设计背景 (1) 1.1设计原因 (1) 1.2个人意义 (1) 2.设计方案 (1) 2.1总体方案提出 (1) 2.2稳压电源方案设计与分析 (1) 2.3复位电路方案设计与分析 (2) 3. 方案实施 (2) 3.1总体设计框图 (2) 3.2硬件设计 (3) 3.3软件设计 (6) 3.4电路仿真 (10) 3.5制板子与安装过程 (11) 3.6软硬件调试 (11) 4. 结果与结论 (12) 5 收获与致谢 (12) 6. 参考文献 (12) 7. 附件 (13) 7.1硬件电路图 (13)

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

单片机技术与应用 实验报告 实验名称:外部中断实验(急救车与交通灯)班级: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函数是处理有救护车驶过时的情况。 至此,程序编写完成,放入软件中进行编译和下载。

模拟交通灯单片机课程设计

目录 第一章概述 (1) 1.1 设计目的 (1) 1.2 设计要求 (1) 1.3 实用价值与理论意义 (2) 第二章系统硬件设计 (4) 2.1系统电路设计框图 (4) 2. 2 系统主要硬件需求介绍 (4) 2. 3 系统电力模块图 (5) 2. 4 系统电路图 (8) 第三章系统软件设计 (9) 3.1 在正常情况下交通灯控制程序流程 (9) 3.2源程序清单与注释 (10) 第四章仿真结果 (13) 4.1正常情况的仿真图 (13) 第五章课程设计总结 (16) 参考文献 (17)

第一章概述 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用必须重视。 伴随着社会的发展以及人类生活水平的提高,汽车数量在逐年递增,交通问题不得不引起人们的重视。早在1858年,英国伦敦在主要街头安装了以燃煤气为光源的红蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。信号灯的出现,是交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时监测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,紧单片机方面知识是不够的,还应根据具体结构软硬件结合,加以完善。 目前交通灯的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计单片机来完成这个需求就显得越加迫切了。本设计的意义在于通过具体控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些

(完整)基于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单片机交通灯课程设计

第一章单片机概述 单片机是20世纪70年代中期发展起来的一种大规模集成电路器件。它在一块芯片内芯片内集成了计算机的各种功能部件,构成一种单片式的微型计算机。20世纪80年代以来,国际上单片机的发展迅速,其产品之多令人目不暇接,单片机应用不断深入,新技术层出不穷。 单片机的应用技术是一项新型的工程技术,其内涵随着单片机的发展而发展。由于MCS-51系列的单片机的模块化结构比较典型、应用灵活,为许多大公司所采纳,使8051系列的单片产品日新月异。在Intel公司20世纪80年代初推出MCS-51系列单片机以后,世界上许多著名的半导体厂商相继生产和这个系列兼容的单片机,使产品型号不断地增加、品种不断丰富、功能不断加强,在国内外单片机应用中占有重要地位。由于单片机具有功能强、体积小、价格低等一系列优点,在各个领域都有广泛的应用,有力地推动了各行各业的技术改造和产品更新换代。 20世纪末,电子技术获得了飞速的发展,在其推动下,现代电子产品几乎渗透了社会的各个领域,有力地推动了社会生产力的发展和社会信息化程度的提高,同时也使现代电子产品性能进一步提高,

产品更新换代的节奏也越来越快。 第二章MSC-51芯片简介 8051是MCS-51系列单片机的典型产品。 8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明: ·中央处理器:

中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。 ·数据存储器(RAM) 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM 只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。 ·程序存储器(ROM): 8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。 ·定时/计数器(ROM): 8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。 ·并行输入输出(I/O)口: 8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。 ·全双工串行口: 8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

模拟交通灯单片机课程设计

模拟交通灯单片机课程设计

————————————————————————————————作者:————————————————————————————————日期: ?

目录 第一章概述?错误!未定义书签。 1.1设计目的?错误!未定义书签。 1.2 设计要求?错误!未定义书签。 1.3 实用价值与理论意义?错误!未定义书签。 第二章系统硬件设计?错误!未定义书签。 2.1系统电路设计框图?错误!未定义书签。 2. 2系统主要硬件需求介绍 ..................................... 错误!未定义书签。 2. 3系统电力模块图?错误!未定义书签。 2.4系统电路图?错误!未定义书签。 第三章系统软件设计 ................................ 错误!未定义书签。 3.1 在正常情况下交通灯控制程序流程 ....................... 错误!未定义书签。 3.2源程序清单与注释?错误!未定义书签。 第四章仿真结果?错误!未定义书签。 4.1正常情况的仿真图?错误!未定义书签。 第五章课程设计总结 ................................ 错误!未定义书签。 参考文献?错误!未定义书签。

第一章概述 目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录象机、摄象机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。更不用说自动控制领域的机器人、智能仪表、医疗器械了。因此,单片机的学习、开发与应用必须重视。 伴随着社会的发展以及人类生活水平的提高,汽车数量在逐年递增,交通问题不得不引起人们的重视。早在1858年,英国伦敦在主要街头安装了以燃煤气为光源的红蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。信号灯的出现,是交通得以有效管制,对于疏导交通流量,提高道路通行能力,减少交通事故有明显效果。近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时监测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,紧单片机方面知识是不够的,还应根据具体结构软硬件结合,加以完善。 目前交通灯的问题日益突出,单单依靠人力来指挥交通已经不可行了,所以,设计单片机来完成这个需求就显得越加迫切了。本设计的意义在于通过具体控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。使大家能在实践教学环节中,积累设计经验,开阔思维空间,全面提高个人的综合能力。 1.1 设计目的 通过对模拟交通灯控制系统的制作,掌握定时器应用。 1.2设计要求 利用AT89S51单片机控制交通灯,实现三种情况下的控制: 正常情况下双方向轮流点亮交通灯,如表所示。

基于AT89C51单片机的交通灯实验报告

/* * 实现基于C51的交通信号灯的控制操作 * 使用器件->> * 1.74HC138用于控制LED的位选码的设定 * 2.T0->>实现一个时间的定时操作(设置为10ms) * 3.P0->>作为LED现实的断码输出端 * 4.P1->>作为LED交通灯的信号灯的控制端 * 5.P2->>作为74HC138的为选码的控制端 * 6.P3.2->>作为一个复位的中断信号处理(与K1相连用于控制复位交通信号灯) * 需要考虑的一个问题是-》这个难道南北方向和东西方向的时间控制长短是一样的?#include //LED显示的字符段码 static char[] LED_TABLE = {0x3f , 0x06, 0x5b, 0x4f, 0x66, 0x6d, 0x7d, 0x07, 0x7f, 0x6f}; /* * SN_IFGREEN:用于控制南北方向的灯的显示操作 * EW_IFGREEN:用于控制东西方向的灯的显示操作 * 0:红灯 * 1:绿灯 */ int SN_IFGREEN = 0; int EW_IFGREEN = 1; /* 用于控制定时时间为1s */ int TIME1S = 100; /* 用于控制时间为60s */ int LEDTIME = 60; /* LED交通灯的设置*/ sbit SN_RED = P1^0; sbit SN_YELLOW = P1^1; sbit SN_GREEN = P1^2; sbit EW_RED = P1^3; sbit EW_YELLOW = P1^4; sbit EW_GREEN = P1^5; /* 设置74HC138的位选码*/ sbit PA = P2^2; sbit PB = P2^3; sbit PC = P2^4; //初始化系统信息 void init_SYS(); //每当时间运行1s时进行操作处理 void time_SUB();

《单片机原理及应用》课程设计-基于51单片机的交通灯模拟系统设计

《单片机原理及应用》课程设计设计题目:基于51单片机的交通灯模拟系统设计 院系:物理工程学院 专业:电子信息科学与技术 年级:2013级 班级:电信1班 指导教师: 学号: 姓名: 完成时间:2016-10-26

摘要 本系统由单片机系统(STC89C52)、键盘、LED 显示、数码管、交通灯演示系统组成。系统除基本交通灯功能外,还具有倒计时、紧急情况处理以及根据具体情况手动控制等功能。 本设计是单片机控制的交通灯控制系统。单片机即单片微型计算机。其集定时、计数和多种接口与一体的微控制器。它体积小、成本低、功能强,广泛的应用于只能产业和工业自动化上。而51系列单片机是各类单片机中最为典型和富有代表性的一种。 本设计的意义在于通过具体控制系统的设计,掌握微机控制系统设计的一般方法和处理问题的思路,特别是一些常用的技术手段。能在实践教学环节中,积累设计经验,开拓思维空间,全面提高个人的综合能力。 红绿灯控制是智能交通系统的一个重要部分,本文给出了一个用单片机控制的简易交通红绿灯自动控制系统。该系统适用于十字路口,并对放行和禁行时间进行倒计时显示(秒)。 在车辆通行繁忙的十字交叉路口设置的交通灯控制系统,其特点是:道路较窄而车流量较大,主干道,支干道的车辆通行时间不等,,同时设有道路应急控制。具体的情况是:在正常的情况下,东西支干道通行时间为50秒,南北主干道通行时间为30秒,每个方向在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道。 关键字:单片机红绿灯 STC89C52 倒计时

第一部分:设计思路 国内的交通灯一般设在十字路门,在醒目位置用红、绿、黄三种颜色的指示灯。加上一个倒计时的显示计时器来控制行车。一般来说,东西方向和南北方向的车流量是不同的,这就要求南北方向和东西方向要求车辆能通行的时间应该是不一样的。本系统的设计是基于东西方向为主干道,南北方向为支干道来设计的。 假设刚开始允许东西方向通车(此时东西方向绿灯亮其它灭),南北方向禁止通车(此时南北方向红灯亮其它灭)。这我们称为第一阶段。第二阶段东西方向绿灯灭,黄灯亮,此时南北方向依然为红灯。第三阶段,东西方向黄灯灭,红灯亮,南北方向红灯灭,绿灯亮。第四阶段东西方向依然红灯,南北方向绿灯灭,黄灯亮。此时又转为第一阶段,如此循环往复,便可控制十字路口的车辆通行。此外我还考虑到了两个特殊情况,当警车或消防车通过时,此时应该只能允许一个方向通车,本系统设计了两个独立按键,可控制只允许东西方向通车或南北方向通车。 第二部分:系统硬件选择 由于是基于51系列单片机的交通灯模拟系统设计,所以我选用了宏晶公司的STC89C52型号单片机,这款单片机性价比不错,而且买的时候赠送了很多资料,里面的老师讲解非常详细,让我受益良多。由于我设计交通灯主要是使用到了LED和数码管,所以我这里简单介绍一下它的引脚接口。LED1~LED8是接在了P1.0~P1.7引脚,低电平有效。数码管的位选是P2.7引脚。段选是P2.6引脚。数码管显示是

基于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单片机实现交通灯的设计

51单片机实现交通灯的设计 1.器材: 51单片机开发板一块; LED灯 2.功能: 东西向绿灯亮若干秒,黄 灯闪烁5 次后红灯亮,红灯亮后,南 北向由红灯变为绿灯,若干秒后南北 向黄灯闪烁5 此后变红灯,东西向变 绿灯,如此重复。 3. 程序: #include #define uchar unsigned char #define uint unsigned int sbit r1=P0^0;//东西向灯;r代表red,y代表yellow,g代表green sbit y1=P0^1; sbit g1=P0^2; sbit r2=P0^3;//南北向灯 sbit y2=P0^4; sbit g2=P0^5; uchar count=0; uchar type=1;//闪烁次数,操作类型变量 void delay(unsigned int t)//延时程序 { while(--t); } void light()//显示程序实现所需功能 { switch(type) { case 1: r1=1;y1=1;g1=0;//1表示灯灭,0表示灯亮,即东西向绿灯与南北向红灯亮r2=0;y2=1;g2=1; delay(62500);//延时一下,为下一个显示作准备 type=2;//type赋值为2,即执得case 2; break; case 2: delay(62500);//消除影响,使led工作稳定; y1=~y1;g1=1;//进行闪烁,即东西向黄灯闪烁,绿灯关闭 if(++count != 10) return; count=0; type=3; break; case 3: r1=0;y1=1;g1=1;//东西向红灯,南北向绿灯亮 r2=1;y2=1;g2=0;

单片机仿真交通灯实验

实验报告实验名称:交通灯实验 姓名 班级 日期

实验要求: 1. 请使用单片机系统主机板和单片机系统键盘、显示板设计一个硬件系统,最终实 现一个交通路口红绿灯的控制。用两个数码管显示秒,8个LED灯分成四组,分别作为十字交叉路口的红绿灯。 2. 相对双向绿灯的最后几秒时,绿灯要闪烁,即亮灭交替,亮灭时间均为0.5秒, 然后变成红灯。 3. 每组同学可自行设计进行连接,形成一个单片机硬件系统。 4. 模拟调试完成后,用STC-ISP下载编程软件将生成的*。HEX文件在线下载到单片 机中。 5.下载后,按复位键执行程序,检验程序运行结果。 硬件连线方案:

程序流程图:

源代码: #include //51单片机头文件声明 unsigned char code tab[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}; //定义无符号数组,定义的数据要放在ROM(程序存储区)里面 sbit dula=P1^3; //特殊功能位定义,数码管段码控制信号 sbit G1=P1^4; //数码管位选控制信号 sbit c=P1^5; //c表示P1.0口,地址最高位 sbit b=P1^6; //地址次高位 sbit a=P1^7; //地址最低位 sbit xl=P2^0; //特殊功能位声明,xl表示P2.0口 sbit xh=P2^1; // sbit yl=P2^2; sbit yh=P2^3; sbit sl=P2^4; sbit sh=P2^5; sbit zl=P2^7; sbit zh=P2^6; char count=100; //定时时间取10ms,循环100次即为1s unsigned char ssx=14; //秒上下,为上下绿灯亮时倒计数 unsigned char szy=10; //秒左右,为左右绿灯亮时倒计数 char sx=1; //方向标志,上下绿灯亮 void delay(char x) //延时函数,通过for循环进行延时 { char a,b;

AT89C52单片机控制交通灯系统

目录 1 交通信号灯控制系统设计任务和性能指标 (1) 设计任务 (1) 性能指标 (1) 2 交通信号灯控制系统设计方案 (1) 设计思路 (1) 设计思路 (1) 功能设计 (2) 总体设计 (2) 通行方案设计 (2) } 硬件设计方案 (4) 软件设计方案 (4) 3 交通信号灯控制系统硬件设计 (5) 系统硬件框图 (5) 单元电路设计 (5) 单片机最小系统 (5) 信号灯显示电路 (7) 倒计时显示电路 (8) 按键操作电路 (8) 4 交通信号灯控制系统程序设计 (8) - 理论基础知识 (8) 定时器原理 (8) 软件延时原理 (9) 中断原理 (9) 主程序框图 (9) 5 调试分析及所用器件 (10) 调试环境 (10) 所用芯片 (11) 6 心得体会 (11) 7 参考文献 (12) | 8 附录 (13) 附件1 程序清单 (13)

附件2 系统仿真图 (16) 摘要 交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 本系统采用单片机AT89C52为中心器件来设计交通信号灯控制器,系统实用性强、操作简单、扩展性强。本设计系统就是由单片机最小系统、交通灯状态显示系统、LED 数码显示系统、复位电路和按键操作电路等几大部分组成。系统除具有基本的交通信号灯功能外,还具有倒计时、时间调整和紧急情况处理等功能,较好的模拟实现了十字路口可能出现的状况。 \ 软件上采用KEIL C 编程,主要编写了主程序,LED数码管显示程序,中断程序,延时程序等。经过整机调试,实现了对十字路口交通灯的模拟。 关键字:AT89C52 交通灯PROTUES 中断程序

基于51单片机的交通灯(红绿灯)设计论文报告

通过单片机仿真交通灯

第一章概述 1.设计内容: 用AT89S52单片机控制一个交通信号灯系统,晶振采用12MHZ。 设A车道与B车道交叉组成十字路口,A是主道,B是支道。设计要求如下:用发光二极管模拟交通信号灯,用按键开关模拟车辆检测信号。正常情况下,A、B两车道轮流放行,A车道放行50s,其中5s用于警告;B车道放行30s,其中5s 用于警告。交通繁忙时,交通信号灯控制系统应有手控开关,可人为地改变信号灯的状态,以缓解交通拥挤状况。在B 车道放行期间,若A车道有车而B车道无车,按下开关K1 使 A车道放行15s;在 A车道放行期间,若B车道有车而A车道无车,按下开关K1 使B 车道放行15s。有紧急车辆通过时,按下K2开关使 A、B车道均为红灯,禁行20s。 2.设计目的: 1)进一步熟悉和掌握单片机的结构和工作原理。 2)掌握单片机的接口技术及相关外围芯片的外特性,控制方法。 3)通过课程设计,掌握以单片机为核心的电路设计的基本方法和技术,了解有关电路参数的计算方法。 4)通过实际程序设计和调试,逐步掌握模块化程序设计方法和调试技术。 5)通过完成一个包括电路设计和程序开发的完整过程,为我们今后从事相应工作打下基础。 3.设计原理: 利用“自动控制”控制交通灯的方法。将事先编制好的程序输入单片机,利用单片机的定时、查询、中断功能;能够根据十字路口两个方向上车辆动态状况,采用查询的方式,根据具体情况,自动给予时间通行,其中利用中断方式来处理特殊情况。这样既方便驾驶员、路人,同时还可以紧急处理一些紧急实况。同样具有红、黄、绿灯的显示功能,为驾驶员、路人“照明”。 使用AT89C51单片机控制 4个方向的交通灯(红﹑黄﹑绿)并用数码管显示其时间。

51单片机红绿灯课程设计

1 电源提供方案 为使模块稳定工作,须有可靠电源。因此考虑了两种电源方案:方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。 方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,选择方案二。 2 显示界面方案 该系统要求完成倒计时功能。基于上述原因,我考虑了二种方案:方案一:采用数码管显示。这种方案只显示有限的符号和数码字符,简单,方便。方案二:采用点阵式LED 显示。这种方案虽然功能强大,并可方便的显示各种英文字符,汉字,图形等,但实现复杂,成本较高。 综上所述,选择方案一。 3 输入方案: 设计要求系统能调节灯亮时间,并可处理紧急情况,我研究了两种方案:方案一:采用8155扩展I/O 口及键盘,显示等。 该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。 方案二:直接在I/O口线上接上按键开关。 由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用。

综上所述,选择方案二。 3.1单片机交通控制系统的通行方案设计 设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如图2.1所示: 图1 交通状态 本系统采用MSC-51系列单片机AT89C51作为中心器件来设计交通灯控制器。实现以下功能:

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