本帖最后由 suicune66 于 2016-3-28 18:47 编辑
#include <p24F04KA201.h>
_FOSCSEL(FNOSC_FRCDIV_PLL&IESO_OFF)
_FOSC(FCKSM_CSDCMD&POSCFREQ_8MHZ&OSCIOFNC_OFF&POSCMOD_NONE&IOL1WAY_ON)
_FPOR(MCLRE_OFF&BORV_ZERO_POWER&PWRTEN_OFF&BOREN_BOR0&AI2C1SEL_SEC)
_FICD(BKBUG_OFF&COE_OFF&ICS_PGx1)
_FWDT(FWDTEN_OFF&WINDIS_OFF&FWPSA_PR32&WDTPS_PS1)
void delay_130us()
{
unsigned int m;
for(m=0;m<78;m++);
}
void init_IO()
{
OSCCON = 0x1122;
CLKDIV = 0x0000;
OSCTUN = 0x001f;
TRISBbits.TRISB0 = 0;
LATBbits.LATB0 = 0;
}
int main (void)
{
init_IO();
while (1)
{
LATBbits.LATB0=~LATBbits.LATB0;
delay_130us();
}
return 0;
}
这是我写的测试程序,但是不管是选择FRC还是带PLL的FRC,其proteus输出波形如图所示,delay函数一直是这样占2个格子,按理说PLL使能前后频率变化了4倍,应该会发生变化吧,另外他说能N分频,我改了寄存器依然是这个波形,但是换了振荡器换成其他的能N分频的,改了就可以,怪纳闷的,特此前来求助
|