51单片机定时器/计数器详解:浮点数转换
需积分: 0 13 浏览量
更新于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 上传
点击了解资源详情
点击了解资源详情
2022-06-17 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
getsentry
- 粉丝: 28
- 资源: 2万+
最新资源
- 构建基于Django和Stripe的SaaS应用教程
- Symfony2框架打造的RESTful问答系统icare-server
- 蓝桥杯Python试题解析与答案题库
- Go语言实现NWA到WAV文件格式转换工具
- 基于Django的医患管理系统应用
- Jenkins工作流插件开发指南:支持Workflow Python模块
- Java红酒网站项目源码解析与系统开源介绍
- Underworld Exporter资产定义文件详解
- Java版Crash Bandicoot资源库:逆向工程与源码分享
- Spring Boot Starter 自动IP计数功能实现指南
- 我的世界牛顿物理学模组深入解析
- STM32单片机工程创建详解与模板应用
- GDG堪萨斯城代码实验室:离子与火力基地示例应用
- Android Capstone项目:实现Potlatch服务器与OAuth2.0认证
- Cbit类:简化计算封装与异步任务处理
- Java8兼容的FullContact API Java客户端库介绍