单片机定时器工作方式2的疑问

来源:百度知道 编辑:UC知道 时间:2024/06/15 09:17:47
工作方式2时,比如将TL设置为TL1=0XF3,对TH1不进行定义,TH1是不是由软件自动定义为0XF3了?万望解答

TL1 = 0xF3,对TH1不进行定义,很可能是00H。
计数器启动后,TL1作为计数单元,不停的加一,直至溢出;
溢出可导致TH1的00H,重新装入到TL1。

这种现象,也有可能是编程者刻意追求的,(比如输出PWM波形的时候,)
否则就是疏漏。

这样做是不行的。
定时器工作在方式2的时候,存放定时初值的是TH1,也就是存放在高8位。
当TL1计满溢出后,硬件会置中断标志位请求中断,并将TH1中的值自动送入TL1。TL1再次重初始值加1计数直到溢出。
所以是楼主把存放初始值的寄存器搞错了。
楼主这样子做,实际上定时间隔是不同的。第一次是从0xF3计数到0xFF;之后就是从0计数到0xFF了。因为TH1在硬件复位之后是0。

楼上诸位正解。我见过的是TH赋值,但TL不赋值的。这个可以。

tl和th都赋值,