单片机——信号交通灯说明书_第1页
单片机——信号交通灯说明书_第2页
单片机——信号交通灯说明书_第3页
单片机——信号交通灯说明书_第4页
单片机——信号交通灯说明书_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、装订线长 春 大 学 课程设计纸基于51单片机的交通灯控制系统摘要 近年来随着单片机芯片的发展,单片机在各个领域的应用越来越多,单片机往往作为一个核心部件来使用,在实时检测和自动控制的单片机应用系统中,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。本系统采用STC89C51单片机以及单片机最小系统和三极管驱动电路以及外围的按键和数码管显示等部件,设计一个基于51单片机的交通灯设计。设计通过两位一体共阴极数码管显示,并能通过按键对

2、定时进行设置。本系统实用性强、操作简单、扩展功能强。设计通过STC89C51单片机以及单片机最小系统和74HC245驱动数码管以及外围的按键和数码管显示等部件,数码管倒计时显示时间。关键词 单片机;74HC245;交通信号灯The traffic light control system based on 51 single chip microcomputerAbstract In recent years, with the development of single-chip microcomputer, single-chip computer application in all f

3、ields, more and more single chip microcomputer often as a core component to use, in real-time detection and automatic control of microcomputer application system, only single chip microcomputer aspects knowledge is not enough, still should according to the specific combination of hardware and softwa

4、re, hardware structure, perfected.Crossroads transports, bustling, bike lanes, pedestrian footbridge humanitarian, in an orderly way. So what to do this in order? Rely on is the automatic command system of traffic lights. A lot of traffic signal lamp control way. This system adopts the STC89C51 micr

5、ocontroller and the single chip microcomputer minimum system and transistor drive circuit and peripheral keys and digital tube display components, such as design a traffic light ? based on 51 single chip microcomputer. Key Words Singlechip;74HC245;Traffic lights目 录第1章绪论1第2章系统设计要求3第3章系统设计43.1 系统设计总体框

6、图43.2 各模块原理说明43.2.1 最小系统STC89C51模块43.2.2 74HC245芯片模块53.2.3 显示模块功能63.2.4 控制按钮模块63.3 系统总原理图说明73.4 系统的操作说明73.5 系统操作注意事项7参考文献8附录10附录一.电路总原理图10附录二.源程序11III装订线长 春 大 学 课程设计纸第1章 绪论单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的机种。单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。由于我国经济的快速发展从而导致了汽车数量的猛增,大中型城市的城市交通,正面临着严峻的考验,从而导致交通问题日益严重,其主要表

7、现如下:交通事故频发,对人类生命安全造成极大威胁;交通拥堵严重,导致出行时间增加,能源消耗加大;空气污染和噪声污染程度日益加深等。日常的交通堵塞成为人们司空见惯而又不得不忍受的问题,在这种背景下,结合我国城市道路交通的实际情况,开发出真正适合我们自身特点的智能信号灯控制系统已经成为当前的主要任务。随着电子技术的发展,利用单片机技术对交通灯进行智能化管理,已成为目前广泛采用的方法。第2章 系统设计要求 1.用单片机STC89C51设计一个交通灯系统,并用数码管显示时间,LED指示通行。2、用74HC245来驱动4个数码管,使数码管在白天也能清晰可见。3.按键功能:黄灯常亮(深夜模式)、禁行(紧急

8、模式)、东西通行、南北通行、确定、时间加、时间减、切换。4.用12MHz的晶振频率产生时钟信号。5.使用共阴极八段数码管显示时间。4.电路供电电源5V。5.初始东西绿灯亮,南北红灯亮,东西方向通车。 6.延时25s,东西路口绿灯熄灭,黄灯闪烁3次。 7.黄灯闪烁后,东西路口红灯亮同时南北路口绿灯亮,南北方向开始通车。8.延时35s,南北方向绿灯灭,黄灯闪烁3次,然后又切换成东西方向通车,如此重复。 9.当发生交通意外(中断产生)时,全部亮红灯,进行交通事故的处理。当事故处理完毕(再次按中断键),重新按上述方式工作。 10.当南北路口的流量大时,可以增加南

9、北路口亮绿灯的时间,当东西路口的流量大时,可以增加东西路口亮绿灯的时间,结束后调回正常状态。第3章 系统设计3.1 系统设计总体框图 STC89C51单片机红黄绿信号灯8段LED数码管复位电路最小系统外围接口按键控制驱动显示 单片机 图3-1系统设计总体框图3.2 各模块原理说明3.2.1 最小系统STC89C51模块STC89C51是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用STC公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Fl

10、ash存储单元,STC89C51单片机在电子行业中有着广泛的应用。STC89C51主要管脚说明:VCC(40脚):供电电压 GND(20脚):接地 RST:复位输入。/EA/VPP(31脚):当/EA为低电平时,不管是否有内部程序存储器,只选用片外存储器,外部程序存储器地址为:0000H-FFFFH。反之当单片机上电或复位后选用片内程序存储器。XTAL1(19脚):反向振荡放大器的输入及内部时钟工作电路的输入。XTAL2(18脚):来自反向振荡器的输出。单片机最小系统采用5V电源供电,利用晶振电路给单片机工作运行提供脉冲。图3-2 最小系统3.2.2 74HC245芯片模块 74HC245是一

11、款高速CMOS器件,74HC245引脚兼容低功耗肖特基TTL(LSTTL)系列。 74HC245八路收发器在发送和接收两个方向上都具有正相三态总线兼容输出。74HC245的输出使能端用于实现轻松级联,而发送/接收端(DIR)用于控制方向。控制输出,使得总线被有效的隔离输出。 图3-3 74HC245芯片引脚图3.2.3 显示模块功能显示模块分别用数码管显示和LED显示,数码管倒计时显示可以提醒驾驶员在信号灯颜色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。倒计时显示是用来减少驾驶员在信号灯色改变

12、的关键时刻做出复杂判断的一种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择 。通过两种显示结合,是本设计更合理可靠。如下图3-4所示。图3-4 显示模块功能图3.2.4 控制按钮模块 本系统要求的按键控制不多,单片机的I/0口足够,可直接采用独立式。按键可以设置系统的运行状态,禁行状态为数码管均显示“00”,红灯全亮;复位按键可以将整个系统复位;时间加减可以设置通行和等待通行的时间;切换按键可以切换加减的方向时间。通过按键模块的控制,使得整个系统具有灵活性,实用性。如下图3-5所示。图3-5 控制按钮模块3.3 系统总原理图说明当接通5v电源后,按

13、下电源开关,南北方向数码管显示“25”。数码管开始倒计时,到5秒的时候,将切换红绿黄灯。系统总原理图见附1。按键1复位、按键2黄灯常亮(深夜模式)、按键3 红灯常亮(紧急模式)、按键4东西通行、按键5南北通行、按键6确定、按键7时间加、按键8时间减、按键9切换。3.4 系统的操作说明1.接好电路中的电源供电线。2.检查好电路板中没有短路现象、电源供电线都接好后通电使用。3.电路安装好后,通电即可正常使用。3.5系统操作注意事项1.通电使用前先对照电路板与电路图是否有错焊、漏焊、短路、开路、元器件相碰等现象,有要处理好后再使用。2.通电使用前先检查好电路板是否与电源供电线、驱动电路开关与负载供电

14、线、负载供电线之间相互接反,不得在接错的情况下通电,要处理好后再使用。3. 应把电极片与电路板隔离,避免电极片与电路板上元器件相碰触发生短路现象。4. 通电时应把电路板放在绝缘物体上,避开其他导电物体避免发生短路现象。 5. 使用时闻到烧焦味、发现元器件或集成块冒烟烧毁应立即断开电源,待电路板查明原因处理好后才可以继续通电使用。6. 调试电路时应小心操作,避免万用表笔或其它导电工具造成人为短路,更换电路板元件、焊接时应断开电源后再操作避免造成元器件击穿或电路短路现象。参考文献1 李建忠.单片机原理及应用M.西安电子科技大学出版社,20082 张毅刚. 单片机原理及接口技术.哈尔滨:哈尔滨工业大

15、学出版社,19993 徐爱钧.8051单片机实践教程M.北京电子工业出版社,20054 楼然苗,李光飞.51系列单片机设计实例M.北京航空航天大学出版社,20065 陈小忠,黄宁.单片机接口技术实用子程序M,北京:北京人民邮电出版社,20056 全国大学生电子设计竞赛组委会.北京:北京理工大学出版社,2004年8月. 7 韩全立.赵德申编著.微机控制技术M.北京:机械工业出版社,2008 8 王守中,聂元铭. 51单片机开发入门与典型实例M.北京:人民邮电出版社,2009附录附录一:电路总原理图附录二:源程序代码#include <reg51.h>/头文件#define uchar

16、 unsigned char#define uint unsigned int/宏定义uchar data buf4;/秒显示的变量uchar data sec_dx=20; /东西数默认uchar data sec_nb=30;/南北默认值uchar data set_timedx=20;/设置东西方向的时间uchar data set_timenb=30;/设置南北方向的时间int n;uchar data countt0,countt1;/定时器0中断次数/定义6组开关sbit k4=P37; /切换方向sbit k1=P35;/时间加sbit k2=P36;/时间减sbit k3=P3

17、4;/确认sbit k5=P31;/禁止sbit k6=P15;/夜间模式sbit Red_nb=P26;/南北红灯标志sbit Yellow_nb=P25;/南北黄灯标志sbit Green_nb=P24; /南北绿灯标志sbit Red_dx=P23;/东西红灯标志sbit Yellow_dx=P22;/东西黄灯标志sbit Green_dx=P21;/东西绿灯标志bit set=0;/调时方向切换键标志 =1时,南北,=0时,东西bit dx_nb=0;/东西南北控制位bit shanruo=0;/闪烁标志位bit yejian=0;/夜间黄灯闪烁标志位uchar code table1

18、1=/共阴极字型码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(); /开机LOGOvoid Buzzer();/主程序void main()TMOD=0X11; /定时器

19、设置TH1=0X3C;TL1=0XB0;TH0=0X3C;/定时器0置初值 0.05STL0=0XB0;EA=1;/开总中断ET0=1;/定时器0中断开启ET1=1; /定时器1中断开启TR0=1;/启动定时0TR1=0; /关闭定时1EX0=1;/开外部中断0EX1=1;/开外部中断1 logo();/开机初始化P2=0Xc3;/ 开始默认状态,东西绿灯,南北黄灯 sec_nb=sec_dx+5; /默认南北通行时间比东西多5秒while(1) /主循环 key(); /调用按键扫描程序display(); /调用显示程序/函数的定义部分void key(void)/按键扫描子程序 if(k

20、1!=1)/当K1(时间加)按下时display(); /调用显示,用于延时消抖if(k1!=1)/如果确定按下 TR0=0; /关定时器shanruo=0;/闪烁标志位关P2=0x00;/灭显示TR1=0;/启动定时1if(set=0)/设置键按下set_timedx+; /南北加1Selseset_timenb+; /东西加1Sif(set_timenb=100)set_timenb=1;if(set_timedx=100)set_timedx=1; /加到100置1sec_nb=set_timenb ; /设置的数值赋给东西南北sec_dx=set_timedx; do display(

21、); /调用显示,用于延时while(k1!=1); /等待按键释放if(k2!=1)/当K2(时间减)按键按下时display(); /调用显示,用于延时消抖 if(k2!=1)/如果确定按下 TR0=0; /关定时器0shanruo=0;/闪烁标志位关P2=0x00;/灭显示TR1=0;/关定时器1if(set=0)set_timedx-; /南北减1Selseset_timenb-; /东西减1Sif(set_timenb=0)set_timenb=99;if(set_timedx=0 )set_timedx=99; /减到1重置99sec_nb=set_timenb ; /设置的数值赋

22、给东西南北sec_dx=set_timedx; do display(); /调用显示,用于延时while(k2!=1); /等待按键释放if(k3!=1)/当K3(确认)键按下时display(); /调用显示,用于延时消抖if(k3!=1)/如果确定按下TR0=1; /启动定时器0sec_nb=set_timenb;/从中断回复,仍显示设置过的数值sec_dx=set_timedx;/显示设置过的时间TR1=0;/关定时器1if(set=0)/时间倒时到0时 P2=0X00; /灭显示Green_dx=1;/东西绿灯亮Red_nb=1;/南北红灯亮sec_nb=sec_dx+5; /回到初

23、值else P2=0x00;/南北绿灯,东西红灯Green_nb=1;Red_dx=1;sec_dx=sec_nb+5; if(k4!=1)/当K4(切换)键按下 display(); /调用显示,用于延时消抖if(k4!=1)/如果确定按下 TR0=0;/关定时器0set=!set;/取反set标志位,以切换调节方向TR1=0;/关定时器1dx_nb=set;dodisplay(); /调用显示,用于延时while(k4!=1); /等待按键释放if(k5!=1)/当K5(禁止)键按下时 display(); /调用显示,用于延时消抖 if(k5!=1)/如果确定按下 TR0=0;/关定时器

24、P2=0x00;/灭显示Red_dx=1;Red_nb=1;/全部置红灯TR1=0;sec_dx=00;/四个方向的时间都为00sec_nb=00;dodisplay(); /调用显示,用于延时while(k5!=1);/等待按键释放 if(k6!=1)/当K6(夜间模式)按下 display(); /调用显示,用于延时消抖 if(k6!=1)/如果确定按下 TR0=0;/关定时器P2=0x00;TR1=1;sec_dx=00;/四个方向的时间都为00sec_nb=00;dodisplay(); /调用显示,用于延时while(k6!=1);/等待按键释放 void display(void)

25、 /显示子程序buf1=sec_nb/10; /第1位 东西秒十位buf2=sec_nb%10; /第2位 东西秒个位buf3=sec_dx/10; /第3位 南北秒十位buf0=sec_dx%10; /第4位 南北秒个位P1=0xff; / 初始灯为灭的P0=0x00; /灭显示P1=0xfe; /片选LED1P0=tablebuf1;/送东西时间十位的数码管编码delay(1);/延时P1=0xff;/关显示P0=0x00;/灭显示 P1=0xfd; /片选LED2P0=tablebuf2; /送东西时间个位的数码管编码delay(1); /延时P1=0xff;/关显示P0=0x00;/关

26、显示P1=0Xfb; /片选LED3P0=tablebuf3;/送南北时间十位的数码管编码delay(1);/延时P1=0xff; /关显示P0=0x00; /关显示P1=0Xf7; /片选LED4P0=tablebuf0;/送南北时间个位的数码管编码delay(1);/延时void time0(void) interrupt 1 using 1 /定时中断子程序TH0=0X3C;/重赋初值TL0=0XB0;/12m晶振50ms/重赋初值TR0=1;/重新启动定时器countt0+;/软件计数加1if(countt0=10)/加到10也就是半秒if(sec_nb<=5)&&

27、;(dx_nb=0)&&(shanruo=1) /东西黄灯闪 Green_dx=0;Yellow_dx=0; if(sec_dx<=5)&&(dx_nb=1)&&(shanruo=1) /南北黄灯闪 Green_nb=0;Yellow_nb=0;if(countt0=20) / 定时器中断次数=20时(即1秒时)countt0=0;/清零计数器sec_dx-;/东西时间减1sec_nb-;/南北时间减1if(sec_nb<=5)&&(dx_nb=0)&&(shanruo=1) /东西黄灯闪 Green_

28、dx=0;Yellow_dx=1; if(sec_dx<=5)&&(dx_nb=1)&&(shanruo=1) /南北黄灯闪 Green_nb=0;Yellow_nb=1; if(sec_dx=0&&sec_nb=5) /当东西倒计时到0时,重置5秒,用于黄灯闪烁时间 sec_dx=5;shanruo=1;if(sec_nb=0&&sec_dx=5)/当南北倒计时到0时,重置5秒,用于黄灯闪烁时间 sec_nb=5;shanruo=1;if(dx_nb=0&&sec_nb=0)/当黄灯闪烁时间倒计时到0时,P2=0x00;/重置东西南背方向的红绿灯Green_nb=1;Red_dx=1;dx_nb=!dx_nb;shanruo=0;sec_nb=set_timenb;/重赋南北方向的起始值sec_dx=set_timenb+5;/重赋东西方向的起始值if(dx_nb=1&&sec_dx=0)/当黄灯闪烁时间到P2=0X00;/重置东西南北的红绿灯状态Green_dx=1; /东西绿灯亮Red_nb=1; /南北红灯

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论