zoukankan      html  css  js  c++  java
  • 定时器学习一

    1、首先定时器和计数器是由同一个模块管理的,由TMOD模式寄存器的C/T位控制选择。
    2、时钟周期:单片机时序中的最小单位,计算方法是晶振时钟源分之一。
    3、机器周期:单片机完成一个具体操作的最短时间。比如二极管小灯的亮一次所需要的时间就是一个机器周期。它


    的值等于时钟周期*12,单位是s
    4、定时器:打开定时器后,定时器“存储寄存器”的值(TH0,TL0)经过一个机器周期自动加1。


    举例:
    让小灯0.02s亮一次。所以需要用到定时器,计算TH0 TL0的初值。假设经过x个机器周期
    x*12/1105620=0.02  再假设T0=y初始值。 如果是用模式1,y+x=65536.计算出y就是TH0和TL0的初始值。


    使用定时器方法:
    第一:设置特殊功能寄存器TMOD。配置好工作模式:只要用到M0和M1位。
    第二:设置计数寄存器TH0和TL0的初值。
    第三:设置TCON,通过TR0置1来让定时器开始计数。
    第四:判断TCON的TF0位(溢出标志位)。检测定制器溢出情况。写入业务逻辑
  • 相关阅读:
    洛谷P2805 植物大战僵尸
    洛谷P4307 球队收益
    bzoj4842 Delight for a Cat
    洛谷P2053 修车
    bzoj2561 最小生成树
    bzoj3114 LCM Pair Sum
    洛谷P4486 Kakuro
    bzoj3698 XWW的难题
    关于oracle数据库
    toString方法的用法
  • 原文地址:https://www.cnblogs.com/nktblog/p/4027095.html
Copyright © 2011-2022 走看看