?? led1.c
字號:
/******************************************************
// 制作人:carry 時間:2007-06-10 18:09
// 文件名:LED1.C
// 配合實驗板,單片機為16F877
// PORTD所接的8個LED,其變化方式:
// 由左至右點亮,全亮后再由左至右熄滅
// 接著由右至左點亮,全亮后再由右至左熄滅
******************************************************/
#include <pic.h>
__CONFIG(XT&UNPROTECT&PWRTEN&BORDIS&WDTDIS&LVPDIS);
void mDelay(int Dat) //延時子程序
{
volatile char j;
for (;Dat>0;--Dat)
for (j=255;j>0;--j);
}
int main()
{
volatile char i; //字符型變量 i
TRISD=0;
PORTD=0; //設定LED輸出全暗
for(;;)
{
for(i=0 ; i<8 ; i++){ //由左至右漸亮
PORTD >>= 1; //輸出右移一位
PORTD |= 0x80; //輸出與 0x80 做 or 運算,使輸出由左至右漸亮
mDelay(100); //延時
}
for(i=0 ; i<8 ; i++){ //由左至右漸暗
PORTD >>= 1; //輸出右移一位,使輸出由左至右漸暗
mDelay(100); //延時
}
for(i=0 ; i<8 ; i++){ //由右至左漸亮
PORTD <<= 1; //輸出左移一位
PORTD |= 0x01; //輸出與 0x01 做 or 運算,使輸出由右至左漸亮
mDelay(100); //延時
}
for(i=0 ; i<8 ; i++){ //由右至左漸暗
PORTD <<= 1; //輸出左移一位,使輸出由右至左漸暗
mDelay(100); //延時
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -