单片机模拟交通灯系统设计报告.doc
《单片机模拟交通灯系统设计报告.doc》由会员分享,可在线阅读,更多相关《单片机模拟交通灯系统设计报告.doc(29页珍藏版)》请在三一办公上搜索。
1、 课程设计说明书课程设计名称: 专业课程设计 课程设计题目: 交通灯模拟控制系统 学 院 名 称: 信息工程学院 专业: 电子信息工程 班级: 学号: 姓名: 评分: 教师: 20 13 年 7 月 2 日由每位学生填写、由任教教师保存待查摘 要本论文是以十字路口交通灯的控制系统为研究对象,以交通控制基本理论为基础,运用单片机技术原理和应用,对智能交通的控制系统进行分析研究并做出模拟应用。文章论述了基于STC89C51单片机的交通灯控制系统,以STC89C51作为系统的控制元件,扩展一片8255芯片,8255的PA口作为基本输出,点亮发光二极管,即控制红黄绿等的亮灭。电路主要包括:单片机主控模
2、块、8255扩展模块、红绿灯显示模块、紧急放行按键模块。本系统简单模拟现有的交通灯系统,实现十字路口南北方向和东西方向交替亮绿灯即放行,且有黄灯闪烁3秒提醒放行方向即将改变,红灯时间维持13秒,绿灯维持10秒。另外,系统还设计了紧急放行按键,可强行对相应的方向放行。本系统实用性强、操作简单、扩展功能强。关键词:单片机、8255、交通灯目 录摘要2第一章 设计要求4 1.1 设计要求4 1.2 设计思路4第二章 系统组成及工作原理5 2.1 系统组成52.1.1 单片机STC89C51介绍52.1.2 8255芯片介绍72.1.3 发光二极管92.1.4 紧急放行按键9 2.2 交通灯系统工作原
3、理9第三章 硬件电路方案设计10 3.1 设计方案10 3.2 单元电路设计103.2.1 时钟电路模块103.2.2 单片机控制模块及紧急按键模块103.2.3 8255扩展模块123.2.4 LED红绿灯显示13第四章 软件设计14 4.1 单片机和8255资源使用情况14 4.2 软件各模块介绍14第五章 调试与结果16 5.1 软件调试16 5.2 硬件调试18第六章 结论19参考文献20附录A21附录B22附录C23第一章 设计要求 1.1 设计要求:1、用单片机扩展一片8255,用12 个发光二极管模拟一个十字交叉路口的红、绿、黄灯,并设置二个紧急放行按键。2、正常行驶时,东西或南
4、北方向的灯按绿灯亮10 秒,黄灯闪烁3 秒,红灯亮12 秒控制。3、 当东西或南北方向的紧急放行按键按下时,如果禁行方向为红灯,则红灯 继续维持12 秒;如果禁行方向为绿灯,则立即变为黄灯闪烁3 秒;如果禁行方向为黄灯,则黄灯继续维持。 1.2 设计思路1、分析目前交通路口的基本控制技术以及各种通行方案,并以此为基础提出 自己的交通控制的初步方案。2、确定系统交通控制的总体设计,包括,十字路口具体的通行禁行方案设计以及系统应拥有的各项功能,在这里,本设计除了有信号灯状态控制能实现基本的交通功能,还有倒计时显示提示、紧急情况下,全面禁行、黄绿红灯及左转周期随时可调这三项项特特殊功能。3、进行显示
5、电路,按键电路的设计和对各器件的选择及连接,大体分配各个器件及模块的基本功能要求。4、进行软件系统的设计,对于本系统,本人采用单片机汇编语言编写,对单片机内部结构和工作情况做了充足的研究,了解中断以及延时原理,总体上完成了软件的编写。然后在开发板上进行硬件调试。 第二章 系统组成及工作原理 2.1 系统组成 本系统包括单片机主控模块、8255扩展模块、红绿灯显示模块、紧急放行按键模块。系统框图如图2.1所示: 图2.1 系统组成框图 2.1.1 单片机STC89C51介绍 STC89C51提供以下标准功能:8字节FLASH闪速存储器,256字节内部 RAM , 32个I/O口线,3个16 位定
6、时计数器,一个6向量两级中断结构, 一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89c52可降至零 赫兹的静态逻辑操作,并支持两种软件可选的节电上作模式。空闲方式停止 CPU 的工作,但允许RAM,定时计数器串行通信口及中断系统继续工作。 掉电方式保存RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作 直到下一个硬件复位。STC89C52的引脚图如图2.2所示,下面是对部分引脚功能的介绍。P0:P0口是一组8位漏极开路型双向1/O 口,也即地址/数据总线复用口。作为输出口用时每位能吸收电流的方式驱动8个TTL 逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。P0口也可
7、以配置为复低位地址/数据总线和内存数据访问外部程序。在这种模式下,P0具有内部上拉电阻。在FLASH由编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P2:P2 是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑电路。对端口P2写“l,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(llt )。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOvxDPTR 指令)时,P2送出高8 位地址数据。在访问8位地址的外部数据存储
8、器、如执行MOVXRI指令)时,P2口输出P2锁存器的内容。FLASH编程或校验时,P2亦接收高位地址和一些控制信号。 P3 :P3 口是一个具有内部上拉电阻的8 位双向I/O 口,p2 输出缓冲器能驱动4 个TTL 逻辑电平。对P3 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能(第二功能)使用。在flash编程和校验时,P3口也接收一些控制信号。端口引脚第二功能P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 INTO(外中断0) P3.3
9、INT1(外中断1) P3.4 TO(定时/计数器0)P3.5 T1(定时/计数器1) P3.6 WR(外部数据存储器写选通) P3.7 RD(外部数据存储器读选通) 此外,P3口还接收一些用于FLASH闪存编程和程序校验的控制信号。RST:复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。EA/VPP:外部访问允许。欲使CPU 仅访问外部程序存储器(地址为0000H-FFFFH ) , EA端必须保持低电平(接地)需注怠的是:如果加密位LBI被编程,复位时内部会锁存EA端状态。如EA端为高电平(接Vcc端)。flash存储器编程时,该引脚加上+12V的编程允许电源
10、VPP ,当然这必须是该器件是使用12V编程电压VPP 。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端XTAL2:振荡器反相放大器的输出端。 图2.2 STC89C51引脚图 2.1.2 8255芯片介绍 8255是 可编程并行I/O接口芯片,有3个8位并行I/O口。具有3个通道3种工作方式的可编程并行接口芯片(40引脚)。8255作为主机与外设的连接芯片,必须提供与主机相连的3个总线接口,即数据线、地址线、控制线接口。同时必须具有与外设连接的接口A、B、C口。由于8255可编程,所以必须具有逻辑控制部分,因而8255内部结构分为3个部分:与CPU连接部分、与外设连接部分、控制部分。
11、1、 与CPU连接部分 根据定义,8255能并行传送8位数据,所以其数据线为8根D0D7。由于8255具有3个通道A、B、C,所以只要两根地址线就能寻址A、B、C口及控制寄存器,故地址线为两根A0A1。此外CPU要对8255进行读、写与片选操作,所以控制线为片选、复位、读、写信号。8255引脚图如图2.3所示,各信号的引脚编号如下:(1)数据总线DB:编号为D0D7,用于8255与CPU传送8位数据。(2)地址总线AB:编号为A0A1,用于选择A、B、C口与控制寄存器。(3)控制总线CB:片选信号、复位信号RST、写信号、读信号。当CPU要对8255进行读、写操作时,必须先向8255发片选信号
12、选中8255芯片,然后发读信号或写信号对8255进行读或写数据的操作。 2、与外设接口部分根据定义,8255有3个通道A、B、C与外设连接,每个通道又有8根线与外设连接,所以8255可以用24根线与外设连接,若进行开关量控制,则8255可同时控制24路开关。各通道的引脚编号如下:(1)A口:编号为PA0PA7,用于8255向外设输入输出8位并行数据。(2)B口:编号为PB0PB7,用于8255向外设输入输出8位并行数据。(3)C口:编号为PC0PC7,用于8255向外设输入输出8位并行数据,当8255工作于应答I/O方式时,C口用于应答信号的通信。 3、控制器 8255将3个通道分为两组,即P
13、A0PA7与PC4PC7组成A组,PB0PB7与PC0PC3组成B组。如图7.5所示,相应的控制器也分为A组控制器与B组控制器,各组控制器的作用如下:(1)A组控制器:控制A口与上C口的输入与输出。(2)B组控制器:控制B口与下C口的输入与输出。 图2.3 8255引脚图 2.1.3 发光二极管 发光二极管简称为LED。由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管。在电路及仪器中作为指示灯,或者组成文字或数字显示。磷砷化镓二极管发红光,磷化镓二极管发绿光,碳化硅二极管发黄光。发光二极管正极接高电平时,负极为低电平择灯亮。
14、2.1.4 紧急放行按键 本系统需两个紧急按键,实现当某个方向车流量较大时延长放行时间或紧急改变放行方向。 2.2 交通灯系统工作原理 东西、南北两干道交于一个十字路口,各干道有一组红黄绿三色的指示灯,指挥车辆和行人安全通行。红灯亮禁止通行,绿灯亮允许通行,黄灯亮提示人们注意红、绿灯的状态即将切换,切黄灯点亮时间为东西、南北两干道的公共停车时间。程序设置初始状态为东西方向绿灯、南北方向红灯,单片机执行程序,控制交通灯状态转换,包括延时,紧急放行。扩展的8255PA口输出控制红黄绿等的亮灭。第三章 硬件电路方案设计3.1 设计方案本设计采用单片机ATC89C51芯片扩展一片8255,实现交通灯的
15、模拟控制。选用频率为12MHz的晶振,则一个时钟周期为1us(T=12/12MHz)。ATC89C51的P0口配置为复低位地址/数据总线与8255芯片的数据总线DB相连,P2送出高8 位地址数据,外部中断INT0和INT1接紧急放行按键。8255的PA口接发光二极管的负极,使PA口向外设输出8位并行数据,控制发光二极管的亮灭。 本实验包括四种状态: S1:东西绿灯亮,南北红灯亮 S2:东西黄灯闪烁,南北红灯亮 S3:东西红灯亮,南北绿灯亮 S4:东西红灯亮,南北黄灯闪烁3.2 单元电路设计 3.2.1 时钟电路模块 时钟电路如图3.1所示,电容选取30pF,晶振频率为12MHz,一个时钟周期为
16、1us(12/12MHz)。C2、C3为谐振电容,有起振作用。 图3.1 时钟电路模块 3.2.2 单片机控制模块及紧急按键模块 本系统中单片机作为核心控制元件,提供定时器和中断服务,定时器T0工作在方式1,P0和P2口是扩展8255的地址端,其中P2.7接8255片选信号,使能8255,P2.6、P2.5分别接8255的端口选择A1、A0。紧急放行按键接外部中断,按下发送中断请求。系统上电按初始化状态东西绿灯亮,南北红灯亮开始运行,通过定时器定时实现延时,达到红绿灯维持的时间,按下紧急按钮时,系统响应中断请求,执行中断服务程序,实现紧急放行。具体硬件连线如图3.2和图3.3所示。 图3.2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 模拟 交通灯 系统 设计 报告
链接地址:https://www.31ppt.com/p-4147546.html