NO5单片机定时计数器应用——交通灯控制系统设计电子课件 单片机应用技术.ppt
《NO5单片机定时计数器应用——交通灯控制系统设计电子课件 单片机应用技术.ppt》由会员分享,可在线阅读,更多相关《NO5单片机定时计数器应用——交通灯控制系统设计电子课件 单片机应用技术.ppt(79页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、学习任务五 单片机定时/计数器应用交通灯控制系统设计单片机应用技术学习目标任任务说务说明明 自从1868年英国人发明了原始的机械扳手交通灯之后,随后的100多年里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位。随着经济的发展人们社会活动日益频繁,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,交通得到有效管制,对于提高道路导通能力、减少交通事故等都有显著的效果。学习目标任任务说务说明明 近年来随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入我们的生活。本学习任务模拟交通灯系统利用单片机A89S51作为核心元件,实现通过信号灯对路面状况的智能控制。在本学
2、习任务中,根据实际情况设计一套交通灯控制系统,假设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间后,经过短暂的过渡,将通行和禁行方向对换,该系统运行状况如下。学习目标任任务说务说明明 东西路口绿灯亮,南北路口红灯亮,同时在两位七段显示器上开始25 s倒计时,南北方向上也同时显示时间;25 s倒计时进行到5 s时,东西路口绿灯闪烁,以示警示;绿灯闪烁3 s后,倒计时到2 s时东西路口黄灯亮,表示进入路口的车继续行进,未进入路口的车辆禁止超过标志线,黄灯亮2 s之后熄灭;然后是东西向与南北向反过来进行一次上面的循环,以此类推不断循环。交通灯控制系统总体框图如
3、图5-1所示,其中“按键控制电路”及其功能的实现不在本学习任务之中。按键控制电路部分为功能扩展部分,基于实际情况,可增加紧急状况处理和通行时间可调这两项特殊功能。感兴趣的学生可以在完成本任务的基础上实现此项特殊功能,使交通灯控制系统的功能更完善。通过实训模块的操作训练和相关知识的学习,使学生熟悉单片机端口控制的工作原理,掌握定时器/计数器的控制方法,熟悉单片机开发的基本过程。图5-1交通灯控制系统总体框图学习目标学习目标知知识识和能力要求和能力要求 知识要求 (1)掌握单片机端口的控制方法;(2)熟悉常用的单片机定时/计数器的使用方法;(3)理解常用几种结构的程序设计特点;(4)掌握单片机定时
4、/计数器初始化的方法;(5)掌握常用元器件的特性和测试方法;(6)掌握单片机子程序的编写及调用方法;(7)掌握单片机倒计时程序的编写方法。学习目标知知识识和能力要求和能力要求 能力要求 (1)能够根据项目要求分解任务并设计出硬件电路;(2)能够使用WAVE6000软件对汇编程序进行调试、编译等;(3)能够进行复杂电路的正确连接及调试;(4)能够进行显示电路的设计和数据传输程序的设计与调试;(5)能够灵活运用单片机中除法指令进行数据拆分;(6)能够把分解开的任务进行综合、整体分析并编写连接程序;(7)能够读懂交通灯系统总体程序;(8)能够熟练使用编程器下载程序到单片机中。任务准备 在单片机控制系
5、统中,常常需要有实时时钟以实现定时或延时控制,也常需要有对外界事件进行计数的功能。定时或计数功能既可用软件实现,也可用单片机内部的可编程定时/计数器实现。用软件实现定时及计数,常采用延时程序,它占用了CPU的执行时间,降低CPU的利用率。为了提高CPU的利用率往往采用单片机内部的定时/计数器,通过软件确定和改变它的定时/计数值,实现各种定时/计数要求。单片机定时/计数器系统 一、定时定时/计数器的结构计数器的结构1.A89S51单片机内部有两个定时/计数器T0和T1,每个定时/计数器都可以实现定时和计数功能,其结构框图如图5-2所示。定时/计数器i的基本部件是两个8位寄存器THi及i组合的16
6、位加法计数器,用于对定时或计数脉冲进行加法计数。任务准备图5-2定时/计数器结构框图任务准备当计数脉冲来自内部时钟脉冲,即机器周期(f osc/12)时,定时/计数器作定时器使用。当计数脉冲来自于外部引脚T0/T1上的输入脉冲时,定时/计数器作计数器使用。如果在第一个周期检测到T0/T1引脚的脉冲信号为1,第二个机器周期检测到T0/T1引脚的脉冲信号为0,即出现从高电平到低电平的跳变时,计数器加1。由于检测到一次负跳变需要两个机器周期,所以最高的外部计数脉冲的频率不能超过时钟频率的1/24,并且要求外部计数脉冲的高电平和低电平的持续时间不能小于一个机器周期。任务准备 定时器方式寄存器TMOD用
7、于设置定时/计数器的工作方式,定时器控制寄存器TCON用于控制定时/计数器的启动和停止。任务准备定时定时/计数器的控制计数器的控制1.1 1)定时)定时/计数器方式控制寄存器计数器方式控制寄存器ODOD 定时/计数器方式控制寄存器TMOD的地址为89H,用于控制和选择定时/计数器的工作方式,高4位置1,低4位控制0,不能采用位寻址方式。格式如下。任务准备 (1)GATE。门控位,用来指定外部中断请求是否参与对定时/计数器的启动控制。当GATE=0时,只要TCON寄存器中的TRi位为1,就可以启动定时/计数器i,与外部中断输入信号INi无关,是一种内部启动方式;若GATE=1,则只有当TRi为1
8、且外部中断输入信号INi为1时,才能启动定时/计数器i,这种方式可以实现外部信号对定时器的启动控制。(2)C/定时/计数方式选择位。C/=0为定时方式,C/=1为计数方式。任务准备 (3)T1/T0。工作方式选择位。用以选择定时/计数器的工作方式,内部定时/计数器的操作方式见表5-1。任务准备 例如,设置T0工作于定时方式,内部启动,操作方式为方式2;设置T1工作在计数方式下,外部启动,操作方式为方式0。则设定工作方式的程序为 MOV TMOD,#0C2或 MOV TMOD,#11000010B;对应OD寄存器可以看出设置方法任务准备2 2)定时)定时/计数器控制寄存器计数器控制寄存器TCON
9、TCON TCON既参与定时控制,又参与中断控制,有关中断控制的内容详见学习任务六。与定时/计数器控制相关的有定时器溢出中断请求标志F1/F0及定时启动/定时控制TR1/TR0。TF1/TF0=1时,定时器有溢出中断请求;TF1/TF0=0时,定时器无溢出中断请求。TR1/TR0=1时,启动定时器工作;TR1/TR0=0时,停止定时器工作。任务准备 定时/计数器的工作方式 二、工作方式工作方式0 01.当TMOD中的10=00时,定时/计数器工作在方式0。此时,定时/计数器内部的计数器为13位计数器,由i提供高8位,i提供低5位。若在i和i中设置好计数初值,且启动定时/计数器就可以进行加法计数
10、。i低5位计数满时直接向i进位,当13位计数器计数满时,定时器溢出中断请求标志位Fi置1。此种工作方式下内部计数器的最大计数值为213=8 192。定时时间及计数值可按如下公式计算。任务准备 (1)作定时器用时,定时时间为 t=(213-计数初值)机器周期=(8 192-计数初值)时钟周期12 (2)作计数器用时,计数值为 C=213-计数初值=8 192-计数初值任务准备工作方式工作方式1 12.当TMOD中的M1M0=01时,定时计数器工作在方式1。此时,定时/计数器内部的计数器为16位计数器。由THi提供高8位,i提供低8位。在THi和TLi中设置好计数初值,启动定时/计数器就可以进行加
11、法计数。当16位计数器计数满时,定时器溢出中断请求标志位TFi置1。此种工作方式下内部计数器的最大计数值为216=65 536。定时时间及计数值可按如下公式计算。任务准备 (1)作定时用时,定时时间为 t=(216-计数初值)机器周期=(65 536-计数初值)时钟周期12 (2)作计数器用时,计数值为 C=216-计数初值=65 536-计数初值 例如,当f osc=6 z时,计数初值为0FF06(65 286),则定时时间为 任务准备工作方式工作方式2 23.当TMOD中的M1M0=10时,定时/计数器工作在方式2。此时,定时/计数器内部的计数器为自动重装初值的8位计数器。两个8位计数器T
12、Hi和TLi中的TLi作加法计数器,THi作为预置常数寄存器。当TLi计数满时,将中断请求TFi置1,同时将THi中的计数初值以硬件方法自动装入TLi。此种工作方式下内部计数器的最大计数值为28=256。定时时间及计数值可按如下公式计算。(1)作定时器用时,定时时间为t=(28-计数初值)机器周期=(256-计数初值)时钟周期12 (2)作计数器用时,计数值为C=28-计数初值=256-计数初值任务准备工作方式工作方式3 34.当TMOD中的M1M0=11时,定时/计数器工作在方式3。此时定时/计数器T0可拆成两个独立的8位定时/计数器使用,T1不变。当定时/计数器工作在方式3时,T0、T1的
13、设置和使用方法是不同的。定时/计数器T0中的两个8位计数器TH0、TL0拆分为两个独立的计数器后,TL0所对应的定时/计数器使用T0原有控制资源,即使用TR0控制启停,TF0作为溢出标志。TH0所对应的定时/计数器只能作8位定时器用,借用T1的资源TR1、TF1。任务准备 T0工作在方式3时的定时/计数值计算与方式2相同。定时/计数值1仍然可工作于方式0方式2下,只是由于其TR1、TF1被0的0占用,因而没有计算溢出标志可供使用,计算溢出时只能将输出结果送至串行口,即用作串行口波特率发生器。任务准备 交通信号灯发展史 三、1868年12月10日,信号灯家族的第一个成员就在伦敦议会大厦的广场上诞
14、生了,由当时英国机械师德哈设计制造的灯柱高7 m,身上挂着一盏红、绿两色的提灯煤气交通信号灯,这是城市街道的第一盏信号灯。第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生使城市交通情况大为改善。任务准备 黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电气公司任职。一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼的一声擦身而过,吓了他一身冷汗。回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危
15、险。他的建议立即得到有关方面的肯定。于是红、黄、绿三色信号灯即以一个完整的指挥信号家族遍及全世界陆、海、空交通领域了。任务准备 中国最早的马路红绿灯,于1928年出现在上海的英租界。从最早的手牵皮带到20世纪50年代的电气控制,从采用计算机控制到现代化的电子定时监控,交通信号灯在科学化、自动化上不断地更新、发展和完善。任务准备 20世纪90年代,美国部分地区开始引进带有计时器的交通信号灯,这种信号灯不仅能够指挥行人与车辆正常行驶,还能够预先告知红灯或绿灯所剩的时间,帮助人们判断何时起步、何时停车。有了这种计时器的帮忙,不仅路口交通状况井然有序,还减少了因为无法预估变灯时间而造成的事故。目前这种
16、带有计时器的交通信号灯已经遍布世界各地,我国在2000年之后也开始陆续采用带有计时器的交通信号灯。任务准备 早期的交通红绿灯是在三个白炽灯泡前加上红、黄、绿三色的玻璃或塑料灯罩组成,这种交通灯亮度不高,方向性不好,现在已逐渐被淘汰,被由LED高亮度发光二极管组成的交通灯代替。LED交通信号灯任务准备任务一交通信号灯驱动电路设计工作内容及要求工作内容及要求 本任务所要完成的工作是分解出交通信号灯工作顺序和状态控制方式,完成交通信号灯驱动电路的硬件设计和软件设计。通过单片机控制外围驱动电路点亮发光二极管,模拟仿真出生活中真实的交通灯显示效果。本任务在对交通信号灯控制过程中,主要采用位操作指令,通过
17、对相关位的置位和清零来完成基本信号灯的亮灭控制,由此使学生加深位操作指令的理解,为以后的应用打下坚实的基础。在单片机端口的控制中,主要由字节控制,即输出8位二进制数,对整个端口要通盘考虑,如在学习任务三中通过查表指令控制外部发光二极管时,采用的就是字节操作。本任务中由于接在端口上的各信号灯变化不同,采用位操作优势明显。因此,在本任务中就注意对位操作指令的应用,同时提高对任务的分析能力,抓住解决问题的关键点。任务分析任务分析 根据交通灯控制系统的任务说明及本任务的工作内容及要求,通过具体的路口交通灯状态的演示分析,如图5-4所示,我们把生活中真实的交通信号灯归纳为如下6个状态。(1)东西方向绿灯
18、亮,南北方向同时红灯亮,倒计时25 s开始。此状态下,东西方向允许通行,南北方向禁止通行。(2)倒计时到5 s时,东西方向绿灯闪烁,闪烁时间3 s,起提示作用。南北方向红灯依然亮,禁止通行。此状态下,东西方向未进入路口标志线的车注意速度,采取必要措施。任务一交通信号灯驱动电路设计图5-4 交通信号灯工作状态任务一交通信号灯驱动电路设计任务一交通信号灯驱动电路设计 交通信号灯驱动电路设计思路 一、根据上述的信号灯驱动电路的任务分析可知,马路东、西、南、北4个路口均有红、绿、黄灯,共12只,其中东西方向两组6只,由于这两个路口控制方式相同,所以可以串联在一起,用单片机同一端口的3个口线就可以控制了
19、。同理,南北方向的两组6只红绿黄灯也是串联在一起,利用单片机同一端口的另3个口线进行控制。我们在此采用AT89S51单片机作为控制单元,利用它的P2端口的6个口线进行交通信号灯的控制。实训模块交通信号灯驱动电路设计 由于单片机并行端口带负载能力有限,这就需要在控制端口P2与负载交通信号灯之间加装一个驱动电路,这里采用一个驱动芯片74LS05反相器,它的好处是想让哪个灯亮就在连接的端口输出高电平,这种正逻辑控制正好符合我们的思维方式和生活习惯,同时这个反相器还具有提供负载驱动电流功能,大大提高了单片机带负载能力。实训模块交通信号灯驱动电路设计 交通信号灯驱动的连接 二、交通信号灯控制端口P2的控
20、制位分配见表5-3。实训模块交通信号灯驱动电路设计交通灯的布置和各位信号灯的连接实训模块交通信号灯驱动电路设计 交通信号灯控制程序设计 三、信号灯状态控制程序信号灯状态控制程序1.1)状态控制程序设计思路 由表5-2可知,交通灯总的控制状态有6种方式,即东西方向和南北方向两组交通灯有6种工作形式,表中为“1”时对应灯点亮,为“0”时对应灯熄灭。由于单片机的并行端口都可以进行位操作,所以我们采用位操作指令中的置位指令“SETB bit”使某位置“1”,点亮所接信号灯;利用位清零指令“CLRbit”使某位清零,熄灭所接信号灯。为编程方便,把各路口的信号灯定义统一的标号,见表5-4。实训模块交通信号
21、灯驱动电路设计实训模块交通信号灯驱动电路设计2 2)交通灯基本控制状态程序设计)交通灯基本控制状态程序设计 根据表5-2、表5-4以及状态控制程序设计思路,我们应容易编写出基本的状态控制程序。其中状态1、状态3、状态4、状态6控制方式基本相同,状态2和状态5由于绿灯处于闪烁状态,所以控制程序有所不同,这在程序设计中要注意区别。6种状态控制程序如下,其中状态1状态4控制程序给出,状态5和状态6可由学生参照前面的程序补充给出。实训模块交通信号灯驱动电路设计 ORG0100HLED_G1BITP2.1 ;东西路口绿灯LED_Y1BIT P2.2;东西路口黄灯LED_R1BIT P2.3;东西路口红灯
22、LED_G2BIT P2.4;南北路口绿灯LED_Y2BIT P2.5;南北路口黄灯LED_R2BIT P2.6;南北路口红灯STATE1:SETBLED_G1;状态1,东西路口绿灯亮,南北路口红灯亮实训模块交通信号灯驱动电路设计在下面的空白处写出交通灯状态5和状态6的控制程序。实训问题实训问题实训模块交通信号灯驱动电路设计绿灯闪烁程序设计绿灯闪烁程序设计2.1 1)程序设计思路)程序设计思路 绿灯闪烁程序可以按前面学习任务中发光二极管“眨眼”的控制方式进行,就是间隔一定时间,对绿灯输出端口进行定期的取反“CPL bit”操作即可。这里把闪烁的时间间隔定为200 ms,闪烁持续时间为3 s。与
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- NO5单片机定时计数器应用交通灯控制系统设计电子课件 单片机应用技术 NO5 单片机 定时 计数器 应用 交通灯 控制系统 设计 电子 课件 应用技术
限制150内