《2022年基于单片机的交通信号灯控制系统设计.pdf》由会员分享,可在线阅读,更多相关《2022年基于单片机的交通信号灯控制系统设计.pdf(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、基于单片机的交通信号灯控制系统设计目录中文摘要 1、引言 1 2、设计任务及思路 1 3、单片机 3 3、 1 单片机简介 3 3、 2 单片机基本结构 3 3、 3 单片机硬件特性 3 4、 芯片的选择 4 4、 1 74LS373以及 74LS07芯片简介 4 4、 2 8255 芯片 5 4、 2、 1 8255可编程并行接口芯片简介 5 4、 2、 2 8255 可编程并行接口芯片方式控制字格式说明 5 4、 3 晶闸管 7 5、 交通灯控制原理分析及方案论证 8 6、 系统硬件设计 9 6、 1 总体设计 9 6、 2 单片机最小系统 9 6、 2、 1 振荡电路 9 6、 2、 2
2、 复位电路 10 6、 3 显示及其驱动模块 11 6、 3、 1 键盘与状态显示功能 11 6、 3、 2 倒计时计数功能 11 7、 系统软件设计 12 7、 1 延时程序设计 12 7、 1、 1 计数器硬件延时 12 7、 1、 2 软件延时 13 7、 2 时间及信号灯的显示 14 7、 2、 1 8031 并行口的扩展 14 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计2. 设计任务及思路设计一
3、个能够控制十二盏交通信号灯的模拟系统。通过交通信号灯控制系统的设计。系统工作受开关控制, 起动开关 ON 则系统工作 ; 起动开关 OFF 则系统停止工作。控制对象如下 : 东西方向红灯两个 , 南北方向红灯两个 , 东西方向黄灯两个 , 南北方向黄灯两个 , 东西方向绿灯两个 , 南北方向绿灯两个 , 图 1 交通信号示意十字路口东西方向与南北方向各装有直行( 包括右拐弯 ) 控制红、黄、绿交通信号灯( 如图 1 所示) 。还有倒计时显示器 , 显示器用于显示相应方向直行控制当前点亮信号灯还要持续的时间 (即剩余时间 )。系统中有两个按钮启动与停止, 启动按钮按下后信号灯系统开始工作 , 并
4、周而复始地循环 ; 停止按钮按下 , 所有信号灯都熄灭。信号灯的控制规律如表1 所示。即系统启动后 , 东西方向先绿灯亮25s, 然后绿灯闪烁 3s,最后黄灯亮 2s, 与此同时南北方向红灯亮30s。南北方向红灯亮30s 后转为先绿灯亮25s, 然后绿灯闪烁3s, 最后黄灯亮 2s, 东西向红灯亮 30s。由此周而复始地循环。要求采用单片机实现交通灯的控制规律。表 1 信号灯控制规律东西方向信号绿灯亮绿灯闪烁黄灯亮红灯亮时间25s 3s 2s 30s 南北方向信号红灯亮绿灯亮绿灯闪烁黄灯亮时间30s 25s 3s 2s 设计电路中使用到的主要元器件, 单片机芯片、 8255芯片与晶闸管。十字路
5、口分四条道 , 每条道有三个红绿灯 , 共十二个。每个红绿灯由一块8031芯片单独控制 , 我们只设计一个红绿灯的燃亮情况, 同理根据燃亮顺序设计其它红绿灯。 然后再组合起来 ,达到设计要求。3. 单片机3、1 单片机简介东南北西精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计单片机就是一种集成电路芯片, 简称为单片微型计算机。就是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU, 随机存储器 RA
6、M, 只读存储器 ROM, 多种 I0 口与中断系统 , 定时器 , 计时器等功能 , 集成在一块硅片上构成的一个小而完善的计算机系统。3、2 单片机基本结构单片机由运算器 , 控制器 , 存储器 , 输入输出设备组成。3、3 单片机硬件特性(1) 单片机集成度很高, 单片机包括CPU 、4KB容量的 ROM(8031无 )、128B 容量的RAM 、2 个 16 定时计时器、4 个 8 位并行口、全双工串口行口。(2) 单片机系统结构简单, 使用方便 , 实现了模块化。(3) 单片机可靠性能好, 可工作很长时间。(4) 处理功能强 , 速度快4. 芯片的选择4、1 74LS373 以及 74
7、LS07简介74LS373 就是一种带三态门的8D锁存器 , 其管脚示意图 2如下所示 : 图 2 74LS373 管脚示意图其中:1D-8D 为 8 个输入端。1Q-8Q为 8 个输出端。LE为数据打入端 : 当 LE为“1”时, 锁存器输出状态同输入状态 ; 当 LE由“1”变“ 0”时, 数据打入锁存器OE为输出允许端 ; 当 OE=0时, 三态门打开 ; 当 OE=1时, 三态门关闭 , 输出高阻。六驱动器 (OC高压输出 ) 74LS07 Vcc 6A 6Y 5A 5Y 4A 4 14 13 12 11 10 9 8 Y = A ) 精品资料 - - - 欢迎下载 - - - - -
8、 - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计 1 2 3 4 5 6 7 7805 实现正电压输出 , 负电压截止。4、2 8255 芯片4、2、1 8255 可编程并行接口芯片简介8255 可编程并行接口芯片有三个输入输出端口, 即 A口、 B口与 C口, 对应于引脚PA7 PA0 、PB7 PB0与 PC7 PC0 。其内部还有一个控制寄存器, 即控制口。通常A口、B口作为输入输出的数据端口。 C口作为控制或状态信息的端口, 它在方式字的控制下, 可以
9、分成 4 位的端口 , 每个端口包含一个4 位锁存器。它们分别与端口AB配合使用 , 可以用作控制信号输出或作为状态信号输入。8255的内部组成框图如图 3 所示: 图 3 8255内部组成框图4、2、2 8255 可编程并行接口芯片方式控制字格式说明8255 有两种控制命令字 : 一个就是方式选择控制字 ; 另一个就是 C口按位置位复位控制字。其中 C口按位置位复位控制字方式使用较为繁难, 说明也较冗长 , 故在精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 14 页 - - - - - -
10、 - - - - 基于单片机的交通信号灯控制系统设计此不作叙述。方式控制字格式说明如图4 所示: 图 4 8255方式控制字方式 0: 基本输入输出方式。适用于三个端口中的任何一个。每一个端口都可以用作输入或输出。 输出可被锁存 , 输入不能锁存。 方式 0 适合于两种情况 : 一种就是无条件传送 , 另一种就是查询方式传送。方式 1: 选通输入输出方式。这时A口或 B口的 8 位外设线用作输入或输出, C口的 4 条线中三条用作数据传输的联络信号与中断请求信号。方式 2 : 双向选通输入 / 输出方式。 只有 A口具备双向选通输入 / 输出方式 ,8 位外设线用作输入或输出。5. 交通灯控制
11、原理分析与方案论证精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计本设计以单片机为核心, 以 LED 数码管作为倒计时指示 , 根据设计的要求我们考虑了各功能模块的几种设计方案, 以求最佳方案 , 实现实时显示系统各种状态, 系统还增设了根据交通拥挤情况可分别设置主干道与次干道的通行时间, 以提高效率 , 缓减交通拥挤。系统总体设计框图如图8 所示: 图 8 系统总体设计1. 电源提供方案为使模块稳定工作 ,
12、须有可靠电源。本次设计考虑了两种电源方案: 方案一 : 采用独立的稳压电源。 此方案的优点就是稳定可靠, 且有各种成熟电路可供选用 ; 缺点就是各模块都采用独立电源, 会使系统复杂 , 且可能影响电路电平。方案二 : 采用单片机控制模块提供电源。 该方案的优点就是系统简明扼要, 节约成本; 缺点就是输出功率不高。综上所述 , 选择第二种方案。2. 显示界面方案该系统要求完成倒计时功能。基于上述原因, 本次设计考虑了两种方案 : 方案一 : 完全采用点阵式 LED显示。 这种方案功能强大 , 可方便的显示各种英文字符, 汉字, 图形等 , 但实现复杂 , 且须完成大量的软件工作。方案二 : 完全
13、采用数码管显示。这种方案优点就是实现简单, 可以完成倒计时功能。缺点就是功能较少 , 只能显示有限的符号与数码字符。根据本设计的要求 , 方案二已经满足了要求 , 所以本次设计采用方案二以实现系统的显示功能。单片机最小系统倒计时交通灯键盘与状态显示精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计图 10 键盘电路6、3、2 倒计时计数功能本系统使用数码管完成倒计时显示功能。以南北方向为例, 数码管显示的数值从绿
14、灯的设置时间最大值往下减, 每秒钟减 1, 一直减到 1。然后又从红灯的设置时间最大值往下减 , 一直减到 1。接下来又显示绿灯时间, 如此循环。系统共有 4 个两位的 LED数码管 , 分别放置在模拟交通灯控制板上的四个路口。各个方向的数码管个位 ( 把数码管第二位定义为个位, 第一位定义为十位 )用一根信号线控制 , 十位用另一根信号线控制。这里采用动态显示。LED数码管如图 11 所示:图 11 LED 数码管7. 系统软件设计7、1 延时程序设计延时方法可以有两种一种就是利用MCS-51内部定时器产生溢出中断来确定延时的时间 , 另一种就是采用软延时的方法。下面给出延时1 秒的实现方法
15、。7、1、1 计数器硬件延时计数器初值计算精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计定时器工作时必须给计数器送计数器初值, 这个值就是送到 TH与 TL 中的。它就是以加法记数的 , 并能从全 1 到全 0 时自动产生溢出中断请求。 因此, 我们可以把计数器记满为零所需的计数值设定为C与计数初值设定为TC 可得到如下计算通式 : TC=M-C 式中,M 为计数器模值 , 该值与计数器工作方式有关。在方式0
16、 时 M为 213 ; 在方式 1时 M的值为 216; 在方式 2 与 3 的 M值为 28。 计算公式T=(M TC)T计数或 TC M TT计数T 计数就是单片机时钟周期TCLK的 12 倍;TC 为定时初值如单片机的主脉冲频率为TCLK=12MHZ , 经过 12 分频方式 0 TMAX 213 *1 微秒 8、192 毫秒方式 1 TMAX 216 *1 微秒 65、536 毫秒方式 2、3 TMAX= 28 *1 微秒=256微秒显然 1 秒钟已经超过了计数器的最大定时间, 所以我们只有采用定时器与软件相结合的办法与级联的方式解决这么个问题。设置秒延时我们采用在主程序中设定一个初值
17、为20 的软件计数器与使T0 定时 50毫秒。这样每当 T0 到 50 毫秒时 CPU就响应它的溢出中断请求 , 进入她的中断服务子程序。在中断服务子程序中 ,CPU先使软件计数器减1, 然后判断它就是否为零。为零表示1 秒已到, 可以返回到输出时间显示程序。相应程序代码 主程序定时器需定时 50毫秒, 故 T0工作于方式 1。初值:TCM TT 计数216 50ms/1us=15536=3CBOH ORG 1000H START: MOV TMOD, #01H ;令 T0为定时器方式 1 MOV TH0, #3CH ;装入定时器初值精品资料 - - - 欢迎下载 - - - - - - -
18、- - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计 MOV TL0, #BOH MOV IE, #82H ;开 T0中断 SEBT TR0 ; 启动 T0计数器 MOV RO, #14H ; 软件计数器赋初值LOOP: SJMP $ ; 等待中断 中断服务子程序 ORG 000BH AJMP BRTO ORG 2000H BRTO:DJNZ R0,NEXT AJMP TIME ;跳转到时间及信号灯显示子程序MOV R0,#14H ;恢复 R0值 MOV TH0,#3CH
19、;重装入定时器初值 MOV TL0,#BOH MOV IE,#82H RETI END 7、2、2 显示原理当定时器定时为1 秒时程序跳转到时间显示及信号灯显示子程序, 它将依次显示信号灯时间 , 同时一直显示信号灯的颜色, 这时在返回定时子程序定时一秒, 在显示黄灯的下一个时间 , 这样依次把所有的灯色的时间显示完后在重新给时间计数器赋初值 , 重新进入循环。7、2、3 8255 输出信号的放大要使行人能瞧见信号灯的情况, 必须把 8255输出的信号进行放大 , 这里我们用 VT双向晶闸管 , 当门极为高电平时晶闸管导通, 该支路指示灯亮 ; 当门极为低电平时关断 ,该支路指示灯灭。我们用连
20、接 7 段数码管的方法来连接晶闸管。7、2、4 8255 输出信号与信号灯的连接LED 灯的显示原理 : 通过同名管脚上所加电平的高低来控制发光二极管就是否点亮而显示不同的字形如 dp,g,f,e,d,c,b,a 管角上加上 7FH所以SP上为 0 伏, 不精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计亮其余为 TTL高电平 , 全亮则显示为 8。采用共阴级连接 : 其中 PA0PB0-a, PA1PB1-b
21、, PA2PB2-c, PA3PB3-d, PA4PB4-e, PA5PB5-f, PA6PB6-g PA7PB7 -SP 接地7、3、1 流程图按键流程图如图 12 所示:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计图 12 按键流程图程序流程图如图 13 所示:精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11
22、 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计图 13 程序流程图初始化开始黄灯燃亮状态红灯燃亮状态R5=0? 绿灯燃亮状态R6=0? N N N Y Y Y 有键盘事件?处理键盘事件Y N R4=0?精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计设计总结通过单片机的设计 , 我不仅加深了对单片机理论的理解, 将理论很好地应用到实际当中去 , 而且我还学会了如
23、何去培养我们的创新精神, 从而不断地战胜自己 , 超越自己。创新 , 就是要我学会将理论很好地联系实际, 并不断地去开动自己的大脑, 从为人类造福的意愿出发 , 做自己力所能及的 , 别人却没想到的事。使之不断地战胜别人, 超越前人。同时 , 更重要的就是 , 我在这一设计过程中 , 学会了坚持不懈 , 不轻易言弃。这个设计过程中 , 我遇到过许多次失败的考验, 就比如 , 自己对实际生活中的交通秩序的不了解给整个设计带来的困扰, 真想要就此罢休 , 然而 , 就在想要放弃的那一刻 ,我明白了 , 原来结果并不那么重要 , 我更应该注重的就是这一整个过程。于就是, 我坚持了下来。当然最终 ,
24、这个设计很成功 , 主要体现在 , 这一整个系统 , 几乎没有参考任何书, 程序由自己独立完成 , 与用 8255 来制作的交通灯控制系统相比, 程序简单易读 , 结构清楚 , 最重要的就是成本低。在设计一个系统, 除了达到所要求的性能指标以外, 成本也就是很重要的一个指标。成本的高低也决定了产品的适用性。附录 2 交通灯控制线路图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 14 页 - - - - - - - - - - 基于单片机的交通信号灯控制系统设计精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 14 页,共 14 页 - - - - - - - - - -