51单片机定时器计算
答:51单片机定时器是“溢出”计时的,所以计算方法是:(假设定时X毫秒(这里设定在溢出范围内),晶振频率是F兆赫兹),那么计算公式是:初值=65536-(X*1000)*(F/12)
答:单片机的定时时间的计算公式=计数值(定时值)* 机器周期= 计数值(定时值)* 12 / 晶振频率。上面的两个等号是等价的,因为,单片机的机器周期=12秒/晶振频率,因此两个公式通用。完成一个基本操作所需要的时间称为机器周期。一般,一个机器周期由 若干个S周期(状态周期)组成。80C51系列单片机一个...
答:我说一下原理 12MHZ的51单片机,定时器最大只能定时65.535ms,所以要定时500ms的时间,需要产生10次50ms的定时。步骤如下:1、每隔50ms定时器中断溢出,计数+1。2、当计数达到10次时,便产生了500ms的定时啦,然后,你自己根据你的设计,需要让单片机做什么就自己写些什么(比如让某个io口取反)3...
答:首先要知道一个计时脉冲的周期,计时脉冲频率是晶振频率的1/12,晶振12M时,计时脉冲频率是1MHz,周期是1us,因此定时1mS就是1000个脉冲,由于51定时器是加法计数,计数到最大值65536溢出,定时结束,产生中断,因此初值应该写为65536-1000,计数器分高8位和低8位,高8位的1代表256,低8位是不足256...
答:晶振频率为6MHz时,定时/计数器在工作方式0、方式1、方式2下,其最大的定时时间分别为:16.384 mS;131.072 mS;0.512 mS;根据计算公式,X=M-计数初值=M-(fosc*t)/12,其中X是计数初值,要得到最大定时时间X=0;M最大计数值,工作方式0时M=2^13=8192,工作方式1时M=2^16=65535,工作...
答:这个其实很简单的,你只需要知道一个条件即可:晶振频率。因为51单片机的机器周期计算公式是12/晶振频率MHz,若晶振为12MHz,则机器周期就是12/(12×10^6)=1us,也就是说计数器没1us计数一次。那么有了这个条件就好办多了,一般来说,12MHz晶振下,16位定时器满计数是65536次,每次1us,最大就能...
答:M为定时器初始值,即首先加入一部分值进去,再开始计数,溢出后重新赋初值 工作方式1,即X为16 机器周期=12*1/时钟周期=12*1/12=1us 题目要求最大定时时间,则赋初值为M=0,即不赋初值进定时器,定时器也就为原来那么大的容量2^16us 则最大定时时间为T=2^16us ...
答:对12MHz ,1个机器周期 1us ,12/fosc = 1us 。方式0是13位定时器,最大时间间隔 = 2^13 = 8.192ms 方式1是16位定时器,最大时间间隔 = 2^16 = 65.536ms 方式2是8位定时器,最大时间间隔 = 2^8 = 0.256ms =256 us 方式3 仅适用于T0,此时T0分成两个8位计数器,T1...
答:那么51的计数速率就为1M。通常用11.0592M 晶体是为了得到标准的无误差的波特率,那么为何呢?计算一下就知道了。如我们要得到9600 的波特率,晶振为11.0592M 和12M,定时器1 为模式2,SMOD 设为1,分别看看那所要求的TH1 为何值。代入公式: 11.0592M...
答:要配置51单片机的定时器2,首先需要了解其定时器的基本结构和功能。51单片机通常具有两个定时器/计数器,即定时器0和定时器1,而没有明确标记为“定时器2”的组件。然而,有些51单片机的变种或扩展版本可能包含额外的定时器或计数器,这些可能被称为定时器2。因此,下面的说明将基于一个假设...
网友评论:
哈关18980537638:
51单片机的定时器计时怎样计算
59784公钩
: 51但单片机的定时,要先计算,然后根据要求编写程序,计算会用到公式: t=Tc*(2L-TC)=12/f*(2L-TC) t是定时时间 Tc是机器周期 fs是晶振频率 L是计数器的长度 对于T0,T1有下面三种方式:方式0:L=13方式1:L=16方式2:L=8 对于T2:L=16然后剩下的就是按照算出的常数编写程序了,就靠你自己了....
哈关18980537638:
51单片机用定时器计时应该如何计算?求大神支招
59784公钩
: 这个其实很简单的,你只需要知道一个条件即可:晶振频率.因为51单片机的机器周期计算公式是12/晶振频率MHz,若晶振为12MHz,则机器周期就是12/(12*10^6)=1us,也就是说计数器没1us计数一次.那么有了这个条件就好办多了,一般来说,12MHz晶振下,16位定时器满计数是65536次,每次1us,最大就能计时65.536ms,则65536减去多少就是定时多少,如(65536-X)/256,就是定时X微秒.那么如果晶振不是12MHz,就要把上述的X乘以12/晶振,得到的值就是定时时长.原理相同.有不懂的地方随时回复我.希望我的回答能帮助到你.
哈关18980537638:
51单片机的定时器的时间怎么算??
59784公钩
: 51单片机1个机器周期=12个时钟周期,频率为12MHZ,则一个机器周期为1US, 具体到定时器程序就是,假如你想定1MS,那么单片机每次加一个一,就要过1US, 那么1MS就要加1000次,所以用65535-1000=64535;再把64535换成16进制为FC17,把FC付给TH0, 17给TLO,即可定时1MS,因为65535他就溢出进入中断.
哈关18980537638:
怎样使用51单片机的定时器? -
59784公钩
: 1. 设定工作方式TMOD=..... 2. 装入初值 TH0=...TL0=....TH1=....TL1=..... 3.开启定时器中断和总中断ET0=1或ET1=1 EA=1 4.启动时器 TR0=1 TR1=1 5.写中断服务程序 其中 3和5可以没有
哈关18980537638:
89C51单片机定时器初值怎么计算 -
59784公钩
: 在定时器模式下,计数器的计数脉冲来自于晶振脉冲的12分频信号,即对机器周期进行计数.若选择12M晶振,则定时器的计数频率为1MHZ.假设定时时间为T,机器周期为T1,即12/晶振频率.X为定时器初值.则 X=2^n-T/T1.方式0,n=13,方式1时,n=16,方式2和方式3,n=8
哈关18980537638:
51单片机中定时1分钟,怎么计算初值 -
59784公钩
: void init()//初始化定时器50毫秒 开启定时0 {TMOD=0x01;TH0=(65536-50000)/256;TL0=(65536-50000)%256;EA=1;ET0=1;TR0=1;}void timer0() interrupt 1 {TH0=(65536-50000)/256;TL0=(65536-50000)%256;aa++; //50MS 一次 }通过判断aa的值可以得到时间长度
哈关18980537638:
请问哪位能仔细的讲一下51系列单片机定时器定时计算时间的公式或方法 -
59784公钩
: 这个很好理解啊,假设定时器工作在方式1,也就是最大定时为65536US(假设12M晶振,51单片机) 那么你想定时多小为Xus 就直接拿TL0=(65536-x)/256 TL1=(65536-X)%256就可以了的 就好像一个杯子,他最多能装1L的水,而你只想往杯子里加400ml,那么你就必须先往杯子里装 (1000-400)ml的水, 这样的话,是不是你再往杯子里加400Ml的水,就会溢出呢,定时器也是这样的
哈关18980537638:
51单片机如何计算定时时间
59784公钩
: 定时时间=(2^N-初值)*机器周期; N=定时器位数,如果把初值换成当前计数值,也可以知道后面定时还剩多少时间.不过要取出当前计数值不太容易,而且误差很大.
哈关18980537638:
单片机89c51的定时器时间怎么算!! -
59784公钩
: 1,晶振是多少 2,根据你需要的定时时间来给寄存器装初值 有个小软件可以直接用来计算这个,叫“懒人51”
哈关18980537638:
用51单片机设置定时器 -
59784公钩
: ;定时10S,就一个单片机最小系统了,线路图不用画了吧.ORG 00H AJMP MAIN ORG 0BH AJMP T0INT ORG 30H MAIN: MOV TMOD,#01H MOV TH0,#3CH MOV TL0,#0B0H SETB EA SETB ET0 SETB TR0 MAIN1:AJMP $ T0INT: ;50ms定时中断一次 MOV TH0,#3CH MOV TL0,#0B0H INC R0 CJNE R0,#200,RTI CPL P1.0 ;假设P1.0装一LED,那么每10s亮或灭一次 MOV R0,#0 RTI:RETIEND