#include
__CONFIG(0x33f4);
//看門狗關(guān),復(fù)位腳做復(fù)位,內(nèi)部RC振蕩,RA4/RA5做I/O
//------------------------------------
//延時函數(shù)
voiddelay()
{
inti;//定義循環(huán)變量
for(i=5000;i>0;i--)//循環(huán)次數(shù)控制
{
NOP();//消耗一個指令周期時間
NOP();
}
}
//------------------------------------
//初始化函數(shù)
voidinit()
{
TRISA=0X00;//設(shè)置A口為輸出
TRISC=0X00;//設(shè)置C口為輸出
TRISB=0X00;
}
//------------------------------------
//亮燈函數(shù)
voidLED()
{
chari;//設(shè)置循環(huán)變量
while(1)
{
PORTA=1;//點亮RA0
for(i=3;i>0;i--)//循環(huán)次數(shù)(RA0-RA2)
{
delay();
delay();
delay();//調(diào)用3次延時函數(shù)
PORTA=PORTA<<1;//點亮下一位LED
}
PORTA=0X10;//點亮RA4
for(i=2;i>0;i--)//循環(huán)2次(RA4-RA5)
{
delay();
delay();
delay();
PORTA=PORTA<<1;
}
PORTA=0;//清除A口的所有顯示
PORTB=0X10;//點亮RC0
for(i=4;i>0;i--)//循環(huán)6次(RB0-RB5)
{
delay();
delay();
delay();
PORTB=PORTB<<1;
}
PORTB=0x40;//清除所有RB口的顯示
PORTC=1;//點亮RC0
for(i=8;i>0;i--)//循環(huán)6次(RB0-RB5)
{
delay();
delay();
delay();
PORTC=PORTC<<1;
}
PORTC=0;//清除所有RB口的顯示
}
}
//--------------------------------------
//主函數(shù)
voidmain()
{
init();//調(diào)用初始化函數(shù)
led();//調(diào)用亮燈函數(shù)
}