用PIC10F200单片机进行计时时,发现预分频器1:256时的定时比1:1的定时还短,很疑惑:
#include<pic.h>
unsigned int g_ACC=0; // ACC是累加器Accumulator缩写
unsigned char g_MS10CNT=0; // 记录累计10毫秒的次数
unsigned int g_Minute=0,g_Second=0;
unsigned int tt=0;
void main(void)
{
unsigned char i;
TRIS = 0x00; //GP2,GP0,GP1设置为输出
GPIO = 0xff; //IO口输出为低电平
OSCCAL = 0x00; //校准值
OPTION = 0x80; //预分频器给定时器,1:1???????(如果OPTION = 0x87; 预分频期为1:256,GP0反而变化快了)
TMR0=0; // Timer0计数值寄存器清零
while(1)
{
if(TMR0==255) // 说明定时时间到了
{
GP0=!GP0;
}//if(TMR0==255)
}//while
}//main
一周热门 更多>