基于单片机AT89C52控制的交通灯附带程序模板Word格式.docx
- 文档编号:16929020
- 上传时间:2022-11-27
- 格式:DOCX
- 页数:45
- 大小:510.94KB
基于单片机AT89C52控制的交通灯附带程序模板Word格式.docx
《基于单片机AT89C52控制的交通灯附带程序模板Word格式.docx》由会员分享,可在线阅读,更多相关《基于单片机AT89C52控制的交通灯附带程序模板Word格式.docx(45页珍藏版)》请在冰豆网上搜索。
3)在交通繁忙时,交通信号灯控制系统应有手控开关,可人为地改变信号灯的状态,以缓解交通拥挤状况。
在B车道放行期间,若A车道有车而B车道无车,按下开关K1使A车道放行15s;
在A车道放行期间,若B车道有车而A车道无车,按下开关K2使B车道放行15s;
4)有紧急车辆通过时,按下K3开关使A、B车道均为红灯,禁行20s。
5)完成系统电路设计;
6)完成系统软件设计;
7)完成系统Proteus下的仿真。
8)完成课程设计报告。
计划与进度
时间:
二周
1)方案设计2天
2)电路设计2天
3)软件设计3天
4)软、硬件联调2天
5)系统仿真2天
6)答辩1天
7)完成报告2天
任课教师
意见
年月日
教研室主任
签名
说明
平时考勤:
20%设计:
30%仿真:
20%答辩:
10%
设计报告:
20%共计100分。
目录
目录II
第一章绪论1
1.1交通灯设计的意义1
1.2交通灯设计的思想1
1.3交通灯设计满足的基本功能2
第二章总体方案3
2.1总体方案设计思想3
2.2系统方案选择与比较3
2.3系统总体方案论证5
第三章硬件设计6
3.1总体设计与描述6
3.2交通灯通行模式及行车方向指示6
3.3主干道单独时间设置功能8
3.4倒计时计数功能及其实现8
3.5各功能模块硬件设计及实现9
第四章软件设计12
4.1软件总体流程图12
4.2定时器初始化12
4.3动态显示13
4.4设置状态子程序14
第五章系统调试15
5.1系统操作说明15
5.2调试15
5.3调试心得19
第六章设计总结21
参考资料22
附录23
Ⅰ原理图23
Ⅱ原程序24
第一章绪论
1.1交通灯设计的意义
交通的发达,标志着城市的发达,相对交通的管理则显得越来越重要。
交通灯是城市交通中的重要指挥系统,它与人们日常生活密切相关.随着人们生活水平的提高,对交通管制也提出了更高的要求,因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性。
对于复杂的城市交通系统,为了确保安全,保证正常的交通秩序,十字路口的信号控制必需按照一定的规律变化,以便于车辆行人能顺利地通过十字路口。
单片机自问世以来,性能不断提高和完善,其资源又能满足很多场合的应用,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、性能可靠、价格低廉,其易于产品化、抗干扰能力强、可在各种恶劣环境下可靠的工作等特点。
特别是它强大的面向控制能力,使它在工业控制领域,智能仪表、外设控制、家用电器、机器人、军事装置等方面得到了广泛的应用。
考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,拟采用MCS-51系列的单片机来实现十字路口交通信号灯的控制。
正常情况下,十字路口的红绿灯应交替变换,考虑紧急情况下,如有救护车或警车到来时,应优先让其通过。
另外,单片机课程设计是应用电子专业学生的必修课程。
通过交通灯模拟系统的设计可以进一步认识单片机在控制系统中的重要性。
在完成理论学习和必要的实验后,掌握了单片机的基本原理和各种基本功能的应用,但对单片机的硬件实际应用设计和单片机完整的用户程序设计还不清楚,实际动手能力不够,因此对该课程进行一次课程设计是有必要的。
交通灯模拟系统的课程设计既让学生巩固了课本学到的理论,还让学生学习了单片机硬件电路设计和用户程序设计的整个过程,同时学习了查阅资料、参考资料的方法。
单片机的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试用户程序,来加深对单片机的认识,充分发挥学生的创新能力。
1.2交通灯设计的思想
该设计在熟练掌握单片机及其仿真系统的使用方法基础上,综合应用单片机原理、单片机应用技术等课程方面的知识,设计一个采用AT89C52单片机控制的交通灯控制电路。
根据设计功能及要求,我们可得系统的原理框图如图所示。
图1-1系统原理框图
根据系统的原理框图,分别分析各部分电路的元器件的功能以及选择合适的元件。
具体设计思路如下:
收集并整理资料,硬件设计,软件设计,Proteus仿真,设计体会与总结。
1.3交通灯设计满足的基本功能
1、南北方向(主干道)车道和东西方向(次干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为20秒、支干道每次通行间为20秒,时间可设置修改。
2、在绿灯转为红灯时,要求黄灯先亮3秒钟,才能变换运行车道;
3、黄灯亮时,要求每秒闪亮一次
4、东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。
5、一道有车而另一道无车,交通灯控制系统能立即让有车道放行。
第二章总体方案
2.1总体方案设计思想
根据传统十字路口交通灯的设计,可将本系统分为四个模块,第一个模块是控制模块,主要负责整个系统工作的控制和运算,从而使各模块正常工作;
第二个模块为显示模块,主要是对车辆和行人应该遵守交通规则的指导性的直观显示,它主要包括倒计时显示和红、绿、黄灯两大部分;
第三个模块是输入模块,它的主要作用是辅助控制模块,相当于输入装置,利用它可以对交通灯各路口通行时间的设置以及出现紧急情况时,进行不同工作方式的切换设置;
第四个模块是电源模块,它是整个系统的“心脏”,负责给各模块提供合适的电压,让各模块能稳定工作。
其系统设计结构如图2-1所示:
图2-1系统设计结构图
2.2系统方案选择与比较
2.2.1控制模块方案选择
方案一:
由计数器74LS161级联组成,配合译码器和秒脉冲信号发生器等器件组成交通灯系统,整个系统简单,控制简单,调试容易等优点。
方案二:
采用ATC公司的单片机ATC89C52作为控制器。
单片机运算能力强,软件编程灵活,自由度大。
它是MCS-51系列单片机的派生产品,在指令系统、硬件结构和片内资源上与标准8052单片机完全兼容,使用时容易掌握;
采用ATC89C52单片机稳定可靠、应用广泛、通用性强,在系统/在应用可编程。
方案比较:
采用方案一来实现十字路口交通灯控制系统非常方便,电路结构简单,控制单一,但整个系统性能不是很高,倒计时不是非常精确,如果要求系统能设置不同工作时间不容易,因而对于完成题目较困难,而方案二完全能实现设计要求,容易掌握,利用编程,易控制,I/O接口很多,易于扩展外围电路,价格便宜,故选择方案二。
2.2.2显示模块方案选择
该系统要求完成倒计时、状态灯等功能。
基于上述原因,考虑了三种方案。
完全采用数码管显示。
这种方案只显示有限的符号和数码字苻,无法胜任题目要求。
完全采用点阵式LED显示。
这种方案实现复杂,且须完成大量的软件工作;
但功能强大,可方便的显示各种英文字符,汉字,图形等。
方案三:
用七段LED数码管完成倒计时显示,用LED灯作为状态灯指示功能。
方案一和方案二都不符合设计要求,实现较复杂,而方案三采用数码管与LED灯相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。
权衡利弊,选择方案三。
2.2.3输入模块方案选择
采用8155扩展I/O口及键盘,显示等。
该方案的优点是:
使用灵活可编程,并且有RAM,及计数器。
若用该方案,可提供较多I/O口,但操作起来稍显复杂。
直接在IO口线上接上按键开关。
因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用三个按键,分别是SET_KEY、UP_KEY、DOWN_KEY。
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O口就可实现,且本身的计数器及RAM已经够用,故选择方案二。
2.2.4电源模块方案选择
采用单片机控制模块提供电源。
该方案的优点是系统简明扼要,节约成本;
缺点是输出功率不高,不能驱动数码管。
采用独立的稳压电源,采用开关电源作为整个系统的供电,它具有多路电源输出,此方案的优点是稳定可靠,且有各种成熟电路可供选用;
缺点是各模块都采用独立电源。
方案一只采用单片机自身的I/O来驱动数码管显示是不行的,而方案二虽然要给各模块供电,但却能给各模块提供稳定可靠的电压从而达到显示明亮的程度。
故选择第二种方案。
2.3系统总体方案论证
经上述各模块的方案选择与论证,十字路口交通灯控制系统的控制芯片选用单片机AT89C52作为整个系统的核心控制器件,主要负责整个系统工作的控制和运算,从而使各模块正常工作;
采用七段LED数码管和LED灯作为显示器件,用七段LED数码管完成倒计时显示,用LED灯作为状态灯指示功能;
用触发按键构成系统的输入部分,它可以对系统进行状态设置,结合数码管,可根据交通情况对整个系统进行直观的控制;
以开关电源作为系统电源部分,它有+12V、-12V、+5V、-5V电压输出,可方便对各个模块供电。
系统设计方框总图如图2-2:
图2-2系统设计方框总图
第三章硬件设计
硬件设计是整个系统的基础,要考虑的方方面面很多,除了实现交通灯基本功能以外,主要还要考虑如下几个因素:
①系统稳定度;
②器件的通用性或易选购性;
③软件编程的易实现性;
④系统其它功能及性能指标;
因此硬件设计至关重要。
现从各功能模块的实现逐个进行分析探讨。
3.1总体设计与描述
本设计以单片机AT89S52为控制核心,采用模块化设计,共分以下几个功能模块:
单片机控制系统、键盘及状态显示、行车方向指示和倒计时模块等。
①单片机作为整个硬件系统的核心,它既是协调整机工作的控制器,又是数据处理器。
它由单片机、时钟电路、复位电路等组成。
②行车方向指示采用红、绿、黄、蓝(表示向左转)LED发光管,用四种颜色指示车辆放行、暂停、禁止,形象直观。
③键盘及状态显示,键盘采用三只触发按键组成,电路简洁可靠;
显示器采用七段LCD数码管,可实时显示系统运行状态,可供交警在室内实时监视交通状况。
通过键盘可设置:
紧急情况发生时的交通灯状态控制、主干道通行时间等。
④系统采用双数码管倒计时计数功能,最大显示数字不超过80。
交通灯模拟仿真如图3-1所示:
图3-1交通灯模拟仿真图
3.2交通灯通行模式及行车方向指示
按交通灯控制规则,每个街口有转弯、直行及行人三种指示灯。
主要指示灯有红、绿、黄三种颜色,但我在其中修改了一下,加进一个蓝灯。
交道口模型如图3-2所示:
图3-2交道口模型图
2组LED数码管按照设置的通行时间(各路口默认的通行时间均为20秒)进行倒计时,并各自进行显示,共有四种通行状态,分别为:
图3-3通行状态一示意图
图3-4通行状态二示意图
图3-5通行状态三示意图
图3-6通行状态四示意图
直行默认时间为20秒,转弯默认时间为20秒,系统设置了任意更改功能,可以根据实际情况进行倒计时调整,以提高车辆通过率,缓减交通压力。
在直行状态变为转弯状态时黄灯倒计时3秒后转弯。
本设计选用一只绿色、一只蓝色LED发光管来指示转弯、直行等交通指示信息。
绿灯亮表示直行,蓝灯亮表示允许转弯行驶,红色则表示禁止通行。
所有指示信息一目了然。
3.3主干道单独时间设置功能
当主干道方向的车辆过多发生堵塞,正常的信号灯时序将会使交通状况更加恶化。
本设计添加了主次干道单独时间设置功能,交警可按需求设置绿灯的点亮时间,该措施可在一定程度缓减短暂的交通压力。
三个按键如图3-7所示:
图3-7按键功能
3.4倒计时计数功能及其实现
本系统使用数码管完成倒计时显示功能。
以南北方向为例,数码管显示的数值从绿灯的设置时间最大值往下减,每秒钟减1,一直减到0。
然后又从红灯的设置时间最大值往下减,一直减到0。
接下来又显示绿灯时间,如此循环。
系统共有2个两位的LED数码管,分别放置在模拟交通灯控制板上的南北、东西路口。
因为对应的两个方向应该显示同样的内容,所以可以把它们同样对待。
也就是说各个方向的数码管个位(把数码管第二位定义为个位,第一位定义为十位)用一根信号线控制,十位用另一根信号线控制。
3.5各功能模块硬件设计及实现
3.5.1单片机控制模块设计
单片微机简称为单片机。
它在一块芯片上集中成了中央处理单元CPU、随机存储器RAM、只读存储器ROM、定时/计数和多功能输入/输出I/O口,如并行口I/O、串行口I/O和转换A/D等。
MCS-51系列单片机在我国得到了广泛的应用,是单片机的主流系列,软硬件应用设计资料丰富齐全。
为了提高指令的执行速度和效率,采用了面向控制的结构和指令系统的独立CPU。
因此本设计采用AT89C52单片机作为系统的控制器件,这是因为AT89C52是目前应用比较广泛的MCS-51系列兼容单片机作为主控制器。
AT89C52单片机的主要性能特点:
1、与MCS-51系列单片机产品兼容;
2、8K字节在系统可编程Flash存储器,1000次擦写周期;
3、全静态操作:
0~33Hz;
4、三级加密程序存储器;
5、32个可编程I/O口线,3个16位定时器/定时器,8个中断源;
6、全双工UART串行通道,低功耗空闲和掉电模式;
7、掉电后中端可唤醒,看门狗定时器;
8、双数据指针和掉电标识符;
电源、时钟信号以及复位电路时单片机工作的基本条件,缺一不可。
AT89C52单片机系统的基本工作电路包括电源电路、时钟电路、复位电路。
其组成方框图如图3-8所示:
图3-8单片机控制系统基本硬件组成方框图
(1)、电源电路
电源电路模块为系统板上的其他模块提供+5V电源。
供电电源可由开关电源提供,即能满足。
(2)、时钟电路模块的设计
单片机的时钟信号用来为单片机芯片内部的各种操作提供时间基准。
时钟电路为单片机产生时钟脉冲序列,作为单片机工作的时间基准,典型的晶体振荡频率为12MHz。
MCS-51系列单片的时钟信号可以由两种方式产生:
一种是内部时钟方式,利用芯片内部的振荡电路;
另一种方式为外部时钟方式。
(3)、复位电路模块设计
复位电路使单片机或系统中的其他部件处于某种确定的状态。
当在MCS-51系列单片的RST引脚处引入高电平并保持2个机器周期,单片机内部就执行复位操作。
复位操作有两种基本形式:
一种是上电复位,另一位是按键复位。
本设计采用按键复位方式。
3.5.2倒计时显示及状态指示模块的设计
倒计时显示采用七段数码管显示,如下表格所示是七段显示组合与数字对照表3-1:
段码
位码
a
b
c
d
e
f
G
H
L
1
2
3
4
5
6
7
8
9
(表中“L”表示低电位,“H”表示高电位)
状态指示采用LED数码管,半导体数码管又称LED数码管,是一种广泛使用的显示器件。
LED有两种:
共阳极型和共阴极型。
LED优点:
亮度高、字形清晰,工作电压低(1.5~3V)、体积小、可靠性高、寿命长,响应速度极快。
如图3-10所示是硬件中的LED灯:
图3-9硬件中的LED灯
3.5.2键盘及状态指示显示模块的设计
键盘及状态显示如图3-11所示:
图3-10键盘及状态显示
按下开始设置SET_KEY一下首先开始南北直行绿灯设置,可以增也可以减时间;
按下SET_KEY两下设置南北的左转弯蓝灯时间,可以增也可以减时间;
按下SET_KEY三下东西直行绿灯设置,可以增也可以减时间;
按下SET_KEY四下东西左转弯蓝灯设置,可以增也可以减时间;
按下SET_KEY五下返回正常运行状态。
第四章软件设计
硬件平台结构一旦确定,大的功能框架即形成。
软件在硬件平台上构筑,完成各部分硬件的控制和协调。
系统功能是由软硬件共同实现的,由于软件的可伸缩性,最终实现的系统功能可强可弱,差别可能很大。
因此,软件是本系统的灵魂。
软件采用模块化设计方法,不仅易于编程和调试,也可减小软件故障率和提高软件的可靠性。
同时,对软件进行全面测试也是检验错误排除故障的重要手段。
由于编程多涉及到数值运算,比较复杂,还有LCD的菜单界面设计都是需要多重选择判断,用我们平时常用的汇编语言编程是很难实现的,这里我们选用了移值性好、结构清晰、能进行复杂运算的C语言来实现编程。
4.1软件总体流程图
软件总体设计及流程图见图4-1,主要完成各部分的软件控制和协调。
本系统主程序模块主要完成的工作是对系统的初始化。
图4-1总流程图
4.2定时器初始化
定时/计数器方式寄存器TMOD相关知识如表4-1
T1
T0
GATE
C/T
M1
M0
M1和M0为方式选择位。
定义如下表4-2:
M1M0
工作方式
功能说明
00
方式0
13位计数器
01
方式1
16位计数器
10
方式2
自动再装入8位计数器
11
方式3
定时器0:
分成两个8位计数器
定时器1:
停止计数
TMOD=0x21;
intChar.uiTime0=0xffff-10000;
程序中用到两个定时器,分别是
TH0=intChar.ucTime0Buf[0];
定时器1跟定时器0,采用了方
TL0=intChar.ucTime0Buf[1];
式2跟方式1,TMOD=0X21,调
TR0=1;
用了定时器T0和T1。
定时器1
TH1=0xfd;
方式2定时器0方式1
TL1=0xfd;
TR1=1;
SCON=0x50;
ET0=1;
ES=1;
EA=1;
4.3动态显示
主要是灯跟数码管显示,数码管显示流程图如图4-2所示:
首先是位码初始化然后送位码,选位码,位码右移,延时,关位码。
图4-2动态显示流程图
4.4设置状态子程序
在设置状态,按下开始设置SET_KEY一下首先开始南北直行绿灯设置,可以增也可以减时间;
蓝灯和绿灯的时间最大可以设为79,超出79的时候会出现乱码现象。
如图4-3所示是设置状态子程序流程图:
图4-3设置状态子程序流程图
第五章系统调试
因本设计本身要求有稳定性高、免维护、抗干扰能力强等功能,系统调试除了验证数据处理的精度,确保判断的准确性外,同时必须确认各项的功能的正常运行。
5.1系统操作说明
系统分为两个状态:
设置状态和显示状态。
利用键盘可以进行两个状态间的切换;
开机时,系统为显示状态,此时数码管从默认的倒计时时间开始倒计时;
LED灯开始有规律工作,作行车方向指示;
设置状态时利用键盘可以设置各路口通行倒计时时间,主次干道的通行时间可以不相等,这里我们增添了分开分别设置功能;
显示状态时,交通灯四个LED灯进行倒计时;
LED发光管各组的交替指示;
如果LED箭头指示板上的绿灯亮,两边红灯亮,则显示的是通行时间;
显示过程中按键可以重新进入设置状态。
5.2调试
根据系统设计方案,本系统的调试共分为三大部分:
硬件调试,软件调试和软硬件联调。
由于在系统设计中采用模块化设计,所以方便了对各电路功能模块的逐级测试,包括对:
交通灯演示功能调试,倒计时功能调试,主次干道分开设置功能调试等。
单片机软件先在最小系统板上调试,确保工作正常之后,再与硬件系统联调。
最后将各模块组合后在交道口模型上进行整体测试,使系统的所有功能得以实现。
5.2.1硬件调试
总硬件图如图5-1所示:
如硬件系统图所示接线,图中,在十字路口的红、黄、绿、蓝交通灯,主要是对通行方式功能调试、倒计时功能调试。
包括对四种通行方式控制调试,行车方向指示灯和驱动电路调试。
图5-1总硬件图
具体仿真效果:
1、如图5-2所示正常情况下南北方向亮绿灯,东西方向亮红灯。
南北放行,东西禁行,绿灯30S,红灯是50+3+20=63S
图5-2南北直行通道
2、如图5-3所示是南北直行绿灯转为黄灯到下一个状态,黄灯3S延时:
图5-3黄灯延时3S转下一个状态
3、如图5-4是南北左转弯显示20S:
图5-4南北左转弯通道
4、如图5-5是东西直行绿灯亮50S:
图5-5东西直行通道
5、如图5-6所示是东西直行绿灯转为黄灯到下一个状态,黄灯3S延时:
图5-6黄灯延时3S转下一个状态
6、如图5-7所示是东西左转弯蓝灯显示,时间为12S:
图5-7东西左转弯通道
5.2.2软件调试
本系统的软件系统很大,全部用C51来编写。
除了语法差错外,当确认程序没问题时,通过直接下载到单片机来调试。
采取的是自下到上的调试方法,即单独调试好每一个模块,然后再连接成一个完整的系统,最后完成一个完整的系统调试。
5.2.3软硬件联调
系统做好后,进行系统的完整调试。
主要任务是检验实现的功能及其效果并校正数值。
根据实测数据,逐步校正数据,使测量结果更准确。
5.3调试心得
通过交通灯的编程到硬件的实现,我们只有充分掌握了理论知识的基础之上才能做好。
首先,判断数码管是共阴管还是共阳管,其次根据操作要求和自己的程序设计进行调试看是否相同。
在课程设计中,我们学习到了很多的东西:
首先,怎么样去查阅资料,收集与课设要用的有关的知识。
其次,要完成一件工作,还得专心致志才行,细心耐心。
第三,遇到困难要冷静,要多想解决办法,多尝试。
通过这次课程设计,我们也进一步熟悉数字电路
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 AT89C52 控制 交通灯 附带 程序 模板