freescalemc9s08单片机原理与应用第08章(编辑修改稿)内容摘要:

骤进行状态和控制寄存器的设置: 1) 根据需要确定各位的值; 2) 由各位的值得到整个寄存器的值; 3) 将这个值写入控制和状态寄存器就可以完成各位的设定。 输入捕捉 输入捕捉是 Freescale单片机定时器的基本功能,该功能用来检测外部的事件和输入信号。 当 外部事件发生或信号发生变化时,在指定的输入捕捉引脚上发生一个指定的沿跳变(可以指定该跳变是上升沿还是下降沿)。 定时器捕捉到特定的沿跳变后,把自由运行计数器当前的值锁存到输入捕捉寄存器。 如果在输入捕捉控制寄存器中设定允许输入捕捉中断,系统会产生一次输入捕捉中断,利用中断处理程序可以得到事件发生的时刻或信号发生变化的时刻。 通过记录输入信号连续的沿跳变,就可以用软件算出输入信号的周期和脉宽。 例如,为了测量周期,只要捕捉到两个相邻的上升或下降沿的时间,两者相减就可以得到周期。 为了测量脉宽,就要记录相邻的两个不同极 性的沿变化的时间。 如果测量的脉宽值小于定时器的溢出周期,则只要将两次的值直接相减(看成无符号数)即可。 如果测量的脉宽值大于定时器的溢出周期,那么在两次输入捕捉中断之间就会发生定时器计数的溢出翻转,这时直接将两个数相减没有意义,需要考虑定时器的溢出次数。 5 输入捕捉的另一个用途是配合输出比较来延时。 例如,需要在一个外部事件发生一定的时间后,单片机产生一个输出信号来控制某个操作。 这可以利用输入捕捉来记录外部事件发生的时刻,把这个事件加上一定的延时值送到输出比较寄存器,并允许输出比较功能,即可达到上述目的。 输出比较 输出比较模块也是单片机定时器的基本组成部分。 该模块用来在程序规定的时刻输出需要的电平,实现对外部电路的控制。 输出比较寄存器的值与自由运行计数器的值每隔 4个总线周期比较傲一次。 当两个值相等时,输出比较模块置 1定时器通道的状态和控制寄存器的CHnF 位,并且在该通道的引脚上输出预先规定的电平。 如果输出比较中断允许,则还会产生一个硬件的定时中断。 对比使用延时得到所需输出电平的方法,使用输出比较的优势在于可以得到非常精确的输出时间间隔。 硬件的比较功能不受其他中断的影响,而且对用户程序没有额外的负担。 输出比较最简单和最常用的功能就是产生一定间隔的脉冲。 典型的应用实例就是实现软件的串行通信。 用输入捕捉作为数据输入,而用输出比较作为数据输出。 首先根据通信的波特率向输出比较寄存器写入延时的值,然后根据待传的数据位确定有效输出电平的高低。 在输出比较中断处理例程中,重新更改输出比较寄存器的值,并根据下一位数据改写有效输出电平控制位。 脉宽调制输出 脉宽调制波是一种可以使用程序来控制波形占空比、周期、相位的波形,它在三相电机的驱动及 D/A变换等场合有普遍的应用。 单片机的定时模块也提供了脉宽调制的机制。 脉宽调制的主要特征是可以调节输出信号的周期以及每个周期中高电平部分的比例(称为“占空比”)。 脉宽调制功能的实现需要结合定时器模块的预置溢出功能和输出比较功能。 定时器的每一个通道都可以设置为在溢出时自动翻转电平。 预置计数寄存器的值将决定脉宽调制波的周期。 当自由运行计数器的计数达到预置计数器的值时,该通道的输出将自动翻转。 因此两次溢出之间的时间就是脉宽调制 波的周期。 每一个通道的输出比较寄存器的值将决定脉宽调制波的占空比。 因为在发生输出比较时,输出电平将根据每一个通道的控制状态寄存器的 ELSnA和 ELSnB位的设置而发生改变。 这样在一次时钟溢出的周期内输出电平将发生两次翻转,而从发生时钟溢出到发生输出比较之间的时间就是脉宽调制波的占空比。 这种基本的脉宽调制方式也称为边界对齐的脉宽调制模式( Edge Aligned PWM Mode),其波形如图 82 所示。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。