又遇到问题了,关于PIC24FJ64GA004时钟震荡的问题

2019-03-25 18:44发布

PIC24FJ64GA004单片机时钟选择的改如何设置呢?我目前编写了个程序。用软件仿真SIM进行仿真延时函数        delay1s();延时的时间是160多ms.但是在proteus仿真软件上仿真的效果却是延时了3秒左右。LED亮3秒熄灭3秒左右循环。不知道哪里出了问题。老铁们帮忙看看。谢谢了。
附上程序和仿真图。
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
19条回答
dcexpert
2019-03-27 02:46
本帖最后由 dcexpert 于 2018-9-2 15:09 编辑
werjufour 发表于 2018-9-1 20:42
为什么我实际的效果跟我软件上面的延时不一样呢?

哪里不同了?

如果只是延时,先在程序中定义_XTAL_FREQ,它代表系统时钟频率

#ifndef _XTAL_FREQ
#define _XTAL_FREQ       4000000L
#endif

然后用 __delay_ms() 或者 __delay_us() 就可以进行延时了。注意前面是两个下划线,不要写错了。
如果延时效果不同,说明时钟设置或者默认配置字不对,请参考手册设置。为了保证效果,可以将配置字写在程序中,而不是通过编程器设置(不同的PIC单片机配置字是不同的)。如:

#pragma config FOSC = INTOSC    // Oscillator Selection bits (INTOSC oscillator: CLKIN function disabled)


一周热门 更多>