单片机控制交通灯应用设计说明_第1页
单片机控制交通灯应用设计说明_第2页
单片机控制交通灯应用设计说明_第3页
单片机控制交通灯应用设计说明_第4页
单片机控制交通灯应用设计说明_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

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

文档简介

1、 . . . 工程大学科信学院课程设计说明书(2011 /2012学年第二学期) 课程名称 : 单片机应用 题 目 : 交通灯控制器 专业班级 : 电气09-01 学生 : 程波 学 号: 090062105 指导教师 : 岑毅南 设计周数 : 两周 设计成绩 :2012年6月11日目录1. 课程设计目的 22. 课程设计正文 22.1软件设计 22.1.1系统分析 22.1.2绘制交通控制器原理图 22.1.3软件仿真 52.2硬件设计52.2.1核心器件简介52.2.2小系统板原理图和器件清单82.2.3大板器件清单 82.2.4单元电路设计 92.2.5电路板焊接 112.3软件程序设计

2、 123课程设计总结 244参考文献 2526 / 271.课程设计目的加强对单片机和其编程语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。用单片机模拟实现具体应用,使个人设计能够真正使用。把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。提高利用已学知识分析和解决问题的能力。提高实践动手能力。2.课程设计正文2.1软件设计2.1.1系统分析设计交通灯控制器,要求:(1)A道和B道上均有车辆要求通过时,A,B道轮流放行。即A道放行时,B道禁行;(2)用2个数码管显示秒数,简化设计,不同时段显示放行时间和禁行时间。(3)有紧急车辆要求通过时,

3、系统要能禁止普通车辆通行,A,B道均为红灯,紧急车由K1开关模拟。(4)东西和南北各用3个发光二极管,分别是红灯,黄灯,绿灯。(5)上电时,默认红灯时间为10秒,绿灯时间为15秒。设置5个按键,分别为加1,减1,调节切换,紧急状态,开始运行。2.1.2绘制交通控制器原理图 在拿到设计说明书后,和同组同学讨论设计方案,通过在美食林门前交差路口观察交通灯原理,通过网上查资料初步设计好原理图,使用altium designer6绘制好原理图。绘制原理图期间,由于altium designer6中没有STC90C52AD器件图,所以首先绘制其器件图,如下所示:根据单片机课设资料,设计好最小系统和外围设

4、备的连接图原理图与PCB:原理图:PCB:2.1.3软件仿真为了更快更好的设计成功,我们需要在硬件设计前进行一些与实际差不多的软件仿真,这样做可以减少器件的损坏,在电路板焊接前初步了解电路的原理和所实现的功能,软件仿真图如下:2.2硬件设计2.2.1核心器件简介 STC90C52AD管脚功能STC90C52单片机为40引脚芯片如图23所示。I/O口线: P0、P1、P2、P3共四个八位P0口是三态双向口, 通称数据总线口, 因为只有该口能直接用于对外部存储器的读写操作。P0口也用以输出外部存储器的低8位地址。由于是分时输出, 故应在外部加锁存器将此地址数据锁存, 地址锁存信号用ALE。P1口是

5、专门供用户使用的I/O口, 是准双向口。P2口是从系统扩展时作高8位地址线用。不扩展外部存储器时, P口也可以作为用户I/O口线使用, P2口也是准双向口。P3口是双功能口, 该口的每一位均可独立地定义为第一I/O 功能或第二I/O功能。作为第一功能使用时操作同P1口。P3口的第二功能如表21。图2-3 90C52引脚图控制口线: PSEN (片外取控制)、AL E( 地址锁存控制)、EA (片外储器选择)、RE2SET (复位控制) ;电源与时钟: CCC、VSS; XTAL 1, XTAL 2表2-1 引脚功能表74LS245双向总线发送器/接收器(3S)简要说明:245为三态输出的八组总

6、线收发器,其主要电器特性的典型值如下(不同厂家 具体值有差别):型号tPLHtphlPD54LS245/74LS2458ns8ns275mW引出端符号:AA总线端BB总线端/G三态允许端(低电平有效) DIR方向控制端逻辑图:2.2.2小系统板原理图和器件清单标识符器件名称规格型号数量标识符器件名称规格型号数量U1单片机STC90C52AD1C11 C12瓷片电容22p 或30p2U2RS232驱动MAX2321C13-C17独石电容0.22uF(224)5J1-J4, CRYLsts Hsts接线插孔座排母86针C1 C2电解电容1.0uF / 50V2C3 C4 C0电解电容10uF /

7、50V3CRY晶体谐振器6MHz1C5-C8电解电容47uF(22uF)4High,Low,PS发光二极管33JPS接线端子电源用1R1金属膜电阻2001RST按钮小(0.2×0.3)1R0金属膜电阻6.8K1JDBDB9插座DB9针形座1R2 R3 R4金属膜电阻3.3K3U1DIP插座DIP401R9金属膜电阻1M1U2DIP插座DIP1612.2.3大板器件清单4个共阴极数码管4个NPN三极管8个1K电阻8个550欧电阻7个330欧电阻5个按键1个74LS2453个绿色发光二极管3个红色发光二极管2个黄色发光二极管2.2.4单元电路设计晶振电路复位电路显示电路2.2.5电路板焊

8、接焊接小板时按老师给的资料焊接,大板按自己设计的原理图焊接,焊接时应注意利用大板的结构,利用好板上的接地和电源。焊接时注意按照器件引脚图焊接而不要按原理图的引脚焊接。焊接好的实物图如下: 2.3软件程序设计#include<reg52.h>#define uchar unsigned char#define uint unsigned intsbit we0=P10;sbit we1=P11;sbit we2=P12;sbit we3=P13;sbit s0=P14;/调时模式开关sbit s1=P15;/加1开关sbit s2=P16;/减1开关sbit s3=P17;/南北向转

9、换开关sbit k1=P32;/紧急车辆通过开关uchar b,aa,ge,shi,ge1,shi1;uint t1,t2,t3,i,red,green;int check,yellow;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void init();void checkdisplay();void delay(uint z);void display(uchar shi,uchar ge,uchar shi1,uchar ge1);void

10、 main()init();while(1)change:if(s0=0)/进入调时模式delay(5);if(s0=0)i=1;P0=0xbf;TR0=0;green=t1;red=t2;while(!s0);delay(5);while(!s0);while(i=1)if(s0=0)delay(5);if(s0=0)i=0;if(s1=0)delay(5);if(s1=0)if(t3%2!=1)t1+;green=t1;if(t3%2=1)t2+;red=t2;while(!s1);delay(5);while(!s1);if(s2=0)delay(5);if(s2=0)if(t3%2!=

11、1)t1-;green=t1;if(t3%2=1)t2-;red=t2;while(!s2);delay(5);while(!s2);if(s3=0)delay(5);if(s3=0)t3+;if(t3%2=1)P0=0x7f;elseP0=0xbf;while(!s3);delay(5);while(!s3);shi=green/10;ge=green%10;shi1=red/10;ge1=red%10;display(shi,ge,shi1,ge1);check=t1-t2;if(check<0)check=-check;if(check>=10)/检查黄灯时间是否超出10s围

12、while(1)checkdisplay();TR0=1;while(!s0);delay(5);while(!s0); /到此调时程序结束shi=green/10;ge=green%10;shi1=red/10;ge1=red%10;display(shi,ge,shi1,ge1);P0=0xde;if(aa=10)aa=0;green-;red-;if(red=0|green=0)/红灯时间走完进入黄灯倒计时状态yellow=t1-t2;if(yellow<0)yellow=-yellow;while(yellow!=0)P0=0xdd;if(s0=0)goto change;/跳回

13、调试模式if(red=0)P2=tableyellow;we3=0;delay(1);we3=1;if(green=0)P2=tableyellow;we1=0;delay(1);we1=1;if(aa=10)aa=0;if(red=0)yellow-;green-;if(green=0&&yellow!=0)yellow-;red-;P2=0xff;shi=green/10;ge=green%10;shi1=red/10;ge1=red%10;display(shi,ge,shi1,ge1);shi=green/10;ge=green%10;shi1=red/10;ge1=r

14、ed%10;display(shi,ge,shi1,ge1);if(green=0&&yellow=0)/东西方向和南北方向红绿灯换路green=t1;red=t2;if(green=t1&&red=t2)while(green!=0&&red!=0)P0=0xf3;if(s0=0)goto change;shi=red/10;ge=red%10;shi1=green/10;ge1=green%10;display(shi,ge,shi1,ge1);if(aa=10)aa=0;green-;red-;if(red=0|green=0)/红灯时间走

15、完进入黄灯倒计时状态yellow=t1-t2;if(yellow<0)yellow=-yellow;while(yellow!=0)P0=0xeb;if(s0=0)goto change;if(red=0)P2=tableyellow;we1=0;delay(1);we1=1;if(green=0)P2=tableyellow;we3=0;delay(1);we3=1;if(aa=10)aa=0;if(red=0)yellow-;green-;if(green=0&&yellow!=0)yellow-;red-;P2=0xff;shi=red/10;ge=red%10;s

16、hi1=green/10;ge1=green%10;display(shi,ge,shi1,ge1);shi=green/10;ge=green%10;shi1=red/10;ge1=red%10;display(shi,ge,shi1,ge1);red=t2;green=t1;void init()t1=15;t2=10;t3=0;red=t2;yellow=0;green=t1;P1=0xff;/有可能导致仿真出错P3=0xff;TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256; EA=1;EX0=1;ET0=1;TR0=1;IT0

17、=1;void checkdisplay()/黄灯超时检查子程序P2=0x40;we0=0;delay(1);we0=1;P2=0xff;P2=0x40;we1=0;delay(1);we1=1;P2=0xff;P2=0x40;we2=0;delay(1);we2=1;P2=0xff;P2=0x40;we3=0;delay(1);we3=1;P2=0xff;void display(uchar shi,uchar ge,uchar shi1,uchar ge1)/数码管显示子程序if(shi!=0)P2=tableshi;we0=0;delay(1);we0=1;elsewe0=1;P2=0x

18、ff;if(ge!=0|shi!=0)P2=tablege;we1=0;delay(1);we1=1;elsewe1=1;P2=0xff;if(shi1!=0)P2=tableshi1;we2=0;delay(1);we2=1;elsewe2=1; P2=0xff;if(ge1!=0|shi1!=0)P2=tablege1;we3=0;delay(1);we3=1;elsewe3=1;P2=0xff;void delay(uint z)uint x,y;for(x=z;x>0;x-)for(y=55;y>0;y-);void timer0() interrupt 1TH0=(655

19、36-50000)/256;TL0=(65536-50000)%256;aa+;void exter0() interrupt 0/紧急车辆通过中断程序if(k1=0)delay(5);if(k1=0)b=1;TR0=0;while(!k1);delay(5);while(!k1);while(b)if(k1=0)b=0;P0=0xf6;we0=1;we1=1;we2=1;we3=1;while(!k1);delay(5);while(!k1);TR0=1;3课程设计总结转眼间两周的单片机课程设计又过去了,在这两周的课程设计中我们忙碌且充实着,从对单片机当时的懵懵懂懂,到现在熟练运用,我们都觉

20、得受益颇多,每当有同学经过辛勤的努力,在单片机课题的设计上有了一个又一个小小的进步时我都看到,他们的脸上流露出的兴奋喜悦,同时我也会同他们一道分享那种突破困难的喜悦。在这两周的设计中我们不仅学到了关于自己课程设计题目方面的东西。同时我们也从课程设计中的相互交流和互帮互助中学到了很多关于单片机应用方面的其它知识,这下知识都是我们在这次实践中一点一滴的积累下来的。至于我们的课程设计,我就有更多深切的体会了,我们组制作的是交通灯控制器,从最初的实地考察到原理图设计,再到程序编程,最后的焊接调试我都有参与和同组人的合作,从这些制作过程中我体会到了一套完整系统实施下来的不易,这况且是一套小小的交通灯控制器装置,如果是整个交通系统控制又会是什么样呢?由此我又不得不被人类的勤劳与智慧所折服了!好了言归正传,先从原理图的最初设计开始说起,起初我们也都是只对交通这个天天见到的东西半知半解,也没有想到交通灯这东西还有这么多名堂,于是我们组的几个同学来了一次亲临实地的考察活动,我们在学校东门的美食林旁的十字路口足足看了有半个小时的交通灯变化情况才对其的运作方式才有了一个较为全面的了解,如关于其时间变换方式、黄灯的作用等等。之后我们就回到宿舍开始了原理图的设计了,根据我们之前观察的实际情况和我们的现有电子元器件,在我们的细心讨论下最终我们我们设计出了一

温馨提示

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

评论

0/150

提交评论