




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于51单片机的交通灯控制 实验报告摘 要:近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用STC-51系列单片机STC89C51来设计交通灯控制器,实现了能根据实际车流量通过8051芯片的P1口设置红、绿灯燃亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警
2、示(交通灯信号通过PA口输出,显示时间直接通过8255的PC口输出至双位数码管);车辆闯红灯报警;绿灯时间可检测车流量并可通过双位数码管显示。本系统实用性强、操作简单、扩展功能强。 关键词:单片机 交通灯 电路连接图 Proteus仿真图一 引言当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车
3、辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。二单片机概述1单片机的历史自1971年美国INTEL公司制造出第一块4位微处理器以来,其发展十分迅猛,到目前为止,大致可分为以下五个阶段1。(1)4位单片机(19711974)(2)低档8位单片机(19741978)(3)高档8位单片机(19781982)(4)16位单片机(19821990)(5)新一代单片机(90年代以来)2单片机的应用因单片机具有体积小、重量轻、价格便宜、功耗低、控制功能强及运算速度快等特点,故在国民经济建设、军事及家用电器等领域均得到广泛
4、的应用。按照单片机的特点,单片机可分为单机应用和多机应用。在一个应用系统中,只用一个单片机,这是目前应用最多的方式,主要应用领域有:(1)单机应用:测控系统。用单片机可构成各种工业控制系统、自适应系统、数据采集系统等。例如,温室人工气候控制、水闸自动控制、电镀生产线自动控制、汽轮机电液调节系统、车辆检测系统、机器人轴处理器等2。智能仪表。用单片机改造原有的测量、控制仪表,能迥数字化、智能化、多功能化、综合化、柔性化发展。如温度、压力、流量、浓度等的测量、显示及仪表控制。通过采用单片机软件编程技术,使测量仪表中长期存在的误差修正、线性化处理等难题迎刃而解。机电一体化产品。单片机与传统的机械产品结
5、合,使传统机械产品结构简化,控制智能化。这类产品如:简易数控机床,电脑绣花机,医疗器械等。智能接口。在计算机控制系统(特别是较大型的工业测控系统)中,普遍采用单片机进行接口的控制与管理,因单片机与主机是并行工作,故能大大提高了系统的运行速度。例如:在大型数据采集系统中,用单片机对ADC接口进行控制不仅可提高采集速度,而且还能对数据进行预处理,如数字滤波、线性化处理、误差修正等。智能民用产品。在家用电器、玩具、游戏机、声像设备、电子秤、收银机、办公设备、厨房设备等产品中引入单片机,不仅使产品的功能大大增强,而且获得了良好的使用效果。三 芯片简介1 .STC-51芯片简介STC-51单片机内部结构
6、,8051是STC-51系列单片机的典型产品,我们以这一代表性的机型进行系统的讲解。8051单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:中央处理器:中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。数据存储器(RAM) 8051内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能
7、用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。程序存储器(ROM):8051共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。定时/计数器(ROM):8051有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。并行输入输出(I/O)口:8051共有4组8位I/O口(P0、 P1、P2或P3),用于对外部数据的传输。全双工串行口:8051内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。中断
8、系统:8051具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。时钟电路:8051内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。单片机的结构有两种类型,一种是程序存储器和数据存储器分开的形式,即哈佛(Harvard)结构,另一种是采用通用计算机广泛使用的程序存储器与数据存储器合二为一的结构,即普林斯顿(Princeton)结构。INTEL的STC-51系列单片机采用的是哈佛结构的形式,而后续产品16位的MCS-96系列单片机则采用普林斯顿结构。STC-51的引脚说明:S
9、TC-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:STC-51的引脚说明:STC-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。现在我们对这些引脚的功能加以说明:Pin9:RESET/Vpd复位信号复用脚,当8051
10、通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8051的初始态。8051的复位方式可以是自动复位,也可以是手动复位,见下图4。此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存
11、地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超
12、过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。在编程时,EA/Vpp脚还需加上21V的编程电压。四.系 统 硬 件设 计.1交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行。黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。设东西道比南北道的车流量大,指示灯燃亮的方案如表2。60S5S55S5S东西道红灯亮黄灯亮绿灯亮黄灯亮南北道绿灯亮黄灯亮红灯亮黄灯亮 表2表2说
13、明:(1)当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。时间为60秒。(2)黄灯闪烁5秒,警示车辆和行人红、绿灯的状态即将切换。 (3)当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。时间为55秒。 东西方向车流大 通行时间长。(4)这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。(5)此表可根据车流量动态设定红绿灯初始值。2.系统硬件设计STC89C51芯片一个,12M晶振一个,1K排阻2个,10K电阻一个,10uF电解电容一个,22uF电容2个,红黄绿二极管各四个,控制开关7个,
14、数码管2个,电源输入接口一个,数据线一根,导线若干。3 交通灯硬件线路图 4. 焊接电路图5.Proteus仿真图1.程序仿真前2.程序仿真过程中(1)正常运行(2)黄灯亮(3)禁止通行六程序源代码#include <reg51.h>#define uchar unsigned char#define uint unsigned intuchar data buf4;uchar data sec_dx=20;/东西数默认uchar data sec_nb=30;/南北默认值uchar data set_timedx=20;uchar data set_timenb=30;int n
15、;uchar data countt0;/定时器0中断次数/定义5组开关sbit k4=P37; /切换方向sbit k1=P35;/时间加sbit k2=P36;/时间减sbit k3=P34;/确认sbit k5=P31;/禁止/ P32/只允许东西方向通行,中断0/ P33/只允许南北方向通行,中断1sbit Red_nb=P25;/南北黄灯标志sbit Red_dx=P22;/东西黄灯标志sbit Green_nb=P24; /南北绿灯标志sbit Green_dx=P21;/东西绿灯标志sbit Buzz=P30;bit Buzzer_Indicate;bit time=0;/灯状态
16、循环标志bit set=1;/调时方向切换键标志uchar code table11=/共阴极字型码0x3f, /-00x06, /-10x5b, /-20x4f, /-30x66, /-40x6d, /-50x7d, /-60x07, /-70x7f, /-80x6f, /-90x00 /-NULL;/函数的声明部分void delay(int ms);/延时子程序void key();/按键扫描子程序void key_to1();/键处理子程序void key_to2();void key_to3();void display();/显示子程序void logo(); /开机LOGOvoi
17、d Buzzer();/主程序void main()TMOD=0X11; /定时器设置TH0=0X3C;/定时器0置初值 0.05STL0=0XB0;EA=1;/开总中断ET0=1;/定时器0中断开启TR0=1;/启动定时0EX0=1;/开外部中断0EX1=1;/开外部中断1 logo();P2=0Xc3;/ 开始默认状态,东西绿灯,南北黄灯 sec_nb=sec_dx+5; /默认南北通行时间比东西多5秒while(1) key(); /调用按键扫描程序display(); /调用显示程序Buzzer();/函数的定义部分void key()/按键扫描子程序 if(k1!=1)/时间加按下时
18、delay(10);/延时消抖if(k1!=1)while(k1!=1)/当按键未弹起时,一直执行 key_to1();/调用按键1功能 for(n=0;n<40;n+)/调用40次显示,用于延时 display(); if(k2!=1)/当K2按键按下时delay(10);/延时消抖if(k2!=1)while(k2!=1)/按键按下未弹起时一直执行 key_to2();/调用key2功能 for(n=0;n<40;n+)/调用40次显示,用于延时 display();if(k3!=1)/当K3(确认)键按下时TR0=1; /启动定时器Buzzer_Indicate=0;sec_
19、nb=set_timenb;/从中断回复,仍显示设置过的数值sec_dx=set_timedx;/显示设置过的时间if(set=1)/时间倒时到0时 P2=0X99;/东西红灯,南北绿灯sec_nb=sec_dx+5; /回到初值else P2=0xC3;/东西绿灯,南北红灯sec_dx=sec_nb+5; if(k4!=1)/当K4(切换)键按下 delay(5);/延时消抖if(k4!=1) while(k4!=1);set=!set;/取反set标志位,以切换调节方向 if(k5!=1)/当K5(禁止)键按下时 delay(5);/延时消抖 if(k5!=1) while(k5!=1)
20、key_to3(); void display() /显示子程序buf1=sec_dx/10; /第1位 东西秒十位buf2=sec_dx%10; /第2位 东西秒个位buf3=sec_nb/10; /第3位 南北秒十位buf0=sec_nb%10; /第4位 南北秒个位 P1=0xff; / 初始灯为灭的 P0=0x00; P1=0xfe; /片选LED1 P0=tablebuf1;/送东西时间十位的数码管编码delay(1);/延时 P1=0xff;/关显示 P0=0x00; P1=0xfd; /片选LED2 P0=tablebuf2; delay(1); P1=0xff; P0=0x00
21、; P1=0Xfb; /片选LED3P0=tablebuf3; delay(1);P1=0xff; P0=0x00;P1=0Xf7;P0=tablebuf0;/片选LED4 delay(1);void time0(void) interrupt 1 using 1 /定时中断子程序TH0=0X3C;/重赋初值TL0=0XB0;TR0=1;/重新启动定时器countt0+;/软件计数加1if(countt0=20) / 定时器中断次数=20时(即1秒时)countt0=0;/清零计数器sec_dx-;/东西时间减1sec_nb-;/南北时间减1if(sec_nb<=5&&t
22、ime=0) /东西黄灯闪 Green_dx=0;Red_dx=!Red_dx; if(sec_dx<=5&&time=1) /南北黄灯闪 Green_nb=0;Red_nb=!Red_nb; if(sec_dx=0&&sec_nb=5) /当东西倒计时到0时,重置5秒,用于黄灯闪烁时间sec_dx=5;if(sec_nb=0&&sec_dx=5)/当南北倒计时到0时,重置5秒,用于黄灯闪烁时间sec_nb=5;if(time=0&&sec_nb=0)/当黄灯闪烁时间倒计时到0时, P2=0x99;/重置东西南背方向的红绿灯
23、time=!time;sec_nb=set_timenb;/重赋南北方向的起始值sec_dx=set_timenb+5;/重赋东西方向的起始值if(time=1&&sec_dx=0)/当黄灯闪烁时间到P2=0Xc3;/重置东西南北的红绿灯状态time=!time;sec_dx=set_timedx;/重赋东西方向的起始值sec_nb=set_timedx+5;/重赋南北方向的起始值void key_to1()/键盘处理子程序之+TR0=0; /关定时器if(set=0)set_timenb+; /南北加1Selseset_timedx+; /东西加1Sif(set_timenb
24、=100)set_timenb=1;if(set_timedx=100)set_timedx=1; /加到100置1sec_nb=set_timenb ; /设置的数值赋给东西南北sec_dx=set_timedx;/void key_to2() /键盘处理子程序之-TR0=0; /关定时器if(set=0)set_timenb-; /南北减1Selseset_timedx-; /东西减1Sif(set_timenb=0)set_timenb=99;if(set_timedx=0 )set_timedx=99; /减到1重置99sec_nb=set_timenb ; /设置的数值赋给东西南北s
25、ec_dx=set_timedx;void key_to3() /键盘处理之紧急车通行 TR0=0;/关定时器 P2=0Xc9;/全部置红灯 sec_dx=00;/四个方向的时间都为00 sec_nb=00; Buzzer_Indicate=1;/外部中断0void int0(void) interrupt 0 using 1 /只允许东西通行TR0=0;/关定时器P2=0Xc3;/东西方向置绿灯Buzzer_Indicate=0;sec_dx=00;/四个方向的时间都为00sec_nb=00;/外部中断1void int1(void) interrupt 2 using 1 /只允许南北通行 TR
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卖房合同协议书样本
- 印章刻制服务合同
- 劳资双方煤矿租赁合同
- 2025年松土器操纵阀行业深度研究分析报告
- 2025-2030年中国电脑螺旋式横切机行业深度研究分析报告
- 农业合作社租赁合同细则
- 战略合作合同三方协议书
- 建筑勘察设计合同样本专业版
- 游泳池使用权合同转让协议书范本
- 2025-2030年中国大棚卷帘机行业深度研究分析报告
- 向云端二声部五线正谱
- DC-DC反激变压器计算
- 简约宝贝成长档案 儿童成长手册A4版【空白可编辑内容】
- 运用PDCA血透室导管感染率
- 移动机器人SLAM技术 课件 【ch04】移动机器人定位
- GB/T 24804-2023提高在用电梯安全性的规范
- 人教版PEP五年级英语上册全册课件
- 《田忌赛马》数学课件
- After Effects影视特效设计教程PPT完整全套教学课件
- Codesys中文编程手册
- 教育系统后备干部笔试试题及参考答案
评论
0/150
提交评论