交通信号灯程序调试步骤
- 格式:docx
- 大小:30.04 KB
- 文档页数:15
现代控制技术及PLC控制课程设计姓名学号班级机电101院别机械工程学院专业机械电子工程指导教师2013年7月5日目录一引言 (1)1.1 设计目的 (1)1.2 设计要求 (1)1.3 设计任务 (1)1.4 要实现的目标 (2)二系统总体方案设计 (3)2.1 系统硬件配置及组成原理 (4)2.2 系统变量定义及分配表 (4)2.3 系统接线图设计 (5)2.4 系统可靠性设计 (6)三控制系统设计 (7)3.1 正常情况下的启动/停止控制 (7)3.2 白天/夜间切换控制 (9)3.3 紧急模式控制 (9)3.4 LED倒计时显示控制 (10)四程序调试及结果分析 (11)4.1系统调试与运行情况观察 (11)4.2结果分析 (12)结束语 (12)参考文献 (12)附录一梯形图附录二语句表一、引言随着城市车辆数目的急剧增加,交通道口管制变得日益重要,解决好公路车道交通信号灯控制问题将是保障交通有序、安全、快速运行的重要环节。
通过本课设学习设计一个简单合理实用的城市交通灯控制系统的电路设计方案。
通过这些设备来完成这些智能的交通指挥提高交通的通行力抑制交通事故的发生。
通过对实际的PLC控制的系统的编程训练,提高分析问题、解决问题的能力;熟悉工业生产中PLC的应用和系统构成,了解PLC控制电路的设计方法。
通过本课程设计增进实际动手能力的培养。
用PLC实现简单的任务的程序设计,掌握编程的一般方法和技巧,结合自动控制原理用PLC进行开关量和模拟量的控制。
关键词:交通;智能控制; PLC1.1设计目的课程设计的主要目的是通过某一生产设备的电气控制装置的设计实践,了解一般电气控制系统设计过程、设计要求、应完成的工作内容和具体设计方法。
通过设计也有助于复习、巩固以往所学的知识,达到灵活应用的目的。
电气设计必须满足生产设备和生产工艺的要求,因此,设计之前必须了解设备的用途、结构、操作要求和工艺过程,在此过程中培养从事设计工作的整体观念。
交通信号灯控制详细操作说明一、操作面板示意图:二、修改程序的基本步骤:按“加”或“减”按“功能1”按“加”或“减”按“功能1”按“加”或“减”按“功能1”按“加”或“减”按“功能1”步骤1、按住“显示程序”键,听毕“啼”音后进入程序修改操作;步骤2、显示[-0 0·7 00]步骤3、显示[- 0 02·02设定第一段程序开始运行的时间,按数字下面相对应的“减”或“加”来调整时分。
显示内容说明:当前显示的是“-0 0.7 00”“-0”的含义指的是当前设定的是第一段程序。
“07 00”的含义是指时间,在以下三个步骤中设定的程序将在凌晨7点钟开始运行。
用“·”的位置指示当操作步骤的进度,在以下几个步骤中“·”点的位置往后移。
设定干线与支线左转弯绿灯时间,按加减来调整干线或支线左转弯绿灯时间,注意:调整为02.02则控制器工作于两相位模式。
步骤4、显示[- 0 2 5 2·5]设定参数,一般不需修改,如需修改按数字下面相对应的按键。
第一位”2”代表黄灯过渡到红灯时红灯持续时间为2秒,第二位”2”代表绿灯过渡到黄灯时黄灯持续时间为2秒,第三位”5”代表绿闪次数5次,第四位数是右转弯绿灯的运行模式。
步骤5、显示[- 0 2 2 5 8·]设定干线与支线直线绿灯时间,左边的两位数是干线的,右边的两位数是支线的,按数字相对应的“减”或“加”来调整绿灯时间。
三、修改多时段程序的步骤:在基本步骤6中按下“功能1”,根据你的需要重复“修改程序的基本步骤”2-5;设定时钟的应从早上到晚上,共有十个时段可以设定。
四、修改程序中的特定数字:1、设定左转时间[ 0 2·0 2 ]是转入二相位的特定数字2、设定直行时间[ 0 3·0 3 ]是转入黄闪的特定数字;3、设定时钟时间[ 2·3 5 9 ]是退出修改的特定数字;五、手动:在正常工作状态下按“功能2”键即进入手动工作状态,按相应键即对干线左转、支线左转、干线直行、支线直行的手动控制,再按“功能2”键返回正常工作状态。
交通信号灯控制详细操作说明一、操作面板示意图:三、修改多时段程序的步骤:在基本步骤6中按下“功能1”,根据你的需要重复“修改程序的基本步骤”2-5;设定时钟的应从早上到晚上,共有十个时段可以设定。
四、修改程序中的特定数字:1、设定左转时间[ 0 2·0 2 ]是转入二相位的特定数字2、设定直行时间[ 0 3·0 3 ]是转入黄闪的特定数字;3、设定时钟时间[ 2·3 5 9 ]是退出修改的特定数字;五、手动:在正常工作状态下按“功能2”键即进入手动工作状态,按相应键即对干线左转、支线左转、干线直行、支线直行的手动控制,再按“功能2”键返回正常工作状态。
六、恢复出厂设置及24小时连续工作设置:如遇到不明原因的控制器故障请恢复出厂设置复位,按住“功能2”键再开电源,听毕“啼”音后即恢复出厂设置。
自动1(自动2)设置如下:详细产品功能及参数JD-400LED交通信号灯一.技术参数:1.外壳防护等级IP44,显示器的光学、色度和安全性能指标均达到GB14887的要求。
2.亮度:≥350cd,可视距离:≥400M,可视角:≥60°。
3.色度:红色 630nm,黄色590nm,绿色505nm。
4.控制方式:与控制器同步,工作方式:连续。
输入电压:交流220V±10%,消耗功率峰值:<15W。
二. 产品特点:1.使用寿命长达5万小时,维修工作量小。
2.本产品发光亮度高,是普通灯泡亮度的4倍以上,可视距离在400以外。
3.节约能源,灯盘使用低压安全电源DJS-3通用型双色真绿倒计时显示器一.技术参数:1、外壳防护等级IP44,外形尺寸:830×630×230mm。
2、显示器的光学、色度和安全性能指标均达到GB14887的要求3、可视距离:≥400m,视角:>30°,亮度:≥250cd最大显示数字:99。
4、色度:红色 630nm,绿色505nm。
《PLC 控制技术》课程设计任务书课题八 带有显示的十字路口交通信号灯控制程序的设计与调试一、 课程设计的目的本课程综合训练的目的在于培养学生运用已学的可编程序控制器的基本理论和基础知识,进行PLC 控制系统设计的初等训练,掌握运用PC 机进行系统控制设计的原则、设计内容和设计步骤,为今后的工作打下良好的基础。
二、 控制要求:1. 系统框图:2. 控制要求:(1)南北方向为主干道,绿灯亮的时间比东西方向次干道绿灯亮的时间多一倍,黄灯间隔0.5s 闪烁3 s 后切换到红灯,信号灯工作时序图如下,一次循环共需96s 。
(2) 时序图:(3) 主干道的数码显示应该与红、黄及绿灯同步,且两条主、次干道应该一样显示。
比如:南北方向绿灯亮时,东西方向和南北方向均应显示数字63(绿灯亮60s ,黄灯亮3s ),然后隔秒减1,当减到0时,换成东西方向绿灯亮,南北方向红灯亮,此时,数码管应显示33,然后隔秒减1,当减到0时,再进行切换,完成一次工作循环。
东西方向EW南北方向NSEW 显示NS 显示N N N(4)*有白天/夜间操作转换开关、运行/停止开关、紧急操作开关1#、2#,其功能如下:①白天/夜间操作转换开关在“白天”位置时,按上述时序正常工作,在“夜间”位置时,两边均只有黄灯闪烁②运行开关在接通电源时,方可切换白天/夜间开关③开关在“运行”位置时,系统启动,在“停止”位置时,系统关闭④当有特殊情况(如事故)需某一方向的绿灯一直亮,则应用紧急操作开关实现次功能。
比如:1#开关=“1”,则南北方向绿灯一直亮,东西方向红灯一直亮,2#开关=“1”,则东西方向绿灯一直亮,南北方向红灯一直亮,关闭紧急开关,则系统恢复正常。
三、PLC控制系统设计原则(1)尽可能地满足被控对象的控制要求;(2)在满足控制的前提下,力求使控制系统简单、经济;(3)保证控制系统安全可靠;(4)考虑到被控对象的改进,在选择PLC的I/O数量时,应适当留有余量;四、PLC控制系统设计步骤1、分析控制系统的要求,确定控制任务:首先分析十字路口交通信号灯控制的控制功能,确定控制任务。
交通信号灯控制详细操作说明一、操作面板示意图:三、修改多时段程序的步骤:在基本步骤6中按下“功能1”,根据你的需要重复“修改程序的基本步骤”2-5;设定时钟的应从早上到晚上,共有十个时段可以设定。
四、修改程序中的特定数字:1、设定左转时间[ 0 2·0 2 ]是转入二相位的特定数字2、设定直行时间[ 0 3·0 3 ]是转入黄闪的特定数字;3、设定时钟时间[ 2·3 5 9 ]是退出修改的特定数字;五、手动:在正常工作状态下按“功能2”键即进入手动工作状态,按相应键即对干线左转、支线左转、干线直行、支线直行的手动控制,再按“功能2”键返回正常工作状态。
六、恢复出厂设置及24小时连续工作设置:如遇到不明原因的控制器故障请恢复出厂设置复位,按住“功能2”键再开电源,听毕“啼”音后即恢复出厂设置。
自动1(自动2)设置如下:详细产品功能及参数JD-400LED交通信号灯一.技术参数:1.外壳防护等级IP44,显示器的光学、色度和安全性能指标均达到GB14887的要求。
2.亮度:≥350cd,可视距离:≥400M,可视角:≥60°。
3.色度:红色 630nm,黄色590nm,绿色505nm。
4.控制方式:与控制器同步,工作方式:连续。
输入电压:交流220V±10%,消耗功率峰值:<15W。
二. 产品特点:1.使用寿命长达5万小时,维修工作量小。
2.本产品发光亮度高,是普通灯泡亮度的4倍以上,可视距离在400以外。
3.节约能源,灯盘使用低压安全电源DJS-3通用型双色真绿倒计时显示器一.技术参数:1、外壳防护等级IP44,外形尺寸:830×630×230mm。
2、显示器的光学、色度和安全性能指标均达到GB14887的要求3、可视距离:≥400m,视角:>30°,亮度:≥250cd最大显示数字:99。
4、色度:红色 630nm,绿色505nm。
基础知识道路施工中的交通信号灯调试在基础知识道路施工中,交通信号灯调试是确保交通流畅和安全的重要环节。
本文将介绍交通信号灯调试的目的、程序以及需要注意的几个关键要点。
一、调试目的交通信号灯调试的主要目的是保证信号灯的正常运行,确保信号灯能正确地指示行车和行人通行。
通过调试,可以使交通信号灯在道路交通中发挥应有的作用,减少交通事故的发生。
二、调试程序1. 验收前准备在进行交通信号灯调试之前,需要做一些准备工作。
首先,要确保信号灯安装的位置符合交通规范要求,信号灯的灯具和电缆等材料完好无损。
其次,要检查信号灯的电气及控制系统是否连接正常,并进行初步的电气测试。
最后,要对信号灯进行外观检查,包括信号灯的外壳是否完整、灯具是否清洁等。
2. 功能调试功能调试是交通信号灯调试的核心环节。
首先,需要按照信号灯所在位置的道路规划进行信号灯的设置,确定每个信号灯的显示方式和时长。
然后,通过控制器或者计算机软件设置信号灯的显示模式和转换时间。
调试人员需要根据信号灯的实际工作情况,进行多次调试,确保信号灯的显示效果和时序都符合交通规范,并根据需要进行适当的调整。
3. 现场测试在功能调试完成后,需要进行现场测试。
此时,调试人员应站在行人和车辆的通行位置,观察信号灯的显示情况,并与实际通行情况进行比对。
如有需要,调试人员可以调整信号灯的亮度、视角等参数,以确保信号灯在各种天气和光线条件下都能清晰可见。
4. 记录和报告在调试完成后,调试人员需要记录详细的调试信息,包括信号灯的工作模式设置、转换时间、现场测试结果等。
这些信息是今后信号灯运行监控和维护的重要依据。
同时,还需将调试报告提交给相关部门,以便他们能及时了解调试情况并采取必要的措施。
三、注意要点1. 安全第一在进行交通信号灯调试时,安全要放在第一位。
调试人员应穿戴符合规范的工作服和安全帽,必要时还需戴上防护眼镜和手套。
在调试过程中,要注意交通信号灯本身的安全,避免将信号灯暴露在拆装过程、误操作等可能危及其它交通参与者的情况中。
红绿灯设备调试流程你们每天上学、放学的路上都会看到红绿灯吧。
那你们知道红绿灯是怎么安装好并且开始正常工作的吗?今天呀,我就来给大家讲讲红绿灯设备调试的流程。
红绿灯就像一个小机器人,它得经过好多步骤才能准确地指挥交通呢。
最开始呀,工人叔叔要把红绿灯的设备搬到要安装的路口。
这些设备可重啦,就像一个个小巨人,得好几个人一起抬。
这就像是我们玩搭积木之前,得先把积木都拿出来一样。
比如说,在我们学校附近新安装红绿灯的时候,我看到大卡车拉来好多大箱子,里面装的就是红绿灯的零件。
接着呢,叔叔们要把红绿灯的架子立起来。
这个架子高高的,就像大树一样。
他们要把架子稳稳地固定在地上,就像我们把小树苗种在土里,得让它站得直直的,这样才不会倒。
要是架子没立稳,红绿灯就像喝醉了酒的人,晃来晃去的,可没办法好好指挥交通啦。
然后就是给红绿灯装上灯啦。
红灯、绿灯、黄灯,一个个像小眼睛一样被装上去。
这时候呀,还不能马上用呢。
就像我们刚做好一个小玩具,得先检查检查有没有问题。
叔叔们会把电源接上,看看灯能不能亮起来。
我记得有一次,我家的小台灯坏了,爸爸把它拆开修,修好了接上电源的时候,我特别紧张,就像叔叔们在等红绿灯亮起来的时候一样。
当灯亮起来的那一刻,心里可高兴啦。
再之后呢,要调整红绿灯亮的时间。
这可很重要哦。
比如说,在车流量大的路口,绿灯亮的时间就得长一点,这样车才能顺利通过。
要是在学校附近呢,绿灯亮的时间也要考虑到小朋友们过马路的速度。
叔叔们会在路口观察,数一数车有多少,人有多少,然后根据这个来调整时间。
就像我们玩游戏的时候,要根据游戏的情况调整规则一样。
最后呀,还要测试好多次呢。
叔叔们会在不同的时间段去看红绿灯是不是正常工作。
白天车多人多的时候要看,晚上车少的时候也要看。
就像我们考试做完题目要检查好几遍一样,要确保没有错误。
交通信号灯调试一、线路板的检测与调试1、硬件调试硬件调试就是利用基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。
其中硬件调试可分为静态调试与动态调试两步进行1、1静态调试静态调试就是在用户系统未工作时的一种硬件检测。
第一步:目测:检查外部的各种元件或者就是电路就是否有断点。
第二步:用万用表测试:先用万用表测试目测中有疑问的连接点,再监测电源与地线就是否正确、可靠连接已经她们之间就是否有短路现象,发现问题后及时修改,以免通电试验后造成线路板与元器件的毁坏。
第三步:通电检测:给焊接好的线路板通电,通电后先目测有无异常现象(冒烟,火花现象),然后用手背测试大功率器件与集成电路等有无温升,若出现以上现象,立即断电;检测所有有插座的器件的电源与地就是否符合要求;在本项目中需要测试的有:U1-40=5V,U1-31=5V,U1-9=0V(S1没按下),U1-9=5V(S1按下),还有SB1—SB4 4个按键分别就是按下时=0V,弹起时=5V;利用导线分别把LED、蜂鸣器、数码管接到相应的低电平,测试线路与元器件就是否正常工作。
1、2动态调试动态调试就是在用户系统工作的情况下发现与排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。
动态调试的一般方法就是由近及远、由分到合。
由分到合就是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。
当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。
由分到合的调试既告完成。
由近及远就是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。
调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。
2软件调试在本项目中,我们首先将教材《单片机应用技术》中的第二页的“信号灯的闪烁控制”的程序录入,并烧录到芯片中去,然后通电试验,这就是合格的线路板的状态时所有发光二极管闪烁,按下复位按键S1,系统复位。
交通信号灯调试一、线路板的检测和调试1.硬件调试硬件调试是利用基本测试仪器(万用表、示波器等),检查用户系统硬件中存在的故障。
其中硬件调试可分为静态调试与动态调试两步进行1.1静态调试静态调试是在用户系统未工作时的一种硬件检测。
第一步:目测:检查外部的各种元件或者是电路是否有断点。
第二步:用万用表测试:先用万用表测试目测中有疑问的连接点,再监测电源和地线是否正确、可靠连接已经他们之间是否有短路现象,发现问题后及时修改,以免通电试验后造成线路板和元器件的毁坏。
第三步:通电检测:给焊接好的线路板通电,通电后先目测有无异常现象(冒烟,火花现象),然后用手背测试大功率器件和集成电路等有无温升,若出现以上现象,立即断电;检测所有有插座的器件的电源和地是否符合要求;在本项目中需要测试的有:U1-40=5V,U1-31=5V,U1-9=0V(S1没按下),U1-9=5V(S1按下),还有SB1—SB4 4个按键分别是按下时=0V,弹起时=5V;利用导线分别把LED、蜂鸣器、数码管接到相应的低电平,测试线路和元器件是否正常工作。
1.2动态调试动态调试是在用户系统工作的情况下发现和排除用户系统硬件中存在的器件内部故障、器件连接逻辑错误等的一种硬件检查。
动态调试的一般方法是由近及远、由分到合。
由分到合是指首先按逻辑功能将用户系统硬件电路分为若干块,当调试电路时,与该元件无关的器件全部从用户系统中去掉,这样可以将故障范围限定在某个局部的电路上。
当各块电路无故障后,将各电路逐块加入系统中,在对各块电路功能及各电路间可能存在的相互联系进行调试。
由分到合的调试既告完成。
由近及远是将信号流经的各器件按照距离单片机的逻辑距离进行由近及远的分层,然后分层调试。
调试时,仍采用去掉无关元件的方法,逐层调试下去,就会定位故障元件了。
2软件调试在本项目中,我们首先将教材《单片机应用技术》中的第二页的“信号灯的闪烁控制”的程序录入,并烧录到芯片中去,然后通电试验,这是合格的线路板的状态时所有发光二极管闪烁,按下复位按键S1,系统复位。
下面我详细介绍下程序录入、烧录的整个过程,在这个过程中需要一个编译软件和一个烧录器,在这儿我们的编译软件采用的是万利电子的“MedWin V2.39中文版”烧录器采用的是致远电子“EasyPRO 80B”。
2.1 编写程序双击桌面的“MedWin V2.39中文版”图标,弹出对话框:在这儿,我们不是选用的万利电子的仿真器,所以我们选择“模拟仿真”选项后,单击“模拟仿真”就会进入MedWin V2.39中文版的操作界面,在此时如果是第一次使用这个软件,他会首先弹出一个对话框:这个对话框的意思是提示你的文件的保存的路径,和文件名的注意事项,如果不需要修改点击“确定”,后进入MedWin V2.39中文版的操作界面,如图:执行菜单命令【文件】/【新建】,出现如图所示的选择类型对话框;在选择合适的路径和合适的文件名后,如下图:单击【打开】按钮或按【Enter】键确认,就进入程序的录入界面,如图:在这儿就可以录入教材《单片机应用技术》中的第二页的“信号灯的闪烁控制”的程序了。
录入结束后,执行菜单命令【文件】/【保存】,后保存下录入的程序(在以后所有的时候,在多保存下,放置意外出现时,因没有保存造成程序的丢失)。
在录入结束后要进行汇编,才能把源程序转换成由机器语言构成的目标程序,执行菜单命令【项目管理】/【编译/汇编】(或Ctrl+F7),即可完成对当前源程序的“编译/汇编”。
程序经“编译/汇编”后,观察屏幕下方的消息窗口,会出现纠错信息,提示是否存在错误、错误出现的位置及错误的类型和数量等,可根据信息提示对源程序的错误进行纠正,再重新进行“编译/汇编”直至错误信息数量为“0”。
执行菜单命令【项目管理】/【输出Intel Hex文件】,生产相应的目标程序,再将目标程序代码写入到单片机芯片内部的程序存储器中。
2.2 烧录程序双击桌面的“EASYPRO PROGRAMMER”图标,弹出对话框:这个对话框表示烧录器没有连接或者没有安装USB驱动程序(安装驱动程序,将C:\EasyPROs\UsbDriver\UsbDriver.EXE。
运行后,重新练级一次USB接口即可)。
再双击桌面的图标后,弹出对话框:第一步:选择合适的芯片单击界面左边的“选择”按键,弹出对话框:选择的顺序是右-左-中,首先选择右边的类型中的“MCU”,然后选择左边的厂商中的“ATMEL-AT89SXX”,最后选择中间器件的“AT89S52”。
单击【选择】按钮或按【Enter】键确认,就回到原来的操作界面,这时候我们发现在界面的下方的芯片名称一栏已经改成为“AT89S52”了;第二步:导入我们编写好的程序单击左边的“打开”按键,弹出对话框如下:选择我们刚才生产的“*.Hex”文件后,单击【打开】按钮或按【Enter】键确认,就回到原来的操作界面,这时候我们发现在界面的打开的文件一栏已经改成为我们上一步输出的文件的路径了;第三步:烧录程序单击上方的“操作一键通”按键,弹出对话框如下:单击【运行】按钮或按【Enter】键确认,就开始进行烧录,在烧录结束后界面如下:若出现下图则表示芯片没有插好或者插反,烧录器没有正确连接,检查无误后,再次烧录,知道正确位置后,将芯片从烧录器中拿出,插入到我们已经焊接好的线路板的插座中。
2.3 测试程序录入好之后,将芯片安插到线路板中,通电后,所有的发光管闪烁,按下复位按键,程序重新运行,表示你的硬件无误;否则,表示你的硬件焊接有误,对照原理图,自己检查,直至无误为止。
二、程序的编写和调试交通信号灯,也是按照一定的时序点亮、熄灭信号灯,因此也可以看成是一种彩灯控制器,下表中列出了交通信号灯的时序,把它编制成一个表格,按照时序查表,输出,就可以实现交通信号灯的设计。
1、当单片机开始工作,东西方向为绿灯,南北方向为红灯。
当任意方向绿灯变化为红灯时,该方向的黄灯同时闪烁6次。
LED的工作原理:如原理图所示,当我们控制的单片机的P1口为高电平时,相当于将LED的负极接+5V,LED两端的电压差为0V,这时候LED不能导通,所以它也不能发光;反之,当我们控制单片机的P1口为低电平的时候,LED的两端就有了正向电压差,这时候LED导通,所以他发光。
电阻的作用限流,保证该支路的电流不会对LED和单片机造成损害。
根据LED的工作原理和本项目的要求,我们将LED的变化制成表格如下:步我们已经将本项目的步骤一的LED的变化制作成表格了,下面我们就按照表格中的步骤编先绘制程序的流程图:程序流程图我们按照程序流程图可以轻松的开始写下我们的程序了:注意事项: 1、写程序的时候格式一定要注意,主程序和子程序要分开;2、各个程序一定要加以注释,方便我们以后的调试;3、主要在调用子程序或者循环的时候,跳转的位置和一些常用的变量的赋值的问题。
到此为止,只要我们按照老师的要求,焊接和录入都没有问题了,现在本项目的第一步就已经完成了,而我们这儿的延时是用的程序的延时,在精度要求不高的情况是可以的,在要求时间比较准确的地方就不适合了,而89S52给我们提供了2个精准的内部的定时器和计数器,下一章我们将要用到这些了。
2、利用89S52内部的定时器和计数器来控制两个方向的信号灯的亮灭时间,其中东西方向变化时间为15S,南北方向变化时间为30s,当时间少于6s时,变为黄灯闪烁,每秒闪烁一次。
2.1 定时器和计数器简介89S51单片机内部有两个16位定时器/计数器,即定时/计数器T'0和定时/计数器T1。
它们都具有定时和计数功能,可用于定时或延时控制,对外部事件进行检测、计数等。
定时/计数器 T0 由特殊功能寄存器TH0、TL0(字节地址分别为8CH和8AH)构成,TH0为高8位,TL0为低8位。
定时/计数器T1由特殊功能寄存器TH1、TL1(字节地址分别为 8DH 和 8BH)构成,TH1为高8位,TL1为低8位。
其内部还有一个 8 位的定时器方式寄存器 TMOD 和一个 8位的定时器控制寄存器TCON。
TMOD 主要是用于选定定时/计数器的工作模式与工作方式,TCON 主要是用于控制定时/计数器的启动和停止。
这些寄存器之间是通过内部总线和控制逻辑电路连接起来的。
定时/计数器从硬件电路上来说,就是一个16位的加法计数器,按照其计数脉冲的来源不同,分成两种工作模式:定时与计数。
当定时/计数器工作在定时方式时,输入的时钟脉冲是由晶体振荡器的输出经12 分频后得到的,所以定时器也可看作是对单片机机器周期的个数的计数器,当晶体振荡器确定后,机器周期的时间也就确定了,这样就实现了定时功能。
以12M 的晶振为例,一个机器周期就是1μs,这是在此晶振周期下最小的定时时间。
当定时/计数器工作在计数方式时,外部事件是通过引脚T0(P3.4)和T1(P3.5)输入的,外部脉冲的下降沿触发计数。
定时/计数器结构图2.2定时/计数器相关寄存器51 系列单片机的定时/计数器是一种可编程部件,在定时/计数器开始工作之前,CPU 必须将一些命令(称为控制字)写入该定时/计数器,这个过程称为定时/计数器的初始化。
在初始化程序中,要将工作方式控制字写入定时方式寄存器 TMOD,工作状态控制字(或相关位)写入控制寄存器 TCON。
2.2.1定时方式寄存器 TMOD特殊功能寄存器 TMOD 为定时/计数器的方式控制寄存器,占用的字节地址为 89H ,不可以进行位寻址,如果要定义定时/计数器的工作方式,需要采用字节操作指令赋值。
该寄存器中每位的定义如下所示。
其中高 4 位用于定时/计数器 T1,低 4 位用于定时器/计数T0。
下面介绍与定时器/计数T0 相关的TMOD的 4低位。
(1)GATE——门控位。
(GATE)=0时,用软件使运行控制位 TR0 (定时/计数器控制寄存器 TCON.4)置1来启动定时/计数器运行;(GATE)=1时,由TR0和外部中断引脚(P3.2)共同启动定时/计数器运行,只有当二者同时为1时才进行计数操作。
(2)C/T——定时、计数模式选择位。
(C/T)=1 时,为计数方式;计数器对外部输入引脚 T0(P3.4)的外部脉冲的下降沿计数。
(C/T)=0时,为定时方式。
(3)M1、M0——工作方式选择位,可通过软件设置选择定时/计数器四种工作方式,如表所示。
2.2.2定时器控制寄存器 TCONTCON 的字节地址为 88H,可进行位寻址(位地址为 88H-8FH),其具体各位定义如下。
其中低 4位与外部中断有关,在下一个任务中会详细介绍,高 4 位的功能如下:TF0,TF1——分别为定时/计数器 T0、T1的计数溢出标志位。
当计数器计数溢出时,该位置 1。