买了本《嵌入式系统——使用 HCS12微控制器的设计与应用》这本书,看了觉得帮助不大
因为里面有些东西讲得不够详细,并且这本书不是针对 XS128来写的
网上也有一些网友写的资料,那都只是针对某一方面的
我觉得最好的资料还是英文版的说明文档,里面好多东西都讲得很详细,虽然看起来有点费劲,但那里值得的
接下来就自己的学习经历
TIM 中的功能比较多,有输入捕捉、输出比较,还有脉冲累加器
这里主要记一下输入捕捉和输出比较
输入捕捉这个功能很有用,他不仅可以捕捉外界事件的发生(这个功能和51中的外部中断差不多),还可以捕捉外界事件发生的时间
捕捉外界时间这个功能可以运用到驱动超声波测距中去
IOC0~IOC7是输入捕捉\输出比较的外部针脚
当 IOSx=0时(IOSx=1时为输出比较),则将相应的通道配置为输入捕捉了
当输入捕捉检测到有上升沿或下降沿时,就会把那时寄存器的值锁存到 TCx 中,这样就可以通过查询 TCx 来确定事件发生的时间了
如果输入捕捉控制寄存器 TIE(CxI=1)中允许输入捕捉中断,则捕捉到事件时,系统会产生一次中断
接下来依次说明一下相关的寄存器设置: TSCR1: TEN 是定时器允许位
TEN=1时,允许定时器工作,TEN=0时,禁止定时器工作
其余不常用,设为0即可
TSCR2: TOI 是定时器溢出中断允许位
这个在输入捕捉中没用到,设为0即可
TCRE 是定时器计数寄存器复位允许位
用在输出比较中,允许输出比较寄存器7的事件来复位定时器计数寄存器
这里设为0即可
PR2~PR0是定时器分频因子选择位
不同的组合可以设定不同的定时器时钟: TIOS 是输入捕捉和输出比较选择寄存器,在这里设定IOC0~IOC7是用于输入捕捉还是用于输出比较
里面的8位对应着IOC0~IOC7八个通道,相应位位1,则设为输出比较
相应位设为0,则为输