交通灯设计课程设计报告.docx
- 文档编号:3551224
- 上传时间:2022-11-23
- 格式:DOCX
- 页数:12
- 大小:147.36KB
交通灯设计课程设计报告.docx
《交通灯设计课程设计报告.docx》由会员分享,可在线阅读,更多相关《交通灯设计课程设计报告.docx(12页珍藏版)》请在冰豆网上搜索。
交通灯设计课程设计报告
课程设计说明
课程名称:
微机原理与接口技术
设计题目:
交通灯的设计
专业:
班级:
学生姓名:
学号:
指导教师:
邱银安
湖南工业大学科技学院教务部制
年月日
一设计任务要求
本次课程设计要求设计一个在十字路口能够实现红绿灯交替亮灭的交通控制器系统,本系统由单片机系统、键盘、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、219H
8255A的端口地址为:
端口A-200H、端口B-201H、端口C-202H、控制端口-203H
8253的端口地址为:
计数器0-208H、计数器1-209H、计数器2-20aH、控制寄存器0-20bH。
实时控制系统
中断服务原理
四元件清单
序号
名称
型号规格
位号
数量
1
电容
10uF
C3
1个
2
极性电容
30pF
C1,C2
2个
3
Led
6个
4
半导体电阻
10K
R2
1只
5
电阻
10K
R3
1只
6
电阻
10K
R4
1只
7
电阻
330K
R5
1只
8
电阻
330K
R5
1只
9
电阻
330K
R6
1只
10
电阻
330K
R7
1只
11
电阻
330K
R8
1只
12
电阻
330K
R9
1只
13
开关
4只
14
与非门
1只
15
晶振
12M
1只
16
AT89S52
1只
五硬件电路工作原理
交通信号灯模拟控制系统设计程序流程图
1.主程序流图
图7.1主程序流图
六.软件程序流程
#include
#include
#defineuintunsignedint
#defineucharunsignedchar
unsignedcharcodedis_7[10]={0x03,0x9F,0x25,0x0D,0x99,0x49,0x41,0x1F,0x01,0x09};
chari;
sfrp0=0x80;
sfrp1=0x90;
sbitred1=p1^0;
sbitgreen1=p1^1;
sbityellow1=p1^2;
sbitred2=p1^3;
sbitgreen2=p1^4;
sbityellow2=p1^5;
uchartemp,aa,num,num1;
ucharcodetable[]={
0x3f,0x06,0x5b,0x4f,
0x66,0x6d,0x7d,0x07,
0x7f,0x6f,0x77,0x7c,
0x39,0x5e,0x79,0x71};
voiddelay(uintz);
voidmain()
{
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=table[0];
P0=0xfe;
while
(1);
}
voidtimer0()interrupt1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
aa++;
if(aa==20)
{
aa=0;
num--;
num1--;
if(num==0){num=60;num1=30;}
if(num>35)
{red1=0;green1=1;yellow1=1;
red2=1;green2=0;yellow2=1;
if(num1<10)
{for(i=0;i<3;i++)
{SBUF=dis_7[0];
while(!
TI);
TI=0;}
SBUF=dis_7[num1];
while(!
TI);
TI=0;
}
else
{for(i=0;i<2;i++)
{SBUF=dis_7[0];
while(!
TI);
TI=0;}
SBUF=dis_7[num1%10];
while(!
TI);
TI=0;
SBUF=dis_7[num1/10];
while(!
TI);
TI=0;
}
}
}
elseif(num<=35&&num>30)
{red1=0;green1=1;yellow1=1;
red2=1;green2=1;yellow2=0;
for(i=0;i<3;i++)
{SBUF=dis_7[0];
while(!
TI);
TI=0;}
SBUF=dis_7[num1];
while(!
TI);
TI=0;}
elseif(num<=30&&num>5)
{red1=1;green1=0;yellow1=1;
red2=0;green2=1;yellow2=1;
if(num<10)
{for(i=0;i<3;i++)
{SBUF=dis_7[0];
while(!
TI);
TI=0;}
SBUF=dis_7[num];
while(!
TI);
TI=0;
}
else
{for(i=0;i<2;i++)
{SBUF=dis_7[0];
while(!
TI);
TI=0;}
SBUF=dis_7[num%10];
while(!
TI);
TI=0;
SBUF=dis_7[num/10];
while(!
TI);
TI=0;
}
}
elseif(num<=5)
{red1=1;green1=1;yellow1=0;
red2=0;green2=1;yellow2=1;
for(i=0;i<3;i++)
{SBUF=dis_7[0];
while(!
TI);
TI=0;}
SBUF=dis_7[num];
while(!
TI);
TI=0;}
}
九困难问题及解决措施
在设计过程中,会出现了一些问题,但都是常见的小问题,如:
代码中双引号的使用并不是在英语书写状态下,输入字母出错等,在调试时出现异常,不过这些都是经常性错误,经过调试修改都一一解决,程序顺利完成,并实现了其功能。
1、软件延时与定时器计时
软件延时,设计简单,使用方便,但是无法进行精确计时,无法在实际应用中进行使用,本次设计采用了,定时器0进行计时,每10ms产生一个脉冲信号,可以准确的计时并方便8段数码管进行显示
2、使用中断的好处
使用中断比较麻烦,在试验中需要两次加载初始化程序和中断服务程序,并且需要手工指定中断服务地址和中断向量号;但是使用中断可以进行多样化设计,强化程序功能与执行效率。
在本设计中程序每10MS请求一次中断,实现精确定时与数码管显示刷新。
十总结与体会
本系统就是充分利用了8031和8255芯片的I\O引脚。
系统采用MSC-51系统单片机INTECL8031和可编程并行I\O接口芯片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:
//;维普咨讯网;超星数字图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 设计 课程设计 报告