命题-第13章-计算(1)

                                                              单片机计数初值的计算(一)

                                                                                                                                          0108-张蓉蓉

例题:定时器在方式1(16位)工作,软件启动,定时操作50ms,计数初值。

      解:  设最大计数值为 M,M=2*16 =65536

          50ms定时操作需要50000个机器周期,所以需要50000次计数操作

            时器初值=65536-50000=15536

        解析:

定时或计数方式下计数初值如何确定,定时器选择不同的工作方式,不同的操作模式其计数值均不相同。

若设最大计数值为 M ,各操作模式下的 M 值为:

      方式 0 (13位): M=2*13 =8192(假装2*13为2的13次方,下同)

      方式 1(16位) : M=2*16 =65536

      方式 2 (8位): M=2* 8 =256

    方式 3(8位) : M=256 ,定时器 T0 分成 2 个独立的 8 位计数器,所以 TH0 、 TL0 的 M 均为 256

        由于 MCS-51 的两个定时器均为加 1 计数器,当初到最大值( 00H 或 0000H )时产生溢出,将 TF 位置 1 ,可发出溢出中断,因此计数器初值 X 的计算式为: X=M- 计数值。式中的 M 由操作模式确定,不同的操作模式计数器的长不相同,故M值也不相同。而式中的计数值与定时器的工作方式有关。

          1 、定时工作方式时

        因为计数脉冲由内部供给,是对机器周期进行计数,故计数脉冲频率为 f cont =f osc(时钟频率) × 1/12 、计数周期 T=1/f cont =12/f osc ,1个机器周期=1us(不是ms哦),因此计数器初值 X 的计算式为: X=M- 计数值

      拓展:有时也会计算TH0、TL0的值

        如例题所示,需设置定时器初值15536=65536-50000,即3CB0H(10进制15536转换成16进制数3CB0),所以TH0=0x3c,TL0=0xb0,高位就是TH0的值,低位为TL0的值。

    所以,TH0=(M-所需计数次数)/256=初值/256;

              TL0=(M-所需技术次数)%256=初值%256

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、MCS-51单片机的定时器/计数器概念 单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的...
    Dorajimmy阅读 1,405评论 0 1
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 单片机计数初值的计算(二) 0108-张蓉蓉 例题:定时器在方式1工作,软件启动,计时2s,在12MHz晶振条...
    0108_张蓉蓉阅读 298评论 2 0
  • 1 2 3 4 5 6 7 8 9 10 11
    CaesarsTesla阅读 316评论 0 1
  • 2017/5/3 1.你自己是一面镜子,你如何对别人,你就会看到别人如何对你。真心的付出,别人会体会得到,别求什么...
    扶摇万事屋阅读 312评论 0 0