在单片机定时器算那个TH0初始值时 例如用十六进制算到0xB800 为什么在C语言写的时候只是写TH0 = 0xB8;?

2024年12月02日 05:18
有2个网友回答
网友(1):

是单片机定时器算那个定时的初始值,并不是TH0的初始值,而是定时器工作在方式1下时,计数的初始值是16位的。而定时器的寄存器有两个,高8位,TH0,低8位,TL0。所以,要把初始值分成高8位给TH0,低8位给TL0。
例如用十六进制算到0xB836,则高8位给TH0,TH0=0xB8;
低8位给TL0,TL0=0x36;

网友(2):

因为定时器是两个八位的,TH0代表的是T0定时器的高八位数据,TL0代表的是T0定时器的第八位数据,两个要分开,不是一起写的。