精华内容
下载资源
问答
  • 51单片机之TMOD寄存器

    2020-07-14 11:38:46
    51单片机之TMOD寄存器TMOD格式图GATE(门控位)C/T( 定时/计数模式选择位)M1M0(工作方式设置位) TMOD格式图 TMOD(定时器/计数器工作方式寄存器)低4位用于T0,高4位用于T1 GATE(门控位) 用于控制定时器启动...

    TMOD格式图

    TMOD(定时器/计数器工作方式寄存器)低4位用于T0,高4位用于T1
    格式图

    GATE(门控位)

    用于控制定时器启动是否受外部中断源的影响 
          当GATE=0时,只要用软件使TR0或TR1等于1,就可以启动T0或T1定时/计数器工作。
          当GATE=1时,除了用软件使TR0或TR1等于1外,还要使外部中断引脚INT0/1为高电平,这样定时/计数器才能启动工作。
          注意:GATE=0表示控制定时器启动不受外部中断源的影响
    

    C/T( 定时/计数模式选择位)

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

    M1M0(工作方式设置位)

    定时/计数器工作方式设置表

    展开全文
  • 51 TMOD、TCON设置定时

    2019-11-29 14:15:45
    1、TMOD的低四位是设置定时器0的,高四位是用来设置定时器1的,其中的M0,M1是用来设置定时器工作在哪种方式,GATE一般用不要设置,C/T是选择计数模式还是定时模式的,如:TMOD = 0X01,就说明定时器0工作方式1。...

    定时器工作的流程可以按照这个顺序(以51为例用定时器0方式一产生50毫秒的定时) 

    1、TMOD的低四位是设置定时器0的,高四位是用来设置定时器1的,其中的M0,M1是用来设置定时器工作在哪种方式,GATE一般用不要设置,C/T是选择计数模式还是定时模式的,如:TMOD = 0X01,就说明定时器0工作在方式1。

    2、接下来就要设置定时的时间,用定时器定时50毫秒,可以用这种方式TH0 = (65535 - 50000) / 256,TL0 = (65535 - 50000) % 256;可以这样理解:因为这是定时器的初值,也就是说计数脉冲就是在这个数的基础上向上递增,到达65535后就溢出产生中断,至于为什么是对256取整,和取余的话楼主自己先琢磨吧, 不懂再hi我;

    3、第三步就要打开中断了,使用IE寄存器,我一般是对各个位进行单独设置,这样看起来感觉更好,首先打开总中断EA = 1,这一步是所有中断所必须的,然后打开定时器0中断,ET0 =1;

    4、这时准备工作都准备好了就要开始启动定时器了,使用TCON寄存器,TR0 = 1,到现在为止就实现了一个50毫秒的定时了;

    总结一下:TMOD = 0X01; TH0 = (65535 - 5000) / 256; TL0 = (65535 - 50000) % 256; EA = 1; ET0 = 1; TR0 = 1,至于那个中断函数我就不写了,要注意的是方式0 ,1, 3是不能自动重装的,所以得在中断函数中重新对TH0 ,TL0赋初值,楼主说的那个SCON寄存器就是用于串口的,定时器会用了的话,串口也就会了的,希望能够帮助楼主了

     

    51单片机的定时/计数器的概念

    单片机中,脉冲计数与时间之间的关系十分密切,每输入一个脉冲,计数器的值就会自动累加1,只要相邻两个计数脉冲之间的时间间隔相等,则计数值就代表了时间的流逝,因此,单片机中的定时器和计数器其实是同一个物理的电子元件,只不过计数器记录的是单片机外部发生的事情(接受的是外部脉冲),而定时器则是由单片机自身提供的一个非常稳定的计数器,这个稳定的计数器就是单片机上连接的晶振部件;MCS-51单片机的晶振经过12分频之后提供给单片机稳定脉冲;晶振的频率是非常准确的,所以单片机的计数脉冲之间的时间间隔也是非常准确的。

    51单片机定时/计数器详解(工作原理及模式、应用)

    51单片机的定时/计数器的工作原理

    加1计数器输入的计数脉冲有两个来源,一个是由系统的时钟振荡器输出脉冲经12分频后送来;一个是T0或T1引脚输入的外部脉冲源。

    作为定时器使用时,定时器计数8051单片机片内振荡器输出经过12分频后的脉冲个数,即:每个机器周期使定时器T0/T1的寄存器值自动累加1,直到溢出,溢出后继续从0开始循环计数;所以,定时器的分辨率是时钟振荡频率的1/12;

    作为计数器使用时,通过引脚T0(P3.4)或T1(P3.5)对外部脉冲信号进行计数,当输入的外部脉冲信号发生从1到0的负跳变时,计数器的值就自动加1由于检测一个从1到0的下降沿需要2个机器周期,因此要求被采样的电平至少要维持一个机器周期。当晶振频率为12MHz时,最高计数频率不超过1/2MHz,即计数脉冲的周期要大于2微秒。;计数器的最高频率一般是时钟振荡频率的1/24;

    由此可知,不论是定时器还是计数器工作方式,定时器T0和T1均不占用CPU的时间,除非定时器/计数器T0和T1溢出,才可能引起CPU中断,转而去执行中断处理程序。所以说,定时器/计数器是单片机中效率高而工作灵活的部件。

     

    由上图可见与定时器相关的寄存器主要有下面这几个:TMOD、 TCON、 TL0、TH0、TL1、TH1。下面介绍一下这几个寄存器

    16位加法计数器:

    51单片机定时/计数器详解(工作原理及模式、应用)

    是定时计数器的核心,其中 TL0、TH0、是定时计数器0的底八位和高八位;TL1、TH1是定时计数器1的底八位和高八位;并且高八位和底八位可单独使用。16位加法计数器主要是在设置定时计数器的初值时候使用

    TMOD定时器工作模式及方式寄存器

    51单片机定时/计数器详解(工作原理及模式、应用)

    GATE :定时操作开关控制位

    当GATE=1时,INT0或INT1引脚为高电平,同时TCON中的TR0或TR1控制位为1时,计时/计数器0或1才开始工作。

    若GATE=0,则只要将TR0或TR1控制位设为1,计时/计数器0或1就开始工作。

    C/T :定时器或计数器功能的选择位。C/T=1为计数器,通过外部引脚T0或T1输入计数脉冲。C/T=0时为定时器,由内部系统时钟提供计时工作脉冲。

    M1 M0:T0、T1工作模式选择位

    51单片机定时/计数器详解(工作原理及模式、应用)

    TCON定时器控制寄存器

    51单片机定时/计数器详解(工作原理及模式、应用)

    TF1:定时器T1溢出标志,可由程序查询和清零,TF1也是中断请求源,当CPU响应T1中断时由硬件清零。

    TR1:T1充许计数控制位,为1时充许T1计数(定时)。

    TF0:定时器T0溢出标志,可由程序查询和清零,TF0也是中断请求源,当CPU响应T0中断时由硬件清零。

    TR0:T0充许计数控制位,为1时充许T0计数(定时)。

    IE1:外部中断1请示源(INT1,P3.3)标志。IE1=1,外部中断1正在向CPU请求中断,当CPU响应该中断时由硬件清“0”。

    IT1:外部中断源1触发方式控制位。此位为1设置为底电平触发,为0设置为下降沿触发。

    IE0:外部中断0请示源(INT0,P3.2)标志。IE0=1,外部中断1正在向CPU请求中断,当CPU响应该中断时由硬件清“0”。

    IT0:外部中断源0触发方式控制位。此位为1设置为底电平触发,为0设置为下降沿触发。

     

    51单片机定时器4种工作模式

    工作模式0:

    由TL0的低5位和TH0的全部8位共同构成一个13位的定时器/计数器,定时器/计数器启动后,定时或计数脉冲个数加到TL0上,从预先设置的初值(时间常数)开始累加,不断递增1,当 TL0计满后,向TH0进位,直到13位寄存器计满溢出,TH0溢出时,置位TCON中的TF0标志,向CPU发出中断请求。并且定时器/计数器硬件会自动地把13位的寄存器值清0,如果需要进一步定时/计数,需要使用相关指令重置时间常数,并把定时器/计数器的中断标记TF0置0。

    工作模式1:最常用的定时器工作模式

    模式1与模式0几乎完全相同,唯一的区别就是,模式1中的寄存器TH0和TL0共同构成的是一个16位定时器/计数器来参与操作,因此比模式0中的定时/计数范围更大

    51单片机定时/计数器详解(工作原理及模式、应用)

    工作模式2: 工作方式2特别适合于用作较精确的脉冲信号发生器。

    这种模式又称为自动再装入预置数模式。有时候,我们的定时/计数操作是需要多次重复定时/计数的,如果溢出时不做任何处理,那么,在第二轮定时/计数时就是从0开始定时/计数了,而这并不是我们想要的。所以,要保证每次溢出之后,再重新开始定时/计数的操作是我们想要的,那就要把预置数(时间常数)重新装入某个地方,而重新装入预置数的操作是硬件设备自动完成的,不需要人工干预,所以这种工作模式就叫自动再装入预置数方式。在工作模式2中,把自动重装入的预置数存放在定时器/计数器的寄存器的高8位中,也就是存放在TH0中,而只留下TL0参与定时/计数操作。

    这个工作模式常用于波特率发生器(串口通讯),T1工作在串口模式2;用于这种方式时,定时器就是为了提供一个时间基准;计数溢出之后,不需要做太多的事情,只做一件事就可以,就是重新装入预置数,再开始重新计数,而且中间不需要任何延时。

    51单片机定时/计数器详解(工作原理及模式、应用)

    工作模式3:

    方式3只适用于定时/计数器T0,定时器T1处于方式3时相当于TR1=0,停止计数由于定时器/计数器T1没有工作模式3,如果把定时器/计数器T0设置为工作模式3,那么TL0和TH0将被分割成两个相互独立的8位定时器/计数器。

    51单片机定时/计数器详解(工作原理及模式、应用)

    在这里介绍一下定时器初值的设定:

    工作方式0:13位定时器/计数器工作模式,最多可计数2的13次方次,即:8192次

    工作方式1:16位定时器/计数器工作模式,最多可计数2的16次方次,即:65536次

    工作方式2:8位定时器/计数器工作模式,最多可计数2的8次方次,即:256次,

    工作方式3:8位定时器/计数器工作模式,最多可计数2的8次方次,即:256次

     

     

     

    展开全文
  • TMOD:定时器/计数器工作方式寄存器 TCON:定时器/计数器控制寄存器   SCON:串行口控制寄存器 串行口控制寄存器SCON决定串行口通信工作方式,控制数据的接收和发送,并标示串行口的工作状态等,其位...

    TMOD:定时器/计数器工作方式寄存器


     TCON:定时器/计数器控制寄存器

           


    SCON:串行口控制寄存器

    串行口控制寄存器SCON决定串行口通信工作方式,控制数据的接收和发送,并标示串行口的工作状态等,其位格式为:

     

    SMO、SM1:串行口工作方式控制位,对应4种工作方式,如表7-1所示(fosc是晶振频率)。

    SM2

    多机通信控制位,主要用于工作方式2和工作方式3。

    若SM2=1,则允许多机通信。

    多机通信规定:第9位数据位为1 (即TB8=1),说明本帧数据为地址帧:第9位数据为0(即TB8=0),则本帧数据为数据帧。

    当从机接收到的第9位数据(在RB8中)为1时,数据才装入接收缓冲器SBUF,并置RI=1向CPU申请中断;如果接收到的第9位数据(在RB8中)为0,则不置位中断标志RL信息丢失。

    当SM2=0时,则不管接收到第9位数据是否为1,都产生中断标志RI,并将接收到的数据装入SBUF。应用这一特点可以实现多机通信。

    串行口工作在方式0时,SM2必须设置为0;工作在方式1时,如SM2=1,则只有接收到有效的停止位时才会激活RI。

    REN:允许接收控制位。当REN=1时,允许接收;当REN=0时,禁止接收。此位由软件置1或清零。

    TB8:在方式2和方式3中,此位为发送数据的第9位,在多机通信中作为发送地址帧或数据帧的标志。TB8=1,说明该发送帧为地址帧;TB8=0,说明该发送帧为数据帧。在许多通信协议中,它可作为奇偶校验             位。此位由软件置1或清零。在方式0和方式1中,此位未使用。

    RB8:  接收数据的第9位。在方式2和方式3中,接收到的第9位数据放在RB8中。它或是约定的奇/偶校验位,或是约定的地址/数据标志位。在方式2和方式3多机通信中,若SM2=1且RB8=1,说明接收到的数                据为地址帧。

    TI:   发送中断标志位。在一帧数据发送完时置位。TI=1,申请中断,说明发送缓冲器SBUF已空,CPU可以发送下一帧数据。中断被响应后,TI不能自动清零,必须由软件清零。 ,

    RI:   接收中断标志位。在接收到一帧有效数据后,由硬件置位。RI=1.申请中断,表示一帧数据接收结束,并已装入接收缓冲器SBUF中,CPU响应中断,取走数据。RI不能自动清零,必须由软件清零。

               串行口发送中断标志TI和接收中断标志RI共为一个中断源。因此,CPU接收到中断请求后,不知道是发送中断TI还是接收中断RI,必须用软件来判别。单片机复位后,控制寄存器SCON的各位均清零。


    PCON:电源控制及波特率选择寄存器

    电源控制寄存器PCON中只有一位SMOD与串行口工作有关,

    SMOD:波特率倍增位。串行口工作在方式1、方式2、方式3时,若SMOD=1,则波特率提高一倍;
    若SMOD=0,则波特率不提高一倍。单片机复位时,SMOD=0。


    SBUF:串行数据缓冲器

    串行口中有两个缓冲寄存器SBUF,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的。它们都是字节寻址的寄存器,字节地址均为99H。这个重叠的地址靠读/写指令区分:串行发送时,CPU向SBUF写入数据,此时99H表示发送SBUF;串行接收时,CPU从SBUF读出数据,此时99H表示接收SBUF。

    SBUF是指串行口中的两个缓冲寄存器,一个是发送寄存器,一个是接收寄存器,在物理结构上是完全独立的,但地址是重叠的。它们都是字节寻址的寄存器,字节地址均为99H。只要在编写程序时,用不同指令即可操作两个寄存器。
            比如,SBUF=A;这个是指将A的数据移入发送寄存器,然后发送寄存器再把数据发送出去。A=SBUF;则是指将接受寄存器中的数据赋值给A。

    展开全文
  • 功能: 设置T0,T1的运行模式与工作方式 字节地址为0x89,无位地址,只能用整字节方式访问,不能用位访问方式对TMOD的某一位进行单独操作。 对应位的含义: 其中M1,M0的取值组合与定时/计数器的工作方式之间关系 ...

    导航

    1.模式寄存器TMOD
    2.控制寄存器TCON
    3.定时器/计数器的编程方法
    4.两种控制器基本含义

    ————————————————————————————————————————

    1.模式寄存器TMOD

    功能: 设置T0,T1的运行模式与工作方式
    字节地址为0x89,无位地址,只能用整字节方式访问,不能用位访问方式对TMOD的某一位进行单独操作。

    对应位的含义
    在这里插入图片描述
    其中M1,M0的取值组合与定时/计数器的工作方式之间关系
    在这里插入图片描述

    例题
    在这里插入图片描述

    TMOD=0x41; //T1:方式0、计数 T0:方式1:定时

    ————————————————————————————————————————

    2.控制寄存器TCON

    部分内容在之前的第五周中
    在这里插入图片描述
    各位含义
    在这里插入图片描述

    四种方式

    方式0

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述


    方式1

    在这里插入图片描述


    方式2

    8位自动重装初值的计数方式,结构如下:
    在这里插入图片描述
    在这里插入图片描述


    方式3

    在这里插入图片描述
    在这里插入图片描述


    例题

    在这里插入图片描述

    ————————————————————————————————————————

    3.定时器/计数器的编程方法

    3.1初始化程序

    在这里插入图片描述

    3.2案例分析:

    在这里插入图片描述
    在这里插入图片描述


    3.3控制程序方式:两种(查询方式与中断方式)

    3.3.1查询方式
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    编程方法
    在这里插入图片描述

    3.3.2中断方式
    在这里插入图片描述
    什么时候执行中断服务函数呢?
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    ————————————————————————————————————————

    4.两种控制器基本含义

    在这里插入图片描述


    展开全文
  • 51单片机定时器和计数器的4种工作方式解析一、定时器/计数器定时器/计数器T0由特殊功能寄存器TH0、TL0构成定时器/计数器T1由特殊功能寄存器TH1、TL1构成特殊功能寄存器TMOD用于控制和确定 定时器/计数器 T0、T1的...
  • 定时器0工作方式1

    千次阅读 2019-09-29 17:29:26
    #include<reg52.h> #define uchar unsigned char #define uint unsigned int sbit led1=P1^0; uchar num;...TMOD=0X01;...//设置定时器0为工作方式1(M1M0为01) TH0=(65536-45872)/256; //装...
  • TMOD工作方式控制寄存器 寄存器地址89H,不可位寻址。 位序 B7 B6 B5 B4 B3 B2 B1 B0 位符号 GATE C/T M1 M0 GATE C/...
  • 至于那些书上都有的理论知识我就不说了,就简单的说一下吧,楼主可以想简单点 ...1、确定使用哪个定时器,使用哪种方式,这一步通过TMOD设置,TMOD的低四位是设置定时器0的,高四位是用来设置定时...
  • 单片机定时/计数器的四种工作方式

    千次阅读 2018-08-26 09:00:00
    方式1当TMOD中的M0=0,M1=0时,为13位计数或定时方式,其中TLi使用低5位,其结构如图4.2所示。图4.2 方式0时T0、T1的结构图方式2当TMOD中的M0...
  • 工作方式1: ①设置TMOD的 M0=1 M1=0 C/T=0 GATE=0 下面低位全为0 , 这样TMOD =0x01; ②然后TH0 TL0 分别为高四位和低四位,赋予一个初值,这个初值就是延时多长的意思,比如要延时50ms,则65536-50000=15536,再...
  • 单片机中的定时/计数器都能有多种用途,要通过定时/计数器的方式控制字来设置,需要的用途。 在单片机中有两个特殊功能寄存器与定时/计数有关,这就是TMOD和TCON。,TMOD和TCON是名称,我们在写程序时就能直接用这...
  • 串口工作方式寄存器SCON 串口工作方式寄存器SCON,SCON(Serial Control Register)串行口控制寄存器,用于控制串行通信的方式选择、接收和发送,指示串口的状态。SCON既可以字节寻址,也可以位寻址,其字节地址为98...
  • 4月15日C51定时器.docx

    2020-04-18 20:38:06
    有关于c51定时器的个人理解,定时器的如何配备,如何能够计算定时器的时间,可以私聊我,TMOD工作方式寄存器,TCON控制寄存器的介绍。
  • 51单片机LCD显示温度与串口接受温度

    千次阅读 2019-02-12 21:41:30
    外接晶振为12MHz时,51单片机相关周期的具体值为: 振荡周期=1/12us; 状态周期=1/6us; ...工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下: G...
  • 外接晶振为12MHz时,51单片机相关周期的具体值为: 振荡周期=1/12us; 状态周期=1/6us; 机器周期=1us;...工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,高四位用于T1。其格式如下: G...
  • 其中,TMOD是设置工作方式和功能寄存器;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 3.与此主题相关的寄存器 TMOD用于设置其工作方式;TCON用于控制其启动和中断申请。 (1)寄存器TMOD 工作...
  • TMOD是定时/计数器的工作方式寄存器,确定工作方式和功能;TCON是控制寄存器,控制T0、T1的启动和停止及设置溢出标志。 1、工作方式寄存器TMOD 工作方式寄存器TMOD用于设置定时/计数器的工作方式,低四位用于T0,...
  • 串口通信波特率问题: 学习使用普中科技51开发板,在... TMOD工作方式寄存器 TMOD T1定时/计数器 T0定时/计数器 (89H) D7 D6 D5 D4 D3 D2 D1 D0 位定义 GATE C/T M1 M0 GATE ...
  • TMOD 工作方式设置     (一)定时器0或1初始化,定时模式:   TMOD|= ;工作方式设置 TH0= ; TL0= ;计数初值设置   EA=1; 打开总中断 ET0=1; 打开定时器0中断 TR0=1;开启定时器0 (二)...
  • 计数寄存器TH0、TL0、TH1、TL12.T/C工作方式寄存器TMOD3.工作方式0的应用 (一)、设计要求   用T0的工作方式0来设计一个控制灯闪烁。定时器0每5ms产生一个中断,每秒让灯闪烁一次;另外,用外部中断“开始”、...
  • 定时器0,工作方式1

    2010-10-16 16:02:00
    void main() {  TMOD=0X01;  TH0=0X4c;  TL0=0X00;  TR0=1; ET0=1; EA=1; P0_3=1;  while(1)  {}; } timer0() interrupt 1 { ...
  • 51单片机工作方式0的定时器模式

    万次阅读 多人点赞 2017-03-18 01:35:43
    #include"reg52.h"#define uint unsigned int //宏定义 #define uchar unsigned char sbit LED=P2^0; uchar i=0; void main() { TMOD=0x00; TH0=(8192-5000)/32;... /*Timer0工作在模式0下时为13位定时/计数
  • SCON-串行口控制寄存器:...SM0SM1工作方式功能说明波特率00方式0同步移位寄存器方式osc f /1201方式18位异步通信方式可变,由定时器控制10方式29位异步通信方式osc f /32 或osc f /6411方式39位异步通信方式可变,...
  • /*定时器以工作方式1运行 TMOD = 0x01;//定时器0 TMOD = 0x10;//定时器1 TMOD =0x11;//定时器0/1同时工作 */ 定时器工作时,如何确定定时时间? 假设有一个5L的水桶,现在要往水桶里面装水3L,怎么才知道装够3L...

空空如也

空空如也

1 2 3 4 5 ... 19
收藏数 376
精华内容 150
关键字:

tmod工作方式