版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第六章计时器和应用,6.1计时器概要6.2计时器的控制6.3计时器的4个模式和应用6.4思考问题和练习题,计时器概要,实现时间节点或计数,通常采用以下3种方法: 1,硬件法硬件计时器功能完全在硬件电路中完成但是,在要求变更时间节点时间的情况下,只能通过变更电路中的元件残奥仪表来实现,第2,软件时间节点执行循环计程仪报并进行时间延迟。 优点是不需要额外的硬件开销、时间准确、但却牺牲了电脑CPU的时间。 3 .向可编程定时器/计数器8051内部提供两个可编程定时器/计数器T0、T1,以允许这些个用于对时间节点和外部脉冲进行计数,并也用作串行口的波特率产生器。 当计时器达到预定时间节点时间或者达到计
2、数期满时,还发出内部中断,并且还可以发出向上溢出标记,所述计时器的概述由六个SFR暂存器组成,包括TMOD、TCON、TH0、TL0、TH1和TL1。 时间节点/计数器的核心:加1计数器,完成加1计数功能。 时间节点功能:对单片微型计算机内部的设备周期进行计数,获得时间节点时间的是时间节点功能。 每个机器周期计数器加1的功能:计数单片微型计算机的T0、T1端子输入信号,即计数功能,如果外部输入信号有下降沿,则在计数器上加1。 定时器功能和计数功能的设定和控制通过软件设定。 另外,通过INTi端子和TRi二进制位共同地控制8051时间节点/计数器逻辑结构、T0和T1的内部结构分块图、计时器/计数
3、器0,1的初始化计程仪编程、计时器的控制、运作模式暂存器TMOD、GATE=1,T0和T1的启动。 仅在INTi引脚为高电平时,当TRi变为“1”时,时间节点/计数器启动。 GATE=0、T0和T1通过软件设置TRi控制启动。 TRi=1、启动TRi=0、停止、定时器/计数器的运作模式、TMOD控制T0和T1的运作模式、下位4二进制位控制T0、上位4二进制位控制T1 M1M0:运作模式控制二进制位,对应的运作模式如下图所示:控制暂存器TCON、TCON控制时序的tfi 当计数向上溢出时,硬件自动将TFi定径套为1,向电脑CPU申请中断,中断响应后硬件自动清除0。 TFi作为普计程仪程序查询的标
4、志二进制位,也可以通过查询方式使软件清除0。 TRi:T0、T1运行控制二进制位。 TRi=1、启动计数、TRi=0、停止计数、计时器4个模式和应用、每个运作模式对应的最大计数值模式0 :13二进制位计数器213=8192模式1 :16二进制位计数器216=65536模式2 :8二进制位计数器28 t :时间节点时间、x :初始值、n :计数器二进制位数、fosc :系统时钟频率(2N-X) 12/fosc=T X=2N-fosc/12T计数初始值:对外部脉冲进行计数,n是计数器二进制位数,x是初始值,X=2N-计数值,计时器/计数器运作模式0,模式0是13二进制位计数器时间节点时间T: T=
5、(213-X) 12/fosc=(213-X ),石英振动频率是6MHz的初始值x:(213-x ) 12/(613-x ) 已知表示为=110-3x=7692=1e0ch、二进制表示为X=0001 1110 0000 1100 TH0=0F0H的写入方式控制字MOV TL0,#0CH; 计数初始值写入MOV TH0、#0F0H SETB TR0; 启动t 0环: jbc TF 0,PE; TF0=1向上溢出迁移PE、清tf0 ajmp环; 不向上溢出的PE: MOV TL0,#0C0H; 重载计数初始值MOV TH0、#0F0H CPL P1.0 AJMP LOOP END、计时器向上溢出中
6、断方式的程序ORG 0000H; 主计程仪栏reset : ajmp主; 跳过中断高速公路服务区ORG 000BH。 计时器T0中断矢量AJMP PE; 中断服务堆计程仪org 0030 h主: mov tmod、#00H; 将T0设为模式0 MOV TL0、#0CH。 计数初始值写入MOV TH0,#0F0H SETB EA; 电脑CPU开始中断SETB ET0; T0中断行政许可SETB TR0; 启动关时间节点字: 中断等待ORG 0120H; 中断服务堆计程仪PE: MOV TL0,#0C0H; 重载计数初始值MOV TH0,#0F0H CPL P1.0; 取P1.0逆RETI的中断恢
7、复、时间节点/计数器运作模式1、模式1为16二进制位时间节点/计数器、与模式0的不同之处在于计数器的长度。 比模式0更常用。 时间节点时间T: T=(216-X) 12/fosc=(216-X )机器周期计数初始值: X=216-计数值、模式1例:用计时器T1产生50Hz的方形波,确定计数初始值的方形波周期T=20ms的T1时间节点10ms、p 在计数初始值X:T=(216-X) 12/fosc=10 10-3处定径套运作模式暂存器tmodtmod=0001001, $ CLR TF1 CPL P1.1 SJMP LOOP END、时间节点/计数器运作模式2、模式2将可自动重新加载计数初始值的
8、低位8二进制位用作计数器,高位8二进制位存储计数初始值时间节点方式计数初始值: X=28-Tfosc/12计数方式计数初始值: x=0 要求每订正100次反转P1.0侧。 思维方法:外部信号从T1(P3.5 )端子输入,负跳跃大头针计数器每发生一次就加1,每输入100脉冲计数器就发生向上溢出中断,中断服务计程仪柱将P1.0设为T1的计数初始值: x=28100=156=。 令T1为模式2,外部计数方式MOV TL1、#9CH。 T1计数器初始值MOV TH1、#9CH MOV IE、#88H; 定时器开启中断SETB TR1; 启动T1计数HERE: SJMP HERE; 在等待中断的时候,从
9、运作模式2的例子,P3.4个端子(T0 )输入次低频脉冲信号,并且,请求在每次P3.4出现负跳跃时,P1.0输出200us的同步负脉冲,并且向云同步输出P1.1或400us的同步正脉冲。 已知晶体振荡频率为6MHz,初始状态P1.0高,P1.1低。 构想: T0在模式2下运行,外部上通告计数方式,初始值为FFH (计数1次发生中断),调查TF0,变为1后变更为200us时间节点,定径套P1.0和P1.1的状态。 当第一次200us时间节点完成时,定径套P1.0和P1.1的状态,继续第二次200us时间节点,当第二次时间节点完成时,定径套P1.0和P1.1的状态,返回初始值FFH并循环。 即,反
10、复变更计数值。普计程仪列表:开始: mov tmod、#06H; T0模式2、计数MOV TH0、#0FFH; 计数初始值MOV TL0、#0FFH CLR P1.1; P1.1初始状态为0 SETB TR0 LOOP: JBC TF0、LP1; SJMP LOOP,检测外部信号的负跳跃; LP1: CLR TR0; 定时器MOV TMOD,#02H; T0变更为按时间节点200us、模式2 MOV TH0、#156。 定时的计数初始值MOV TL0、#156 SETB P1.1; P1.1输出1 CLR P1.0。 P1.0输出0 SETB TR0; 启动时间节点定、LOOP1:JBC TF
11、0、LP2; 从第一个200us到SJMP LOOP1; LP2:不等待setb p1. 0。 已达到恢复p1. 0循环2:jbc TF 0、LP3。 从第二个200美元到SJMP LOOP2 LP3: CLR P1.1 CLR TR0。 在截止计时器AJMP START、计时器/计数器运作模式3、模式3中,T0和T1的结构、功能不同的T0模式3: TL0和TH0被分成相互独立的8二进制位计数器。 其中,TL0是原来的T0的各特罗尔二进制位、读取和中断源即GATE0、TR0、TF0和T0读取,INT0读取TH0只是内部时间节点,占有计时器T1的TR1和TF1 T1没有模式3 :如果将T1设为模
12、式3,则T1立即计数在时间节点/计数器运作模式3、T0模式3中,T1也可设定为模式02。 由于TR1和TF1在T0的TH0占据,因此计数器开关k已经导通,在此时只在T1的C/T控制T1下运行。 计数器向上溢出时,只有将输出送入串行口或不需要中断时才能使用。 在任何情况下,当T1用作串行口波特率产生器时,将T0设定为运作模式3。 计时器T1总是被定径套到模式2,并被用作波特率产生器。T0模式3结构图、T0模式3、T1的结构、运作模式3的例子:应用T0模式3,分别设定200us和400us的时间节点,在P1.0和P1.1分别产生周期为400us和800us的方形波,可知石英振动频率为6MHz, 采
13、用中断方式的200us计数初始值: (28-X) 210-6=20010-6,X=156=9CH 400us计数初始值: (28-X) 210-6=40010-6。 转移到T0中断处理入口ORG 001BH AJMP PIT1。 转移到T1中断处理入口org 2100 h主: mov sp、#60H MOV TMOD、#03H。 模式3 MOV TL0、#9CH; 定时200us初始值MOV TH0,#38H; 时间节点400us初始值MOV TCON,#50H; 启动TL0,TH0计数MOV IE,#8AH,开始T0,T1中断,LOOP: AJMP LOOP; 中断等待PIP0 : MOV
14、TL0,#9CH; T0关中断处理程序字CPLP1. 0重定向1:mov th 0,#38H; T1中断处理程序CPL P1.1 RETI在门处测试外部输入脉冲宽度,并且在门=0时,仅在TRi二进制位控制门=1启动计时器,在TRi二进制位和外部中断信号INTi的共同控制下启动计时器。 只有在INTi端子为1、TRi=1时,才能开始计数。INTi端子为0时,停止计数。 换句话说,在GATE=1的情况下,计时器实际记录的时间是对应的INTi端子在高电平之前的持续时间。 倒相器可以测量相应引线的低电平持续时间。 两个时间的和是将波形输入该导线的周期,其倒数是输入波形的频率,也可以计算出工作比等残奥参
15、数。 用GATE对外部输入脉冲宽度、测试原理(以T0为例,GATE=1、TR0=1)、测试脉冲宽度例,例如用T0男同性恋二进制位GATE对从INT0(P3.2 )大头针输入的正脉冲宽度进行测试,石英振动已知的构想: T0运作模式1(16二进制位计数)、gate=0 T0时间节点、模式1 MOV TH0、#00H; T0计数初始值0000H MOV TL0、#00H MOV R0、#20H; RAM的地址指针LOOP1:JB P3.2、LOOP1; 等待INT0变低的SETB TR0; 启动T0准备计数LOOP2:JNB P3.2、LOOP2; 等待INT0升高的LOOP3:JB P3.2、LO
16、OP3。 等待INT0再次降低的CLR TR0; INT0变低的停止计数MOV R0、TL0; 存储计数值INC R0 MOV R0、TH0,作为综合的应用例,设定例1、时钟频率为6MHz。 利用T0制作生成1s时间节点的计程仪程序。决定计时器T0的运作模式0的最长时间节点16.384ms模式1最长可能定时131.072ms; 模式2最长可定时512us; 时间节点1s能够选择模式1,每100ms中断一次,中断10次达到1s的时间节点。 求出计数器初始值x (216 x ) 12/(6106 )=10010-3 sx=15536=3CB0h的实现方法:对于中断10次的计数,可以使T0以计数方式动作,也可以通过循环堆计程仪列的方法来实现。 本例采用循环程序法。 源计程仪列表ORG0000H AJMP MAIN; 接通电源,移至主计程仪程序ORG 000BH的中断服务程序计程仪门户站地址AJMP SERVE; 向中断服务计程仪程序ORG 0080H迁移主计程仪程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 童年情绪障碍的护理挑战
- 金太阳2026届高三联考313C政治试题(含答案)
- 物业事业部运营管理拓展方案
- 2026年芯片封装材料供应商信越化成日东电工竞争力对比
- 2026年叉车行业智能化转型:软件 硬件 平台发展路径
- 管网改造工程施工方案
- 医美皮肤护理的术后护理要点解析
- 护理专业的社会影响与发展趋势
- 2026年数字化智能化供应链转型提升韧性实施方案
- 2026年江浙地区乡村“整村运营”标杆模式深度解析
- 2026年安庆医药高等专科学校单招职业技能考试题库带答案详解(a卷)
- 2025福建福州市鼓楼区国有资产投资发展集团有限公司公开招聘笔试参考题库附带答案详解
- 2026年安徽审计职业学院单招职业倾向性考试题库含答案详解(基础题)
- 斜坡硬化施工方案(3篇)
- 2026四川成都新都区集中招聘编外人员10考试备考题库及答案解析
- 建筑施工安全设施设计落实情况报告
- (2026年)粮油质量检验员考核试题(+答案)
- 北京海淀2026年高三3月第一次模拟考试(英语试题文)试题含解析
- 2025四川党政领导干部政治理论考试(理论测试)强化练习题及答案
- 2026年环保碳捕捉技术报告及未来五至十年减排效果报告
- 2026年中考道德与法治一轮复习:情境100题含答案
评论
0/150
提交评论