0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单片机程序TH0=(65536-50000)/256;是什么意思?

倩倩 来源:电子开发网 2020-09-18 17:07 次阅读

TL0=(65536-50000)%256; 这两个是什么意思呢??为什么要是256,是固定的吗???在知道里看到了答案,可是还是不大懂,

这是网上的:

标准答案:定时器0设置于模式1时,计数寄存器为16位模式,由高8位TH0和低8位TL0两个8位寄存器组成,当设定计算值为65536-50000=15536(D)时,转换为十六进制就是3CB0(H),此时,TH0=3C,TL0=B0分别装入即可,为了免除这些计算步骤,很多编程者采用“TH0=(65536-50000)/256;TL0=(65536-50000)%256“的编程方式,去让单片机自己去计算结果,那么为什么要介入256呢?其实并不难理解,做一下10——16进制的换算就知道了,256(D)=0100(H),这里01就是高8位的数据,00就是低8位的数据,通俗点说,15536(D)里有多少个256,就相当于高8位有多少数值,就是除的关系了,商存入高8位寄存器后余下的数存入低8位即可,取商计算就是TH0=(65536-50000)/256;而取余计算就是TL0=(65536-50000)%256 。

答案:定时器工作于模式一时,计数器是16位的,16位的二进制可以表示0~2^16(65535),计数器时向上计数的,一个一个数的加,首先要设置它的计数初值(不设置默认为0),如果要它每数50000次溢出一次产生中断,那么初值就是2^16-50000+1=15536,现在将15536这个初值装到TH0和TL0中就行了,但是由于51是8位单片机,每次只能处理8位数据,所以就要将15536分成高8位和低8位分别给TH0和TL0,15536/256就是将高八位取出,15536%256就是将低八位取出,类似于十进制中25/10=2.。..。.5,将十位2和个位5取出一样。说白了就是数制的转换。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6035

    文章

    44553

    浏览量

    634739
  • 计数器
    +关注

    关注

    32

    文章

    2256

    浏览量

    94485
  • 定时器
    +关注

    关注

    23

    文章

    3246

    浏览量

    114739
收藏 人收藏

    评论

    相关推荐

    求助一下关于51系列单片机的Timer0的计时问题,TH0、TL0+1的时间是怎么算的?

    使用的CH552单片机,想简单地研究下各种机器时间、系统时间的关系,于是写了个中断。按照说明书,我这程序里系统主频应为12MHz,中断用于反转端口测量频率,结果如图 根据示波器结果为10us左右触发
    发表于 12-20 10:57

    单片机怎么写入程序

    程序通常涉及以下几个步骤: 选择单片机和开发环境 : 确定项目需求,选择合适的单片机型号。 安装相应的开发环境,如Keil、IAR、MPLAB等。 硬件连接 : 将单片机连接到开发板或
    的头像 发表于 10-21 11:21 428次阅读

    keil可以读出单片机程序

    Keil是一款广泛应用于单片机程序开发的软件,它提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案。然而,关于Keil是否能直接“读出”单片机程序
    的头像 发表于 09-02 10:32 922次阅读

    单片机烧录程序用什么软件

    单片机烧录程序单片机开发过程中的一个重要环节,涉及到将编写好的程序代码通过烧录器写入单片机的ROM中,以实现对
    的头像 发表于 09-02 10:05 1164次阅读

    单片机烧录程序可以重新烧吗

    单片机(Microcontroller Unit, MCU)是一种集成电路芯片,它将计算机的CPU、存储器、输入/输出接口等集成在一块芯片上,用于控制各种电子设备。单片机烧录程序是指将编写
    的头像 发表于 09-02 10:04 1193次阅读

    单片机烧录程序的线比单片机上的少还能烧录吗

    单片机烧录原理 单片机烧录是指将编写好的程序代码通过一定的方式传输到单片机的存储器中,使其能够按照程序的指令运行。这个过程通常需要使用烧录器
    的头像 发表于 09-02 09:54 484次阅读

    单片机烧录程序的基本步骤是什么

    单片机烧录程序单片机开发过程中非常重要的一步,它涉及到将编写好的程序代码通过一定的方式传输到单片机内部的存储器中,使
    的头像 发表于 09-02 09:47 1002次阅读

    stm32单片机烧录程序会擦除原来的程序

    在STM32单片机烧录程序的过程中, 通常情况下会擦除原来的程序 ,并将新程序写入单片机的闪存(Flash)中。这一过程是通过烧录工具(如S
    的头像 发表于 09-02 09:42 1924次阅读

    单片机boot0和boot1怎么设置

    单片机Boot0和Boot1简介 Boot0和Boot1是单片机启动模式选择引脚,用于选择单片机的启动模式。 Boot
    的头像 发表于 08-22 09:50 2432次阅读

    基于51单片机ADC0832双路电压0-5v检测电路图及程序

    本资源内容概要:       这是基于51单片机ADC0832双路电压0-5v检测电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil
    发表于 06-18 10:13 3次下载

    基于51单片机0-10V电压表电路图及程序

    本资源内容概要:       这是基于51单片机0-10V电压表电路图及程序设计包含了电路图源文件(Altiumdesigner软件打开)、C语言程序源代码(keil软件打开)。本资源
    发表于 06-17 14:24 2次下载

    基于51单片机的智能频率计毕设,C代码,仿真,原理图,论文

    设计要求 (1)以MCS-51系列单片机为控制器件,用C语言进行程序开发,结合外围电子电路,设计一款数字频率计; (2)能够对1HZ~20MHZ正弦波、三角波、方波信号等周期信号的频率进行测量
    发表于 03-18 12:57

    51单片机流水灯制作

    ​流水灯是学习51单片机的一个基本项目,是我们对单片机IO口输出认识的基本项目。当然学会了花样流水灯也很好玩。 下面就分享一种51单片机流水灯制作的方法。 一、流水灯原理图 二、相关知识 1
    的头像 发表于 02-26 10:06 1612次阅读
    51<b class='flag-5'>单片机</b>流水灯制作

    单片机芯片怎么写入程序

    单片机芯片的程序写入是通过将程序代码写入单片机芯片的非易失性存储器(如Flash)中实现的。 在计算机科学和电子工程领域,单片机是一种集成电
    的头像 发表于 01-05 14:06 8282次阅读

    单片机程序读取需要什么工具

    单片机程序读取的工具可以分为硬件工具和软件工具两类。下面将详细介绍这些工具的种类、功能和使用方法。 一、硬件工具 单片机开发板:单片机开发板是最基本的硬件工具之一,它通常由主控芯片、输
    的头像 发表于 01-02 18:10 3824次阅读