我是靠谱客的博主 坚定薯片,最近开发中收集的这篇文章主要介绍单片机定时器工作模式TMOD设置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 单片机定时器工作模式TMOD设置

TMOD:定时器/计数器模式控制寄存器(TIMER/COUNTER MODE CONTROL REGISTER)
  定时器/计数器模式控制寄存器TMOD是一个逐位定义的8位寄存器,但只能使用字节寻址,其字节地址为89H。
  其格式为:
                        

TMOD结构图
=================================================================================
  其中低四位定义定时器/计数器T0,高四位定义定时器/计数器T1,各位的说明:
  Ⅰ,GATE——门控制。
  ●GATE=1时,由外部中断引脚INT0、INT1来启动定时器T0、T1。
  当INT0引脚为高电平时TR0置位,启动定时器T0;
  当INT1引脚为高电平时TR1置位,启动定时器T1。
  ●GATE=0时,仅由TR0,TR1置位分别启动定时器T0、T1。
  Ⅱ,C/T——功能选择位
  C/T=0时为定时功能,C/T=1时为计数功能。
  置位时选择计数功能,清零时选择定时功能。
  Ⅲ,M0、M1——方式选择功能
  由于有2位,因此有4种工作方式
================================================================
  M1M0 工作方式 计数器模式 TMOD(设置定时器模式)
  0 0 方式0 13位计数器 TMOD=0x00
  0 1 方式1 16位计数器 TMOD=0x01
  1 0 方式2 自动重装8位计数器 TMOD=0x02
  1 1 方式3 T0分为2个8位独立计数器,T1为无中断重装8位计数器 TMOD=0x03
单片机定时器0设置为工作方式1为TMOD=0x01;定时器1设置工作方式1时TMOD=0x10
   没有用到的定时器一般设置为0
================================================================

 

初始化定时器0

TH0=(65535-50000)/256;Tl0=(65535-50000)%256;

在51单片机中,如果你的定时器0选择的是“方式一”,则表示定时器0的计数器从0开始加到50000,其中每加一次的时间为你的晶振频率的倒数。如12MHz,则每加一个数的时间为 1*12/12000000 秒。你的公式中是加50000次,即 50000*1*12/12000000 = 50MS。注:数值只能从0加到65535,否则就会溢出。如果需要定时的时间长,可在定时器中断函数中,使用全局变量计数。如使用你的公式进行定时器初始化,想要实现1S的定时,则等到全局变量从0加至20时,即定时器0发生20次中断,就可以了。
为了您的安全,请只打开来源可靠的网址

打开网站    取消

来自: http://hi.baidu.com/eagle200901/blog/item/38a887adf26ca4da7dd92a0c.html

最后

以上就是坚定薯片为你收集整理的单片机定时器工作模式TMOD设置的全部内容,希望文章能够帮你解决单片机定时器工作模式TMOD设置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(45)

评论列表共有 0 条评论

立即
投稿
返回
顶部