博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【电子基础】单片机定时器实用方法总结
阅读量:7119 次
发布时间:2019-06-28

本文共 1870 字,大约阅读时间需要 6 分钟。

单片机定时器实用方法总结

第一部分:51系列定时器

定时/计数器 0 和定时/计数器1都有4种定时模式。

   16位定时器对内部机器周期进行技术,机器周期加1,定时器值加1,1MHZ模式下,一个机器周期为1us 。

   定时器工作模式寄存器TMOD,不可位寻址,需整体赋值,高4位用于定时器1,第四位用于定时器0。

 

   C/T:为定时器功能选择位,C/T=0对机器周期计数,C/T=1,对外部脉冲计数。

   GATE:门控位,GATE=0,软件置位TRn即可启动计时器,GATE=1需外部中断引脚为高电平时才能软件置位TRn启动计时器,一般取GATE=0。

 

 


定时器控制寄存器TCON:

 

   TFn:Tn溢出标志位,当定时器溢出时,硬件置位TFn,中断使能的情况下,申请中断,CPU响应中断后,硬件自动清除TFn。中断屏蔽时,该位一般作为软件查询标志,由于不进入中断程序,硬件不会自动清除标志位,可软件清除。

   TRn:计时器启动控制位,软件置位TRn即可启动定时器,软件清除TRn关闭标志位。

   IEn:外部中断请求标志位。

   ITn:外部中断出发模式控制位,ITn=0为低电平触发,ITn=1为下降沿触发。

 

 


   中断允许控制寄存器IE

 

   EA(IE.7):全局中断控制位。EA=1开全局中断,EA=0关闭全局中断。

   ETn:定时器中断使能控制位。置位允许中断,清除禁止中断。

   ES:串行接收/发送中断控制位,置位允许中断。

   EXn:外部中断使能控制位。置1允许,清0禁止

 

 


中断优先级控制寄存器IP

 

   复位后为00H

   PT2:定时器2中断优先级控制,置1设为高优先级,清0置位低优先级。

   PS:串行中断优先级控制位。

   PT1/0:定时器1/0优先级控制位,置1高,清0低。

   PXn:外部中断优先级控制位。

   当有同级中断同时响应,按IE0->TF0->IE1->TF1-IE0->RI+TI->TF2顺序依次响应。

 

   定时器模式0的使用 TMOD&=0xf0/TMOD&=0x0f

 

TL0高3位不用,低5位溢出时,直接向TH0进位。

   通过设置TH0和TL0初值(0~8191),使计数器从初值开始加1,溢出后申请中断,溢出后需重新设置初值,否则将从0开始加1计数。

   T=(模值-初值)*机器周期,初值为8191位技术最小值1,初值为0为计数最大值8191。

 

 


   定时器模式1(TMOD=0xf1/TMOD=0x1f)

   模式1和模式0功能相同,但模式1为16位。

   定时器模式2(TMOD=0x2f/0xf2)

   模式2构成自动重装的8位定时器,计数器的范围为0~256

   TH作为初值寄存器,TL作为计数寄存器。TL溢出时,置位中断标志位,并且把TH中的值自动装入TL。

 

 

 


定时器模式3,模式3只适用于定时器0

   模式3时定时器构成2个独立的8位计数器。

 

   此模式下,TL0和模式0,1状态一样可以做计数和定时。TH0只能用于定时不能用于计数,并占用T1的资源TF1和TR1。

 

定时器2的使用

在AT89S52,AT89S53和AT89S8253中增加了定时器2的使用。

T2和TH2,TL2,T2CON,T2MOD,捕捉重装寄存器RCAP2L和RCAP2H

 

T2控制寄存器

 

TF2:溢出中断标志位。

 

RCLK:串行口接收时钟选择位,用它可以选择T1或T2作为串行口发送时钟。RCLK=1,T2作为串行口时钟,RCLK=1,T1作为串口发送时钟。

EXEN2:T2外部允许控制位,EXEN2=1,若T2未用于波特率发生器,T2EX引脚出现负跳变时将导致T2发生捕获或充装载。并置位EXF2标志位请求中断。该位清0,外部引脚无效。

C/T2:定时或技术方式选择位。

CP/RL2:T2捕获或重装控制位,该位为1,选择捕获功能,此时若EXEN2=1,T2EN引脚出现负跳变将发生捕获操作,即把T2H和T2L内容传送给RCAP2H和RCAP2L。该位为0,选择重装功能,此时若T2溢出,或EXEN2=1且T2EN引脚上出现负跳变,都会把RCAP2H和RCAP2L的值送入T2H和T2L。

 

T2模式控制位

 

T2OE:T2输出允许控制位。T2OE=1允许时钟输出到T2/P1.0引脚,T2OE=0禁止输出。

DECN:加/减计数控制位,该位为1,允许T2作为加减计数器使用,方向由T2EN控制,T2EN为1,进行加计数,T2EN位0进行减计数。该位置0,T2自动向上计数。

T2工作模式的选择由RCLK,TCLK,CP/RL2,T2OE,CT2,和TR2来决定。

 

 

本文出自 “” 博客,请务必保留此出处

转载地址:http://plnel.baihongyu.com/

你可能感兴趣的文章
我的友情链接
查看>>
lua 语言基础
查看>>
[shell] IT运维之Linux服务器监控方案
查看>>
也谈如何构建高性能服务端程序
查看>>
linux 下 安装 node.js 详细步骤
查看>>
Python第二天(字典)
查看>>
form表单回车提交问题,JS监听回车事件
查看>>
我的友情链接
查看>>
一个U盘走天下,装机大神撩妹的不二之选
查看>>
领域模型、贫血模型、充血模型概念总结
查看>>
iOS 关于使用xib创建cell的两种初始化方式
查看>>
利用反射打印对象一般成员属性值
查看>>
使用pscp实现Windows 和 Linux服务器间远程拷贝文件
查看>>
JAVA 中的null
查看>>
<VirtualHost *:80>配置文件
查看>>
C++中的头文件
查看>>
EXCHANGE虚拟目录功能介绍
查看>>
ubuntu下rar文件解压后文件名乱码
查看>>
面试题整理_04
查看>>
CentOS 7.1.1503 varnish动静分离反代用户请求
查看>>