基于单片机的交通灯设计_第1页
基于单片机的交通灯设计_第2页
基于单片机的交通灯设计_第3页
基于单片机的交通灯设计_第4页
基于单片机的交通灯设计_第5页
免费预览已结束,剩余4页可下载查看

下载本文档

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

文档简介

1、郑州航空工业管理学院单片机课程设计说明书2014 级专业班级题 目学号姓名指导教师二O六年十二月十五日交通灯 的基本原理单片机微型计算机是微型计算机的一个重要分支,也是颇具生命力的 机种。 单片机微型计算机简称单片机, 特别适用于控制领域, 故又称为微控制 器。单片机由单块集成电路芯片构成, 内部包含有计算机的基本功能部件: 中 央处理器、 存储器和 I/O 接口电路等。 因此,单片机只需要和适当的软件及外 部设备相结合,便可成为一个单片机控制系统。近年来随着科技的飞速发展, 单片机的应用正在不断地走向深入。 在实时检测和自动控制的单片机应用系统 中,单片机往往是作为一个核心部件来使用, 仅单

2、片机方面知识是不够的, 还 应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。交通灯是城市交通的重要指挥系统,与人们的日常生活密切相关。随 着经济的快速发展,城市中的车辆逐渐增多,交通拥堵和堵塞现象日趋严重, 引起交通事故频发等一系列问题, 因此设计一个灵活、 稳定、 便捷的多功能交 通灯控制系统具有必要性和现实性。 本次设计的意义在于通过对具体的控制 系统的设计, 掌握微机控制系统设计的一般方法和处理问题的思路, 特别是一 些常用的技术手段。 在实践设计过程中, 积累设计经验, 开拓思维空间, 全面 提高个人的综合能力。本系统由单片机硬/软件系统,8位8段数码管和LED灯显示

3、系统。和电 路控制电路等组成,较好的模拟了交通路面的控制。倒计时电路主要是由双位共阴数码管和 74HC573N驱动模块组成,控制 信号通过单片机的端口 P1 口进行信号的传输。倒计时电路负责的是显示红绿 灯持续显示的时间。 当绿灯或者红灯持续显示时, 数码管显示该状态的持续时 间,在黄灯闪烁显示时,起到倒计时秒数的作用。红绿灯功能电路主要是由各色的发光二极管和 74HC573N!动模块组成, 控制信号跟数码管一样都是通过 P1 口进行传输。红绿灯电路负责的是各个车 行道和人行道通行状态的显示。系统经初始化可以开始自动运行,数码管有倒计时显示功能,即1、具有直行、左转、右转、停止四个指示灯;2、

4、指示灯有倒计时显示功能,直行 +右转 20 秒,左转 +右转 10 秒,停 止 +右转 30 秒,按此规律不断循环;3、直行和左转灯灭掉前 3 秒能够闪烁提示(每秒两次) ;4、能够调整直行、左转、停止指示灯的时间。二、交通灯的硬件设计本设计单片机主要是用于控制交通灯的演示系统, 故只需要单片机最小 系统即可完成。 此电路由单片机、 时钟电路、 电源、复位电路 4 个组成部分组 成。下图分别为单片机原理图、交通灯系统电路图。图 1 单片机系统原理图图2 交通灯系统原理图2.1 复位电路 复位方式有多种,本设计采用按键复位。接线图如图3 复位电路,在复位期间(即RST为高电平期间),P0 口为高

5、组态,P1 P3 口输出高电平; 外部程序存储器读选通信号 PSEN无效。地址锁存信号 ALE也为高电平。在设 定的定时时间内必须在 RST引脚产生一个由高到低的电平变化,以清内部定 时器.图3 复位电路图2.2 晶振电路 选取原则:传统做法,但能够实现所需,即最简单也最是实用。电容选取30pF,晶振为 12MHz图4 晶振电路图供电电路由主电源和备用电源组成。主电源主要是由变压器、6A整流桥、4 个二极管, 2 个 104pf 电容,二个电解电容以及 7805 三端稳压管组成。这 个部分为系统提供主要的供电,输出电压为5V直流。备用电源主要是由 4位原件名称数量焊接位置电源部分USB座1US

6、BUSB线1双排针(2)1CONN1跳帽2104 电容 0.1uF7C2,5,6,7,8,9,11LED灯1D1电阻2K1R2最小系统部分40针座1U1STC89C521晶振12MHz1Y1电容20pF2C3,C4复位键1SW RST:电阻10K1R1蜂鸣器1LS1 +三极管90159Q1Q9电阻3301R3键盘显示、通信部分16针座1U2MAX2321单排针(5)1UART按键16KEY1KEY16单排针(3)1SWITCH1跳帽14 位 LED2DIGILED1,2电阻4.7K8R14R21电阻3308R6R13的5号电池盒组成。这个部分在主电源断电时能够几乎瞬时的为系统提供电 源,输出电

7、压也是5V直流。该电源直接接到单片机的电源端。图5主电源和备用电源切换功能电路2.4原件清单三、交通灯的软件设计3.1交通灯程序#in elude <reg51.h>#i ncludevi ntri ns.h>#defi ne uchar un sig ned char#defi ne uint un sig ned intun sig nedcharcodeTab= 0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xbf,0xf f,0xce;sbit up=P3A1;sbit dow n=P3A2;sbit set=P

8、3A3;sbit S8 = P2A0;sbit S7 = P2A1;sbit S6 = P2A2;sbit S5 = P2A3;sbit S4 = P2A4;sbit S3 = P2A5;sbit S2 = P2A6;sbit S1 = P2A7;ucharfen dua n仁 20,fe ndua n2=10,fe ndua n3= 3;uchar times=0;uchar sec on d=0;uchar bsecond=0;uchar sss=0;uchardisData8=7,12,1,10,11,11,6,7;void keydisplay();void display();voi

9、d Delay()un sig ned char i; for(i=0;i<255;i+);void ISR_Timer0(void) in terrupt 1 _TH0=0x3c;TL0=0xb0;times+;bsecond+; times=0;void display(uchar *po int)P0= Tab*(po in t);S1 = 0;/示Delay();51 = 1;/示P0= Tab*(poi nt+1);52 = 0;/示Delay();52 = 1;/示P0= Tab*(poi nt+2);53 = 0;/示Delay();53 = 1;/示P0= Tab*(po

10、i nt+3);54 = 0;/示Delay();54 = 1;/示P0= Tab*(poi nt+4);55 = 0;/示Delay();55 = 1;/示P0= Tab*(poi nt+5);56 = 0;/示Delay();开S1显关S1显开S2显关S2显开S3显关S3显开S4显关S4显开S1显关S1显开S2显if (times = 10)56 = 1;/关 S2 显示P0= Tab*(poi nt+6);57 = 0;/开 S3显示Delay();57 = 1;/关 S3 显示P0= Tab*(poi nt+7);58 = 0;/开 S4显示Delay();S8 = 1;/关 S4 显

11、示void delayAJ(uchar a)uchar i;while(a-)for(i=0;i<125;i+);display(disData);void key()if(set=0)delayAJ(IO);/ 消抖 / 消 抖时间可根据实际情况设定if(set=O)SSS+; delayAJ(IO);while(!set) delayAJ(IO);if(sss%4=1)if(up=O) delayAJ(IO); if(up=O) fen dua n1+;if(fen dua n1=1OO)fen dua n1=O; while(!up) delayAJ(IO); if(dow n=O

12、) delayAJ(IO); if(dow n=O)fen dua n1-;if(fen dua n1=-1)fen dua n仁 99; while(!dow n) delayAJ(IO); if(sss%4=2)if(up=O) delayAJ(IO); if(up=O) fen dua n2+;if(fen dua n2=1OO) fen dua n2=O; while(!up) delayAJ(IO);if(dow n=O) delayAJ(IO); if(dow n=O)fen dua n2-;if(fen dua n2=-1)fen dua n2=99; while(!dow n)

13、 delayAJ(IO); if(sss%4=3)if(up=0) delayAJ(10); if(up=0)fen dua n3+; if(fen dua n3=100)fen dua n3=0; while(!up) delayAJ(10);if(dow n=0) delayAJ(10); if(dow n=0)fen dua n3-; if(fen dua n3=-1)fen dua n3=99; while(!dow n) delayAJ(10);void keydisplay()bsec on d=0;if(sss%4=1)disData0=11;disData2=1;disData

14、3=11;disData6=fe ndua n1/10;disData7=fe ndua n1%10;if(sss%4=2)disData0=7;disData2=11;disData3=11;disData6=fe ndua n2/10;disData7=fe ndua n2%10;if(sss%4=3)disData0=11;disData2=11;disData3=10;disData6=fe ndua n3/10; disData7=fe ndua n3%10;void xia nshi()sec on d=bsec on d/2;if(sec on d>fe ndua n1+f

15、e ndua n2+f enduan3+1)bsec on d=0;if(sec on d<=fe ndua n1)disData0=11;disData1=12;disData2=1;disData3=11;disData6=(fe ndua n1-seco nd)/10;disData7=(fe ndua n1-secon d)% 10;if(fe ndua n1-seco nd<=3)&&(bsecon d%2=0)disData0=11;disData1=11;disData2=11;disData3=11;elseif(sec on d>fe ndu

16、a n1)&&( sec on d<=fe ndua n2+fe ndua n1)disData0=7;disData1=12;disData2=11;disData3=11;disData6=(fe ndua n1+fe ndua n2 -seco nd+1)/10;disData7=(fen dua n1+fe ndua n2 -seco nd+1)%10;if(fen dua n1+fe ndua n2-sec ond+1<=3)&&(bseco nd%2=0)disData0=11;disData1=11;disData2=11;disDat

17、a3=11;elseif(sec on d>fe ndua n2+fe ndua n1)&&(s econ d<=fe ndua n2+fe ndua n1+fe ndua n3 )disData0=11;disData1=12;disData2=11;3.2程序流程图四、课程设计总结disData3=10;disData6=(fe ndua n1+fe ndua n2 +fen dua n3-seco nd+1)/10; disData7=(fen dua n1+fe ndua n2+fe n dua n3-sec on d+1)%10;if(fen dua n1

18、+fe ndua n2+fe ndua n 3-seco nd+1<=3)&&(bseco nd%2=0)disData0=11;disData1=11;disData2=11;disData3=11;if(sec on d>fe ndua n1+fe ndua n2+fe ndu an 3+1)bsec on d=0;void mai n()TMOD |=0x01;/T0 16 位定时器 TH0=0x3c;TL0=0xb0;ET0=1;TR0=1;EA=1;while(1)key();if(sss%4=0)xia nshi();elsekeydisplay(); display(disData);本次课程设计中,重新巩固了单片机理论课时,感觉到的内容很多,知识点很杂、很繁琐。通过自己的努力也更进一步掌握了单片机的内容构造 和工作原理,以及接外部电路的情况。当然光有理论知识那只是“纸上谈兵”, 还需实际动手去实践。真正把所学的用到日常生活中,理论联系实际,做出 实物模型。这次单片机课程设计,我们设计的是简易十字路口交通灯设

温馨提示

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

评论

0/150

提交评论