最新51单片机花样呼吸灯程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
#include
/*-----------定义单片机引脚--*/
sbit LED0=P1^0;
sbit LED1=P1^1;
sbit LED2=P1^2;
sbit LED3=P1^3;
sbit LED4=P1^4;
sbit LED5=P1^5;
sbit LED6=P1^6;
sbit LED7=P1^7;
void Delay(unsigned int t); //函数声明
unsigned int z,y;
void main (void)//主函数
{
unsigned int CYCLE=1000,PWM_LOW=0;//定义周期并赋值
while (1) //主循环
{
/*--------整排LED灯呼吸---------*/
P1=0x00;
Delay(1000); //加延时,可以看到熄灭的过程(下面程序同理)
for(PWM_LOW=1;PWM_LOW { P1=0x00; Delay(PWM_LOW); P1=0xff; Delay(CYCLE-PWM_LOW); } P1=0xff; for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--) //与逐渐变亮相反的过程 { P1=0x00; //点亮LED Delay(PWM_LOW); P1=0xff; //熄灭LED Delay(CYCLE-PWM_LOW); //主循环中添加其他需要一直工作的程序,延时长度,600次循环中从599减至1 } /*--------第一颗LED灯呼吸---------*/ /* LED0=1; Delay(1000); for(PWM_LOW=1;PWM_LOW { LED0=0; Delay(PWM_LOW); LED0=1; Delay(CYCLE-PWM_LOW); } LED0=0; for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--) { LED0=0; Delay(PWM_LOW); LED0=1; Delay(CYCLE-PWM_LOW); } /*--------第二颗LED灯呼吸----------*/ /* LED1=1; Delay(500); for(PWM_LOW=1;PWM_LOW { LED1=0; Delay(PWM_LOW); LED1=1; Delay(CYCLE-PWM_LOW); } LED1=0; for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--) { LED1=0; Delay(PWM_LOW); LED1=1; Delay(CYCLE-PWM_LOW); } /*--------第三颗LED灯呼吸----------*/ /* LED2=1; Delay(500); for(PWM_LOW=1;PWM_LOW { LED2=0; Delay(PWM_LOW); LED2=1; Delay(CYCLE-PWM_LOW); } LED2=0; for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--) { LED2=0; Delay(PWM_LOW); LED2=1; Delay(CYCLE-PWM_LOW); } /*--------第四颗LED灯呼吸----------*/ /* LED3=1; Delay(500); for(PWM_LOW=1;PWM_LOW { LED3=0; Delay(PWM_LOW); LED3=1; Delay(CYCLE-PWM_LOW); } LED3=0; for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--) { LED3=0; Delay(PWM_LOW); LED3=1; Delay(CYCLE-PWM_LOW); } /*--------第五颗LED灯呼吸----------*/ /* LED4=1; Delay(500); for(PWM_LOW=1;PWM_LOW { LED4=0; Delay(PWM_LOW); LED4=1; Delay(CYCLE-PWM_LOW); } LED4=0; for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--) { LED4=0; Delay(PWM_LOW); LED4=1; Delay(CYCLE-PWM_LOW); } /*--------第六颗LED灯呼吸----------*/ /* LED5=1; Delay(500); for(PWM_LOW=1;PWM_LOW { LED5=0;