dsPIC33学习入门--转自嘉立创社区
dsPIC33F系列的单片机可以通过外置晶振工作,也可以通过内置晶振工作,但这没有什么,一般的单片机都可以.
dsPIC33F系列单片机牛在哪里,那就是它内部自带锁相环PLL,可以通过倍频将输入的时钟信号频率大幅度提升.
源程序1,通过外置晶振供给单片机工作
#include <p33FJ128MC804.h>
//外部晶振振荡器7.3728MHz
_FOSCSEL(FNOSC_PRIPLL & IESO_ON)
_FOSC(FCKSM_CSDCMD & IOL1WAY_OFF & OSCIOFNC_ON & POSCMD_XT)
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(500);
}
}
void initial_mcu_memory()//主存初始化
{
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++)
{
;
}
}
}
更多咨询请点击嘉立创网站http://www.sz-jlc.tv