如果你的单片机只做AD采集转换,那就不需要太高的频率,内部4Mhz振荡器即可。
但如果还要做其他对时序要求较严的工作比如说总线通信,那就要考虑使用外部振荡器,因为内部振荡器的误差太大(即使校准了还有1%的误差) ,而用多大的晶振要看工作要求,频率越高单片机功耗越大。但只做AD的话,4M够了。
36、大家好。我想问个pic单片机的问题:晶振频率不一样。编译器自己带的库延时函数延时一样吗?比如晶振20MHZ delayus(1)和5MHZ delayus(1)是同是1us吗?
答: 应该一样.
因为频率不一样,编译时候你的设置不一样,编译时候自然计算需要的倍数,参数就不一样了.
但可能因为频率除不尽的缘故,有一点点差异
37、单片机外接24M的晶振,1ms的基准延时函数用C语言怎么写?
答:定时器T0 工作方式1 晶振频率24MHz
定时器最大定时时间(us):32768
定时器最小定时时间(us):0.5
【1ms精确定时C51代码】
void T0_init(void) //定时器初始化
{
TMOD |= 0x01;
TH0 = 0xf8; //设置定时器计数初值,定时1000us
TL0 = 0x33;
IE |= 0x82; //打开总中断
TR0 = 1; //启动定时器
}
void T0_intservice(void) interrupt 1 //定时器中断服务
{
TH0 = 0xf8; //重装载定时器计数初值