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

📄 led09.c

📁 学林电子实验箱源码 完整板
💻 C
字号:
/*******************************************************************************

*  描述: C语言 范例 直接使用                                           *
*         LED数码管显示演示程序                                                *
*         在6个LED数码管上依次显 0123456789速度由快到慢   	               *
*                                                                              *
*                                                                              *
********************************************************************************
*     51测试网论坛例程 51测试网版权所有转载注明版权连接WWW.8951.COM            *
*******************************************************************************/


#include <reg51.h>
unsigned char intcounter;
  unsigned char intbcdcounter;
char idata bcd[10]={0x28,0x7e,0xa2,0x62,0x74,0x61,0x21,0x7a,0x20,0x60};
//int idata  timer();
void display(int n,char tempbcd);
int idata counter;
static int signb=0;
void delay(int fredelay);
int fredelay;
void ex0() interrupt 0 using 0
{ unsigned char tempint;

delay(100);
delay(250);
intbcdcounter++;
intcounter*=2;
if(intcounter==128)
  intcounter=2; 
tempint=intcounter;
P2=~tempint;
if(intbcdcounter>=10)
   intbcdcounter=0;
P0=bcd[intbcdcounter];
delay(250);
delay(250);
delay(250);
delay(250);
delay(250);
}
void main()
{ int counterb,tempdelay;
IE=0x81;
IP=0x1;
TCON=0X2;
intcounter=2;
intbcdcounter=0;
loopx:  for(fredelay=0;fredelay<256;fredelay+=10)
{
for(counter=0;counter<10;counter++)
  { for(counterb=0;counterb<6;counterb++)
    {
    display(counterb,counter);
    }
  }
  counter=0;
}

goto loopx;
}
void display(int n,char datanum)
{ int tempn;

unsigned char tempbcd;
  unsigned char posp1=2;
P2=0xff;

  tempbcd=bcd[datanum];
for(tempn=0;tempn<n;tempn++)
   {
     posp1*=2;
   }
P2=~posp1;
P0=tempbcd;
switch(signb)
{
  case 0: signb=1;
          INT1=1;
          break;
  case 1:  signb=0;
           INT1=0;
           break;
  default: INT1=1;
           signb=0;
}
  delay(fredelay);
}
void delay(int fredelay)
{
  unsigned char c1;
  unsigned char c2;
for(c1=0;c1<fredelay;c1++)
  { for(c2=0;c2<125;c2++)
     {;}
  }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -