单片机c语言TMOD 设置

单片机c语言TMOD 设置,第1张

1.system_ini()为定时器t0初始化子程序,功能是设置定时器工作方式为方式1,th0=0xdc--寄存器th0初值为220,tl0=0x00--寄存器tl0初值为0,ie

=

0x8a--允许外部中断1和定时器t0中断,tr0=1--定时器t0启动,晶振频率为11.0592mhz;

2.tzd()为定时器t0中断服务子程序,当定时器t0溢出时,进入tzd(),th0

=

0xfe--寄存器th0重置为254,tl0

=

0x33--寄存器tl0重置为51,

每进入一次定时器t0中断,ct就加1,ct++==speed--当ct的值加到speed时,执行tim=1和ct=0。

不是单片机题目里的TMOD,而是单片机的内部专用寄存器TMOD的设置,它是定时器的工作模式设置寄存器,用它来设置定时器T0,T1的工作模式。

以最常用的定时器模式(还有一种计数器模式)为例

高四位 用来设置定时器T1的,低四位用来设置定时器T0的。

定时器有四种工作方式,分别为0,1,2,3

T0方式几,低四位就是几,T1方式几,高四位就是几。

例:T0设置为方式1,则TMOD=0x01,即01H

T1设置为方式2,则TMOD=0x20,即02H

如果T1,T0同时使用,就同时设置,T1方式2,T0方式1,则TMOD=0x21,即21H。

你说的00H,是不用设置的,因为默认的就是00H。

TMOD=0x01,表示T1是方式0,,T0是方式1;TMOD=0x10表示T1是方式1,T0是方式0。即高半字节是T1的模式,低半字节是T0的模式,这与编程语言无关,只和芯片硬件有关。

按你的要求,TMOD应该是0x10.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12082333.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存