51单片机(四)定时器

时钟控制寄存器 TCON(Timer Controller)

c 复制代码
sfr TL0     = 0x8A; // T0 计数器低8位
sfr TL1     = 0x8B; // T1 计数器低8位
sfr TH0     = 0x8C; // T0 计数器高8位
sfr TH1     = 0x8D; // T1 计数器高8位
sfr TCON    = 0x88;
/*------------------------------------------------
TCON Bit Registers
------------------------------------------------*/
sbit TR0  = 0x8C; // TR0 置1 T0工作, TR0 置0 T0停止
sbit TF0  = 0x8D; // T0 溢出中断请求标志
sbit TR1  = 0x8E; // TR1 置1 T1工作, TR1 置0 T1停止
sbit TF1  = 0x8F; // T1 溢出中断请求标志

/* TMOD */
sfr TMOD    = 0x89;
/*------------------------------------------------
TMOD Bit Values
------------------------------------------------*/
#define T0_M0_   0x01
#define T0_M1_   0x02
#define T0_CT_   0x04
#define T0_GATE_ 0x08
#define T1_M0_   0x10
#define T1_M1_   0x20
#define T1_CT_   0x40
#define T1_GATE_ 0x80

#define T1_MASK_ 0xF0
#define T0_MASK_ 0x0F

51单片机有4种工作方式

  1. M0M1 = 00 , 13位计数,

    由TL低5位与TH8位组成,TL第5位溢出向TH进位,TH溢出向TF置溢出标志,触发中断

  2. M0M1 = 10 , 16位计数

    TL作低8位,TH作高8位,

  3. M0M1 = 01, 8位自动重装

    TH记录初值,TL溢出后自动重置为TH记录的初值。

  4. M0M1 = 11, T0 分为两个独立的8位,T1停止计数

    TL0作为单独计数器,溢出标志位到TF0,TH0作为单独计数器,溢出标志位到TF1。

相关推荐
一路往蓝-Anbo4 分钟前
第二章:STM32 bxCAN 控制器详解:从内存到总线的“中转站”
stm32·单片机·嵌入式硬件·软件工程
Dunkle.T1 小时前
DC-DC PCB设计要点说明——拓扑、走线、选型、铺铜详解
单片机·嵌入式硬件·pcb·dc-dc
三品吉他手会点灯3 小时前
STM32F103 学习笔记-21-串口通信(第4节)—串口发送和接收代码讲解(上)
笔记·stm32·单片机·嵌入式硬件·学习
史蒂芬_丁3 小时前
STM32平台原子操作详解:原理与实践
stm32·单片机·嵌入式硬件
Fanfanaas3 小时前
Linux 系统编程 进程篇 (三)
linux·运维·服务器·c语言·单片机·学习
CHANG_THE_WORLD4 小时前
HexDump 实现
stm32·单片机·嵌入式硬件
天月风沙4 小时前
Betaflight飞控、树莓派RP2350B主控编译教程
linux·单片机·嵌入式硬件·mcu·无人机·树莓派
三道渊4 小时前
嵌入式系统电源设计指南
单片机·嵌入式硬件
水云桐程序员5 小时前
单片机:定时器/PWM 配置 - 呼吸灯效果
单片机·嵌入式硬件·mongodb
WeeJot嵌入式5 小时前
【GPIO】按键控制小灯
单片机·嵌入式硬件·mongodb