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

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

通过单片机仿真交通灯

班级:10级电信

姓名:李倩楠

学号:20107240123

第一章概述

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个方向的交通灯(红﹑黄﹑绿)并用数码管显示其时间。

了解交通灯管理的基本工作原理,熟练掌握STC89C51的工作原理和应用编程,熟悉STC89C51单片机并行接口的各种工作方式和应用,并了解计数器/定时器的工作方式和应用编程外部中断的方法,掌握多位LED 显示问题的解决。

第二章 硬件设计

1. 设计框图:

图1-1

设计说明:

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

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

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

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

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

4.设计任务:

1)东西、南北车辆交替运行,时间可设置修改。

2)绿灯转为红灯时,黄灯闪亮(间隔1秒)。

3)能显示剩余时间。

4)能对交通运行进行控制。

2.各元器件选择及其功能介绍:

1)元器件列表

表1-1

2)2位8段数码管工作原理:

2位8段数码管电路采用“共阴”连接,阴极公共端(COM)由晶体管推动。如图4-3所示:

段码和位码,段码即段选信号 SEG,它负责数码管显示的内容,图中 a~g、dp组成的数据(a 为最低位,dp 为最高位)

就是段码。位码即位选信号 DIG,它决定哪个数码管工作,哪个数码管不工作。当需要某一位数码管显示数字时,只需要先选中这位数码管的位信号,再给显示数字的段码。

3. 设计原理图:

图1-2

交通信号灯的状态表

表1-2

共阳与共阴数码管自行代码

表1-3

1、时钟电路模块

时钟电路由一个晶体振荡器12MHZ和两个30pF的瓷片电容组成。时钟电路用于产生单片机工作所需要的时钟信号,而时序所研究的是指令执行中各信号之间的相互关系。单片机本身就如一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信

号控制下严格地工作。其电路如图1-3所示:

图1-3

2、复位电路模块

复位电路是使单片机的CPU或系统中的其他部件处于某一确定的初始状态,并从这状态开始工作,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位电路以重新启动。本设计采用的是按键复位电路。其电路如图1-4所示:

图1-4

3、主控制系统模块

主控制器采用AT89C51,是ATMEL公司生产的一款性能稳定的8位单片机。AT89C51具有1个8KB的FLASH程序存储器,1个512字节的RAM,4个8位的双向可位寻址I/O端口,3个16位定时/计数器及1个串行口和6个向量二级中断结构。

单片机的P0口分别用于控制南北及东西的通行灯,P2口和P3^4-P3^7口用于4组4位LED计时器的控制,紧急车辆通行时使用外中断0(P3^2)和外中断1(P3^3),进行手动按键,即可转换。

4、交通灯输出控制模块

道口交通灯指示采用高亮度红、黄、绿发光二极管进行提示。

当R=220欧时,按公式A=(5-1.8)/R计算,电路中的电流大小应为A=14.545mA.由于每个路口的通行双向指示处理相同,因此每个端口应具有3A的吸收电流能力。

5、时间显示电路模块

道口通行剩余时间采用高亮红色7段LED发光数码管显示,采用共阳数码管,如用单片机吸收电流驱动,列扫描驱动使用三极管,按每段6mA电流计算,全显示字形“8”时,每个数码需6mA*8=48mA,由于时间显示每个道口相同,共需要电流192mA,因此设计中也采用了中功率三极管8550.其显示电路如图1-6所示:

图1-5

6、紧急通车电路模块

为了实现此功能,利用单片机中断达到目的。利用一个手动按钮开关接至单片机外部中断0,同时在软件设计时将其设定为最高优先级,当其按下时,四方全为红灯,同时将中断位置的PSW、ACC进栈保护,当其计时完了之后,回到原来的位置进行执行。再利用一个手动按钮接至单片机外部中断1当其按下时,如果是东西道是红灯,而南北道是绿灯,则将其置为东西是绿灯,南北是红灯;如果是东西道是绿灯,而南北道是红灯,则将其置为东西是红灯,南北是绿灯。两种情况都是执行完后,回到断点处继续执行。

第三章软件设计

1.程序:

#include

#define uchar unsigned char

#define uint unsigned int

#define time 50000

#define on 0

#define off 1

sbit RED_ZHU = P0^0; //南北红灯

sbit YELLOW_ZHU = P0^1;//南北黄灯

sbit GREEN_ZHU = P0^2; //南北绿灯

sbit RED_ZHI = P0^3; //东西红灯

sbit YELLOW_ZHI = P0^4; //东西黄灯

sbit GREEN_ZHI = P0^5; //东西绿灯

sbit P23 = P3^4;

sbit P22 = P3^5; //东西方向数码管位选

sbit P21 = P3^6;

sbit P20 = P3^7; //南北方向数码管位选

sbit int0_key = P3^2;

sbit int1_key = P3^3;

void display1(uchar,uchar);

void display2(uchar,uchar);

void delayms(uint k);

uchar temp1,temp2,temp3,temp4,temp5,temp6;

/*===============倒计时=========================*/ uchar N = 50,Y = 45,Z = 50,M = 75,G = 80,U =80; uchar C50ms,t0;

uchar seg = 1;

uchar flag=0,led_data_temp;

void InitialT1(void)

{

TMOD = 0x11; //定时器0,1工作在方式1

TH1 = (65536 - time)/256; //相当于(65536-time)/256;

TL1 = (65536 - time)%256;//初值为time(50ms)

TR1 = 1;//开定时器1中断

ET1 = 1;//允许定时器1中断

ET0 = 1;

TH0 = (65536 - time)/256;

TL0 = (65536 - time)%256;

EX0 = 1; //允许外部中断0

IE0 = 1;//启动外部中断0

PX0 = 1;

EX1=1;

IE1=1;

EA = 1; //开总中断

}

void int0(void) interrupt 0 //外中断0

{

flag = 0;

led_data_temp = P0;

t0 = 20;

if(!int0_key)

{

delayms(10);

if(!int0_key)

{

while(!int0_key);

TH0 = (65536 - time)/256;

TL0 = (65536 - time)%256;

TR1 = 0;

TR0 = 1;

EX0 = 0;

EX1 = 0;

C50ms = 0;

}

}

}

void int1(void) interrupt 2 //外部中断1

{

t0=15;

flag = 1;

led_data_temp = P0;

if(((RED_ZHU == 0) && (GREEN_ZHI == 0))||((YELLOW_ZHI == 0)&&(RED_ZHU == 0)))

{

P0 = 0xff;

GREEN_ZHU = 0;

RED_ZHI = 0;

}

else //if((RED_ZHI == 0)&&(GREEN_ZHU == 0)) {

P0 = 0xff;

GREEN_ZHI = 0;

RED_ZHU = 0;

}

if(!int1_key)

{

delayms(10);

if(!int1_key)

{

while(!int1_key);

TH0 = (65536 - time)/256;

TL0 = (65536 - time)%256;

TR1 = 0;

TR0 = 1;

EX0 = 0;

EX1 = 0;

C50ms = 0;

}

}

}

void ISRT0(void) interrupt 1//定时器0中断服务子程序

{

temp1 = N,temp2 = Y,temp3 = Z,temp4 = M,temp5 = G,temp6 = U;

TH0 = (65536 - time)/256;

TL0 = (65536 - time)%256; //重装初值time

YELLOW_ZHU=1; //如果在黄5S时进行熄灭黄灯

YELLOW_ZHI=1;

if(!flag)

{

P0 = 0xf6;

}

C50ms++;

if(C50ms > 19)

{

t0--;

C50ms = 0;

}

if(t0 == 0)

{

P0 = led_data_temp;

N = temp1,Y = temp2,Z = temp3,M = temp4,G = temp5,U = temp6;

TR0 = 0;//禁止定时器1中断

TR1 = 1;//开定时器1中

EX1 = 1;

//EX0 = 1;

C50ms = 0;

return;

}

}

void ISRT1(void) interrupt 3 //定时器1中断服务子程序

{

TH1 = (65536 - time)/256;

TL1 = (65536 - time)%256; //重装初值time

C50ms++;

if(C50ms > 19)

{

N--;

M--;

Y--;

Z--;

G--;

U--;

C50ms = 0;

}

}

/*=================延时=======================*/

void Delay10uS(uchar second)

{

uint i;

while((second--) != 0)

{

for(i = 0;i < 5;i++)

{}

}

}

void delayms(uint k)

{

uint i,j;

for(i = 0;i < k;i++)

for(j = 0;j < 120;j++);

}

/*==================数码管控制========================*/

uchar code discode[]=

{0xC0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳数码管0-9代码

void display1(uchar num1,uchar num2) //控制南数码管显示

{

P2=discode[num1]; P21=on; Delay10uS(10); P21=off; //低位

P2=discode[num2]; P20=on; Delay10uS(10); P20=off; //高位

}

void display2(uchar num3,uchar num4) //控制东西数码管显示

{

P2 = discode[num3]; P23 = on; Delay10uS(10); P23 = off; //低位

P2 = discode[num4]; P22 = on; Delay10uS(10); P22 = off; //高位

}

/*===================主函数=================================*/

main()

{

/*=============初始状态:东西南北都红灯==================*/

RED_ZHU=on;

RED_ZHI=on;

delayms(1000);

RED_ZHU = off;

RED_ZHI = off;

InitialT1();

while(1)

{

// 初始化计时器

/*=============状态1:东西绿灯(45s) 南北红灯

(40s)==================*/

/*=============状态2:东西黄灯(5s) 南北红灯

(5s)=================*/

RED_ZHI = on;

GREEN_ZHU = on;

while(N != 0)

{

if(TR0 == 1)

{

display2(t0/10,t0%10);// 当t0=20时东西、南北红灯(20s)

display1(t0/10,t0%10);// 当t0=15时东西、南北红、绿灯交换点亮

}

else

{

if(N == 5)

{

while(Z != 0)

{

if(TR0 == 1)

{

display2(t0/10,t0%10);

display1(t0/10,t0%10);

}

else

{

display1(N/10,N%10); // 东西黄灯(5s)

display2(Z/10,Z%10); // 南北红灯(5s)

GREEN_ZHU = off;

YELLOW_ZHU = on;

}

}

}

else

{

display1(N/10,N%10); // 东西绿灯(45s)

display2(Y/10,Y%10); // 南北红灯(40s)

}

}

}

GREEN_ZHU = off;

RED_ZHI = off;

YELLOW_ZHU = off;

P0 = 0xff; //数码管全关掉

Delay10uS(1);

/*=============状态3:东西红灯(20s) 南北绿灯

(25s)==================*/

/*=============状态4:东西红灯(5s) 南北黄灯

(5s)==================*/

GREEN_ZHI = on;

RED_ZHU = on;

while(G != 0)

{

if(TR0 == 1)

{

display2(t0/10,t0%10);

display1(t0/10,t0%10);

}

else

{

if(G == 5)

{

while(U != 0)

{

if(TR0 == 1)

{

display2(t0/10,t0%10);

display1(t0/10,t0%10);

}

else

{

display2(G/10,G%10);// 东西红灯(5s)

display1(U/10,U%10);// 南北黄灯(5s)

GREEN_ZHI = off;

YELLOW_ZHI = on;

}

}

}

else

{

display2(G/10,G%10);// 东西红灯(25s)

display1(M/10,M%10);// 南北绿灯(20s)

}

}

}

GREEN_ZHI = off;

RED_ZHU = off;

YELLOW_ZHI = off;

P0 = 0xff;

Delay10uS(1);

/*=====================重新赋值

===============================*/

N =50,Y = 45,Z = 50,M = 75,G = 80,U =80;

}

}

第四章仿真结果及其总结

1.仿真结果图:

南北通行:

图1-6 通行警告:

基于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

基于51单片机交通灯课设(内含程序和实物图)

单片机控制交通灯 摘要 随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题。因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。根据交通灯在实际控制中的特点,结合单片机的控制功能,提出了一种用单片机自动控制交通灯的简易方法。设计中包括硬件电路的设计和程序设计两大步骤,对单片机学习中的几个重要内容都有涉足。 单片机的应用正在不断深入,单片机可以用来仿真各个系统。在自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用单片机STC89C52为中心器件来设计交通灯控制器,实现了通过P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过P1口输出,显示时间通过P0口输出至双位数码管)。本系统设计周期短、可靠性高、实用性强、操作简单、维护方便、扩展功能强。 关键词:单片机交通灯数码管看门狗

目录 第1章前言 (1) 1.1课题任务及主要实现内容 (1) 1.2原理分析 (1) 1.2.1交通灯显示时序的理论分析 (1) 1.2.2 交通灯显示的理论分析 (2) 第2章设计方案分析 (3) 2.1 单片机与外围接口部件 (3) 2.2 倒计时显示界面 (4) 2.3 交通灯 (4) 第3章硬件系统设计 (4) 3.1 单片机的选择 (4) 3.2 STC89c52的看门狗设置 (8) 3.3 硬件电路实现 (9) 3.2.1 最小系统设计 (9) 3.3.2 显示设计 (11) 3.2.3 发光二极管模拟红绿灯 (13) 3.2.4 按键模块 (14) 第4章软件电路设计 (15) 4.1 软件编译环境测试 (15) 4.1.1 C语言介绍 (15) 4.1.2 Keil uVision4介绍 (15) 4.2软件总体设计 (15) 第5章电路检测 (17) 结论 (20) 参考文献 (21) 附录:22 原理图 (22) 源程序: (22)

基于单片机的交通灯

毕业设计说明书 基于单片机的交通灯 控制系统设计 专业 电气工程及其自动化 学生姓名 郭 恒 燕 班级 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)

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);

(完整)基于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内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。

基于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;

基于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单片机;交通灯;自动控制;时间显示器; 一、设计目的

基于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作为中心器件来设计交通灯控制器。实现以下功能:

用51单片机控制交通灯汇编语言编写

基于51单片机的交通灯控制系统设计 摘要:在日常生活中,交通信号灯的使用,市交通得以有效管理,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。交通灯控制系统由80C51单片机、键盘、LED 显示、交通灯延时组成。系统除具有基本交通灯功能外,还具有时间设置、LED信息显示功能,市交通实现有效控制。 关键词:交通灯,单片机,自动控制 一引言 当今,红绿灯安装在个个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这个技术在19世纪就已经出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械般手势信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的会议大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两以旋转方式玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,是警察受伤,遂被取消! 电气启动的红绿灯出现在美国,这种红绿灯由红黄绿三色圆形的投光器组成,1914年始装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 信号灯的出现,使得交通得以有效的管理,对于疏导交通流量、提高道路通行能力、减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯时通行信号灯,面对绿灯的车辆可以直行,左转弯和右转弯,除非两一种标志禁止某一种转向。左右转弯车辆必需让合法的正在路口内行驶的车辆和过人行横线的行人优先通行。红灯是禁行信号灯,面对红灯的车辆必需在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已经十分接近停车线而不能安全停车的可以进入交叉路口! 二概要设计 2.1 设计思路 利用单片机实现交通灯的控制,该任务分以下几个方面: a 实现红、绿、黄灯的循环控制。要实现此功能需要表示三种不同颜色的LED灯分别接在P1个管脚,用软件实现。 b 用数码管显示倒计时。可以利用动态显示或静态显示,串行并出或者并行并出实现。 C 实现急通车。这需要人工实现,编程时利用到中断才能带到目的,只要有按钮按下,那么四个方向全部显示红灯,禁止以诶车辆通行。当情况解除,让时间回到只能隔断处继续进行。 2.2总体设计框图 见图一:

_基于某51单片机地交通灯设计

合肥通用职业技术学院 毕业论文 题目:基于单片机的交通灯设计 系别:信息管理工程系 专业:电气自动化技术 学制:三年 姓名:王泰 学号: 06130135 指导教师:支忠山 二O 一六年六月二十一日

当今时代是一个自动化时代,交通灯控制等很多行业的设备都与计算切相关。因此,一个好的交通灯控制系统,将给道路拥挤等方面给予技术革新。 本文主要介绍了一个基于80C51单片机的交通灯控制系统,详细描述了利用80C51开发交通灯控制系统的过程,重点对硬件设计、软件编程、调试分析以及各模块系统流程进行了详细分析,对各部分的电路也一一进行了介绍。本系统由80C51单片机、键盘、交通灯演示组成,。该系统可以方便的实现交通灯控制。该系统结构简单,可靠性高,修改程序简单(方便加入或改变功能),有较好的应用前景。 关键词:交通控制,单片机,80C51,

摘要 (1) 1 绪论 (4) 1.1课题研究的背景以及意义 (4) 1.2当前的研究现状 (4) 1.3本文的主要工作和难点 (4) 2 道路交通灯的总体系统的设计方案 (6) 2.1 总体设计方案 (6) 2.1.1系统机构总框架 (6) 2.1.2交通管理的方案论证 (6) 2.1.3 控制电路框图 (6) 2.2电路的工作原理 (6) 2.3 本章小结 (6) 3 硬件设计 (9) 3.1MCS-51单片机介绍 (9) 3.1.1简介 (9) 3.1.2 管脚说明 (12) 3.1.3 时钟脉冲电路 (14) 3.1.4复位电路 (14) 3.1.5电源电路 (14) 3.2硬件原理图 (15) 3.3 本章小结 (15) 4 软件设计 (17) 4.1 主程序设计 (17) 4.1.1 主程序流程图 (17) 4.2 初始化程序 (17) 4.3 延时程序 (17) 4.4 源程序 (17) 4.6 本章小结 (18) 5结论与展望 (19) 5.1 结论 (19) 5.2 展望 (19) 致 (20)

基于-51单片机控制交通灯课程设计报告

基于51单片机控制交通灯课程设计报告 本设计课程使用STC89c52型号的芯片及相关元器件自己组装单片机最小系统,并编写程序用于控制交通信号灯。 1.STC89c52的芯片元器件的说明: STC89c52置8位中央处理单元、256字节部数据存储器RAM、8k片程序存储器(ROM)32个双向输入/输出(I/O)口、3个16位定时/计数器和5个两级中断结构,一个全双工串行通信口,片时钟振荡电路。此外,STC89c52还可工作于低功耗模式,可通过两种软件选择空闲和掉电模式。在空闲模式下冻结CPU而RAM定时器、串行口和 中断系统维持其功能。掉 电模式下,保存RAM数 据,时钟振荡停止,同时 停止芯片其它功能,STC89c52在众多嵌入式控制应用系统中得到广泛应用。 2.STC89c52的功能是: ·标准MCS-51核和指令系统·片8kROM(可扩充64kB外部存储器) · 32个双向I/O口· 256x8bit部RAM(可扩充64kB外部存储器) · 3个16位可编程定时/计数器·时钟频率3.5-12/24/33MHz ·向上或向下定时计数器·改进型快速编程脉冲算法 · 6个中断源· 5.0V工作电压 ·全双工串行通信口·布尔处理器 —帧错误侦测· 4层优先级中断结构 —自动地址识别·兼容TTL和CMOS逻辑电平 ·空闲和掉电节省模式· PDIP(40)和PLCC(44)封装形式

3.管脚说明 VCC:供电电压。GND:接地。 P0口:P0口为一个8位漏级开路双 向I/O口,每脚可吸收8TTL门电流。当 P1口的管脚第一次写1时,被定义为高 阻输入。P0能够用于外部程序数据存储 器,它可以被定义为数据/地址的第八位。 在FIASH编程时,P0 口作为原码输入口, 当FIASH进行校验时,P0输出原码,此时 P0外部必须被拉高。 P1口:P1口是一个部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带部上拉电阻的双向I/O口,可接收输出4个TTL

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

简易智能交通灯设计 1、设计背景 自从1886两个德国人发明了第一辆汽车交通灯改变了交通路况,交通问题也渐渐被人们所重视。从英国伦敦街头的第一个以燃煤气为光源的红,蓝两色的机械扳手式信号灯,到现在以电为光源的红黄绿三色交通灯,不知不觉中交通信号灯在人们日常生活中占据了重要地位。随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。 近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。本次课程设计以模拟交通灯系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。在一定程度上解决了交通路口堵塞、车辆停车,特殊情况的交通灯等待时间不合理、急车强通等问题。在该次的设计系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。 本模拟系统由单片机软件系统,两位8段数码管和LED灯显示系统。和复位电路控制电路等组成,较好的模拟了对交通路面的控制。 1.1 设计思路 (1)分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出自己的交通控制的初步方案。 (2)确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还增加了倒计时显示提示,并基于实际情况,又增加了紧急状况处理和通行时间可调这两项特特殊功能。 (3)进行倒计时显示电路,灯状态电路,特殊情况按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。 (4)进行软件系统的设计和仿真中,程序在KEIL软件中用单片机c语言编写,电路的搭建和仿真实现是在proteus软件中实现的。在本次课程设计中通过对单片机内部结构和工作情况做了一定的研究,充分了解定时器,中断以及延时原理,为本次智能交通灯的设计提供了理论基础。

51单片机交通灯程序设计

单片机控制交通灯设计方案 一、单片机设计交通灯的设计要求: 状态一:南北绿灯亮,东西红灯亮,南北人行道绿灯,东西人行道红灯,南北左拐绿灯,东西左拐红灯。(时间为15S) 状态二:南北黄灯亮,东西红灯亮,南北人行道绿灯,东西人行道红灯,南北左拐绿灯,东西左拐红灯。(时间为5S) 状态三:南北红灯亮,东西绿灯亮,南北人行道红灯,东西人行道绿灯,南北左拐红灯,东西左拐绿灯。(时间为15S) 状态四:南北红灯亮,东西黄灯亮,南北人行道红灯,东西人行道绿灯,南北左拐红灯,东西左拐绿灯。(时间为5S) 二、设计原理分析 1、首先了解实际交通灯的变化情况和规律。假设一个十字路口如上图所以, 为东南西北走向。初始状态0:为东西绿灯亮,南北红灯亮;然后转状态1:东西绿灯亮黄灯亮,南北红灯亮黄灯亮;过后转状态2:东西红灯亮,南北绿灯亮;再转状态3:东西红灯亮黄灯亮,南北绿灯亮黄灯亮。一段时间后,又循环至状态0。中间可通过中断按钮产生中断,跳入中断程序执行中断。2、对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以只要用两组就行了,因此,采用单片机内部的I/O口上的P1口中的6个引脚即可来控制6个信号灯。 3、通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。 4、通过延时时间送显,可以在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。

5.通过脉冲中断编写中断程序,可实现中断。 三、设计的仿真图如下; 其接法为:P0接数码管的端选段, P1接数码管的位选端, P2接交通灯,接法如下: P20,P21,P22,分别接南北向的红黄绿灯, P23接南北左拐绿灯, P24,P25,P26,分别接东西向的红黄绿灯, P27接东西左拐红灯 东西人行到红绿灯和南北红绿灯接到一起 南北人行到红绿灯和东西红绿灯接到一起 四、AT89C51的KILL程序 #include "reg51.h" #define uchar unsigned char #define uint unsigned int uchar code wei[]={0x01,0x02,0x04,0x08}; //位码选择 uchar code duan[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//段码选择 uchar table[4]={0,0,0,0};//四位为选端赋值区间

相关文档
最新文档