99问答网
所有问题
单片机定时器装初值时如果 TH0=(65536—N)/256 TL0=(65536—N)%256
单片机定时器装初值时如果
TH0=(65536—N)/256
TL0=(65536—N)%256那么N越大输出的波频率越高还是越低?原因?
假设后面还有输出方波的程序
举报该问题
推荐答案 2016-08-29
假设你的代码是每触发一次定时中断改变一次电平,即输出的是一个占空比为50%的方波信号;晶振频率为F
那么可知你每次触发中断的时间间隔为N/F,所以每个方波周期为2*N/F
又因为周期和频率的关系:T=1/f
所以输出的方波频率为F/(2*N)
显然此处你的N越小,方波频率越大
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://99.wendadaohang.com/zd/WXt7BOXBjW7vWeBXjtt.html
相似回答
...
TH0=(65536
-30000)/256
TL0=(65536
-30000
)%256
256代表什么,是怎么...
答:
TH0
是定时器高位,
TL0
是定时器低位。/是取整,%是取余。(
65536
-30000)%256 刚好就是TL0的计数
初值
,当计数到30000%256时候,也就是到了256了,这样TH0增加1. TL0下一次再从(65536-30000)%256开始计数。所以TH0要除256取整数,TL0除256取余数。
TH0=(65536
-50000)/256;
TL0=(65536
-50000
)%256;
是将求出的结果分别...
答:
首先,51
单片机
是加一计数,到
65536
溢出,所以定时时间(经过的脉冲个数,如果一个脉冲是1us,刚好延时50ms是50000个脉冲)是65536减初值 ,初值又分高8位和低8 位,高8位的1代表
256
,因此高8位的数值所代表的数是256的整数倍,低位最大不超过255,所以一定是除以256之后的余数,用公式是这样:
初值
...
单片机定时
里
TH0=(65536
-45872)/256;
TL0=(65536
-45872
)%256;
这两 ...
答:
TL0=(
65536
-100)&0x00ff,所以得到16位的低八位。
TH0
=(65536-100)/256 ;//这是
定时
100us时高8位的值。
TL0=(65536
-100)%256;//这是定时100us时低8位的值。
Tho
=(65536
-45872)/
256
这句话在
单片机定时器
里面用到的,是什么意思_百 ...
答:
的数代表
256
的倍数,所以计算时要对256取模 低8位
(TL0)
代表不足256的部分,因此要对256取余数 由于该定时器是加法计数的,到65536产生溢出,因此
定时器初值=65536
-定时的脉冲个数 假设晶振频率12MHZ,一个计时脉冲就是1US,定时50ms,就需50000个脉冲 这样初值=65536-50000
=TH0
*256+TL0 所以高...
单片机
用C编程时
定时器
部分的
TH0=(65536
-50000)/
256;TL0=(65536
-50000...
答:
所以就有了:
TH0=(
65535-50000)/256
TL0=(
65535-50000
)%256
如果
是直接赋值TH=B8;TL=00,是编程者算过后填写进去的:TH0=0xB8;TL0=0x00;具体是如何计算的呢?
65536
-x=B800(16进制)= 47104(D)x= 18432us=18.43ms=0.018s (以上根据2位很厉害很厉害大师的帖子汇总出来的)...
...求高手。
TH0=(65536
-X)/256,
TL0=(65536
-X
)%256
答:
TH0=(65536
-2000)/256;
TL0=(65536
-2000
)%256;
汇编后,只要2us就完事了。 而用变量方式,
单片机
很忙,计算几十乃至上百微妙才完事!15: TH0=(65536-a)/256;C:0x0190 AE09 MOV R6,a(0x09)C:0x0192 AF0A MOV R7,0x0A C:0x0194 AB07 MOV R3,0x07...
TH0=(65536
-10000)/256;
TL0=(65536
-10000
)%256;
是
单片机
C语言的...
答:
使
定时器
不从0开始计,这个值,就是65536-10000=55536,即从55536开始向上计数到溢出刚好用去10ms。另外由于
单片机
寄存器是8位的,所以要把TH和TL组合起来用,TH放高8位,TL放低8位,于是有了
TH0=(65536
-10000)/
256;
TL0=(65536
-10000
)%256;
明白?(以上基于定时器工作方式1)
...是
TH0=(65536
-50000)/
256;TL0=(65536
-50000
)%256
?
答:
1、首先第一步要
定时器
0设置于模式1时,然后由高8位TH0和低8位TL0两个8位寄存器组成,注意的是当设定计算值为65536-50000=15536(D)时,转换为十六进制就是3CB0(H),此时,TH0=3C,TL0=B0分别装入就可以了。2、接这就是采用“
TH0=(65536
-50000)/
256;TL0=(65536
-50000
)%256
“的编程方式,...
单片机
中断
装初值时
为什么要对
256
求模和求余
答:
求余数是为了把低8位赋值到TL里面,当不能被256整除留下的余数范围只有0-255以内。所以可以直接赋值给TL了。所以
TH0=(65536
-50000)/
256;TL0=(65536
-50000
)%256;
等效于 TH0=(65536-50000)>>8;TL0=(65536-50000)&0x00ff;在运算时
单片机
在逻辑运算方面效率高于算术运算。
大家正在搜
51单片机定时器50ms初值
51单片机定时器最长定时时间
单片机定时器最大定时时间计算
单片机定时器方式0的初值
51单片机定时器初值怎样计算
51单片机定时器初值计算公式
51单片机定时器定时1秒
51单片机定时器初始化程序
单片机定时器赋值
相关问题
单片机TH0=(65536-n)/256是什么意思
c51中定时器中TH0=(65536-10000)/256与...
单片机的定时器C语言编程中:TH0与TL0为什么是TH0=(...
51单片机定时器初值用变量设置定时不准确,为什么,求高手。T...
单片机定时里 TH0=(65536-45872)/256; ...
单片机用C编程时定时器部分的 TH0=(65536-5000...
单片机中给定时器赋做值时 TH0=(65536-30000)...
51单片机的定时器初值到底是TH0 = (65536-x) ...