51单片机定时器/计数器详解:浮点数转换

需积分: 0 2 下载量 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单片机定时器/计数器的基本配置和应用,对于理解和编写相关程序非常有帮助。