.
课程设计报告
题目交通灯模拟控制系统设计
学生姓名 ***
学号 ******
专业应用电子技术
班级电子
指导教师 *****
完成日期 2012 年12 月 18 日
目录
一、任务要求 (1)
1.实训目的 (1)
2.实训步骤 (1)
二、整体设计思路 (1)
1.程序设计 (1)
2.硬件设计 (2)
三、元器件简介 (3)
1.STC89C52单片机的介绍 (3)
2.74LS86的介绍 (4)
四、实训过程中的问题 (5)
1.软件问题 (5)
2.硬件问题 (5)
五、流程图及电路图 (6)
1.流程图 (6)
2.硬件电路图 (8)
六、总结 (11)
一、任务要求
1.实训目的
用单片机设计以交通信号灯模拟控制系统,晶振采用12MHZ,1、在正常情况下,A、B道交叉组成十字路口,A是主道,B是支道,各轮流放行60S(其中5S用于警告),B道放行30S(其中5S用于警告)2、一道有车而另一道无车时,使有车车道放行。
3、出现紧急情况时,A、B均为红灯。
2. 实训步骤
首先要画出交通灯模拟设计仿真电路图,在keil软件里编写正确的程序。
完成该系统的硬件和软件的设计,在Proteus软件上仿真通过后下载到单片机进行硬件验证。
二、整体设计思路
1.程序设计(1)、正常情况下运行主程序,采用0.5S延时子程序的反复调用来实现各种定时时间。
(2)、一道有车而另一道无车时,采用外部中断1方式进入与其相应的中断服务程序,并设置该中断为低优先级中断。
(3)有紧急车辆通过时,采用外部中断0方式进入相应的中断服务程序,并设置该中断为高优先级中断,实现
中断嵌套。
主程序采用查询方式定时,由R2寄存器确定调用0.5s延时子程序的次数,从而获取交通灯的各种时间。
子程序采用定时器1方式1,查询方式时,定时器定时50ms,R3寄存器确定50ms循环10次从而获取0.5s的延时时间。
一道有车、一道卧车时中断服务程序(INT1):首先要保护现场,因需要用到延时子程序和P1口,故需保护的寄存器有R3、PI、TH1和TL1,保护现场还需关中断,以防止高优先级中断出现导致程序混乱,然后开中断,有软件查询P3.0和P3.1口,判断哪一道有车,再根据查询情况执行相应的服务。
待交通灯信号出现后,保持5s的延时,然后关中断,恢复现场,再开中断,返回程序。
2. 二级标题硬件设计用6只发光二极管模拟交通灯信号,以单片机的P1口控制这6只发光二极管。
三、元器件简介
1.STC89C52的介绍
STC89C52是一种低功耗、高性能CMOS8位微控制器,具有 8K 在系统可编程Flash存储器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
具有以下标准功能: 8k字节Flash,512字节RAM, 32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810复位电路,2个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口。
另外 STC89X52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
最高运作频率35MHz,6T/12T可选。
STC89C52内部有一个用于构成振荡器的高增益反相放大器,引脚RXD和TXD分别是此放大器的输入端和输出端。
时钟可以由内部方式产生或外部方式产生。
内部方式的时钟电路如图4—2(a) 所示,在RXD和TXD引脚上外接定时元件,内部振荡器就产生自激振荡。
定时元件通常采用石英晶体和电容组成的并联谐振回路。
晶体振荡频率可以在1.2~12MHz之间选择,电容值在5~30pF之间选择,电容值的大小可对频率起微调的作用。
外部方式的时钟电路如图4—2(b)所示,RXD接地,TXD接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。
片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。
示,RXD接地,TXD接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。
片内时钟发生器把振荡频率两分频,产生一个两相时钟P1和P2,供单片机使用。
RXD接地,TXD接外部振荡器。
对外部振荡信号无特殊要求,只要求保证脉冲宽度,一般采用频率低于12MHz的方波信号。
2. 74LS86的介绍
74ls86是四个异或门。
常用的 TTL 2输入端四异或门在数字电路中常用,对应的coms器件是74hc86,相对于74LS86,74HC86的特点是电源功耗很低。
工作电源电压范围是4.75-5.25V.其他同类型的芯片有7486, CT4086, DG74LS86, LH74LS86等,可直接相互代换。
四、实训中出现的问题
1.软件问题在编译的过程中会出现error或者warning,我们就得重新检查程序,一开始编写第一个程序,就出现错误了。
原来是把数字0误写成字母o了。
后来就是单片机存储器出现同名的情况,导致程序烧片到仿真电路中达不到预期的效果。
调用的程序也容易出现同名的情况,所以在编写过程中要仔细认真。
2.硬件问题一开始把硬件电路在面包板上连接完成了之后,加上电源,发现有个黄色的发光二极管特别特别的亮,然后仔细检查,还是不知道问题在哪,最后请教同学,才发现是多加了一根导线。
有的元件引脚长短也会对整个电路产生干扰,所以最后电路烧片成不成功会有很大的关系。
硬件连接对元器件布局是很讲究技巧的。
布局应尽量美观。
五、流程图及电路图
1.流程主程序流程图紧急车辆通过时的中断子程序流程图
一道有车、一道无车中断子程序流程图
2.交通灯的仿真电路图
整体电路图
紧急中断控制电路
六、总结
通过这次实训,从中获益匪浅。
再次对这两个软件熟悉使用,又复习了单片机以前的知识。
在实验过程中,单片机作为核心控制元件,使得电路的可靠性比较高,功能也比较强大。
而且可以随时的更新系统,进行不同状态的切换,进行不同状态的组合,但是在设计和调试过程中,也发现一些问题,譬如红绿灯的切换速度不够,黄灯时亮时而不亮,红绿灯规则效率偏低,亮度不够是因为电阻的阻值用的较大了。
这次课程设计,我发现单片机原理应用性很强,只靠老师的课堂讲解是远远不够的,只有自己动手去做才能发现自己的不足。
许多东西看起来简单,但真正去做才知道知识并没有自己想的那样扎实,从而懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学理论与实际结合起来,才能真正提高自己的动手能力与思考能力,树立自己的工作信心。
相信会对今后的学习工作和生活有非常重要的影响在设计过程中我们还得到了老师的帮助与意见。
在学习过程中不是每个问题都能自己解决,向老师请教或向同学讨论也是一个解决问题,让自己更快进步和增强学习能力很好的办法。
图1 引脚定义(图标题为五号宋体加粗居中)
如有侵权请联系告知删除,感谢你们的配合!。