直接测量微控制器总线时钟的程序
飞思卡尔(Freescale)公司的HC08与最新HCS08微控制器系列都是多功能的外设模块。它们使用的时钟发生器也没有特殊之处,可以是内部时钟(省出了I/O脚),也可以是外接晶体或振荡器。一旦选定了时钟源,就有多种选择控制最终的总线频率。例如,为MC9S08GB微控制器连接一个32768Hz晶体就可以使用FLL(锁频环)生成高达18.874MHz的多个总线频率。选择时钟源、分频器和FLL设置固然能实现多功能性,但也带来了复杂性。
一旦编写完总线时钟初始化例程,可能希望先验证一下总线是否确实以期望的速度运行,然后再进入项目的其它部分。本设计实例的例程,可在任何I/O端口输出一个精确等于1/10总线速度的方波(表1与表2)。只要在这个端口连接一台频率计数器,就可以显示出总线频率。所要做的只是将小数点向右移动一位。一旦验证了总线速度,就能很有信心地去编写定时器、串行I/O和其它依赖于时钟的例程了。
需要编写的代码只是先禁止中断和禁止COP(公共片上处理器)。在总线时钟初始化例程中,要确保将准备使用的I/O端口初始化为输出。然后,直接跳转到触发时钟,它会一直输出除10后的总 线频率,直到断电为止。本设计实例使用了HC08版的PB0端口(表1)和HCS08版的PD0端口(表2)。可以使用任何一个可用的I/O端口,只要修改设定端口的第一行代码,以及选择一个位的第二行代码。另外,本设计实例用老的PB标识作端口命名,而不是今天更流行的PTB。
接地电阻相关文章:接地电阻测试方法
评论