定时器STC89C52

简介

51单片机定时器属于其内部资源,用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作;替代了长时间的Delay,提高CPU运行效率

内含三个定时器资源:T0、T1、T2。不同的单片机型号定时器的资源不同。

定时器工作原理

定时器根据时钟的输出信号,每隔一特定时间,计数单元的数值就增加一,当计数单元数值增加到设定值后,计数单元就会向中断系统发出中断申请,使程序跳转到中断服务函数执行。

工作模式

重点介绍模式1

 计数系统

TL0(Time Low)和TH0(Timer High)组成十六位计数器,接收SYSclk发送来的脉冲进行计数,最大计数65535,溢出时,同时给TF0置标志位1,申请中断。

定时器时钟

SYSclk(系统时钟,即晶振周期,有12MHz/11.0592MHz等)发出脉冲,经过12或6分频,如若进行12分频,则脉冲频率为1MHz,每一个脉冲时间为1us。

给C(Counter)置1,为高电平,选择计数器;给T(Timer)置0,为低电平,选择定时器。

中断资源

STC89C52中断源个数:8个(外部中断0、定时器0中断、外部中断1、定时器1中断 、串口中断、外部中断2、外部中断3)

中断优先级个数:4

 定时器和中断系统

 定时器相关寄存器

 

1.TCON

TCON(Timer Control):是定时器T0、T1的控制寄存器,同时也锁存T0、T1溢出中断源和外部请求中断源等

 (详细介绍请参考STC89C52手册)

TR0:当GATE(TMOD.3)=0时,TR=1允许计数,TR=0停止计数。GATE(TMOD.3)=1时,TR0=0且INT0输入高电平时,允许T0计数。

TF0:定时器T0溢出中断标志,当计数至最高位产生溢出时,由硬件自身置1,我们只需利用程序读出,若为1,则可以开始中断

2.TMOD

 使用16位定时器,因此M1、M0配置为0 1;

采用定时器,而不用计数器则C/T配置为0;

当GATE置0时,定时器的打开关闭由TR0单独控制(GATE=0,经过非门成为1;此时到达或门,一定输出1;最后到达与门,由TR0单独控制与门的输出)#图见上文 定时器和中断系统

3.TH0、TL0和TH1、TL1

后面为0是定时器0的,为1是定时器1的

用来存储数据

中断相关寄存器(见“中断系统”一文)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值