dsPIC33F系列入门(3)--转自嘉立创社区 www.sz-jlc.tv
第一是如何配置dsPIC33F系列单片机的内部时钟源
源代码
#include <p33FJ128MC804.h>
//内部振荡器7.3728MHz
//FCY=FOSC/2
//FOSC=FIN*(M/(N1*N2))
//FIN=7.3728M,M=32,N1=4,N2=8
//FOSC=7.3728M,FCY=3.68M
_FOSCSEL(FNOSC_FRCPLL & IESO_OFF)
_FOSC(FCKSM_CSDCMD & IOL1WAY_OFF & OSCIOFNC_OFF & POSCMD_NONE)
typedef unsigned int uint;//长度为0-65535
typedef unsigned char uchar;//长度为0-255
typedef unsigned long ulong;
void initial_mcu_memory();//主存初始化
void initial_peripheral();//常规外设初始化
void delay_short(uint ui_delay_short);//短延时
void delay_long(uint ui_delay_long);//长延时
int main()
{
initial_mcu_memory();//主存初始化
delay_long(10);//延时,等待常规外设供电稳定
initial_peripheral();//常规外设初始化
while(1)
{
PORTCbits.RC6=~PORTCbits.RC6;
PORTCbits.RC7=~PORTCbits.RC7;
delay_long(100);
}
}
void initial_mcu_memory()//主存初始化
{
OSCCONbits.COSC=1;//带PLL的快速RC振荡器
OSCCONbits.LPOSCEN=0;//禁止辅助振荡器
CLKDIVbits.PLLPRE=2;//N1=4,PLL相位检测器输入分频比
CLKDIVbits.PLLPOST=3;//N2=8,PLL后分频比
CLKDIVbits.FRCDIV=0;//内部快速RC振荡器后分频比,1分频
CLKDIVbits.DOZE=3;//FCY分频比,8分频
//PLLFBDbits.PLLDIV=8;//M=8,PLL倍频比,8倍频
//PLLFBDbits.PLLDIV=32;//M=32,PLL倍频比,32倍频
//PLLFBDbits.PLLDIV=64;//M=64,PLL倍频比,64倍频
PLLFBDbits.PLLDIV=128;//M=128,PLL倍频比,128倍频
//PLLFBDbits.PLLDIV=256;//M=256,PLL倍频比,256倍频
//PLLFBDbits.PLLDIV=512;//M=512,PLL倍频比,512倍频
OSCTUNbits.TUN=0;//FRC振荡器调节位,标称值7.37M
TRISCbits.TRISC6=0;//RC6配置输出
TRISCbits.TRISC7=0;//RC7配置输出
}
void initial_peripheral()//常规外设初始化,暂时无
{
;
}
void delay_short(uint ui_delay_short)
{
uint i;
for(i=0;i<ui_delay_short;i++)
{
;
}
}
void delay_long(uint ui_delay_long)//长延时
{
uint i;
uint j;
for(i=0;i<ui_delay_long;i++)
{
for(j=0;j<500;j++)
{
;
}
}
}
更多咨询请点击嘉立创社区网站