当前位置:编程学习 > 汇编语言 >>

关于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 哪个做游戏更好?更全面?或更接近生活需要!

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,