• 51单片机学习笔记之定时器程序设计


    一、定时器/计数器概述

    1.相关寄存器

    (1)TMOD——方式控制寄存器

        GATE C/T M1 M0(T1 T0)

      GATE=0,定时器/计数器的运行由内部TR0/TR1置1选通;

      GATE=1,定时器/计数器的运行由外部中断(I引脚P3.2/P3.3)和内部TR0/TR1 置1共同选通;

      C/T=1,外部脉冲计数(P3.4/P3.5),=0,定时器内部脉冲计时(晶振的倒数乘以12,所得值与定时器初值的乘积为总时间);

      M1/M0,00,模式0——TH高8位和TL低5位作用,2^13;

        01,模式1——TH高8位和TL低8位作用,2^16(常用);

        02,模式2——TH/TL中都放入初值,当TL中的值溢出后TH中的初值重新装入TL中,持续计数,2^8(常用与串行口波特率发生器);

        03,模式3——TL使用T0的状态位,同模式0/1,2^8;TH使用T1的状态位和中断(只适用于T0)

    (2)TCON——中断控制寄存器

        TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

      TF1/TF0 溢出时置1;

      TR1/TR0置1开始计数

    2.初始化程序

    TMOD=0x06;    //初始化T0作为方式2,外部计数,0000 0110;
    TL0=0X056;    //设置初值
    TH0=0X0FF;    //设置初值
    TR0=1;    //开始计数

    3.初值计算

    定时:X=MAX-定时值/T

    计数:X=MAX-计数值

    4.实例

  • 相关阅读:
    TCP/UDP模型
    分时技术
    Linux文件浏览命令
    Maven下载私服上的jar包(全局)
    Maven下载私服上的jar包
    Maven将中央仓库修改为阿里云的仓库地址
    数据结构之算法初涉(2)
    数据结构之概念初涉(1)
    JAVA中GridBagLayout布局管理器应用详解
    C++数据结构中的基本算法排序
  • 原文地址:https://www.cnblogs.com/Sonny-xby/p/9983499.html
Copyright © 2020-2023  润新知