51单片机定时器/计数器详解:浮点数转换
需积分: 0 165 浏览量
更新于2024-07-12
收藏 1.94MB PPT 举报
"浮点数显示格式转换方法及51单片机定时器讲解"
这篇资料主要涉及了浮点数的显示格式转换以及51系列单片机中的定时器/计数器的应用。在C51单片机编程中,浮点数的显示通常需要进行格式转换,以便适应硬件设备如LED显示器的输出要求。提供的代码片段`tempchange`函数展示了如何将一个小数转换为整数,并将其各个位分配给特定的LED输出。
首先,`uchar point`参数可能是表示小数点位置的变量,例如如果`point = 1`,那么`tempfloat[point]*100`会将小数点后第一位乘以100,使得小数变为整数以便处理。接着,通过取模和除法操作,将整数的个位、十位、百位和千位分别赋值给LED数组的不同元素,以便显示温度值。
接下来,我们来看看51系列单片机的定时器/计数器部分。51系列单片机,如AT89C51和AT89C52,提供了至少2个定时器/计数器(T0和T1),而C52还额外包含一个T2。这些定时器可以作为定时器或者计数器使用,它们可以对内部时钟脉冲计数或者对P3.4(T0)和P3.5(T1)引脚上的外部信号进行计数。每个定时器都有多种工作模式,通过TMOD寄存器进行配置。
TMOD寄存器的M1和M0位用于定义工作模式,包括13位定时/计数器、16位定时/计数器、8位自动重置定时/计数器以及两个8位定时器的组合模式。C/T位决定了定时器是工作在定时模式还是计数模式,GATE位则决定了定时器是否受外部中断请求的影响。
TCON寄存器用于控制定时器的启动和溢出标志,TF0和TF1是溢出标志,TR0和TR1是启动位,设置为1启动定时器,0则停止。外部中断控制方面,IE1和IT1与IE0和IT0分别用于外部中断1和0的控制。
此外,还提到了方式2(M1M0=10)的8位自动重置计数器模式,当计数达到最大值时,计数值会自动重置并继续计数。举了一个例子,通过设置TH0和TL0的初值,可以生成特定频率的方波。
这篇资料涵盖了浮点数的显示转换以及51单片机定时器/计数器的基本配置和应用,对于理解和编写相关程序非常有帮助。
2019-10-10 上传
2020-07-26 上传
2020-08-20 上传
2023-11-29 上传
2023-05-26 上传
2024-09-05 上传
2023-04-13 上传
2024-03-06 上传
2024-11-02 上传
getsentry
- 粉丝: 28
- 资源: 2万+
最新资源
- 正整数数组验证库:确保值符合正整数规则
- 系统移植工具集:镜像、工具链及其他必备软件包
- 掌握JavaScript加密技术:客户端加密核心要点
- AWS环境下Java应用的构建与优化指南
- Grav插件动态调整上传图像大小提高性能
- InversifyJS示例应用:演示OOP与依赖注入
- Laravel与Workerman构建PHP WebSocket即时通讯解决方案
- 前端开发利器:SPRjs快速粘合JavaScript文件脚本
- Windows平台RNNoise演示及编译方法说明
- GitHub Action实现站点自动化部署到网格环境
- Delphi实现磁盘容量检测与柱状图展示
- 亲测可用的简易微信抽奖小程序源码分享
- 如何利用JD抢单助手提升秒杀成功率
- 快速部署WordPress:使用Docker和generator-docker-wordpress
- 探索多功能计算器:日志记录与数据转换能力
- WearableSensing: 使用Java连接Zephyr Bioharness数据到服务器