由于89C51的晶振频率为12MHZ,机器周期是1us,则每1us产生一次计数,例如需要进行50ms的计时,对机器周期进行50000计数就可以得到,T0可以对机器周期进行65536次计数,为了不让T0溢出,我们需要对定时器/计数器赋初值,加上一个数就能等于65536,也就是65536和50000的差值,这个值就是初值:15536。

除以256是因为计时器第二种方式中是由一个高8位(TL0)和低8位(TH0)存储组成的:

如果要把差值装进这两个8位,低8位最多只能装256个机器周期,256个周期满了就用高8位的,意思是说低8位满一次高8位加1,那么高8位装多少,低8位就满了几次,算法就是用差值除256取其整数,接下来就是剩下小于256次数的就放在低8位,就是差值的余数。如果我要放一个超过256的数,需要超过先放高八位,把剩下的部分放在低八位中,TH0=(65536-50000)/256就是把TL0中放不下的部分放在TH0中,再把剩下的部分放在TL0中。

void timer(0) interrupt 1

TH0=(65536-50000)/256;

TL0=(65536-50000)%256;

flag++;

if(flag==20)

{}

}

为什么89C51单片机里面有TH0=(65536-50000)/256;TL0=(65536-50000)%256;相关推荐

  1. 微机基础与89C51单片机部分知识

    1,微机基础知识 微机: 具有完整运算及控制能力的计算机.包括微处理器,储存器,接口适配器,输入输出设备. 微处理器: 控制器:由程序计数器,指令寄存器,指令译码器,时序发生器,操作控制器等组成,是发 ...

  2. 【proteus仿真】89C51单片机实现十字路口的交通灯控制系统代码

    完成以下任务:运用89C51单片机十字路口的交通灯控制系统,四组灯(红黄绿)对应十字路口的四个方向,用两位的数码管显示剩余的时间. 仿真视频: https://www.bilibili.com/vid ...

  3. 74hc595点亮点阵式led交通灯灯 c语言程序,89C51单片机C语言用四个74hc595控制四个LED实现交通灯...

    89C51单片机C语言用四个74hc595控制四个LED实现交通灯 (2009-05-16 18:52:38) 标签: 教育 #include #define uchar unsigned char ...

  4. 89C51单片机中的中断系统

    89C51单片机中的中断系统 对于在单片机中的学习,中断系统是一难点,如果中断系统没有理解透彻,51单片机的学习就算是失败的. 首先,举例说明下什么是中断. eg.当你在家正在吃着爆米花,看着电视,突 ...

  5. 单片机控制秒表C语言程序,89C51单片机秒表的设计(全文完整版)

    <89C51单片机秒表的设计.doc>由会员分享,可免费在线阅读全文,更多与<89C51单片机秒表的设计>相关文档资源请在帮帮文库(www.woc88.com)数亿文档库存里搜 ...

  6. 89c51c语言程序,89C51单片机计算器C语言程序.doc

    89C51单片机计算器C语言程序 89C51单片机[计算器]C语言程序 89C51单片机[计算器]C语言程序2010-12-15 16:54/*89C51单片机[计算器]C语言程序*/ /*P2位选P ...

  7. 普中科技89c51单片机工程实训--音乐播放器

    对基于单片机的音乐播放器可应用于 mp3, MP4, 扩音器等很多 方面, 并可作为很多系统的辅助功能, 作为单片机的重要硬件资 源之一, 利用定时器可以产生各种固定频率的方波信号, 也可以 产生包括 ...

  8. 基于89C51单片机的数码管显示拨码开关设计

    目    录 1 课程设计任务和要求 1.1 设计任务 1.2 设计要求 2 设计方案 2.1 工作原理 2.2 单片机系统方框图 3 电路设计和软件设计 3.1 电路设计 3.2 程序设计流程 3. ...

  9. 89C51单片机——按钮控制LED

    89C51单片机--按钮控制LED 1.实现流程图 2.proteus仿真图 3.keli代码 #include <reg51.h>sbit led1=P0^0; sbit key1=P0 ...

最新文章

  1. Unreal Engine 4 RenderTarget制作Live Camera效果
  2. 前后端分离的探索(一)
  3. python seaborn 热图 值对应颜色_Python数据分析之Seaborn(热图绘制)
  4. lsof根据端口查进程
  5. 机器学习系列(2)_从初等数学视角解读逻辑回归
  6. python_面向对象进阶之slots
  7. boost::detail::lowest_bit的测试程序
  8. map的四种遍历方式
  9. 关联容器----关联容器概述,关联容器操作,无序容器
  10. 别说我不懂排序!几种常见排序算法(一)
  11. 5个月自学,零基础至日语2级全攻略
  12. Navicat for mysql 远程连接 mySql数据库10061、1045错误
  13. 操作电脑时弹出 UAC被禁用 的解决方法
  14. SPSS:T检验、方差分析、非参检验、卡方检验的使用要求和适用场景
  15. Android:打开和关闭输入法
  16. 大学英语(第四册)复习(原文及全文翻译)——Unit 10 - Why People Work(人为什么工作)
  17. 从RTP包中分析OPUS码流
  18. 《计算机基础知识》读后感300字,计算机应用基础读后感
  19. Android 音频架构
  20. MATLAB的RTL-SDR硬件支持包使用详细教程

热门文章

  1. 轻断食原理:胰岛素水平
  2. 计算机u盘能直接拨出吗,u盘可以直接从电脑上拔下来吗
  3. SpringBoot Data整合ElasticSearch
  4. c语言的access函数,C中的access函数
  5. java全拼,Java获取汉字全拼和首拼
  6. 映客都是互刷礼物吗_映客互刷礼物有什么用_映客守护有什么用
  7. Java获取去年同月份相同星期的日期算法
  8. AlarmManager的简单使用
  9. Win10休眠模式设置:开机后自动恢复工作界面,防止程序员虐待电脑
  10. vue渲染数据后顺序乱了