PIC16F877A LED閃爍
知識重點:
#define Setbit(y,x) y|=(1<<(x)) //setb(p1,2); p12=1;
#define Clrbit(y,x) y&=~(1<<(x)) //clrb(p1,2); p12=0;
#define Getbit(y,x) (0x01&(y>>(x))) //獲取某一位值
*****************************/
#include
#include "../head/config.h" //包含自己的配置頭文件
__CONFIG(HS&WDTDIS&LVPDIS&PWRTEN);//設(shè)置熔絲位
//HS振蕩,禁止看門狗,低壓編程關(guān)閉,啟動延時定時器
void Delay(uint16 dly) //延時函數(shù)
{
uint16 i;
for(; dly > 0; dly--)
{
for(i = 0; i < 500; i++);
}
}
void main(void)
{
PORTD = 0xff;//PD口輸出全1
TRISD = 0x00;//設(shè)置方向寄存器為輸出
while(1)
{
Clrbit(PORTD,0);//PD0清零,點亮LED
Delay(100);
Setbit(PORTD,0);//PD0置一,熄滅LED
Delay(100);
}
}