单片机LED闪烁程序单片机LED闪烁程序
#include"reg51.h"
unsigned char
LedSeg[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67};
sbit K4=P1^3;
sbit K3=P1^2;
sbit K2=P1^1;
sbit K1=P1^0;
Delay(long DelayTime)
{
long cnt;
for(cnt = 0;cnt < DelayTime*50;cnt++);
}
void main...
单片机LED闪烁程序
#include"reg51.h"
unsigned char
LedSeg[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67};
sbit K4=P1^3;
sbit K3=P1^2;
sbit K2=P1^1;
sbit K1=P1^0;
Delay(long DelayTime)
{
long cnt;
for(cnt = 0;cnt < DelayTime*50;cnt++);
}
void main()
{
unsigned char LED0,LED1,LED2,LED3,FlashFlash,FlashBit;
bit Flash=0;
unsigned int Cnt;
unsigned char
ChgFlag,Sec=5,Min=2,Hour=17,Day=0,Year=0,Mouth=0;
/* while(1)
{//ÏÔÊ???×?
switch(++Cnt%4)
{
case 0:
P0=0x02;
P2=LedSeg[LED0];
break;
case 1:
P0=0x04;
P2=LedSeg[LED1];
break;
case 2:
P0=0x08;
P2=LedSeg[LED2];
break;
case 3:
P0=0x10;
P2=LedSeg[LED3];
break;
}*/
while(1)
{
switch(Cnt%4)
{
case 0:
P0=0x02;
if(Flash==0&&FlashFlash==0)//?ªÊ?ÉÁË?
{
if(Cnt<250)
P2=LedSeg[LED0];
else
P2=0x00;
}
else //??ÉÁË?
P2=LedSeg[LED0];
break;
case 1:
P0=0x04;
if( Flash==0&&FlashFlash==1)//?ªÊ?ÉÁË?
{
if(Cnt<250)
P2=LedSeg[LED1];
else
P2=0x02;
}
else //??ÉÁË?
P2=LedSeg[LED1];
break;
case 2:P0=0x08;
if(Flash==0&&FlashFlash==2)//?ªÊ?ÉÁË?
{
if(Cnt<250)
P2=LedSeg[LED2];
else
P2=0x02;
}
else //??ÉÁ
P2=LedSeg[LED2];
break;
case 3: P0=0x10;
if(Flash==0&&FlashFlash==3)//?ªÊ?ÉÁË?
{
if(Cnt<250)
P2=LedSeg[LED3];
else
P2=0x02;
}
else //??ÉÁ
P2=LedSeg[LED3];
break;
case 4: P0=0x01;
P2=LedSeg[ChgFlag];
break;
}
Delay(1);
if(Cnt>500)
Cnt=0;
//?ÆÊ???×?
if(Cnt>500)
{
Cnt=0;
Sec++;
if(Sec>59)
{
Sec=0;
Min++;
}
if(Min>59)
{
Min=0;
Hour++;
}
if(Hour>23)
{
Hour=0;
Day++;
}
switch(Mouth)
{
case 1:
if(Day>30)
{
Day=0;
Mouth++;
}
break;
case 3:
if(Day>30)
{
Day=0;
Mouth++;
}
break;
case 5:
if(Day>30)
{
Day=0;
Mouth++;
}
break;
case 7:
if(Day>30)
{
Day=0;
Mouth++;
}
break;
case 8:
if(Day>30)
{
Day=0;
Mouth++;
}
break;
case 10:
if(Day>30)
{
Day=0;
Mouth++;
}
break;
case 12:
if(Day>30)
{
Day=0;
Mouth++;
}
break;
case 4:
if(Day>29)
{
Day=0;
Mouth++;
}
break;
case 6:
if(Day>29)
{
Day=0;
Mouth++;
}
break;
case 9:
if(Day>29)
{
Day=0;
Mouth++;
}
break;
case 11:
if(Day>29)
{
Day=0;
Mouth++;
}
break;
case 2:
if(Year%4)
{
if(Day>28)
{
Day=0;
Mouth++;
}
}
else
{
if(Day>27)
{
Day=0;
Mouth++;
}
}
break;
}
if(Mouth>23)
{
Mouth=0;
Year++;
}
}
//Êý?Ýת??
if(Flash==0)
{
switch(ChgFlag)
{
case 0:
LED0=Sec%10;
LED1=Sec/10;
LED2=Min%10;
LED3=Min/10;
break;
case 1:
LED0=Hour%10;
LED1=Hour/10;
LED2=Day%10;
LED3=Day/10;
break;
case 2:
LED0=Mouth%10;
LED1=Mouth/10;
LED2=Year%10;
LED3=Year/10;
break;
}
}
// ?ØÖÆ?óÊýÂë?Ü
if(K4==0)
{ Flash=0;
Delay(50);
while(K4==0);
ChgFlag++;
if(ChgFlag>2) ChgFlag=0;
}
if(K3==0)//ÉÁË?Î?µ?Õû flashbit ÉÁË?Î?
{
Flash=1;
Delay(50);
while(K3==0);
// LED[FlashBit]++;//0~3
// MaxFlashBit
// if(LED[FlashBit]>MaxFlashBit) LED[FlashBit]=0;
while(Flash==0)
{
switch(FlashBit%4)
{
case 0:
if(ChgFlag==0)
{
if(LED0>9) LED0=0;
LED0++;
}
if(ChgFlag==1)
{
if(LED0>4) LED0=0;
LED0++;
}
if(ChgFlag==2)
{
if(LED0>2) LED0=0;
LED0++;
}
break;
case 1:
if(ChgFlag==0)
{
if(LED1>6) LED1=0;
LED1++;
}
if(ChgFlag==1)
{
if(LED1>2) LED1=0;
LED1++;
}
if(ChgFlag==2)
{
if(LED1>1) LED1=0;
LED1++;
}
break;
case 2:
if(ChgFlag==0)
{
if(LED2>9) LED2=0;
LED2++;
}
if(ChgFlag==1)
{
if(LED2>9) LED2=0;
LED2++;
}
if(ChgFlag==2)
{
if(LED2>9) LED2=0;
LED2++;
}
break;
case 3:
if(ChgFlag==0)
{
if(LED3>6) LED3=0;
LED3++;
}
if(ChgFlag==1)
{
if(LED3>3) LED3=0;//ÓÐÕùÒé
LED3++;
}
if(ChgFlag==2)
{
if(LED3>9) LED3=0;
LED3++;
}
break;
}
while(K4==0);
Flash=0;
}
}
if(K1==0)//flashµÈÓÚ0?ªÊ?ÉÁË? ÉÁË?µÄÌøÈëºÍÌø?ö
{ Flash=0,FlashFlash=0;
Delay(50);
if(K2==0) //ÉÁË?ÒÆ?? flashflash ÉÁË?Î?ÒÆ???ØÖÆ
{
Delay(50);
while(K2==0);
if(FlashFlash>3) FlashFlash=0;
FlashFlash++;
}
while(K1==0);
Flash =~Flash;
}
}
}
本文档为【单片机LED闪烁程序】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。