博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
51单片机学习笔记之定时器程序设计
阅读量:5127 次
发布时间:2019-06-13

本文共 707 字,大约阅读时间需要 2 分钟。

一、定时器/计数器概述

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.实例

 

转载于:https://www.cnblogs.com/Sonny-xby/p/9983499.html

你可能感兴趣的文章
2016.3.24 OneZero站立会议
查看>>
软件工程的理解
查看>>
Node笔记四
查看>>
网络比总线差多了 除非是真正的mpp并行架构
查看>>
MVC中使用Action全局过滤器出现:网页无法正常运作 将您重定向的次数过多。解决办法...
查看>>
hibernate06--参数的绑定
查看>>
调用 js 生成图片二维码
查看>>
页面前端的水有多深?再议页面开发
查看>>
将一般的数值转换为金额格式(分隔千分位和自动增加小数点)
查看>>
datetime
查看>>
一种达到人工批改效果的英语语法自动纠错的方法
查看>>
os模块
查看>>
spring mvc 解决 Could not open ServletContext resource [/WEB-INF/dispatcher-servlet.xml] 异常
查看>>
Android反编工具的使用-Android Killer
查看>>
html5新属性
查看>>
java多线程之ReentrantLock
查看>>
94.Txx考试
查看>>
python基础day7_购物车实例
查看>>
DOM:通过文本框向下拉列表中添加内容
查看>>
picker组件 label组件讲解
查看>>