返回首页

定时器0工作方式?

136 2024-01-09 11:49 admin   手机版

一、定时器0工作方式?

不对。定时计数器工作前要给它定个初值,开始工作后,每一个机器周器,定时计数器加1,直到溢出 。所以,50ms定时,它的初值就是65536-50000=15536 。定时器工作方式0 只是TH0的 8 位和TL0的低5 位构成13位的计数器。应该是工作方式1,才是16位的计数器 。也就是65536-50000=15536 =3CBFH分给高8 位和低8 位。

二、单片机定时器在12M晶振下,方式二最长可定时多久?怎么算?

12M晶振,每个指令周期是1us,采用方式1定时,那么定时公式为:定时时间=(2^16-定时初值)×1us,当初值=0时,最大可以是2^16us=65536us即一次循环最多可以定时65536us,你可以设置多次循环,来实现需要的定时时长

三、、MCS-51单片机定时器工作方式0是指的什么工作方式?

工作方式0是13位定时器模式,这是为了与8048兼容而设计的.

四、单片机定时器/计数器计数方式的初值公式怎样理解?

单从公式上来讲,题主的解释没啥大毛病。我就再详细解释一下。

当我们需要指定一段时间后去处理一些事务时,就可以用到定时器。

一般最直接的想法就是,指定一个计时值x,然后从0开始累加计数,计数到x表示时间到,可以处理事务了。这种处理方法,需要一个数值比较器,每计一次数,就比较一下。这对单片机或者说硬件电路来讲,一个8位计数器就需要包含一个8位数值比较器,实在不够简便。

第二种想法,是指定一个计时值x,然后进行减计数,减计数到0表示时间到。这也要一个比较器,只不过是个0值比较器,硬件电路上比上一种要简单一些,但减计数器还是不常用。我们知道累加器才是最简便的硬件电路之一。

上面两种方法,都是软件实现的定时器的合理想法。那么硬件电路实现定时最简便的方法是什么呢?

那就是用累加器来实现。比如一个8位的累加器,可以从0累加计数,计数到256时溢出,产生溢出信号,就可以触发事务处理了。

要是我们只需要计数10次就够了,则可以将计数初值定义为246。那样,计数10次后就可以达到256,产生溢出信号了。

所以就有了(2^n-x)。n是计数器的位数;2^n就是最大计数值;x是计数初值。整个这段,表示我们需要的计时次数。

计数器每次计数的时间间隔是t,及计数周期。那么总的计时时长m=计数周期×计数次数=t×(2^n-x),也就是m=(2^n-x)×t。

计数位数n由选用的单片机确定,通常等于8,12,16或32等等,即8位、12位等计数器。计数周期t由定时器基础时钟确定,可通过设置定时器时钟源和选择时钟分频数确定。这两项灵活性不大,一般在程序初始化时就应设定。

初值x可以在应用时,根据定时需求进行修改确定。

协调好n,t和x三者的设定,就可以完美实现定时功能了。

五、51单片机定时器t1的定时方式?

at89c51单片机的定时器t1用作定时方式有3种,默认的是方式0,为13位计数方式,这种方式很少用,完全可以用方式1代替。

方式1为16位计数,最多计65536个机器周期,假设晶振频率为12MHz,机器周期就是1us,所以,最长定时的时间是65536×1us。

方式2,是自动装载8位计数方式。常用于串口通信控制波特率。

六、51单片机定时器1定时方式2是多少位?

方式2是自动重装模式,少了两条重装计数器初值的语句,在中断频繁的情况下,明显可以提高CPU的工作效率 例如用定时器模拟PWM波,频率要想达到100KHZ,每次中断间隔只有10us,即使主程序什么也不干,中断程序在10us内完成也很困难,这时采用自动重装模式就很有效果 但方式2是8位计数器、定时器,一次定时时长没法和16位模式相比

七、51单片机定时器0,TH0和TL0计算时间?

以晶振12MHZ为例:

可以得到:

TMOD=0x01;

TL0=0xb0;

TH0=0x3c;至于怎么来的请看:

12M晶振每秒可产生1M个机器周期,1M个机器周期就是1000000个机器周期。一个机器周期为1us, 50ms就需要50000个机器周期,定时器在方式1工作,为16位,最大值为65536,所以需设初值为65536-50000=15536;

15536转化为16进制得3cb0;故高位TH0=0x3c;TL0=0xb0;不同频率晶振产生的机器周期不一样:

公式为:机器周期=晶振频率/12。。。这是在该晶振频率下每秒产生多少M机器周期。比如当晶振频率为11.0592M的晶振。则每秒可产生机器周期为11.0592/12=0.9216M的机器周期,也就是921600个机器周期。50ms等于0.05秒,所以需要921600*0.05=46080个机器周期;定时器在方式1工作,为16位,最大值为65536,所以需设初值为65536-46080=19456;转为16进制为(4c00),所以高位TH0=0x4c; TL0=0x00;

八、重复定时80s定时器0工作在何种方式最佳?

同步定时80秒定时器定工作的时刻,保持时间。手动调节。

九、51单片机定时器0的中断响应过程?

8051单片机有5个中断源和两个中断优先级,高优先级的中断源可以中断低优先级的服务程序,反之不行。INT0>T0>INT1>T1>串口中断。 8051没有专门的开中断和关中断的指令,中断的开放和关闭是由特殊功能寄存器IE来实现两级控制的。有个总开关EA,然后又有ES,ET1,EX1,ET0,EX0五个开关。为1表示开,为0表示关。 单片机在复位后,IE各位的状态为0,所以CPU处于关中断的状态。对于串口来说,其中断请求被响应后,CPU不能自动清除中断标志。用指令来实现关中断。其他中断源的中断标志在CPU响应中断后自动清除。 中断优先级由IP来控制,PS,PT1,PX1,PT0,PX0,置为1表示高优先级。 当几个中断源同时向CPU请求中断时,按所发生的实时事件的轻重缓急排队,优先处理最紧急事件的中断请求,于是单片机规定每个中断源的优先级别。 当CPU正在处理一个中断请求,又发生另一个优先级比它高的中断请求,CPU暂时中止对前一中断处理,转而去处理优先级更高的中断请求,待处理完后,再继续执行原来的中断处理程序,这样的过程称为中断嵌套,这样的中断系统称为多级中断系统。 由于外界异步事件中断CPU正在执行的程序时随机的,CPU转向去执行中断服务程序时,除了硬件会自动把断电地址,即16位PC程序计数器的值压入堆栈之外,用户还得注意保护有关工作寄存器,累加器,标志位等信息,这个过程通常称为保护现场 。以便在完成中断服务程序后,恢复原工作寄存器,累加器,标志位等的内容,这个过程称恢复现场;最后执行中断返回指令,自动弹出断电到PC,返回主程序,继续执行被中断的程序。

十、12mhz的51单片机如何用方式0一次定时1ms?

这个方式零定时一毫秒的话,只需要直接上满值即可。或者定时一次是100微秒,然后设定个变量变量达到十次则说明是1毫秒

顶一下
(0)
0%
踩一下
(0)
0%
用户反馈
问题反馈
用户名: 验证码:点击我更换图片