单片机定时器/计数器程序如何掌握,我不会写
2个回答
展开全部
单片机定时器/计数器程序如何掌握,我不会写。
这很正常,万事开头难。
为便于理解,我用打比方的形式说明。
1、为什么叫定时器/计数器?因为可以对内部时钟计数(定时器)也可以对外部脉冲计数(计数器)。
2、好比你有一个水桶(相当于定时器/计数器),这个桶是有一定容量的(定时器/计数器使用两个字节计时/计数),现在拿一个碗从水池向桶内装水(一碗水相当于一个计时/计数脉冲),装水满了会怎么样?外溢(相当于定时器/计数器溢出)。一般我们利用的就是这个溢出功能(也有例外),因为这时候他会通知你(有溢出标志)。
3、51单片机定时器/计数器是加计数,两字节计数寄存器计数最大数65535,再多一个计数单位就回零了,同时置位溢出标志(开了中断还会引起中断)。
4、因为是加计数,你期望的计数值不一定从零开始,那就要“垫底”(赋初值)。
理顺消化一下,看是不是明白了。
编写单片机定时器/计数器程序就是设置与单片机定时器/计数器有关的寄存器,理解上边的就好办了。
这很正常,万事开头难。
为便于理解,我用打比方的形式说明。
1、为什么叫定时器/计数器?因为可以对内部时钟计数(定时器)也可以对外部脉冲计数(计数器)。
2、好比你有一个水桶(相当于定时器/计数器),这个桶是有一定容量的(定时器/计数器使用两个字节计时/计数),现在拿一个碗从水池向桶内装水(一碗水相当于一个计时/计数脉冲),装水满了会怎么样?外溢(相当于定时器/计数器溢出)。一般我们利用的就是这个溢出功能(也有例外),因为这时候他会通知你(有溢出标志)。
3、51单片机定时器/计数器是加计数,两字节计数寄存器计数最大数65535,再多一个计数单位就回零了,同时置位溢出标志(开了中断还会引起中断)。
4、因为是加计数,你期望的计数值不一定从零开始,那就要“垫底”(赋初值)。
理顺消化一下,看是不是明白了。
编写单片机定时器/计数器程序就是设置与单片机定时器/计数器有关的寄存器,理解上边的就好办了。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询