📄 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 + -