嵌入式系统基础课程设计报告模板.docx
《嵌入式系统基础课程设计报告模板.docx》由会员分享,可在线阅读,更多相关《嵌入式系统基础课程设计报告模板.docx(17页珍藏版)》请在冰豆网上搜索。
嵌入式系统基础课程设计报告模板
嵌入式系统基础课程设计报告
系部:
电子通信工程系
专业:
班级:
学生姓名:
学号:
2012年6月15号
嵌入式系统基础课程设计任务书
1.时间:
2012年06月11日~2012年06月15日
2.课程设计单位:
河南机电高等专科学校
3.课程设计目的:
深入学习单片机编程技巧,熟悉电子产品设计制作全过程。
能够利用汇编语言完成十字路口交通灯的设计。
4.课程设计任务:
①参考相关的的书籍、资料,根据设计要求完成原理图设计;
②制作电路板并完成调试;
③绘制软件流程图;
④完成软件设计并完成调试;
作好笔记,对自己所发现的疑难问题及时请教解决;
联系自己所学知识,总结本次设计经验;
认真完成课程设计报告。
基于单片机的交通灯控制设计
前言:
智能的交通信号灯指挥着人和各种车辆的安全运行,实现红、黄、绿灯的自动指挥是城乡交通管理现代化的重要课题。
在城乡街道的十字交叉路口为了保证交通秩序和行人安全,一般在每条道路上各有一组红、黄、绿交通信号灯,其中红灯亮,表示该条道路禁止通信;黄灯亮光,表示该条道路上未过停车线的车辆停止通行,已过停车线的车辆继续通行;绿灯亮,表示该条道路允许通行,交通灯控制电路自动控制十字路口两组红、黄、绿交通灯的状态转换,指挥各种车辆和行人安全通行,实现十字路口城乡交通管理自动化。
为了实现交通道路的管理,力求交通管理的先进性、科学化,分析应用了单片机实现智能交通灯管制的控制系统,以及该系统软、硬件设计方法,实验证明该系统实现简单、经济,能够有效的疏导交通,提高交通路口的通行能力。
实训报告:
一、设计任务
1.单片机交通控制系统的通行方案设计
设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。
其具体状态如下图所示。
说明:
黑色表示亮,白色表示灭。
交通状态从状态1开始变换,直至状态6然后循环至状态1,周而复始,即如下图所示:
图1、交通状态
通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:
◆东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时20秒。
此状态下,东西向禁止通行,南北向允许通行。
◆东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时5秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
◆南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时20秒。
此状态下,东西向允许通行,南北向禁止通行。
◆南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时5秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
下面我们可以用图表表示灯状态和行止状态的关系如下:
表1、交通状态及红绿灯状态
状态1
状态3
状态4
状态6
东西向
禁行
等待变换
通行
等待变换
南北向
通行
等待变换
禁行
等待变换
东西红灯
1
1
0
0
东西黄灯
0
0
0
1
东西绿灯
0
0
1
0
南北红灯
0
0
1
1
南北绿灯
1
0
0
0
南北黄灯
0
1
0
0
东西南北四个路口均有红绿黄3灯和数码显示管2个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。
状态及红绿灯状态如表1所示。
说明:
0表示灭,1表示亮。
2.单片机交通控制系统的功能要求
本设计能模拟基本的交通控制系统,用红绿黄灯表示禁行,通行和等待的
信号发生,还能进行倒计时显示,通行时间调整和紧急处理等功能。
(1)倒计时显示
倒计时显示可以提醒驾驶员在信号灯灯色发生改变的时间、在“停止”和“通过”两者间作出合适的选择。
驾驶员和行人普遍都愿意选择有倒计时显示的信号控制方式,并且认为有倒计时显示的路口更安全。
倒计时显示是用来减少驾驶员在信号灯色改变的关键时刻做出复杂判断的1种方法,它可以提醒驾驶员灯色发生改变的时间,帮助驾驶员在“停止”和“通过”两者间作出合适的选择。
(2)时间的设置
本设计中可通过键盘对时间进行手动设置,增加了人为的可控性,避免自动故障和意外发生,并再紧急状态下,可设置所有灯变为红灯。
键盘是单片机系统中最常用的人机接口,一般情况下有独立式和行列式两种。
前者软件编写简单,但在按键数量较多时特别浪费I/0口资源,一般用于按键数量少的系统。
后者适用于按键数量较多的场合,但是在单片机I/0口资源相对较少而需要较多按键时,此方法仍不能满足设计要求。
本系统要求的按键控制不多,且I/0口足够,可直接采用独立式。
(3)紧急处理
交通路口出现紧急状况在所难免,如特大事件发生,救护车等急行车通过等,我们都必须尽量允许其畅通无阻,毕竟在这种情况下是分秒必争的,时时刻刻关系着公共财产安全,个人生死攸关等。
由此在交通控制中增设禁停按键,就可达到想此目的。
二、实现设计的软件、硬件原理
1.单片机交通控制系统的基本构成及原理
单片机设计交通灯控制系统,可用单片机直接控制信号灯的状态变化,基本上可以指挥交通的具体通行,当然,接入LED数码管就可以显示倒计时以提醒行使者,更具人性化。
本系统在此基础上,加入了紧急情况处理与时间调整功能。
图2、系统的总体框图
据此,本设计系统以单片机为控制核心,连接成最小系统,由按键设置模块产生输入,信号灯状态模块,LED倒计时模块模块接受输出。
系统的总体框图如上所示。
单片机上电后,系统进入正常工作状态,执行交通灯状态显示控制,同时将时间数据倒计时输入到LED数码管上实时显示。
在此过程中随时调用急停按键和时间调节中断。
2.系统硬件总电路构成及原理
实现本设计要求的具体功能,可以选用AT89S51单片机及外围器件构成最小控制系统,12个发光二极管分成4组红绿黄三色灯构成信号灯指示模块,8个LED东西南北各两个构成倒计时显示模块,若干按键组成时间设置和紧急按钮。
1).设计思路及原理框图:
本次实验在单片机实验板的基础上利用AT89S51单片机来完成。
单片机实验板实物图如下
单片机实验板原理框图:
2)系统硬件电路构成
本系统以单片机为核心,系统硬件电路由状态灯,LED显示,按键,组成。
其具体的硬件电路总图如图3所示。
其中P0用于送显两片LED数码管,P1用于控制红绿黄发光二极管,XTAL1和XTAL2接入晶振时钟电路,REST引脚接上复位电路,P2.6与P2.7对数码管进行片选,P3.2即INT0紧急情况处理按键,P3.3即INT1接时间调整中断按键。
3)系统工作原理
系统上电或手动复位之后,系统先显示状态灯及LED数码管,将状态码值送显P1口,将要显示的时间值的个位和十位分别送显P0口,在此同时用软件方法计时1秒,到达1s就要将时间值减1,刷新LED数码管。
时间到达一个状态所要全部时间,则要进行下一状态判断及衔接,并装入次状态的相应状态码值以及时间值,
当然,还要开启两个外部中断,其一为紧急情况处理中断,一旦信号有效,即K3键为低电平时进入中断服务子程序,东西南北路口的红灯全亮禁止全部通行,再按一下K3键,中断结束返回。
其二为通行时间调整中断,若K4按键有效,进入相应的中断子程序,对时间进行调整,此后再按K4键则中断结束返回。
图3、基于单片机的交通灯控制系统电路图
3.系统软件程序的设计
整个软件程序方面主要分两大部分:
主程序部分和中断处理程序。
图4、系统流程图
全部控制程序实际上分为若干模块:
键盘设置处理程序,状态灯控制程序,LED显示程序紧停程序,中断服务子程序,红绿灯时间调整程序等。
设计说明:
该智能交通灯控制系统的软件设计采用的是顺序执行并反复循环的方法。
智能交通灯控制系统在正常工作的情况下,每20s循环变化一次。
每个循环周期在还剩5s时,正在通行路口的黄灯同时点亮并开始闪烁,以提醒路人上的行人及车辆,交通灯即将发生变化。
在此期间若中断按键按下则转入中断服务子程序进行相关操作。
本设计设置了有5个键:
K1键P3.0,K2键P3.1,K3键P3.2,K4键P3.3,K5键P3.4,每个按键一端接地,另一端接对应的P3端口。
低电平有效,当按键
按下端口接地,单片机捕获到低电平,从而知道相应的输入信息。
三、系统源程序
基于单片机的交通灯控制系统如下:
ORG0000H
LJMPMAIN
ORG000BH;T0中断服务程序入口
LJMPT0FW
ORG0030H
MAIN:
MOV30H,#15
MOV40H,#15
MOV36H,#00H
MOV46H,#0FFH
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
MOVR1,#20
SETBET0
SETBEA
SETBTR0
STAR:
ACALLDISP
ACALLDEL
AJMPSTAR
DISP:
PUSHA
MOVDPTR,#TAB
MOVA,40H
MOVB,#10
DIVAB
MOV50H,A
MOV51H,B
MOV54H,A
MOV55H,B
MOVA,30H
MOVB,#10
DIVAB
MOV52H,A
MOV53H,B
MOV56H,A
MOV57H,B
MOVR5,#8;-----------------------------8
MOVR0,#50H
LOOP:
MOVA,@R0
MOVCA,@A+DPTR
MOVSBUF,A
JNBTI,$
CLRTI
INCR0
DJNZR5,LOOP
MOVR2,36H
CJNER2,#0,N1;36H=1,跳到N1,绿灯亮
CLRP0.4;否则36H=0,------------------红灯亮
CLRP2.5
SETBP0.3
SETBP2.6
SETBP0.2
SETBP2.7
AJMPN2
N1:
CLRP0.2;N1,--------------------------绿灯亮
CLRP2.7
SETBP0.3
SETBP2.6
SETBP0.4
SETBP2.5
N2:
MOVR2,30H
CJNER2,#3,N3;30H><3,跳到N3,
CLRP0.3;否则30H=3,黄灯亮
CLRP2.6
SETBP0.2
SETBP2.7
SETBP0.4
SETBP2.5
clrP1.1
ACALLDEL
SETBP1.1
N3:
MOVR2,30H
CJNER2,#2,N4;30H><2,跳到N4,
CLRP0.3;否则30H=2,黄灯亮
CLRP2.6
SETBP0.2
SETBP2.7
SETBP0.4
SETBP2.5
clrP1.1
ACALLDEL
SETBP1.1
N4:
MOVR2,30H
CJNER2,#1,N5;30H><1,跳到N5,
CLRP0.3;否则30H=1,黄灯亮
CLRP2.6
SETBP0.2
SETBP2.7
SETBP0.4
SETBP2.5
clrP1.1
ACALLDEL
SETBP1.1
N5:
MOVR2,46H
CJNER2,#0,N6;46H=1,跳到N6,绿灯亮
CLRP0.7;否则46H=0,-------------------------红灯亮
CLRP0.1
SETBP0.6
SETBP0.0
SETBP0.5
SETBP2.4
AJMPN7
N6:
CLRP0.5;N6,------------------------------绿灯亮
CLRP2.4
SETBP0.6
SETBP0.0
SETBP0.1
SETBP0.7
N7:
MOVR2,40H
CJNER2,#3,N8;40H><3,跳到N8,
CLRP0.6;否则40H=3,黄灯亮
CLRP0.0
SETBP0.7
SETBP0.1
SETBP0.5
SETBP2.4
clrP1.1
ACALLDEL
SETBP1.1
N8:
MOVR2,40H
CJNER2,#2,N9;40H><2,跳到N9,
CLRP0.6;否则40H=2,黄灯亮
CLRP0.0
SETBP0.7
SETBP0.1
SETBP0.5
SETBP2.4
clrP1.1
ACALLDEL
SETBP1.1
N9:
MOVR2,40H
CJNER2,#1,N10;40H><1,跳到N10,
CLRP0.6;否则40H=1,黄灯亮
CLRP0.0
SETBP0.7
SETBP0.1
SETBP0.5
SETBP2.4
clrP1.1
ACALLDEL
SETBP1.1
N10:
POPA
RET
TAB:
DB88H,0beH,0c4H,94H,0b2H,91H,81H,0bcH,80H,90H;显示0123456789代码
DEL:
MOVR7,#200;125.775mS
DEL1:
MOVR6,#240
DJNZR6,$
DJNZR7,DEL1
RET
T0FW:
DJNZR1,EXIT0
PUSHA
CLREA
MOVR1,#20
DJNZ30H,M1
MOVA,36H
CPLA
mov36H,A
MOV30H,#15
;AJMPEXIT
M1:
DJNZ40H,EXIT
MOVA,46H
CPLA
mov46H,A
MOV40H,#15
EXIT:
SETBEA
POPA
EXIT0:
MOVTH0,#3CH
MOVTL0,#0B0H
RETI
END
四、心得体会:
经过这次生产实习,我加强了对单片机及编程知识的理解和认识,对编程又有了更进一步熟悉,并且意识到了学好它的重要性以及对将来工作的重大帮助和影响。
这次生产实习也使我认识到了单片机应用的广泛与我们的生活紧密相关,所以以后要继续认真学习嵌入式,巩固并拓展自己在这单片机方面的知识。
参考文献:
[1]余发山王福忠单片机原理及应用技术[M].徐州:
中国矿业大学出版社,2008.
[2]吴黎明单片机原理及应用技术[M].北京:
科学出版社,2003.
[3]刘乐善微型计算机接口技术及应用[M].北京:
华中科技大学出版,2004.
[4]李伯成.基于MCS-51单片机的嵌入式系统的设计[M].北京:
电子工业出版社,2004.