单片机中对TMOD从高位到低位赋怎样的值实现对T1和T2的选择性控制???

单片机中对TMOD从高位到低位赋怎样的值实现对T1和T2的选择性控制???,第1张

TMOD 这个特殊功能寄存器不能控制T2。

它的高、低四位,分别控制T1和T0,下面的指令:

MOV TMOD, #21H

可以把T1设置成方式2,T0 设置成方式1。

如果想要不改变T0,只是想要把T1改变为方式1,可以执行下面两条汇编指令:

ANL TMOD, #0FH

ORL TMOD, #10H

即可。

C语言也是两条,如下:

TMOD &= 0x0F

TMOD |= 0x10

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。


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/485067.html

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

发表评论

登录后才能评论

评论列表(0条)

    保存