定时器介绍
51单片机有2个16位定时器/计数器:定时器0(T0为P3.4)和定时器1(T1为P3.5)
这里所说的16位是指定时/计数器内部分别有16位的计数寄存器。
当工作在定时模式时,每经过一个机器周期(12个时钟周期)内部的16位计数寄存器的值就会加1,当这个寄存器装满时溢出。
我们可以算出工作在定时模式时最高单次定时时间为65535*1.085us=时间(单位us)
当工作在计数器模式时,T0(P3.4引脚),T1(P3.5引脚)每来一个脉冲计数寄存器加1
定时器作用:定时计数器可以用于精确事件定时,PWM脉宽调制,波形发生,信号时序测量的方面。
定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成
定时器作用:
(1)用于计时系统,可实现软件计时,或者使程序每隔一固定时间完成一项操作
(2)替代长时间的Delay,提高CPU的运行效率和处理速度
(…)
STC89C52定时器资源
定时器个数:2个(T0、T1),T0和T1与传统的51单片机兼容
注意:定时器的资源和单片机的型号是关联在一起的,不同的型号可能会有不同的定时器个数和操作方式,但一般来说,T0和T1的操作方式是所有51单片机所共有的
定时器框图
定时器在单片机内部就像一个小闹钟一样,根据时钟的输出信号,每隔“一秒”,计数单元的数值就增加一,当计数单元数值增加到“设定的闹钟提醒时间”时,计数单元就会向中断系统发出中断申请,产生“响铃提醒”,使程序跳转到中断服务函数中执行
定时器工作模式
STC89C52的T0和T1均有四种工作模式:
模式0:13位定时器/计数器
模式1:16位定时器/计数器(常用)
模式2:8位自动重装模式
模式3:两个8位计数器
工作模式1框图:
定时器时钟
SYSclk:系统时钟,即晶振周期,本开发板上的晶振为11.0592MHz
中断系统
中断程序流程
STC89C52中断资源
中断源个数:5个(外部中断0、定时器0中断、外部中断1、定时器1中断、串口中断)
中断优先级个数:4个
中断号:
注意:中断的资源和单片机的型号是关联在一起的,不同的型号可能会有不同的中断资源,例如中断源个数不同、中断优先级个数不同等等
定时器和中断系统
使用51定时/计数器步骤
1、启动定时/计数器(通过TCON控制器)
2、设置定时/计数器工作模式(通过TMOD控制器)
3、查询定时/计数器是否溢出(读TCON内TF位)
定时器相关寄存器
中断相关寄存器
本节使用的按键原理图
本节程序(独立按键控制LED灯模式)