当前位置: 首页 > article >正文

51单片机(四)定时器

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

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。


http://www.kler.cn/a/518303.html

相关文章:

  • 单片机内存管理剖析
  • 乒乓球日常烧拍日记之四海绵支撑
  • 独立开发者常见开发的应用有哪些
  • SYN Flooding的攻击原理
  • 【2024年华为OD机试】 (A卷,100分)- 整理扑克牌(JavaScriptJava PythonC/C++)
  • 基于springboot+vue的古城景区管理系统的设计与实现
  • AI News(1/21/2025):OpenAI 安全疏忽:ChatGPT漏洞引发DDoS风险/OpenAI 代理工具即将发布
  • 25美赛ABCDEF题详细建模过程+可视化图表+参考论文+写作模版+数据预处理
  • 「全网最细 + 实战源码案例」设计模式——抽象工厂模式
  • 利用大语言模型(LLM)增强软件测试自动化的最佳实践
  • 【韩顺平Java笔记】第8章:面向对象编程(中级部分)【354-358】
  • AI模型提示词(prompt)优化-实战(一)
  • css遇到的一些问题
  • Kafka生产者ACK参数与同步复制
  • 简洁明了:介绍大模型的基本概念(大模型和小模型、模型分类、发展历程、泛化和微调)
  • 人工智能丨视觉识别在自动化测试中的应用
  • npm link 作用
  • 如何理解 Web3 背后的技术:区块链与去中心化存储
  • PHP异步非阻塞MySQL客户端连接池
  • 1. 小众但非常实用的 CSS 属性
  • 69.在 Vue 3 中使用 OpenLayers 拖拽实现放大区域的效果(DragPan)
  • 如何使用phpStudy在Windows系统部署静态站点并实现无公网IP远程访问
  • 2025年美赛C题:奥运奖牌榜模型 解析及Python代码实现
  • 【xcode 16.2】升级xcode后mac端flutter版的sentry报错
  • Arduino大师练成手册 -- 读取红外接收数据
  • 国产编辑器EverEdit - 命令窗口应用详解