交通灯毕业设计论文Word下载.docx
- 文档编号:18065727
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:20
- 大小:329.98KB
交通灯毕业设计论文Word下载.docx
《交通灯毕业设计论文Word下载.docx》由会员分享,可在线阅读,更多相关《交通灯毕业设计论文Word下载.docx(20页珍藏版)》请在冰豆网上搜索。
参考文献.....................................................................................................................26
第1章方案论证与设计
本设计以单片机为核心,以LED数码管作为倒计时指示,根据设计的要求我们考虑了各功能模块的几种设计方案,以求最佳方案,实现实时显示系统各种状态,系统还增设了根据交通拥挤情况可分别设置主干道和次干道的通行时间,以提高效率,缓减交通拥挤。
系统总体设计框图如图1-1所示。
交通灯控制的框图如下图所示,主要有控制电路、按键电路、晶振电路、复位电路、显示电路、电源电路等电路组成。
图1-1系统总体设计框图
一.电源提供方案
为使模块稳定工作,须有可靠电源。
本次设计考虑了两种电源方案:
方案一:
采用独立的稳压电源。
此方案的优点是稳定可靠,且有各种成熟电路可供选用;
缺点是各模块都采用独立电源,会使系统复杂,且可能影响电路电平。
方案二:
采用单片机控制模块提供电源。
该方案的优点是系统简明扼要,节约成本;
缺点是输出功率不高。
综上所述,选择第二种方案。
二.显示界面方案
该系统要求完成倒计时功能。
基于上述原因,本次设计考虑了两种方案:
完全采用点阵式LED显示。
这种方案功能强大,可方便的显示各种英文字符,汉字,图形等,但实现复杂,且须完成大量的软件工作。
完全采用数码管显示。
这种方案优点是实现简单,可以完成倒计时功能。
缺点是功能较少,只能显示有限的符号和数码字符。
根据本设计的要求,方案二已经满足了要求,所以本次设计采用方案二以实现系统的显示.
三.输入方案
这里同样讨论了两种方案:
采用8155扩展I/O口、键盘及显示等。
该方案的优点是使用灵活可编程,并且有RAM及计数器。
若用该方案,可提供较多I/O口,但操作起来稍显复杂。
直接在I/O口线上接上按键开关。
因为设计时精简和优化了电路,所以剩余的端口资源还比较多。
由于该系统是对交通灯及数码管的控制,只需用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。
第2章系统硬件设计
一.总体设计
本设计以单片机为控制核心,采用模块化设计,共分以下几个功能模块:
单片机控制系统、键盘及状态显示、倒计时模块等。
单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。
它由单片机振荡电路、复位电路等组成。
键盘及状态显示,开关键盘输入交通灯初始时间,通过单片机P1输入到系统。
系统采用双数码管倒计时计数功能,最大显示数字99。
在交通情况比较特殊的情况下,可以通过K1、K2、K3三个按键对对交通灯进行控制。
二.单片机基本结构
1.MCS-52单片机内部结构
8052单片机包含中央处理器、程序存储器(ROM)、数据存储器(RAM)、定时/计数器、并行接口、串行接口和中断系统等几大单元及数据总线、地址总线和控制总线等三大总线,现在我们分别加以说明:
2.中央处理器:
中央处理器(CPU)是整个单片机的核心部件,是8位数据宽度的处理器,能处理8位二进制数据或代码,CPU负责控制、指挥和调度整个单元系统协调的工作,完成运算和控制输入输出功能等操作。
3.数据存储器(RAM)
8052内部有128个8位用户数据存储单元和128个专用寄存器单元,它们是统一编址的,专用寄存器只能用于存放控制指令数据,用户只能访问,而不能用于存放用户数据,所以,用户能使用的RAM只有128个,可存放读写的数据,运算的中间结果或用户定义的字型表。
图2-1单片机8051的内部结构
4.程序存储器(ROM):
8052共有4096个8位掩膜ROM,用于存放用户程序,原始数据或表格。
5.定时/计数器:
8052有两个16位的可编程定时/计数器,以实现定时或计数产生中断用于控制程序转向。
6.并行输入输出(I/O)口:
8052共有4组8位I/O口(P0、P1、P2或P3),用于对外部数据的传输。
7.全双工串行口:
8052内置一个全双工串行通信口,用于与其它设备间的串行数据传送,该串行口既可以用作异步通信收发器,也可以当同步移位器使用。
8.中断系统:
8052具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。
9.时钟电路:
8052内置最高频率达12MHz的时钟电路,用于产生整个单片机运行的脉冲时序,但8051单片机需外置振荡电容。
10.MCS-52的引脚说明:
MCS-52系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构,右图是它们的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个I/O口,中断口线与P3口线复用。
现在我们对这些引脚的功能加以说明:
11.MCS-52的引脚说明:
如图2-2所示,现在我们对这些引脚的功能加以说明:
图2-2单片机的引脚图
Pin9:
RESET/Vpd复位信号复用脚,当8052通电,时钟电路开始工作,在RESET引脚上出现24个时钟周期以上的高电平,系统即初始复位。
初始化后,程序计数器PC指向0000H,P0-P3输出口全部为高电平,堆栈指针写入07H,其它专用寄存器被清“0”。
RESET由高电平下降为低电平后,系统即从0000H地址开始执行程序。
然而,初始复位不改变RAM(包括工作寄存器R0-R7)的状态,8052的初始态。
8052的复位方式可以是自动复位,也可以是手动复位,见下图4。
此外,RESET/Vpd还是一复用脚,Vcc掉电其间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。
三.单片机最小系统
1.时钟电路如图2-3所示
图2-3时钟电路
XTAL1是片内振荡器的反相放大器输入端,XTAL2则是输出端,使用外部振荡器时,外部振荡信号应直接加到XTAL1,而XTAL2悬空。
内部方式时,时钟发生器对振荡脉冲二分频,如晶振为12MHz,时钟频率就为6MHz。
晶振的频率可以在1MHz-24MHz内选择。
电容取30PF左右。
系统的时钟电路设计是采用的内部方式,即利用芯片内部的振荡电路。
AT89单片机内部有一个用于构成振荡器的高增益反相放大器。
引脚XTAL1和XTAL2分别是此放大器的输入端和输出端。
这个放大器与作为反馈元件的片外晶体谐振器一起构成一个自激振荡器。
外接晶体谐振器以及电容C1和C2构成并联谐振电路,接在放大器的反馈回路中。
对外接电容的值虽然没有严格的要求,但电容的大小会影响震荡器频率的高低、震荡器的稳定性、起振的快速性和温度的稳定性。
因此,此系统电路的晶体振荡器的值为12MHz,电容应尽可能的选择陶瓷电容,电容值约为22μF。
在焊接刷电路板时,晶体振荡器和电容应尽可能安装得与单片机芯片靠近,以减少寄生电容,更好地保证震荡器稳定和可靠地工作。
2.复位电路
在振荡器运行时,有两个机器周期(24个振荡周期)以上的高电平出现在此引腿时,将使单片机复位,只要这个脚保持高电平,51芯片便循环复位。
复位后P0-P3口均置1引脚表现为高电平,程序计数器和特殊功能寄存器SFR全部清零。
当复位脚由高电平变为低电平时,芯片为ROM的00H处开始运行程序。
复位是由外部的复位电路来实现的。
片内复位电路是复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,它的输出在每个机器周期的S5P2,由复位电路采样一次。
复位电路通常采用上电自动复位和按钮复位两种方式,此电路系统采用的是上电与按钮复位电路。
当时钟频率选用6MHz时,C取22μF,Rs约为200Ω,Rk约为1K。
复位操作不会对内部RAM有所影响。
常用的复位电路如图2-4所示:
图2-4复位电路图
3.LED显示电路
显示器普遍地用于直观地显示数字系统的运行状态和工作数据,按照材料及产品工艺,单片机应用系统中常用的显示器有:
发光二极管LED显示器、液晶LCD显示器、CRT显示器等。
LED显示器是现在最常用的显示器之一,如图2-5所示。
图2-5LED显示器的符号图
发光二极管(LED)由特殊的半导体材料砷化镓、磷砷化镓等制成,可以单独使用,也可以组装成分段式或点阵式LED显示器件(半导体显示器)。
分段式显示器(LED数码管)由7条线段围成8字型,每一段包含一个发光二极管。
外加正向电压时二极管导通,发出清晰的光。
只要按规律控制各发光段亮、灭,就可以显示各种字形或符号。
LED数码管有共阳、共阴之分。
图是共阳式、共阴式LED数码管的原理图和符号
第3章系统软件流程图设计
一.软件流程图设计
1.主程序流程图
如图3-1主程序流程图
2.定时中断子程序
图3-2定时中断子程序流程图
3.显示子程序流程图
图3-3显示子程序流程图
4.按键子程序流程图
图3-4按键子程序流程图
第4章系统软件程序设计
****************;
;
*1秒延时子程序*;
DELAY:
MOVR1,#0AH
DELAY0:
MOVR2,#0C8H
DELAY1:
MOVR3,#0F8H
NOP
DELAY2:
DJNZR3,DELAY2
DJNZR2,DELAY1
DJNZR1,DELAY0
RET
***************;
键盘扫描子程序;
READKEY:
MOVA,#0FFH
MOVP3,A
MOVA,P3
JNBACC.0,K1;
判断K1键是否按下
JNBACC.1,K2;
判断K2键是否按下
JNBACC.3,K3;
判断K3键是否按下
RET
K1:
MOVP0,#0FFH;
关断倒计时显示装置
MOVP2,#0FFH
LCALLXX
LCALLYY
SJMPREADKEY
K2:
LCALLYY1
K3:
LCALLYY2
XX:
MOV20H,#03H
LCALLBB
******************;
*黄灯进行5秒闪烁*;
BB:
SETBP1.1
SETBP1.4
LCALLDELAY
CLRP1.1
CLRP1.4
DJNZ20H,BB
YY:
MOVP1,#0F6H;
四个路后均变成红灯
JNBACC.0,YY;
判断K1键是否仍然按下
LCALLQW
YY1:
MOVP1,#0F3H;
东西方向亮绿灯,南北方向亮红灯
JNBACC.1,YY1;
判断K2键是否仍然按下
YY2:
MOVP1,#0DEH;
南北方向亮绿灯,东西方向亮红灯
JNBACC.3,YY2;
判断K3键是否仍然按下
*中断处理程序*;
ORG0200H;
中断程序入口地址
Liu:
DEC88H
MOVA,88H
CJNEA,#01H,BN;
判断循环次数是否为1
MOV88H,#15H;
重新给循环次数赋值
LCALLDISP
BN:
MOVTH1,#9EH;
重新给定时器T1赋初值
MOVTL1,#58H
RETI
************;
*显示子程序*;
DISP:
DEC33H
MOVA,33H
CJNEA,#01H,DIR1
MOV33H,#3DH;
重新给倒计时数赋初值
DIR1:
MOVB,#0AH
DIVAB;
提取出倒计时数值的十位数和个位数
MOVDPTR,#TAB;
字形表的入口地址
MOVCA,@A+DPTR;
查表获取十位数的字型码
MOV30H,A
MOVA,B
查表获取个位数的字型码
MOV31H,A
MOVA,30H
MOVP0,A;
将十位数字型码送到P0口
MOVA,31H
MOVP2,A;
将个位数字型码送到P2口
LCALLDELAY
TAB:
DB0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H;
字形表
END
3.3控制程序
ORG0000H
LJMPMAIN
ORG001BH;
定时器T1中断入口
LJMPliu
ORG0100H;
主程序入口
********;
*主程序*;
MAIN:
MOVSP,#60H
MOVTMOD,#10H;
定时器T1工作在方式1
MOVTH1,#9EH;
给定时器T1赋初值
MOVTL1,#58H
SETBEA;
开中断系统总开关
SETBET1;
开定时器T1中断开关
SETBTR1;
启动定时器T1
HERE:
设置中断循环次数
设置倒计时显示数值
使交通灯东西绿,南北红
MOVR7,#37H
MM:
MOVA,P3;
键盘扫描
CJNEA,#0FFH,READKEY
DJNZR7,MM
MOVP1,#0E1H;
交通灯东西绿,南北红同时加亮黄灯
MOV20H,#02H
NN:
SETBP1.1;
黄灯进行5秒闪烁
LCALLDISP
LCALLDISP;
调显示子程序
DJNZ20H,NN
交通灯南北绿,东西红
PP:
DJNZR7,PP
MOVP1,#0CCH;
交通灯南北绿,东西红同时加亮黄灯
QQ:
扫描P3口
DJNZ20H,QQ
QW:
SJMPHERE
第5章系统仿真
一.PROTUES软件介绍
Proteus软件是LabcenterElectronics公司的一款电路设计与仿真软件,它包括ISIS、ARES等软件模块,ARES模块主要用来完成PCB的设计,而ISIS模块用来完成电路原理图的布图与仿真。
Proteus的软件仿真基于VSM技术,它与其他软件最大的不同也是最大的优势就在于它能仿真大量的单片机芯片,比如MCS-51系列、PIC系列等等,以及单片机外围电路,比如键盘、LED、LCD等等。
通过Proteus软件的使用我们能够轻易地获得一个功能齐全、实用方便的单片机实验室。
二.交通灯系统PROTUES仿真
用PROTUES软件,根据交通灯的原理图,画出仿真图,得到的图如下所示
第6章调试与功能说明
一.硬件调试
系统的硬件调试一般分下面三个步骤。
第一步:
目测。
检查外部的各种元件或者电路是否有断点。
第二步:
用万用表检测,先用万用表复核目测中有疑问的连接点,在检测各种电源线与地线之间是否有短路现象。
第三步:
加电检测。
给板加电,检测所有插座或者器件的电源是否符合要求的值。
1.倒计时显示电路调试
给硬件电路接上电源,这时数码管全灭,用一根导线的一端与地线相连,另一端一次碰触AT89C51的P0和P2口,一边碰触一边察看七段数码管,正常情况下可以看到每碰触一个引脚,对应的一段数码管点亮。
若不亮,仔细查看与该脚相连的电阻及数码管是否虚焊。
2.交通灯电路的调试
需要说明的是,由于整个设计是用发光二极管来代替交通灯,需要低电平“0”来驱动点亮,在实际应用中,应使P1口输出高电平“1”来驱动继电器导通,从而使220V的交通灯点亮。
这是试验与实际应用比较容易混淆的地方,应该引起注意。
同时,在进行交通灯调试应注意VD1~VD12这12个发光二极管不能焊反。
3.紧急通行电路调试
仔细检查K1、K2、K3三个按键是否焊牢,并且三个键是否与相应的I/O借口对应准确。
二.软件调试
1.静态调试
静态调试是指对程序进行人工书面检查。
静态调试时要仔细阅读程序及其文档,经过结构分析、功能分析、逻辑分析、接口分析、语法分析以及逐行检查。
(1)检查语法错误
产生语法错误的原因主要有两个:
一是键入错误,此错误如同写文章时的“笔误”;
二是由于对语法规则不熟悉,见书后错误信息、各种限制、全局变量与局部变量、先后左右的原则等,这些虽不是系统规定,但也是语法的一部分,应作为专项予以检查。
(2)跟踪过程
此时的跟踪程序流程,即把自己当作计算机。
给定一组输入数据后,顺序执行每条语句,考察所得结果,寻找错误。
2.动态调试
动态调试是指实际上机运行程序进行调试。
源程序上机运行,语言系统及操作系
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 毕业设计 论文