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

D7

D6

D5

D4

D3

D2

D1

D0

GATE

C/T

M1

M0

GATE

C/T

M1

M0

D0~D3为T0定时/计数器的设置,D4~D7为T1定时/计数器的设置 。

GATE  :为门控位,GATE=0时,只要在编写程序时,使TCON中的TRO或TR1为1,就可以启动定时器/计数器工作。

GATE=1时,不仅要在编写程序时,使TCON中的TRO或TR1为1,且需要外部引脚也为高电平,才能                                   工作。

C/T    :定时/计数模式切换,C/T=0时为定时模式,C/T=1时为计数模式。

M1,M0:用来选择定时计/计数器的工作方式,一般使用都是采用16位的计时计数器。

M1

M0

工作模式

说明

0

0

0

13位计时计数器 (8192)

0

1

1

16位计时计数器 (65536)

1

0

2

8位计时计数器,可自动重新载入计数值 (256)

1

1

3

当成两组独立的8位计时器(256,T0和T1不能同时用)

TCON:控制寄存器,作用是控制定时器的启、停,标志定时器溢出和中断情况。

D7

D6

D5

D4

D3

D2

D1

D0

TF1

TR1

TF0

TR0

IE1

IT1

IE0

IT0

TF1  :TF1=1表示T1有中断产生。(Timer Flag,定时器标志位)

TR1  :TR1=1表示T1开始运行。(单片机中T0引脚,需要高低电平的驱动)

TF0  :TF0=1表示T0有中断产生。

TR0  :TR0=1表示T0开始运行。(单片机中T1引脚,需要高低电平的驱动)

IE1   :IE1=1表示INT1有中断产生。

IT1   :IT1=1表示INT1为下降沿触发,IT1=0表示INT1为低电平触发。

IE0   :IE0=1表示INT0有中断产生。

IT0   :IT0=1表示INT0为下降沿(负跳变)触发,IT0=0表示INT0为低电平触发。

中断允许寄存器  IE (A8H)

D7

D6

D5

D4

D3

D2

D1

D0

EA

ET2

ES

ET1

EX1

ET0

EX0

EA    :整体中断允许位;EA=1允许中断。

ET2   :T2中断允许位;ET2=1允许中断(S52才有)。

ES    :串行中断允许位;ES=1允许中断。

ET1   :T1中断允许位;ET1=1允许中断。

EX1   :INT1中断允许位;EX1=1允许中断。

ET0   :T0中断允许位;ET0=1允许中断。

EX0   :INT0中断允许位;EX0=1允许中断。

在程序中,通过设订两个8位寄存器中TH与TL的值,来决定定时值和计数值。TH与TL的计算过程如下:

假设定时器的时间常数为X,定时器的位数为N
定时时间T=(2的N次方-X)12/单片机晶振频率   (例如11.0592MHZ的振荡器频率F=1/11.0592)
N为定时器的工作方式(关于定时/计数器的4中工作方式,以下会有具体介绍):

方式0时,N=13(此为TH为8位,TL为5位)
 方式1时,N=16(此为TH为8位,TL为8位)
 方式2时,N=8(此为TH为8位,TL为0位)                                                                                                                                       方式3时,N=8(此为TH为8位,TL为8位,只适用于T0,且T0被分成两个独立的8位计数器TH与TL)

根据定时时间和工作方式,通过公式:定时时间T=(2的N次方-X)12/单片机晶振频率,计算出时间常数X
把X转换成二进制数,高8位送给TH1,低8位送给TL1,就可以启动定时器开始定时了。

定时器的3种工作方式图解:

工作方式0:

工作方式1:

工作方式2:

工作方式3:

总结定时器的操作步骤如下:

1.选择工作方式(设置M0,M1的值)

2.选择控制方式GATE(为0是只要软件设定好参数即可,为1则需要软件设定参数,且定时器/计数器的中断引脚需要为高电平)

3.确定定时器的工作模式,是定时模式还是计数模式 C/T.

4.给定时器设初值(设置THX与TLX)

5.开启定时器中断(设置ET0或ET1)

6.开启总中断(设置EA的值)

7.定时器/计数器的选择T0/T1(设置TR1或TR0的值)

例:设置一个LED灯每500ms的评率闪烁

#include<reg52.h>sbit led = P1^0;
int i = 0;void timer1_init()
{TMOD = 0x10; //定时器0选择工作方式1TH1 = 0x4C;     //设置初始值,定时50msTL1 = 0x00; EA = 1;          //打开总中断ET1 = 1;        //打开定时器0中断TR1 = 1;         //启动定时器0
}void main()
{led = 1;timer1_init();//定时器1的初始化while(1){if(i==10){led = ~led;i = 0; //注意i需要零}}
}void timer1() interrupt 3
{TH1 = 0x4C;    //设置初始值,定时50msTL1 = 0x00;i++;
}

¡定时器操作步骤:

选择工作方式(设

¡定时器操作步骤:

选择工作方式(设置M1,M0)

选择控制方式(设置GATE)

选择定时器还是计数器模式(设置C/T)

给定时/计数器赋初值(设置THx和TLx

开启定时器中断(设置ET0或ET1

开启总中断(设置EA)

打开计数器(设置TR1或TR0)

置M1,M0)

选择控制方式(设置GATE)

选择定时器还是计数器模式(设置C/T)

给定时/计数器赋初值(设置THx和TLx

开启定时器中断(设置ET0或ET1)

开启总中断(设置EA)

打开计数器(设置TR1或TR0)

¡定时器操作步骤

选择工作方式(设置M1,M0)

选择控制方式(设置GATE)

选择定时器还是计数器模式(设置C/

给定时/计数器赋初值(设置THx和TLx)

开启定时器中断(设置ET0或ET1

开启总中断(设置EA)

打开计数器(设置TR1或TR0)

TL0的低5位(高3位未用)和TH08位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。由TL0的低5位(高3位未用)和TH08位组成。TL0的低5位出时向TH0进位,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。,由TL0的低5位(高3位未用)和TH08位组成。TL0的低5位溢出时向TH0进位,TH0溢出时,置位TCON中的TF0

单片机定时器TMOD与TCON相关推荐

  1. 单片机定时器实验两位倒计时秒表_第5章 定时器与数码管基础

    第5章 定时器与数码管基础 通过上节课的实验,大家会发现,我们逐渐进入比较实质性的学习了,需要记住的内容也更多了,个别地方可能会感觉吃力.但是大家不要担心,要有信心.这个跟小孩学走路一样,刚开始走得不 ...

  2. 单片机原理及其应用——单片机定时器中断实验(八段数码管依次显示0~9数字)

    目录 一.实验要求 二.知识要点 (一)单片机定时器/计数器 (二)相关的特殊功能寄存器 1.工作方式寄存器TMOD 2.定时器/计数器控制寄存器TCON (三)定时器/计数器的工作方式 1.工作方式 ...

  3. 单片机定时器实验两位倒计时秒表_51单片机基础与应用8天速成(三)

    在讲授中断这一概念时,人们总是喜欢举洗衣服烧水的例子: 话说,一天"你"独自在家,为了泡脚给自己烧上了一壶水,然后想着明天没有衣服穿了,就去阳台洗起了衣服.过了十几分钟," ...

  4. 单片机定时器_单片机定时器/计数器基本原理

    目前常用的单片机中往往都配备了定时器/计数器.在AT89S52芯片内包含有三个16位的定时器/计数器:T0.T1和T2,其核心是加1计数器.我们主要要求掌握T0和T1的结构和功能.学习中要注意从电路结 ...

  5. C51单片机————定时器计数器

    51单片机定时器/计数器 定时(定时控制.测量.延时...)和计数(对外部事件统计数目). Created with Raphaël 2.1.2张三张三李四李四嘿,四哥, 定时器和计数器有哪几种实现哦 ...

  6. c语言 定时器作用,单片机定时器的作用及使用方法详解

    单片机定时器的作用及使用方法详解 单片机定时器在单片机的功能是很重要的,它一般被用作定时功能,来做定时检测.定时响应和定时控制,并且可以产生毫秒宽的脉冲信号来驱动步进电机.计时和计数的最终功能是通过计 ...

  7. 51单片机——定时器的原理和使用

    定时器的原理 1.cpu时序的有关知识 震荡周期:为单片机提供定时信号的震荡源的周期(由外部的晶振) 状态周期:2个震荡周期,用s表示 机械周期 6个状态周期,12个震荡周期 (12MHz的晶振1us ...

  8. 51单片机-定时器中断

    目录 1.定时器/计数器 1.1.工作原理 1.2.相关寄存器 1.3.工作模式(模式1) 2.中断系统 2.1.中断的概念 2.2.中断结构 2.3.中断源 2.4.相关寄存器 3.如何配置定时器中 ...

  9. 51单片机定时器的原理与使用

    定时器是单片机的重要功能模块之一,在检测.控制领域有广泛应用.定时器常用作定时时钟,以实现定时检测,定时响应.定时控制,并且可以产生ms宽的脉冲信号,驱动步进电机.定时和计数的最终功能都是通过计数实现 ...

  10. 51单片机定时器(T0/T1)的使用与配置流程

    第一步:配置工作方式寄存器-TMOD TMOD寄存器的字节地址为89H,不能位寻址.一般采用整体赋值的方式进行配置:如:TMOD=0x01 // 0000 0001 GATE=0,定时器仅受TCON寄 ...

最新文章

  1. PHP运算符种类很多 主要有,PHP运算符的类别概览
  2. android MIPI屏 导航栏丢失
  3. ansible-playbook jdk安装
  4. 【流量劫持】躲避 HSTS 的 HTTPS 劫持
  5. php mysql随机数不重复,js生成不重复的随机数
  6. 安卓应用自动化测试工具汇总
  7. Windows下安装BeautifulSoup
  8. 删除顺序表中指定值的所有元素(C++,vector)
  9. python列表count()函数
  10. JSK-61 二进制加法【大数】(废除!!!)
  11. 智能优化算法:花授粉算法-附代码
  12. Datalogic得利捷引领工业4.0时代 携SG4 FIELDBUS安全光幕亮相两大国际工业展
  13. 根据列表内车牌号,统计各省市车牌占有量
  14. 计算机快捷键大全列表6,快捷键大全excel
  15. Gentoo 安装笔记 2021/8
  16. 《Web API 的设计与开发》读书笔记
  17. 模拟信号到数字信号转化_从模拟到数字再返回
  18. 矩阵理论——线性空间
  19. 周鸿祎产品秘笈:小版本成就大产品
  20. 淘宝天猫京东拼多多抖音苏宁1688等平台关键词监控价格API接口(店铺商品价格监控API接口调用展示)

热门文章

  1. IT成长中的龟兔赛跑
  2. ie11 java8 nc_用命令卸载Win8 IE9/IE10/IE11浏览器
  3. [Python从零到壹] 十八.可视化分析之Basemap地图包入门详解
  4. 提取地图中道路_准确度93%!人工智能如何完成高精度的地图特征推测?丨城市数据派...
  5. logo语言编程介绍
  6. 百度搜索无法显示搜索结果
  7. 怎样在html中加入动态图片背景,怎样在网页中插入透明flash背景 添加透明flash背景方法介绍(图文)...
  8. 游戏十五大基本游戏类型介绍
  9. windows电脑快捷键大全 - 高手总是很酷的
  10. [转载]在安装win7系统时如何不产生100M的系统保留分区