本帖最后由 Rain_King 于 2013-10-9 16:48 编辑
1 、我使用的单片机是pic16f883,晶振是16M,我的配置为设置的是HS 振荡模式,并且禁止内外时钟切换模式。现在的问题是:我使用定时器0,预分频比是16,初始值是0x08,根据计算250*16*4*1/16=1ms的,可是我用示波器测试的时候,发现是4ms。足足把晶振降低了4倍,这导致我原先设置的PWM是36K,也只有9K。
2、我进一步测试,把外部晶振去掉,单片机依然在工作,然后我修改OSCCON寄存器里面的IRCF(内部晶振),发现和示波器测试的时间吻合,这说明单片机的FOSC一直是使用的内部晶振,可是我设置的配置位是HS 振荡模式,并且禁止内外时钟切换模式,应该使用的是外部晶振啊。。。。现在就是想如何解释这个情况,是我哪里忽略了吗,还是什么没有设置好..... |