51系列单片机定时/计数器初始化的四个步骤?

作者&投稿:黄昂 (若有异议请与网页底部的电邮联系)
51系列单片机定时/计数器初始化的步骤~

TMOD:模式控制寄存器,定时器的运行模式,定时计数模式等;

TCON:运行控制寄存器,定时器的中断允许和外部触发中断允许,运行停止控制,溢出标志等
THx/TLx:计数值
IE:中断控制,如果要开启中断允许,则需要配置这个寄存器;
IP:中断优先级控制,如果开了几个中断源,则需要配置中断控制的先后;
总体就是:
先关运行和中断,然后配置模式,配置计数值,定时器运行打开,定时器是否中断允许,是否开启总中断;
如果不开中断,就直接配置模式和计数值,然后运行即可,主程序里查询溢出位,判断是否到计数值(不准确)。
其他定时器T2等,有其他的寄存器,但配置方法同。

定时器/计数器的初始化
在使用8051
系列单片机的定时器/计数器前,首先要对TMOD
和TCON
寄存器进行初始化,同时还必须计算定时的时间(重点)。
(1)
确定T/C
的工作方式:配置TMOD
寄存器。
(2)
计算T/C
的计数初值,并赋值给TH
和TL。
(3)
若T/C
中断方式工作时,必须配置IE
寄存器内ET0
与ET1
的值。
(4)
启动定时器/计数器。

1、设置寄存器TMOD
2、计算初始值
3、开放中断
4、启动定时器

1、设置寄存器TMOD
2、计算初始值
3、开放中断
4、启动定时器

1、设置寄存器TMOD
2、计算初始值
3、开放中断
4、启动定时器

1、设置寄存器TMOD
2、计算初始值
3、开放中断
4、启动定时器


单片机,当定时器\/计数器工作方式于1下,晶振频率为6M,请计算最短定时时间...
定时器是通过计数溢出来计时的,工作方式1是16位计数方式。晶振频率为6M,那么计数器加1需要一个机器周期2us。机器周期=12\/fosc,fosc为晶振频率。计数初值为1时,定时最短为2us,最长是计2的16次方(即65536),最长时间=2*65536us=131.072ms 。在工作方式1下,定时时间:t=(65536-T0初始值)*...

单片机编程高手请进,用T0的方式1定时,由P1.0引脚输出50Hz方波,晶振频率...
T0的初值为TH0 =0D8H,TL0 = 0F0H。(2)程序 ORG0000H;程序入口 BEGIN:AJMP MAIN ;转主程序 ORG 000BH ;T0中断入口 AJMP IT0P;转T0中断处理程序IT0P ORG 0100H ;主程序入口 MAIN: MOV TMOD,#01H;设置T0为方式1定时 MOV TL0,#0F0H;T0初始化,装初值的低8位...

51单片机采用12Mhz晶振,采用定时工作方式1,定时时间为:40毫秒,计算出...
T0方式1为16位定时计数器。计满TL0和TH0需要 2^16 =65536个数,设时钟频率为 12MHz , 此时 1 个机器周期 = 12个时钟周期 = 1µs, 即计数一次为1µs,现要计时40毫秒=40000us, 即计数40000次, 显然在TH0T和TL0中要预先装入一个数值N, 使 N + 40000 = 65536 , 计算得 ...

请问哪位能仔细的讲一下51系列单片机定时器定时计算时间的公式或方法...
这个很好理解啊,假设定时器工作在方式1,也就是最大定时为65536US(假设12M晶振,51单片机)那么你想定时多小为Xus 就直接拿TL0=(65536-x)\/256 TL1=(65536-X)%256就可以了的 就好像一个杯子,他最多能装1L的水,而你只想往杯子里加400ml,那么你就必须先往杯子里装 (1000-400)ml的水, ...

单片机定时ET0=1什么意思?
单片机定时 ET0=1的意思是51单片机的定时器0允许中断。ET0是51系列单片机定时器0的中断允许开关,定时器中断是为了满足定时或计数溢出处理的需要而设置的,当发生计数溢出时,表示定时时间已到或者计数值已满,接着就以计数溢出信号作为中断请求去置位一个溢出标志位。这种中断请求是在单片机芯片内部发生的...

MCS-51单片机中定时\/计数器0,定时\/计数器1各有哪几种工作方式?
工作方式013位计数模式 最大范围0-8191 工作方式1 16位计数模式 最大范围0-65535 工作方式28位自动重装计数模式0-255 工作模式3(只有T0)TL0和TH0将被分割成2个0-255的独立计数器会触发TF0 TF1中断

51单片机定时器T1中断使数码管计数0—F,每秒加1,想要将if()函数写到mai...
把初始化程序 Timer1Init(); 放在while(1) 的上面,你现在这样,每次循环都初始化了,就永远也不计数了 。另外,开机是显示8,是因为,开机P0口全为1,要过1秒后开始从0开始显示,可以在while(1)上面加一行 P0=0x3f; 这样,开机就显示0了。另外,这种定时1秒,定时器最好定时长点,如50ms ,...

51单片机系列,能不能先开定时器0然后关了,再开定时器1,继续工作?
可以。这时候要用到标志位。比如要求定时器0计数2s后关闭并打开定时器1.假设用定时器0定时1s,jishu0就要计数20次,当计数值达到2s时,你要加上一句flag=1.并且在定时器1中写上if(flag==1),此时,程序就会跳转到定时器1的子程序中了

用51单片机写一个程序:用定时中断T0T1控制4个数码管显示1...
用51单片机写一个程序:用定时中断T0T1控制4个数码管显示1...分内容转自:《51单片机C语言创新教程》温子祺等著。原理:软件设计方面使用动态驱动数码管的方式,即要保证当数码管显示时的效果没有闪烁的现象出现,亮 度一致,没有拖尾现象。由于人眼对频率大于对24Hz以上的光的闪烁不敏感,这是利用了...

关于单片机中断程序的定时器0和定时器1
首先,你所说的两种赋值方法,实际上是一种,就是就是寄存器的高8为位个低8位赋值。你说的第二种(TH0=(65536-50000)\/256)所赋的值是经过计算(=(65536-50000)\/256)得到的,你知道定时计数器的工作原理就清楚了。其次,赋值大小要根据你的晶振以及单片机工作模式确定机器周期,然后才能确定...

济宁市19675809180: 51单片机计数器怎么用 -
姚真百优: 可以利用51单片机的计数器T0、T1,例如用计数器0的外部计数脉冲输入端T0计数,当计满100个脉冲数量后,触发中断.进入计数服务中断程序.

济宁市19675809180: 简单描述AT89C51单片机的定时计数器的设置 -
姚真百优: 在单片机中有两个特殊功能寄存器与定时/计数器有关,这就是TMOD和TCON. 1、通过TMOD来设置定时/计数器的工作方式, 2、通过TCON来控制启停、溢出标志等等. 3、根据定时时间来确认定时初值(TH0、TL0或TH1、TL1). 具体算法是:初值X=最大计数值-计数值,方式1的最大计数值为:2^16=65536,方式0为:2^13=8192,方式2和方式3为:2^8=256

济宁市19675809180: c51单片贩定时计数器t0有几种工作方式 -
姚真百优: 51单片机定时计数器T0有四种工作方式: 方式0: 13位定时计数方式,最大计数值为2^13=8192,定时8192个机器周期; 方式1: 16位定时计数方式,最大计数值为2^16=65536,定时65536个机器周期; 方式2: 8位自动重装计数方式,最大计数值为2^8=256,定时256个机器周期; 方式3: 特殊工作方式.将定时器0分成两个彼此独立8位计数器.

济宁市19675809180: 51单片机的定时计数器T0、T1计数或定时,CPU能不能做其他事情?为什么? -
姚真百优: T0,T1 定时计数器是利用单片机的频率来计数的,每一个晶振频率会产生一个脉冲,计数器计数为1 CPU是可以做其他事的,只有当计数达到定时的值时给CPU一个中断通知CPU计数到而已

济宁市19675809180: 51单片机定时计数器工作方式疑点 -
姚真百优: 因为51单片机处理数据是按八位进行的,所以给定时器赋初值的时候,不能将一个数直接赋到T0中,而是将这个数先转化为一个十六进制数,将它的高两位数(也就是二进制的高八位)传送给TH0,将低两位(也就是二进制的低八位)传送给TL0!(65536-x)/256就是取计数值的高八位运算表达式,因为八位二进制的最大值为256,所以将一个十进制数除以256后就会得到这个十进制数高八位数.最后将所得的余数传送到TL0,也就是后面(65536-x)%256的工作!希望能帮助你

济宁市19675809180: 简述MCS - 51单片机定时器/计数器四种工作方式 -
姚真百优: 有四种工作方式: 方式0,13位定时/计数方式. 方式1,16位的定时/计数方式. 方式2,自动重装载8位工作方式 方式3,定时/计数器0被拆成2个独立的定时/计数器来用.其中,TL0可以构成8位的定时器或计数器的工作方式,而TH0则只能作为定时器来用.

济宁市19675809180: MCS - 51单片机AT89C51有几个几位的定时计数器,可以被设定的工作方式有几 -
姚真百优: 51单片机有两个定时器,每个定时器可以设置4中工作方式. 方式0:13位定时器 方式1:16位定时器 方式2:8位重装载模式 方式3:两个独立8位定时器模式

济宁市19675809180: 单片机编程:画出定时计数器T0工作在方式0时的结构图,并解释工作原理. -
姚真百优: 方式0:为13位定时/计数器方式其中TH0占高8位,TL0占低5位(只用低5位,高3位未用)如果是常用的12分频的51系列的话逻辑图如下: 工作原理如下: T0端:定时器/计数器0外部信号输入端(一般为i/o口P3.4) TR0:定时器/计数器的...

济宁市19675809180: 51单片机的计数器怎么用? -
姚真百优: 计数器只是把定时器的时钟源从管脚接进去,记得开几个设置就行.

济宁市19675809180: 怎样使用51单片机的定时器? -
姚真百优: 1. 设定工作方式TMOD=..... 2. 装入初值 TH0=...TL0=....TH1=....TL1=..... 3.开启定时器中断和总中断ET0=1或ET1=1 EA=1 4.启动时器 TR0=1 TR1=1 5.写中断服务程序 其中 3和5可以没有

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网