控制/MCU
STC15W408AS只有定时器0和定时器2,工作工作位定时器或者计数器模式。定时器/计数器的核心部件是一个加法计数器,其本质是对脉冲进行计数。只是计数脉冲来源不同:如果计数脉冲来自系统时钟,则为定时方式,此时定时器/计数器每12个时钟或者每1个时钟得到一个计数脉冲,计数值加1;如果计数脉冲来自单片机外部引脚(T0为P3.4,T1为P3.5,T2为P3.1,T3为P0.7,T4为P0.5),则为计数方式,每来一个脉冲加1。
当定时器/计数器T0、T1及T2工作在定时模式时,特殊功能寄存器AUXR中的T0x12、T1x12和T2x12分别决定是系统时钟/12还是系统时钟/1(不分频)后让T0、T1和T2进行计数。
定时器/计数器0有4种工作模式:模式0(16位自动重装载模式),模式1(16位不可重装载模式),模式2(8位自动重装模式),模式3(不可屏蔽中断的16位自动重装载模式)。定时器T2的工作模式固定为16位自动重装载模式。T2可以当定时器使用,也可以当串口的波特率发生器和可编程时钟输出。
TCON为定时器/计数器T0、T1的控制寄存器,同时也锁存T0、T1溢出中断源和外部请求中断源等,TCON格式如下:
TCON : 定时器/计数器中断控制寄存器 (可位寻址)
TF0:T0溢出中断标志。T0被允许计数以后,从初值开始加1计数,当产生溢出时,由硬件置“1”TF0,向CPU请求中断,一直保持CPU响应该中断时,才由硬件清0(也可由查询软件清0)。
TR0: 定时器T0的运行控制位。该位由软件置位和清零。当GATE(TMOD.3)=0,TR0=1时 就允许T0开始计数,TR0=0时禁止T0计数。当GATE(TMOD.3)=1,TR0=1且INT0输 入高电平时,才允许T0计数,TR0=0时禁止T0计数。
定时和计数功能由特殊功能寄存器TMOD的控制位C/T进行选择,TMOD寄存器的各位信息如下表所列。可以看出,2个定时/计数器有4种操作模式,通过TMOD的M1和M0选择。2个定时/计数器的模式0、1和2都相同,模式3不同,各模式下的功能如下所述。
寄存器TMOD各位的功能描述
STC15系列单片机 1T 的8051单片机,为兼容传统8051,定时器0 , 复位后是传统8051的速度,即12分频,这是为了兼容传统8051。但也可不进行12分频,通过设置新增加的特殊功能寄存器AUXR,将T0,T1,T2 设置普通111条机器指令执行速度是固定的,快4到24倍,无法改变。
AUXR格式如下:
AUXR : 辅助寄存器
#include"stc15.h"#defineuint unsigned intuint t =0;voidmain(){ P1M0 =0x02; P1M1 =0x00;// 定时器 0AUXR |=0x80;// 定时器0 1T模式TMOD =0x00;// 定时器模式0 16位自动重载模式TL0 =0xAE; TH0 =0xFB;// 计数值 100us@11.0592MHzTR0 =1;// 定时器开始计时ET0 =1;// 使能定时器1中断EA =1;// 打开总中断while(1); }voidtm1_isr()interrupt 1{ t = t +1;if(t >=100){// 100 * 100us = 10ms P1.1端口取反输出t =0; P11 = !P11; } }通过示波器可以测得波形搞好是50Hz,每个周期20ms。
这里有个问题就是定时器的初始值的计算。
定时器定时时长(100us) = SYSclk/(65536 - [TH0,TL0]), SYSclk = 11.0592MHz。
这里计算得到[TH0,TL0] = 64430,转换为十六进制就是FBAE,则TH0 = FB,TL0 = AE。
3.2 定时器2作为计数器
#include"stc15.h"voidmain(){ P1M0 =0x02; P1M1 =0x00; P11 =0;// 初始设置为0AUXR |=0x1C;// 定时器2 工作为计数器模式 P3.1为计数引脚 允许计数器运行T2L =0x00; T2H =0x00;while(1) {if(T2L==16)// 计数器到了16 就把P1.1口输出取反{ T2L=0X00; P11 = !P11; } } }
定时器0个定时器2都可以工作位定时器/计数器模式,这里为了区分就把定时器2作为计数器使用了。
打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表德赢Vwin官网 网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
- 相关推荐
- 单片机
- 寄存器
- 计数器
- 定时器
- STC15W408AS
-
STC15W408AS
单片机
定时器
计数器的
相关资料推荐
2021-11-26
0
-
STC15W408AS
单片机
寄存器板串口收发示例分享
2021-11-26
0
-
STC15W408AS
单片机比较
器内部结构
2021-12-07
0
-
单片机
计数器_
定时器工作原理_
2016-05-06
630
-
单片机教程之
定时器和
计数器原理及应用
2019-01-14
1103
-
单片机的
定时器
计数器结构和
相关的
寄存器及编程的资料说明
2019-04-18
1003
-
单片机的
定时器和
计数器的详细资料说明
2019-05-21
1062
-
51
单片机之
定时器\
计数器的工作原理
2021-11-11
931
-
8.
STC15W408AS
单片机
定时器/
计数器
2021-11-18
1434
-
STC15W408AS
单片机
寄存器板串口收发示例
2021-11-18
725
-
11.
STC15W408AS
单片机CCP/PCA/PWM应用
2021-11-18
1893
-
51
单片机
定时器/
计数器
2021-11-20
2490
-
嵌入式开发学习笔记6-了解
单片机中的特殊功能
寄存器(
定时器/
计数器)
2021-11-24
856
-
STC15W408AS
单片机CCP/PCA/PWM应用的
相关
寄存器
2023-06-23
1753
-
STC15W408AS
单片机比较
器的
相关
寄存器
2023-06-23
2082
×
20
完善资料,
赚取积分
全部0条评论
快来发表一下你的评论吧 !