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。

相关推荐
zhangrelay2 小时前
新版|-|单片机原理与接口技术-2026持续改进优化-从MEGA2560-ESP32与Wokwi到ROS2-Lyrical与具身智能栈
笔记·单片机·嵌入式硬件·学习
comyccccc3 小时前
STM32F103C8T6最小系统板设计全解析学习笔记
单片机·1024程序员节
en.en..4 小时前
STM32 GPIO ODR 与 BSRR 寄存器完整对比详解
单片机·嵌入式硬件
LCG米8 小时前
STM32硬件SPI驱动SSD1306 OLED实测:上电黑屏排查、页寻址模式与取模扫描方向陷阱
stm32·单片机·嵌入式硬件·嵌入式
深圳老胡9 小时前
STM32C5A3ZG 网络调试总结:从启动失败到连续 Ping 稳定
笔记·stm32·单片机·代码规范
简单电磁炮9 小时前
关于adc采集
stm32·单片机
意法半导体STM3210 小时前
【官方原创】如何在STM32CubeMX2中使用UART
stm32·单片机·嵌入式硬件
白搞电子12 小时前
ESP-Mosaico 轮滑动画编排台:拍点吸附、完整动作编辑与工程保存
单片机·嵌入式硬件·电脑
cu14313 小时前
细谈IT6653的具体功能与其应用
c语言·c++·单片机·嵌入式硬件
夏虫不可与之言冰14 小时前
RMT 与 WS2812 灯带:可寻址 RGB 全彩控制
c语言·c++·单片机·物联网·visual studio