⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 渐明渐暗彩灯.c

📁 单片机入门制作专题_配套光盘 [1]
💻 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 + -