lattice led.c

来自「这是我自己做的一个用16×16的点阵灯来显示字的程序」· C语言 代码 · 共 153 行

C
153
字号
#include "AT89X52.H"
#define uchar unsigned char
#define uint  unsigned int
#define part  P0
#define part1  P1
#define part3  P3

int code zhou[32]= {0x08,0x04,0x09,0x0C,0xFF,0x90,0x08,0x20,0x7F,0x40,0x00,0x04,0x7F,0x0C,0x41,0x10,
0x41,0x20,0x7F,0x42,0x00,0x06,0x22,0x08,0x14,0x10,0x0F,0x20,0xF0,0x40,0x40,0x80 };

int code jun[32]={0x01,0x00,0x11,0x00,0x11,0x00,0x11,0x00,0x3F,0xFC,0x21,0x00,0x41,0x00,0x41,0x00,
0x81,0x00,0x3F,0xF8,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00};

int code ai[32]={0x00,0x00,0x1F,0xF0,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,
0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x1F,0xF0,0x00,0x00,0x00,0x00};

int code jia[32]={0x10,0x80,0x10,0x80,0x10,0x80,0x10,0x88,0x5B,0xFC,0x54,0x88,0x54,0x88,0x90,0x88,
0x10,0x88,0x1F,0xFE,0x10,0x80,0x11,0x40,0x11,0x20,0x12,0x10,0x14,0x08,0x18,0x04};

int code you[32]={0x00,0x20,0x00,0xF0,0x1F,0x00,0x10,0x00,0x11,0x00,0x11,0x00,0x21,0x04,0x7F,0xFE,
0x01,0x00,0x01,0x00,0x09,0x20,0x09,0x10,0x11,0x08,0x21,0x0C,0x45,0x04,0x02,0x00};

 void delay(uint delay)   //延时
{
uint i;
for(;delay>0;delay--)
{
  for(i=0;i<124;i++)
  {;}
 }
}


void diyi()    //第一个字
{
 int i,k,h,j;
 j=h=0xd0;
 for(k=0;k<16;k++)
 {
 j=h;
 for(i=0;i<32;i++)
 {
  part=j;
  part1=zhou[i];
  part3=zhou[++i];
  delay(1);
  j++;
} 
h++;
delay(50);
}
 }

void dier()      //第二个字
{
 int i,k,h,j;
 j=h=0xd0;
 for(k=0;k<16;k++)
 {
 j=h;
 for(i=0;i<32;i++)
 {
  part=j;
  part1=jun[i];
  part3=jun[++i];
  delay(1);
  j++;

 }
 h++;
 delay(50);
} 
 }



 void disan()      //第三个字
{
 int i,k,h,j;
 j=h=0xd0;
 for(k=0;k<16;k++)
 {
 j=h;
 for(i=0;i<32;i++)
 {
  part=j;
  part1=ai[i];
  part3=ai[++i];
  delay(1);
  j++;

 }
 h++;
 delay(50);
} 
 }

 void disi()      //第四个字
{
 int i,k,h,j;
 j=h=0xd0;
 for(k=0;k<16;k++)
 {
 j=h;
 for(i=0;i<32;i++)
 {
  part=j;
  part1=jia[i];
  part3=jia[++i];
  delay(1);
  j++;

 }
 h++;
 delay(50);
} 
 }


void diwu()    //第五个字
{
 int i,k,h,j;
 j=h=0xd0;
 for(k=0;k<16;k++)
 {
 j=h;
 for(i=0;i<32;i++)
 {
  part=j;
  part1=you[i];
  part3=you[++i];
  delay(1);
  j++;
} 
h++;
delay(50);
}
 }
void main()
{
 while(1)
 {
 //diyi();
 dier();
 disan();
 disi();
 diwu();


 }
 
 
}

⌨️ 快捷键说明

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