学习dsPIC33FJ16MC102单片机
点亮一个LED小灯
RB9为LED灯,通入低电平LED就会亮。
程序如下:
/*
file:点亮EV6210F驱动板上的LED灯
姓名:江涛
*/
#include <p33FJ16MC102.h>
_CONFIG2(FNOSC_FRCPLL & OSCIOFNC_OFF & FCKSM_CSECMD & POSCMOD_NONE);
/*带PLL模块的快速RC荡器,OSC2为时钟输出,使能时钟切换,静止故障保护时钟监视器,禁止主振荡器*/
_CONFIG1(FWDTEN_OFF & GWRP_OFF & GCP_OFF);
/*禁止看门狗,禁止代码保护*/
void main()
{
unsigned long i; //定义一个长整形变量i
CLKDIV = 0x0300;
_LATB9 = 0; //清零RB9位
_TRISB9 = 0; //RB9位设置位输出
while(1)
{
_RB9 = 0; //RB9位置低电平
for(i=0; i<300000; i++); //延时函数
_RB9 = 1; //RB9位置高电平
for(i=0 ;i<300000; i++); //延时函数
}
}
FNOSC_FRCPLL
CLKDIV处理时钟分频比寄存器
FRCDIV<2:0>内部快速RC振荡器后分频比位
从1分频到8分频LED闪烁间隔增加,到16分频时不闪烁了,
不知道是为什么。
|