关于51单片机定时器的问题,想确认下!!
关于51单片机定时器的问题,想确认下!!
如果用定时器的模式1,就是TH0和TL0均8位全用,12MHZ晶振,
初始化时TH0=0x00;TL0=0x00,
则机器周期是否就是1微秒?那是不是就是TH0和TL0组成的两个分别得0x00,0x00就每1微秒加1?
就是当1微妙过去后,TH0=0x00,TL0=0x01? 后面就依次类推,直到TL0满为0xff后,又过了1微秒时,就变成了 TH0=0x01,TL0=0xff. ??
然后最后当TH0=0xff和TL0=0xff时,则溢出?
答案:是的, 没错, 12MHz晶振时, 定时器1us累计一个数
定时器的模式1时,你可以把TH0,TL0两个字节看成一个整型数值, 范围0 ~ 65535, 计满则溢出
其他:“直到TL0满为0xff后,又过了1微秒时,就变成了 TH0=0x01,TL0=0xff”
模式1是16位工作模式,TL0=0xFF后,再过1个时钟周期,TH0++,TL0 = 0。
“然后最后当TH0=0xff和TL0=0xff时,则溢出?”
当二者都为0xFF后,再过1个时钟周期,则溢出。 机器周期=12个振荡周期=12*(1/晶振的频率)。。
其他的你都说对了 是的。
上一个:汇编语言中加NOP就不能运行,
下一个:c++ 和 java 哪个做游戏更好?更全面?或更接近生活需要!