资源描述
课程设计说明课程名称: 微机原理与接口技术 设计题目: 交通灯的设计 专 业: 班级: 学生姓名: 学 号: 指导教师: 科技学院教务部 制年 月 日一 设计任务要求 本次课程设计要求设计一个在十字路口能够实现红绿灯交替亮灭的交通控制器系统,本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。系统包括人行道、左转、右转、以及基本的交通灯的功能。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。其要求为: 1)红绿交通灯交替亮灭。 2) 利用单片机或其它硬件电路实现,方法自选。 3)LED数码管显示时间。 4)自行设计电路。 5)元器件自选其规定为: 1)设计硬件线路,用protel画图。 2)按单元电路详细说明硬件线路设计思路,元件参数,选取根据。附详细的元件清单。 3)软件设计,通过键盘设定显示时间,利用定时计数器定时使红绿灯循环显示。 4)有完整的程序流程图,包括总流程图和各模块流程图。对程序设计思想做详细说明。 5) 有完整的程序清单,并加注释。 6) 总结设计过程和设计体会。 7) 课程设计研究报告,格式参考黑龙江八一农垦大学毕业设计格式要求。二 方案比较1 电源提供方案为使模块稳定工作,须有可靠电源。我们考虑了两种电源方案方案一:采用独立的稳压电源。此方案的优点是稳定可靠,且有各种成熟电路可供选用;缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。方案二:采用单片机控制模块提供电源。改方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。综上所述,我们选择第二种方案。2 显示界面方案该系统要求完成倒计时、状态灯等功能。基于上述原因,我们考虑了三种方案:方案一:完全采用数码管显示。这种方案只显示有限的符号和数码字苻,无法胜任题目要求。方案二:完全采用点阵式LED 显示。这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。方案三:采用数码管与点阵LED 相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。这种方案既满足系统功能要求,又减少了系统实现的复杂度。权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。3 输入方案:题目要求系统能手动设灯亮时间、紧急情况处理,我们讨论了两种方案:方案一:采用8155扩展I/O 口及键盘,显示等。该方案的优点是:使用灵活可编程,并且有RAM,及计数器。若用该方案,可提供较多I/O 口,但操作起来稍显复杂。方案二: 直接在IO口线上接上按键开关。因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用四个按键,分别是K1、K2、K3、K4。由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二。三 单元电路设计.芯片选择及端口选择 1用实验系统8255A实现对信号灯的控制(所用端口自定);2位数码显示用8255A实现控制。 2. 用实验系统8235的计数器2定时向实验系统主片8259A的IRQ7请求中断,以实现要求的1分钟、5秒钟和20秒的定时。实验系统8235的计数器2的CLK2接OPCLK,频率为1.19318MHZ;GATE2已接 +5V;定时采用软硬件相结合的方式实现。 用实验系统的发光二极管模拟红绿灯。注:8259A的端口地址为:218H、219H8255A的端口地址为:端口A-200H、端口B-201H、端口C-202H、控制端 口-203H8253的端口地址为:计数器0-208H、计数器1-209H、计数器2-20aH、控 制寄存器0-20bH。实时控制系统中断服务原理四 元件清单序号名称型号规格位号数量1电容10uFC31个2极性电容30pFC1,C22个3Led 6个4半导体电阻10KR21只5电阻10KR31只6电阻10KR41只7电阻330KR51只8电阻330KR51只9电阻330KR61只10电阻330KR71只11电阻330KR81只12电阻330KR91只13开关4只14与非门1只15晶振12M1只16AT89S521只五 硬件电路工作原理交通信号灯模拟控制系统设计程序流程图1.主程序流图开始东西向绿灯亮,南北向红灯亮,60秒东西向黄灯亮,南北向红灯亮,3秒东西向红灯亮,南北向绿灯亮,30秒 东西向红灯亮,南北向黄灯亮,3秒图7.1 主程序流图 六软件程序流程#include#include#define uint unsigned int#define uchar unsigned charunsigned char code dis_710=0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09;char i;sfr p0=0x80;sfr p1=0x90;sbit red1=p10;sbit green1=p11;sbit yellow1=p12;sbit red2=p13;sbit green2=p14;sbit yellow2=p15;uchar temp,aa,num,num1;uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71;void delay(uint z);void main() num=60; num1=30; aa=0; SCON=0x00; /设置串行口的工作方式 PCON=0x00; TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1; temp=0xfe; P1=temp; P0=table0; P0=0xfe; while(1); void timer0() interrupt 1 TH0=(65536-50000)/256; TL0=(65536-50000)%256; aa+; if(aa=20) aa=0; num-; num1-; if(num=0)num=60;num1=30; if(num35) red1=0;green1=1;yellow1=1; red2=1;green2=0;yellow2=1; if(num110) for(i=0;i3;i+) SBUF=dis_70; while(!TI); TI=0; SBUF=dis_7num1; while(!TI); TI=0; else for(i=0;i2;i+) SBUF=dis_70; while(!TI); TI=0; SBUF=dis_7num1%10; while(!TI); TI=0; SBUF=dis_7num1/10; while(!TI); TI=0; else if(num30) red1=0;green1=1;yellow1=1; red2=1;green2=1;yellow2=0; for(i=0;i3;i+) SBUF=dis_70; while(!TI); TI=0; SBUF=dis_7num1; while(!TI); TI=0; else if(num5) red1=1;green1=0;yellow1=1; red2=0;green2=1;yellow2=1; if(num10) for(i=0;i3;i+) SBUF=dis_70; while(!TI); TI=0; SBUF=dis_7num; while(!TI); TI=0; else for(i=0;i2;i+) SBUF=dis_70; while(!TI); TI=0; SBUF=dis_7num%10; while(!TI); TI=0; SBUF=dis_7num/10; while(!TI); TI=0; else if(num=5) red1=1;green1=1;yellow1=0; red2=0;green2=1;yellow2=1; for(i=0;i3;i+) SBUF=dis_70; while(!TI); TI=0; SBUF=dis_7num; while(!TI); TI=0; 1九 困难问题及解决措施 在设计过程中,会出现了一些问题,但都是常见的小问题,如:代码中双引号的使用并不是在英语书写状态下,输入字母出错等,在调试时出现异常,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。1、软件延时与定时器计时软件延时,设计简单,使用方便,但是无法进行精确计时,无法在实际应用中进行使用,本次设计采用了,定时器0进行计时,每10ms产生一个脉冲信号,可以准确的计时并方便8段数码管进行显示2、使用中断的好处使用中断比较麻烦,在试验中需要两次加载初始化程序和中断服务程序,并且需要手工指定中断服务地址和中断向量号;但是使用中断可以进行多样化设计,强化程序功能与执行效率。在本设计中程序每10MS请求一次中断,实现精确定时与数码管显示刷新。十 总结与体会本系统就是充分利用了8031和8255芯片的IO引脚。系统采用MSC-51系统单片机INTECL8031和可编程并行IO接口芯片8255A为中心器件来设计交通控制器,实现了能根据实际车流量通过8031芯片的P1口设置红,绿燃亮时间的工能;未来系统稳定可靠采用了MAX692看门狗芯片,避免了系统因为死机为停止工作的情况发生,现实时间直接通过8255的PA,PB,输出,交通信号通过平常PC口输出,交通的点亮采用VT双向晶闸管来控制,直接采用220V电源驱动,系统设计简便,使用性强,操作简单,程序设计简单,系统不足之处不能控制车的左右转,以及自动根据车流量改变红绿黄灯时间等,这是由于本身地理位以及车流量情况所定,如果有需要可以设计扩充謜系统来实现。通过这次课程设计,是我得到了一次用专业知识,专业技能分析和解决问题全面系统的锻炼。使我在单片机基本原理,单片机应用系统开发过程,以及在常用编程设计思想技巧的掌握方面都向前迈了一大步,为日后成为合格的应用型人才打下了良好的基础。综合课程设计让我把以前学习到的知识得到巩固和进一步的提高认识,对已有知识有了更进一步的理解和认识。在此,由于自身能力有限,在课程设计中碰到了很多的问题,我通过查阅相关书籍、资料以及和周围同学交流。由于使用的是单片机作为核心的控制元件,使得电路的可靠性比较高,功能也比较强大,而且可以随时的更新系统,进行不同状态的组合。但是在我们设计和调试的过程中,也发现了一些问题,譬如红灯和绿灯的切换还不够迅速,红绿灯规则不效率还不是很高等等,这需要在实践中进一步完善。当然,通过这次课程设计,我也发现了自身的很多不足之处,在以后的学习中,我会不断的完善自我,不断进取,能使自己在网络编程这方面有一个大的发展。 十一 致谢在这次课程设计的完成过程中,我得到了许多人的帮助。首先我要感谢我的老师在课程设计上给予我的指导、提供给我的支持和帮助,这是我能顺利完成这次报告的主要原因,更重要的是老师帮我解决了许多技术上的难题,让我能把系统做得更加完善。在此期间,我不仅学到了许多新的知识,而且也开阔了视野,提高了自己的设计能力。其次,我要感谢帮助过我的同学,他也为我解决了不少我不太明白的设计上的难题。同时也感谢学院为我提供良好的做毕业设计的环境。最后再一次感谢所有在设计中曾经帮助过我的良师益友和同学 十二 参考文献(1)吕能元,孙育才,杨峰. MCS-51单片微型计算机原理接口技术应用实例.第一版. 北(2)京科技出版社.1993年12月(3)童本敏.标准集成电路数据手册TTL集成电路.第一版. 北京 电子工业出版社.1989年5月(4)黄贤武.传感器实际应用电路设计. 成都电子科技大学出版社.1997年(5)李广军 实用接口技术 电子科技大学出版社 1998.2 (6)网络资源:htt:/; 维普咨讯网;超星数字图
展开阅读全文