交通灯 单片机课程设计文档格式.docx
《交通灯 单片机课程设计文档格式.docx》由会员分享,可在线阅读,更多相关《交通灯 单片机课程设计文档格式.docx(28页珍藏版)》请在冰豆网上搜索。
![交通灯 单片机课程设计文档格式.docx](https://file1.bdocx.com/fileroot1/2023-1/22/4c582519-bd8f-4e7b-a649-83a74f4f3c4d/4c582519-bd8f-4e7b-a649-83a74f4f3c4d1.gif)
设计要求
1.编程语言:
汇编或C51;
2.计算机打印《单片机技术》课程设计说明书一份;
3.设计时间:
一周;
4.实物制作;
5.人员分组:
一人一组一实物。
进度安排
起止日期
工作内容
备注
2010-11-01
2010-12-13
2010-12-14
2010-12-17
2010-12-18
了解课程设计的内容,设计要求,选定课题
查找课程设计书籍并集合有用资料作
绘制PCB,制作电路板并编写程序
画电路原理图并进行电路仿真
进行设计报告的分析与设计
打印设计报告
主要参考资料
[1].李广弟,朱月秀.单片机基础[M].北京:
北京航空航天大学出版社,2007.100~154
[2].张毅坤.单片微型计算机原理及应用[M].西安:
西安电子科技大学出版社,1998.125~130
[3].李光飞.单片机课程设计实例指导[M].北京:
北京航空航天大学出版社,2004.55~63
[4].李东生,张勇,许四毛.protel99s电路设计与应用[M].北京:
电子工业出版社,2004.78~110
[5].涨红润,马平安,张亚凡.单片机原理及应用[M].北京:
科学出版社,2002.113~118
摘要
单片机渗透到我们生活的各个领域,导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师。
科技越发达,智能化的东西就越多,使用的单片机就越多。
看来学单片机是社会发展的需求。
本次设计的题目是基于单片机的交通灯设计,系统主要由单片机AT89S52控制,实现数据存储,并结合外围的键盘输入、LED显示、LCD显示等电路模块,实现相关的功能。
所设计的系统能完成以下功能:
甲车道和乙车道两条交叉道路上的车辆交替运行,甲车道为主车道,每次通车时间为60秒,乙车道为次车道,每次通车时间为30秒,要求黄灯亮3秒,并且1秒闪烁一次。
本设计有成本低,易操作,实用等特点。
关键词:
单片机;
交通灯;
AT89S52;
LED显示
ABSTRACT
SCMpenetratedintoeveryaspectofourlives,missilenavigationdevices,theplaneonvariouskindsofinstrumentcontrol,computernetworkcommunicationanddatatransmission,industrialautomationprocessreal-timecontrolanddataprocessing,iswidelyusedinallkindsofintelligentICcard,civilluxurycarsecuritysystem,videocamera,videocamera,full-automaticwashingmachinecontrol,aswellasprogram-controlledtoys,electronicpets,etc,theseareinseparablefrommicrocontroller.Mentionautomaticcontrolfieldofrobot,intelligentinstrument,medicalequipment.Therefore,SCM'
sstudy,developmentandapplicationofcomputerapplicationwillcreateandintelligentcontrolofscientistsandengineers.OpinionMCUistomeettheneedsofsocialdevelopment.
Thisdesigntopicisbasedonsinglechiptrafficlightsdesign,systemmainlyconsistsofmonolithicintegratedcircuitAT89S52control,realizedatastorage,andcombiningtheperipherykeyboardinput,LEDdisplay,LCDdisplay,etc.Torealizethecircuitmodulerelatedfunctions.Thesystemdesignedtocompletethefollowingfunctions:
armourdrivewayandblanetwointersectingroadsvehiclesonalternateoperation,armour,andeachtrafficlaneprimarilydrivewaytimefor60seconds,blanesfortimes,eachtimetrafficlanetimefor30seconds,requestyellowlightsfor3seconds,and1secondtwinkleagain.Haveemergencyvehiclesappear,redlightsallbright,emergencyvehicletraffictime10seconds,andprohibitsothervehiclesthrough.Thisdesignhasthecharacteristicsforlowcost,easytooperateandpracticalandsoon.
KeyWords:
Microcontroller;
Trafficlights;
AT89S52Devices;
LEDDisplay
1..设计要求及总体方案介绍
1.1设计课题任务--------------------------------------------------------1
1.2功能要求说明--------------------------------------------------------1
1.3设计总体方案介绍及工作原理说明--------------------------------------2
1.3.1总体方案介绍---------------------------------------------------2
1.3.2工作原理------------------------------------------------------2
2..硬件系统的设计
2.1硬件系统各模块功能介绍----------------------------------------------3
2.1.1显示电路-------------------------------------------------------3
2.1.2指示灯控制电路-------------------------------------------------3
2.1.3键盘控制电路---------------------------------------------------4
2.1.4时钟电路-------------------------------------------------------4
2.1.5复位电路-------------------------------------------------------4
2.2电路原理图----------------------------------------------------------5
2.3电路PCB图----------------------------------------------------------5
2.4元器件布局图--------------------------------------------------------5
2.5元器件清单----------------------------------------------------------5
3..软件系统的设计
3.1单片机的使用资源情况------------------------------------------------6
3.1.1硬件资源使用说明-----------------------------------------------6
3.1.2交通灯的分配表-------------------------------------------------6
3.2软件模块功能介绍----------------------------------------------------7
3.3程序流程图----------------------------------------------------------7
3.4程序清单------------------------------------------------------------8
4..设计总结
4.1使用说明------------------------------------------------------------9
4.2仿真结果------------------------------------------------------------9
4.3误差分析-----------------------------------------------------------11
4.4设计体会-----------------------------------------------------------11
参考文献-------------------------------------------------------------------13
致谢---------------------------------------------------------------------14
附录---------------------------------------------------------------------15
附录一电路原理图-------------------------------------------------------15
附录二电路PCB图-------------------------------------------------------16
附录三元器件布局图-----------------------------------------------------17
附录四元器件清单-------------------------------------------------------17
附录五实物图-----------------------------------------------------------18
附录六程序清单---------------------------------------------------------18
第一章设计要求及总体方案介绍
1.1设计课题任务
1.2功能说明
本次课程设计在硬件方面的接法如下:
P3口接二极管,P3.0、P3.1、P3.2口线分别来控制东西方向的绿灯、黄灯和红灯;
P3.3、P3.4、P3.5口线分别控制南北方向的红灯、黄灯和绿灯。
P2口作为数码管的位控,P0口作为数码管的段控,P1口作为输入部分(这里用到了P1.0、P1.1、P1.2口线),控制数码管的显示情况和二极管的亮灭情况。
当交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
当按下启动按钮K0并释放后,数码管显示将会从“57”开始倒计时,每隔一秒减1,此时东西方向开始一直亮绿灯,南北方向一直亮红灯,直到显示为“00”时,数码管将会从“03”开始倒计时,每隔一秒减1,此时东西方向每隔一秒黄灯就闪烁一次,南北方向亮一直红灯,直到显示为“00”时,数码管将会从“27”开始倒计时,此时东西方向一直亮红灯,南北方向一直亮绿灯,直到显示为“00”时,数码管又将从“03”开始倒计时,此时东西方向一直亮红灯,南北方向每隔一秒黄灯就闪烁一次;
当没有其他键按下时,交通灯将这样一直循环下去。
当按下结束键K2并释放后,数码管将显示“P.”,东西南北方向无灯亮。
当按下紧急键JINJI并释放后,数码管将显示“10”,并且每隔一秒就减1,
东西南北方向全部红灯亮。
单片机采用AT89S52,fosc=12MHZ。
其按键功能如表1.1所示。
表1.1按键功能
按键
键名
功能
P1.0
K0键
启动键
P1.2
K2键
结束键
P1.1
JINJI键
紧急键
1.3设计总体方案介绍及工作原理说明
1.3.1总体方案介绍
该交通灯电路由单片机AT98S52、键盘接口电路、显示接口电路、发光二极管控制电路、时钟电路和复位电路构成,原理框图如图1.1所示。
图1.1原理框图
(1)电源提供方面
采用独立的稳压电源,此方案的优点是稳定可靠,且有各种成熟电路可供使用。
(2)显示方面
采用数码管显示,用来显示有限符号和数码字符。
(3)键盘输入方面
直接在I/O口线上接按键开关,因为设计时精简和优化了电路,所以剩余的口资源较多。
此设计共用到了3个按键,分别为:
K0、JINJI、K2。
1.3.2工作原理
首先时钟电路产生单片机工作时所需要的时钟信号,这是单片机能够正常工作的前提,而单片机有无定时的基础以及定多长的时间,这些还需要我们人为的确定。
我是采用50ms延时中断程序用来定时,在我们的硬件电路中,按键的键功能程序在中断服务中,在正常情况下会不断运行主程序,当有键按下时,CPU去转去执行中断程序,而中断程序可以执行三种键功能:
第一个是十秒倒计时紧急红灯亮;
第二个是结束倒计时,显示P.;
第三个是重新开始倒计时。
当有键按下时,外部中断0口线就会变成低电平,通过键扫程序来具体判断到底是哪个键按下,CPU才会去执行中断里面的某个键功能。
8个发光二极管是由P3口控制的,P3口与二极管之间串接一个限流电阻使二极管不易烧坏,采用送低电平有效。
第二章硬件系统的设计
2.1硬件系统各模块功能介绍
2.1.1显示电路
在本次课程设计中,我采用的是八位共阳数码管,显示原理跟单个LED的显示原理完全相同,在段控线和位控线都串接一个电阻,以提高其输出功率,在这里采用220欧母电阻。
显示及驱动电路图如图2.1。
图2.1显示及驱动电路
2.1.2指示灯控制电路
本次课程设计采用P3口控制二极管的发光情况,口线送低电平有效,具体设计如下:
P3.0控制东西方向的绿灯,P3.1口控制东西方向的黄灯,P3.2控制东西方向的红灯,
P3.3控制南北方向的绿灯,P3.4控制南北方向的黄灯,P3.5控制南北方向的红灯。
2.1.3键盘控制电路
键盘是最常用的输入设备,是实现人机对话的纽带。
按其结构形式可分为非编码键盘和编码键盘。
编码键盘采用硬件方法产生键码。
每按下一个键,键盘能自动生成键盘代码,键数较多,且具有去抖动功能。
这种键盘使用方便,但硬件较复杂。
非编码键盘仅提供按键开关工作状态,其键码由软件确定,这种键盘键数较少,硬件简单,广泛应用于各种单片机应用系统,在单片机控制电路中,可把单片机使用的键盘分为独立式和矩阵式两种。
独立式实际上就是一组独立的按键,这些按键可直接与单片机的I/O口连接,即每个按键独占一条口线,这种接法简单。
矩阵式键盘也称行列式键盘,因为键的数目较多,所以键按行列组成矩阵。
本设计中键盘数目较少,且为安装方便,因此在本设计中采用独立式接法。
如图2.2所示。
图2.2键盘控制电路
按从一个键到键的功能被执行主要应包括两项工作:
一是键的识别,即在键盘中找出被按的是哪个键,另一项是键功能的实现。
第一项工作是使用接口电路实现的,而第二项工作则是通过执行相应服务程序来完成。
具体来说,键盘接口应完成以下操作功能:
(1)键盘扫描,以判定是否有键被按下(称之为“闭合键”)。
(2)键识别,以确定闭合键的行列位置。
(3)产生闭合键的键码。
(4)排除多键、串键(复键)及去抖动。
以上这些内容通常是以软硬件结合的方式来完成的,即在软件的配合下由接口电路来完成。
但具体哪些由硬件哪些由软件完成,要看接口电路的情况。
总的原则是,硬件复杂软件就简单,硬件简单软件就得复杂一些。
2.1.4时钟电路
时钟电路用来产生单片机工作所需要的时钟信号,单片机本身就是一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。
通过在芯片的外部XTAL1和XTAL2两个引脚跨接晶体振荡器和微调电容,形成反馈电路,就构成了一个稳定的自激振荡电路。
时钟电路为单片机产生时钟脉冲序列,本设计中采用的晶振频率为12MHz,电容为33pF。
2.1.5复位电路
复位电路用于产生复位信号,通过RST引脚送入单片机,复位是单片机的初始操作,其主要功能是:
为一些专用寄存器设置初始状态、程序状态字PSW清0、程序计数器PC被赋值为0000H等,除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需安装复位键以重新启动。
RST引脚是复位信号的输入端,复位信号是高电平有效,完成复位操作共需要24个状态周期,复位结束后,单片机从地址0000H单元开始执行程序,SP为07H,其它寄存器大多数被置为00H,本设计使用频率为12MHz的晶振,所以复位信号持续时间应超过2μs才能完成复位操作。
复位电路分为上电复位、按键复位、按键脉冲复位三种,本次课程设计采用的是按键复位。
2.2电路原理图
电路原理图见附录一所示。
2.3电路PCB图
电路PCB图见附录二所示。
2.4元器件布局图
元器件布局图见附录三所示。
2.5元器件清单
元器件清单见附录四所示。
第三章软件系统的设计
3.1单片机的使用资源情况
3.1.1硬件资源使用说明
●P3口为二极管的控制端
●P0口用作地址/数据总线
●P2口用作地址/数据总线
●P1.0、P1.1、P1.1口线作为键盘输入端
既在AT89S52的P3口用来接八个发光二极管的阴极,控制其亮与灭,P0口和P2口外接由2个LED数码管(LED1、LED0)构成的显示器,用P0口作LED的段码输出口(P0.0~P0.7对应于LED的a~dp),P2口作LED的位控输出线(P1.1、P1.0分别对应于LED1、LED0),P2口外接三个个按键K0、JINJI、K2(分别对应于P1.0、P1.1、P1.2口)用于调整显示接口电路。
3.1.2交通灯的分配表
交通灯的口线分配如表3.1所示,“1”表示送高电平,“0”表示送低电平。
表3.1交通灯分配表
P3.0
东西绿灯
1
P3.1
东西黄灯
P3.2
东西红灯
P3.3
南北绿灯
P3.4
南北黄灯
P3.5
南北红灯
控制码
DEH
DDH
F3H
EBH
状态说明
南北禁止,东西放行
南北禁止,东西警告
南北放行,东西禁止
南北警
告,东西
禁止
3.2软件模块功能介绍
主程序模块的主要任务是程序的初始化显示“P.”,当没任何键按下时,显示模块将一直不变,交通灯全部是熄灭的,当K0键按下并松开后开始倒计时,
其中在时间显示的过程中判断是否有JINJI和K2键按下,如果是K2按下,将显示“P.”,并且发光二极管全部熄灭,如果是JINJI按下,数码管将开始十秒倒计时,并且东西南北的红灯全部亮起来。
显示模块包括送缓冲区模块,BCD码转换和送显示等,通过这些模块完成了显示的功能,并能按照我们所熟悉的时钟时间进行显示。
3.3程序流程图
主程序的流程图如图3.1所示,按键判断程序流程图如图3.2所示
图3.1主程序流程图
图3.2判断按键程序流程图
3.4程序清单
程序清单详见附录六
第四章设计总结
4.1使用说明
本实验主要是利用单片机AT89S52、数码管和发光二极管组成,整个电路结构比较简单,
具体操作说明如下:
当交通灯上电或按键复位后能自动显示系统提示符“P.”,进入准备工作状态。
当按下启动按钮K1并释放后,数码管显示将会从“57”开始倒计时,每隔一秒减1,此时东西方向开始一直亮绿灯,南北方向一直亮红灯,直到显示为“00”时,数码管将会从“05”开始倒计时,每隔一秒减1,此时东西方向每隔一秒黄灯就闪烁一次,南北方向亮一直红灯,直到显示为“00”时,数码管将会从“27”开始倒计时,此时东西方向一直亮红灯,南北方向一直亮绿灯,直到显示为“00”时,数码管又将从