AT89S51单片机T0/T1定时器/计数器工作方式详解
需积分: 13 29 浏览量
更新于2024-08-19
收藏 498KB PPT 举报
本篇文章主要介绍了AT89S51单片机中的定时器/计数器功能,这是工业检测与控制中常用的重要组件。文章详细讲解了T1和T0这两个可编程定时器/计数器的结构,包括它们由特殊功能寄存器TH0、TL0和TH1、TL1组成。T0和T1支持定时器和计数器两种工作模式,并且有四种工作方式(方式0到3),均为增计数器。
TMOD特殊功能寄存器是关键,它用来选择T0和T1的工作模式和方式,通过改变M1和M0位的不同组合实现。GATE位的作用在于决定定时器是否受外部中断INT0*(或INT1*)的电平控制,当GATE=0时,仅由运行控制位TRx(针对T0和T1分别对应的TR0和TR1)决定定时器的运行;而GATE=1时,外部中断会参与到运行控制中。
当定时器/计数器工作在计数器模式下,计数脉冲来自外部输入引脚T0或T1,对由1到0的负跳变进行计数。每个机器周期的S5P2期间,都会对输入引脚采样,如果状态发生变化,计数器就会相应地增加。在定时器模式下,计数器则是对经过片内12分频的系统时钟信号进行计数,通过计数值可以计算出精确的定时时间。
文章还提到了计数器的初始化,无论是复位时的初始值为0,还是后续通过指令设置新的初值,都是确保计数器正常工作的基础。此外,对于工作方式的设置,不同的M1和M0编码对应不同的工作方式,这直接影响了定时器/计数器的行为和性能。
理解并掌握AT89S51单片机的定时器/计数器工作原理和编程方法,对于利用其在工业检测与控制系统中的应用至关重要。通过本文,读者可以深入学习如何配置和利用这两个定时器进行计数和定时任务。
2020-07-13 上传
2022-06-22 上传
2022-05-24 上传
2022-01-21 上传
2013-01-06 上传
2020-07-25 上传
2010-05-15 上传
我的小可乐
- 粉丝: 26
- 资源: 2万+
最新资源
- 深入浅出:自定义 Grunt 任务的实践指南
- 网络物理突变工具的多点路径规划实现与分析
- multifeed: 实现多作者间的超核心共享与同步技术
- C++商品交易系统实习项目详细要求
- macOS系统Python模块whl包安装教程
- 掌握fullstackJS:构建React框架与快速开发应用
- React-Purify: 实现React组件纯净方法的工具介绍
- deck.js:构建现代HTML演示的JavaScript库
- nunn:现代C++17实现的机器学习库开源项目
- Python安装包 Acquisition-4.12-cp35-cp35m-win_amd64.whl.zip 使用说明
- Amaranthus-tuberculatus基因组分析脚本集
- Ubuntu 12.04下Realtek RTL8821AE驱动的向后移植指南
- 掌握Jest环境下的最新jsdom功能
- CAGI Toolkit:开源Asterisk PBX的AGI应用开发
- MyDropDemo: 体验QGraphicsView的拖放功能
- 远程FPGA平台上的Quartus II17.1 LCD色块闪烁现象解析