导航:首页 > 操作系统 > 51单片机定时方式

51单片机定时方式

发布时间:2022-08-08 11:37:24

1. 51单片机定时计数器四种工作方式哪种可以实现计数初值的自动加载

51单片机定时计数器四种工作方式中,方式2可以实现计数初值的自动加载。

解释分析:

16位的计数器只用了8位来计数,用TLx来进行计数,而THx用于保存初值,当TLx计满时则溢出,该方式的溢出状态一方面使TF变化,另一方面使TH的值再次置入TL,正所谓自动重置定时/计数器

自动装载初值,无需程序运行赋值,此方式更精确。

此时MAX值为28=256,设计数值为100。

初值为156=10011100B(0x9C)。

TH0=TL0=0x9C。

定时/计数器有如下一些用途:

(1)产生所需频率的脉冲,如产生频率1000,占空比1:1的脉冲波。

(2)在累加计数中的应用,计数器可在一段时间内记录信号A经整形后的脉冲个数。

(3)在频率测量中的应用,通过测量脉冲宽度或在一定时间内测量脉冲的个数,从而推算出脉冲的频率。

(4)定时/计数器在计时中的应用,定时/计数器可对时钟信号,如秒信号进行计数,也可用来倒计时,秒表计,时间循环等。

2. 51系列单片机的定时器和计数器有哪几种工作方式

  1. 定时器0有四种工作方式:方式0:13位定时 /计数器模式方式1:16位定时 /计数器模式方式2:8位可重装载定时 /计数器模式方式3:两个单独8位定时 /计数器模式定时器1只有三种方式,同上面三种

  2. 标准8051单片机内部有2个定时器/计数器 分别是T0和T1。每个定时器有4种工作方式,方式0:13位定时计数方式,最大计数值为2^13=8192,定时8192个机器周期。1:16位定时 /计数器模式方式2:8位可重装载定时 /计数器模式方式3:两个单独8位定时 /计数器模式定时器1只有三种方式,同上面三种。

  3. 要讲定时离不开中断,两者结合使用的。定时计数器主要用到TMOD工作模式寄存器,TCON定时器的控制寄存器,EA中断允许控制寄存器,IP中断优先级寄存器 定时器控制寄存器TCON (88H)TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0

3. 51单片机定时寄存器定时也不到一秒钟,如果想定时1分钟该如何定时,

51单片机定时工作在方式1,是16位计数方式,如果晶振频率是12M,机器周期
是1us,那么最大的定时时间也只有65.536ms,要直接定时1秒是不可能的。但是,可以定时50ms,采用中断方式,每50ms定时到,要中断一次的,在中断程序就对中断计数,中断20次的时间就是50msX20=1000ms=1秒。有了1秒计时,那1分钟就容易了,对1秒再计数啊,60秒就是1分啦。可能你没有写过时钟程序吧,电子钟程序就是这种方法,再计60分为1小时,24小时为一日,依此,可以计年月日呢。这有什么难的。关键是对中断计数,就可以解决长时间定时了。

4. 51单片机的定时器是怎么设置的

单片机定时器的设置步骤为:
1、设置定时器的工作模式,共4种工作方式,两种模式(计数器/定时器)。比如:
MOV TMOD,#01;设置定时器0位定时器模式,工作方式1
2、根据定时时间赋初值。比如定时10毫秒,那么如果12M晶振的话是10000个机器周期。定时器是溢出申请中断,所以用溢出值减去定时周期为初值。
MOV TH0,#HIGH(65536-10000)
MOV TL0,#LOW(65536-10000)
3、开启中断、定时器。
SETB ET0
SETB EA
SETB TR0

5. 51-单片机定时器的工作方式

方式0: 13位定时计数方式,最大计数值为2^13=8192,定时8192个机器周期;
.
方式1: 16位定时计数方式,最大计数值为2^16=65536,定时65536个机器周期;
.
方式2: 8位自动重装计数方式,最大计数值为2^8=256,定时256个机器周期;
.
方式3: 特殊工作方式。将定时器0分成两个彼此独立8位计数器。

6. 51单片机定时器T1有哪3种工作模式

51单片机定时器T1有3种工作模式:方式0,方式1,方式2。

当INT0引脚为高电平时且TR0置位,TR0=1;启动定时器T0;当INT1引脚为高电平时且TR1置位,TR1=1;启动定时器T1。MCS-51的定时器T0有4种工作方式:方式0,方式1,方式2,方式3。MCS-51的定时器T1有3种工作方式:方式0,方式1,方式2。

(6)51单片机定时方式扩展阅读:

由于定时器/计数器的功能是由软件编程确定的,所以一般在使用定时/计数器前都要对其进行初始化,使其按设定的功能工作。初始化的步骤一般如下:

1、确定工作方式(即对TMOD赋值);

2、预置定时或计数的初值(可直接将初值写入TH0、TL0或TH1、TL1);

3、根据需要开放定时器/计数器的中断(直接对IE位赋值);

4、启动定时器/计数器(若已规定用软件启动,则可把TR0或TR1置“1”;若已规定由外中断引脚电平启动,则需给外引脚加启动电平。当实现了启动要求后,定时器即按规定的工作方式和初值开始计数或定时)。

7. 51单片机怎么实现定时一分钟

51单片机 的时钟一般是12MHz,采用16位定时器,最大计数次数为65535,那么就是65535us=65ms, 那就可以设置寄存器初始使每50ms产生一次中断.20次即为一秒
50 ms =50000 us.
THX = (65535-50000) /256;
TLX = (65535-50000) %256;
X为定时号 0.1

8. 51单片机定时功能如何实现

#include"reg51.h"
#define
uchar
unsigned
char
#define
uint
unsigned
int
/**************初始化程序****************/
void
initiation()
{
TMOD=0x11;
//设定计数方式等
TH0=-10000/256;
TL0=-10000%256;
//10MS定时初值(T0计时用)
TH1=-25000/256;
TL1=-25000%256;
//25MS定时初值(T1计时用)
ET0=1;
ET1=1;
TR0=1;
TR1=1;
EA=1;
}
/****************定时器0中断服务程序*****/
void
init_timer0(void)
interrupt
1
{
TH0=-10000/256;
TL0=-10000%256;
//10MS定时初值(T0计时用)
//下面写用户程序
}
/****************定时器1中断服务程序*****/
void
init_timer1(void)
interrupt
3
{
TH1=-25000/256;
TL1=-25000%256;
//50MS定时初值(T1计时用)
//下面写用户程序
}
/****************主程序******************/
main()
{
initiation();
while(1)
{
;
}
}

9. 51单片机的四种工作方式

1 工作方式0
定时器/计数器T0工作在方式0时,16位计数器只用了13位,即TH0的高8位和TL0的低5位,组成一个13位定时器/计数器。

1)、工作在定时方式
2)、工作在计数方式
2 工作方式1
定时器T0工作方式1与工作方式0类同,差别在于其中的计数器的位数。工作方式0以13位计数器参与计数,工作方式1则以16位计数器参与计数。

1)、工作在定时方式
2)、工作在计数方式
工作方式1是16位计数器。这是工作方式1与工作方式0在计数方式时唯一差别。
3 工作方式2
定时器T0在工作方式2时,16位的计数器分成了两个独立的8位计数器TH0和TL0。

1)、工作在定时方式
2)、工作在计数方式
工作方式2与工作方式0、方式1的差别,在于工作方式2是一个8位的计数器。
4 工作方式3
工作方式3仅对定时器T0有效。当定时器T0工作在方式3时,将16位的计数器分为两个独立的8位计数器TH0和TL0。

当定时器T0工作在方式3时,定时器T1只能工作在方式0~2,并且工作在不需要中断的场合。

10. 怎样使用51单片机的定时器

51单片机定时器的使用

51单片机定时器/计时器的使用
步骤:
1、 打开中断允许位:
对IE寄存器进行控制,IE寄存器各位的信息如下图所示:
EA: 为0时关所有中断;为1时开所有中断
ET2:为0时关T2中断;为1时开T2中断,只有8032、8052、8752才有此中断 ES: 为0时关串口中断;为1时开串口中断 ET1:为0时关T1中断;为1时开T1中断 EX1:为0时关1时开 ET0:为0时关T0中断;为1时开T0中断 EX0:为0时关1时开
2、 选择定时器/计时器的工作方式:
定时器TMOD格式

CPU在每个机器周期内对T0/T1检测一次,但只有在前一次检测为

1和后一次检测为0时才会使计数器加1。因此,计数器不是由外部时钟负边沿触发,而是在两次检测到负跳变存在时才进行计数的。由于两次检测需要24个时钟脉冲,故T0/T1线上输入的0或1的持续时间不能少于一个机器周期。通常,T0或T1输入线上的计数脉冲频率总小于100kHz。
方式0:定时器/计时器按13位加1计数,这13位由TH中的高8位和TL中的低5位组成,其中TL中的高3位弃之不用(与MCS-48兼容)。

13位计数器按加1计数器计数,计满为0时能自动向CPU发出溢出中断请求,但要它再次计数,CPU必须在其中断服务程序中为它重装初值。
方式1:16位加1计数器,由TH和TL组成,在方式1的工作情况和方式0的相同,只是计数器值是方式0的8倍。

1
1/3
方式2:计数器被拆成一个8位寄存器TH和一个8位计数器TL,CPU对它们初始化时必须送相同的定时初值。当计数器启动后,TL按8位加1计数,当它计满回零时,一方面向CPU发送溢出中断请求,另一方面从TH中重新获得初值并启动计数。

方式3:T0和T1工作方式不同,TH0和TL0按两个独立的8位计数器工作,T1只能按不需要中断的方式2工作。 在方式3下的TH0和TL0是有区别的:TL0可以设定为定时器/计时器或计数器模式工作,仍由TR0控制,并采用TF0作为溢出中断标志;TH0只能按定时器/计时器模式工作,它借用TR1和TF1来控制并存放溢出中断标志。因此,T1就没有控制位可以用了,故TL1在计满回零时不会产生溢出中断请求的。 显然,T0和T1设定为方式3实际上就相当于设定了3个8位计数器同时工作,其中TH0和TL0为两个由软件重装的8位计数器,TH1和TL1为自动重装的8位计数器,但无溢出中断请求产生。由于TL1工作于无中断请求状态,故用它来作为串口可变波特

3、 为计数器赋值
计数器初值计算
TC=M−C
TC:计数器初值,M:计数器模值(2k),C:把计数器计满的计数值 定时器初值计算
T=(M−TC)T计数


TC=M−T/𝑇计数
M:模值,T计数:单片机时钟周期TCLK(ΦCLK的倒数)的12倍;TC为定时器的定时初值,T为欲定时的时间。
TC=M−T×𝛷𝐶𝐿𝐾/12
M:模值,ΦCLK:单片机时钟周期ΦCLK;TC为定时器的定时初值,T为欲定时的时间。 例如:单片机主脉冲频率ΦCLK为12MHz,最大定时时间为: 方式0时 TMAX = 213×1us = 8.192ms 方式1时 TMAX = 216×1us = 65.536ms 方式2和方式3 TMAX = 28×1us = 0.256ms
4TR0:为0时,停T0计数;为1时,启T0计数

2
2/3

TF0:为0时,无T0中断(硬件复位);为1时,有T0溢出中断 TR1:为0时,停T1计数;为1时,启T1计数 TF1:为0时,无T1中断(硬件复位);为1时,有T1溢出中断 IE1:为0时,硬件复位;为1时 IT1:为0时,INT1电平触发(软件复位);为1时,INT1负边沿触发 IE0:为0时,硬件复位;为1时 IT0:为0时,INT0电平触发(软件复位);INT0负边沿触发
5

在C51的C语言中使用interrupt x来指定中断入口地址,x为中断号,例T0中断: void Time0_Int() interrupt 1 //定时器T0的中断入口程序

阅读全文

与51单片机定时方式相关的资料

热点内容
90压缩干粮09压缩干粮 浏览:511
android线程池框架 浏览:478
手机自带解压能解压哪些文件 浏览:802
linux安装hba驱动 浏览:117
java构造函数new 浏览:668
怎么查家里电器耗电量app 浏览:506
原神一直显示重新连接服务器怎么办 浏览:826
一般用途轴流式压缩机 浏览:926
没学历的怎么学编程 浏览:901
华为的隐藏相册无法加密 浏览:782
联通套餐app怎么设置 浏览:752
关于删除链表的算法描述 浏览:894
标准盘和压缩盘的区别 浏览:47
银行存款验证码JAVA编程 浏览:111
word转pdf软件免费版 浏览:139
公主连结安卓台服怎么下载 浏览:550
注册江苏银行app怎么注册 浏览:800
中兴怎么下载app视频 浏览:679
服务器审计是什么 浏览:518
华为删除的app怎么彻底卸载 浏览:574