33问答网
所有问题
当前搜索:
51单片机定时器初值怎样计算
51单片机
用
定时器
计时应该
如何计算
?求大神支招
答:
这个其实很简单的,你只需要知道一个条件即可:晶振频率。因为
51单片机
的机器周期
计算
公式是12/晶振频率MHz,若晶振为12MHz,则机器周期就是12/(12×10^6)=1us,也就是说计数器没1us计数一次。那么有了这个条件就好办多了,一般来说,12MHz晶振下,16位
定时器
满计数是65536次,每次1us,最大就能...
51单片机定时器初值
用变量设置定时不准确,为什么,求高手。TH0=(65536...
答:
看一下C代码编译后的汇编代码就知道了,用变量方式很耗时,而直接用数字,编译器已经将算式的值算好了,代码里就是一个MOV指令而已,只需1us!!!TH0=(65536-2000)/256; TL0=(65536-2000)%256;汇编后,只要2us就完事了。 而用变量方式,
单片机
很忙,
计算
几十乃至上百微妙才完事!15: TH0...
51单片机定时器
初始化没有赋
初值
,计时器会
怎么
计时
答:
只要TR0 = 1,或者TR1 = 1,相应的定时器就开始计时。
定时器的初始值
在复位之后,THx = 0,TLx= 0,也就是说,如果你没有人为的给出初始值,就从0开始计,计到最大值,溢出后再从0开始计。我们之所以给初值,是为了得到精确的,我们需要的计时时间,并不是控制定时器是否计时的。
51单片机定时器初值
为什么可以是十进制数
答:
对于
51单片机
而言,
定时器初值
本身最终必须是二进制数才会被识别。TH0=(65536-5000)/256;TL0=(65536-5000)%256;之所以可以是十进制表述出来,这是由编译器决定的,也即是说keilc允许这样表示,编译时会自动转换为二进制。
51单片机
中存放
定时器
T1
初值
的定时器是什么?
答:
中断一般是在p3.2口有下降沿就进入?--是。那
定时器
中断是怎么进入的?--定时器,无论是定时或计数,加一,出现溢出时。t1的工作方式是00的时候th0和tl0的值怎么改定时时间都是8毫秒!--办不到。--只能通过设置 th1 和 tl1 的
初值
,才能改变 t1 的定时时间。
现用t1的方式1
定时
250微秒,
计算初值
并确定th1、th2
答:
250微妙定时采用
定时器
的方式2更好些,如果用方式一,那么
初值
为:TH1=(65536-250)/256;TL1=(65536-250)%256;
怎样
使用
51单片机
的
定时器
?
答:
3、 为计数器赋值 计数器初值计算 TC=M−C TC:计数器初值,M:计数器模值(2k),C:把计数器计满的计数值
定时器初值计算
T=(M−TC)T计数 或 TC=M−T/𝑇计数 M:模值,T计数:
单片机
时钟周期TCLK(ΦCLK的倒数)的12倍;TC为定时器的
定时初值
,T为欲定时的...
51单片机 定时
问题
答:
1、对TH0、TL0赋值,且启动
定时器
(TR0=1)后,定时器开始工作。程序继续向下执行,不会停止(除非有语句要求其停止),直到定时器寄存器溢出,TF0=1。2、启动完定时器后,晶振周期通过12分频,得到机器周期,每一个机器周期,TL0加1,TL0溢出后,TH0加1。直至TH0溢出。整个过程由硬件完成,软件只...
关于
单片机定时器
周期
计算
问题
答:
显然,对同一种机型的
计算
机,时钟频率越高,计算机的工作速度就越快。8051
单片机
把一个时钟周期定义为一个节拍(用P表示),二个节拍定义为一个状态周期(用S表示)。机器周期:在计算机中,为了便于管理,常把一条指令的执行过程划分为若干个阶段,每一阶段完成一项工作。例如,取指令、存储器读、存...
51单片机定时器
设定好
初值
,为什么走的比
计算
的慢
答:
你的TH0和TL0
的初始值
有点不对吧?比较精确的应该是TH0=(65536-45872)/256;TH0=(65536-45872)%256;最好用12M的晶振,那样
定时
就很准确了。还有,这也许和你的其他程序,比如主函数的内容有关
棣栭〉
<涓婁竴椤
6
7
8
9
11
12
13
14
10
15
涓嬩竴椤
灏鹃〉
其他人还搜