你们好,最近小时发现有诸多的小伙伴们对于单片机定时器程序编写显示时分秒,单片机定时器程序这个问题都颇为感兴趣的,今天小活为大家梳理了下,一起往下看看吧。
1、 模式0是单片机定时器的第一种计时模式,为13位计数模式。
2、 模式1采用16位计数模式,
3、 模式二采用8位自动重载计数模式,这两种技术模式也是目前单片机应用中最常用的适时模式。
4、 模式3,在该模式下,只有T0具有双8位计数模式。
5、 因为单片机的机器周期通常是1 s ~ 2 s,所以定时误差一般应该在0 s ~ 20 s以内,对于一般应用来说,这个误差可以忽略,但是对于精度要求高的应用来说,这个误差是必须要校正的。
6、 计时误差是计时溢出和计时处理语句段执行之间花费的时间,主要是计时溢出转移到计时处理语句段时必须执行的指令或硬件进程造成的。
7、 (1)定时器数量:网上看到的51单片机教程都说有两个定时器:定时器0和定时器1。其实有的微控制器有三个定时器,比如博主买的开发板上的微控制器:STC89C54RD。因此,
8、 编程时注意有多少定时器.
9、 (2)、TL、TH:初始值寄存器,分别是低8位和高8位,后面是数字0或1,代表定时器0或定时器1。
10、 (3)、TMOD:模式控制寄存器,属于SFR特殊功能寄存器,地址:89H,决定定时器/计数器的四种工作模式,8位。
11、 GATE gate:当GATE=0时,只要TR=1,计数器就会开始工作。
12、 当GATE=1时,计数器仅在INT=TR=1时工作(用于测量INT引脚处高电平脉冲的宽度)。
13、 C/T:计数器的输入脉冲选择开关决定了计数器的两种工作模式,即“计时”或“计数”。
14、 C/T=0:定时模式:计数器接收内部时钟信号fosc。
15、 C/T=1:计数模式:计数器在引脚上接收外部信号。
16、 M1和M0模式选择:确定了四种工作模式。
17、 (4) TCON:控制寄存器,属于SFR特殊功能寄存器,地址:88H,8位。
18、 TF:定时器溢出标志,计数器溢出时硬件自动置位,即TF=1,进入中断后再由硬件自动清除(TF=0)
19、 TR:计数器的控制位
20、 TR=1:计数器开始工作
21、 TR=0:计数器停止计数
22、 IE:外部中断INT 的请求标志
23、 当单片机检测到INT 引脚上有下降沿时,IE=1 申请中断,进入中断服务程序时,硬件自动清除IE 标志
24、 IT:外中断触发类型控制
25、 IT=1 时,外中断信号的下降沿触发IE 标志
26、 IT=0 时,外中断信号的低电平触发IE 标志
27、 (5)、作为“定时器”使用时,“定时”与“初值”的关系如下:
28、 T=( M - TC ) t
29、 其中:T:定时时间
30、 M:计数器的模
31、 TC:计数初值
32、 t:计数器计数脉冲的周期(t=fosc/12)
33、 仅供参考
34、 #include reg51.h
35、 void InitTimer0(void)
36、 {
37、 TMOD=0x01;
38、 TH0=0x0FF;
39、 TL0=0x9C;
40、 EA=1;
41、 ET0=1;
42、 TR0=1;
43、 }
以上就是单片机定时器程序这篇文章的一些介绍,希望对大家有所帮助。