📄 渐明渐暗彩灯.c
字号:
/*************************************************************
* 程序名 * 渐明渐暗彩灯
* 编写人 * 杜 洋
* 日 期 * 2007-8-25
* 日 志 * 2007-8-25 开始编写
/*************************************************************/
/*************************************************************
* 头文件定义 *
/*************************************************************/
#include <AT89X52.h>
/*************************************************************
* IO定义 *
/*************************************************************/
sbit LED = P1 ^ 0; //定义P1.0为LED控制口,低电平使能
/*************************************************************
* 毫秒级延时函数 *
/*************************************************************/
void delay (unsigned int d){ //延时功能函数,由d决定延时长度
unsigned char i;
while( --d != 0){
for(i = 0; i < 2; i++);
}
}
/*************************************************************
* 主函数 *
实验板上连接到P1.0上的LED逐渐点亮再逐渐熄灭
/*************************************************************/
void main (void){
unsigned char a, b;//a控制延时长度 b控制循环周期
while (1){
LED = 1;
a = 0x00;
for (b=250; b>0; b--){
a++;
delay (a); //延时长度随a而改变
LED = 0;
a = ~a; //a值取反,决定灯灭时的占空比
delay (a);
LED = 1;
a = ~a; //a值取反 使a回到原值继续循环
}
LED = 0; //亮起LED
a = 0x00;
for (b=250; b>0; b--){
a++;
delay (a);
LED = 1;
a = ~a;
delay (a);
LED = 0;
a = ~a;
}
LED = 1;
}
}
/*************************************************************
* DoYoung.net 电子技术 -- 创造独立资源 * www.doyoung.net *
/*************************************************************/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -