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

📄 shuzi.c

📁 mega16做处理芯片
💻 C
字号:
#include<iom16v.h>
#include<macros.h>

#define uint unsigned int
#define uchar unsigned char

#define SetCK PORTA|=(1<<PA5)
#define ClrCK PORTA&=~(1<<PA5)

#define SetST PORTA|=(1<<PA4)
#define ClrST PORTA&=~(1<<PA4)

#define SetOE PORTD|=(1<<PD0)
#define ClrOE PORTD&=~(1<<PD0)

#define SetR1 PORTA|=(1<<PA6)
#define ClrR1 PORTA&=~(1<<PA6)

#define SetR2 PORTA|=(1<<PA7)
#define ClrR2 PORTA&=~(1<<PA7)

const shuzi[10][64]=
{//0
 {0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,
  0x00,0x00, 0x00,0x00,0x01,0xC0, 0x06,0x10,
  0x0C,0x08, 0x08,0x08,0x18,0x0C, 0x10,0x04,
  0x10,0x04, 0x10,0x04,0x30,0x06, 0x30,0x06,
  0x30,0x06, 0x30,0x06,0x30,0x06, 0x10,0x04,
  0x10,0x04, 0x10,0x04,0x18,0x0C, 0x08,0x08,
  0x0C,0x08, 0x06,0x10,0x01,0xC0, 0x00,0x00,
  0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00
 },
 //1
 {0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,
  0x00,0x00, 0x00,0x00,0x00,0x80, 0x01,0x80,
  0x1F,0x80, 0x01,0x80,0x01,0x80, 0x01,0x80,
  0x01,0x80, 0x01,0x80,0x01,0x80, 0x01,0x80,
  0x01,0x80, 0x01,0x80,0x01,0x80, 0x01,0x80,
  0x01,0x80, 0x01,0x80,0x01,0x80, 0x01,0x80,
  0x01,0x80, 0x01,0x80,0x1F,0xF8, 0x00,0x00,
  0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00
 },
 //2
 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x00,0x30,
  0x00,0x18,0x00,0x08,0x20,0x0C,0x30,0x0C,0x10,0x0C,0x00,0x08,0x00,0x18,0x00,0x10,
  0x00,0x20,0x00,0x40,0x00,0x80,0x01,0x00,0x02,0x00,0x04,0x04,0x00,0x00,0x00,0x00,
  0x00,0x08,0x3F,0xF8,0x3F,0xF8,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 },
 //3
 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x80,0x00,0x20,
  0x00,0x30,0x20,0x18,0x30,0x18,0x10,0x18,0x00,0x10,0x00,0x30,0x00,0x40,0x03,0xC0,
  0x00,0x20,0x00,0x10,0x00,0x08,0x00,0x08,0x00,0x0C,0x00,0x0C,0x30,0x0C,0x20,0x08,
  0x00,0x18,0x00,0x30,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 },
 //4
 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x20,
  0x00,0x60,0x00,0xA0,0x00,0x20,0x00,0x20,0x02,0x20,0x00,0x20,0x04,0x20,0x08,0x20,
  0x00,0x20,0x10,0x20,0x00,0x20,0x00,0x20,0x60,0x70,0x00,0x20,0x00,0x20,0x00,0x20,
  0x00,0x20,0x00,0x20,0x00,0x70,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 },
 //5
 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0xFC,0x0F,0xF8,
  0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0xC0,0x00,0x30,0x10,0x18,
  0x00,0x08,0x00,0x08,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x10,0x0C,0x30,0x08,0x20,0x08,
  0x00,0x18,0x00,0x30,0x03,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 },
 //6
 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x02,0x08,
  0x04,0x0C,0x08,0x0C,0x08,0x00,0x10,0x00,0x10,0x00,0x10,0x00,0x11,0xE0,0x34,0x18,
  0x30,0x0C,0x30,0x04,0x30,0x06,0x30,0x06,0x10,0x06,0x10,0x06,0x10,0x04,0x18,0x04,
  0x08,0x0C,0x04,0x18,0x01,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 },
 //7
 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0xFC,0x1F,0xF8,
  0x10,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x01,0x00,0x03,0x00,
  0x03,0x00,0x03,0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 },
 //8
 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0xC0,0x08,0x10,
  0x10,0x08,0x30,0x0C,0x30,0x0C,0x30,0x0C,0x10,0x08,0x18,0x08,0x0E,0x10,0x07,0xC0,
  0x05,0xE0,0x10,0x70,0x30,0x38,0x20,0x18,0x60,0x0C,0x60,0x0C,0x60,0x0C,0x20,0x08,
  0x30,0x18,0x18,0x10,0x03,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 },
 //9
 {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x80,0x18,0x20,
  0x30,0x10,0x20,0x08,0x20,0x08,0x60,0x08,0x60,0x08,0x60,0x0C,0x60,0x0C,0x20,0x1C,
  0x30,0x0C,0x18,0x0C,0x07,0x08,0x00,0x08,0x00,0x08,0x00,0x18,0x00,0x10,0x00,0x30,
  0x30,0x20,0x10,0x40,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
 }

} ;

uchar table[7][128]={
             //黑屏
{
  0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00
},


             //黑屏
{
  0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00
},			
			//单

{

0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x04, 0x00, 0x00, 0x30, 0x0e, 0x00, 
0x00, 0x18, 0x0c, 0x00, 0x00, 0x1c, 0x18, 0x00, 0x00, 0x0c, 0x10, 0x00, 0x02, 0x08, 0x20, 0x80, 
0x03, 0xff, 0xff, 0xc0, 0x03, 0x01, 0x00, 0x80, 0x03, 0x01, 0x00, 0x80, 0x03, 0x01, 0x00, 0x80, 
0x03, 0x01, 0x00, 0x80, 0x03, 0xff, 0xff, 0x80, 0x03, 0x01, 0x00, 0x80, 0x03, 0x01, 0x00, 0x80, 
0x03, 0x01, 0x00, 0x80, 0x03, 0x01, 0x00, 0x80, 0x03, 0xff, 0xff, 0x80, 0x03, 0x01, 0x00, 0x80, 
0x03, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x1c, 0x3f, 0xff, 0xff, 0xe0, 
0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 
0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00,
},

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 0x00,0x00,0x10,0x00,0x00,0x80,0x18,0x00,
0x00,0xE0,0x10,0x00,0x00,0xC0,0x10,0x00, 0x00,0xC0,0x10,0x00,0x00,0xC0,0x10,0x00,
0x00,0xC0,0x10,0x00,0x00,0xC0,0x10,0x00, 0x00,0xC0,0x10,0x10,0x00,0xC0,0x10,0x38,
0x00,0xFF,0xEF,0xC0,0x00,0xC0,0x00,0x00, 0x00,0xC0,0x00,0x00,0x00,0xC0,0x00,0x00,
0x00,0xC0,0x00,0x00,0x00,0xC0,0x0C,0x00, 0x00,0xFF,0xFE,0x00,0x00,0xC0,0x0C,0x00,
0x00,0x80,0x0C,0x00,0x01,0x80,0x0C,0x00, 0x01,0x80,0x0C,0x00,0x01,0x00,0x0C,0x00,
0x03,0x00,0x0C,0x00,0x02,0x00,0x0C,0x00, 0x06,0x00,0x0C,0x00,0x0C,0x00,0x0C,0x00,
0x08,0x00,0x0C,0x00,0x10,0x00,0x0C,0x00, 0x20,0x00,0x0C,0x00,0x00,0x00,0x00,0x00,
},
	
{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,0x00,0x01,0x80,0x00,0x00,
0x01,0x81,0x00,0x80,0x01,0x81,0xFF,0xC0,0x01,0x81,0x81,0x80,0x01,0x81,0x81,0x80,
0x01,0x81,0x81,0x80,0x01,0x99,0x81,0x80,0x3F,0xE1,0x81,0x80,0x01,0x81,0x81,0x80,
0x03,0x81,0x81,0x80,0x03,0x81,0x81,0x80,0x03,0xC1,0x81,0x80,0x03,0xB1,0x81,0x80,
0x07,0x99,0x81,0x80,0x05,0x9D,0x81,0x80,0x05,0x89,0x81,0x80,0x0D,0x81,0x81,0x80,
0x09,0x81,0x81,0x80,0x11,0x81,0x81,0x80,0x11,0x81,0x01,0x80,0x21,0x83,0x01,0x80,
0x41,0x83,0x01,0x88,0x41,0x86,0x01,0x88,0x01,0x84,0x01,0x8C,0x01,0x8C,0x01,0x8C,
0x01,0x88,0x01,0xFC,0x01,0x90,0x00,0xF8,0x01,0xA0,0x00,0x00,0x00,0x00,0x00,0x00,
  }, 

             //黑屏
{
  0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00
},


             //黑屏
{
  0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
  0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00,
 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00, 0x00,0x00,0x00,0x00
}
};

/*uchar data[32][28];

void zhuanhuan(void)
{
  uint m,n,m1,n1;
  for(m=0;m<7;m++)
  for(n=0;n<128;n++)
  {
   m1=n/4;
   n1=n%4;
   n1=n1+4*m;
   data[m1][n1]=table[m][n]; 
  }
}*/


void main()
{
 uchar row,line,up16,down16,i,total,speed,bit,byte,p,bit1,byte1,m,n,m1,n1,result1=12,result2=34,result3=56,m12,n12,i1,j,k,l;
 DDRA=0xff;
 DDRD=0xff;
 PORTD|=(1<<PD1);
 PORTD|=(1<<PD2);
 //zhuanhuan();
 
 m12=result1/10;
	n12=result1%10;
	i1=0;
	for(j=0;j<64;j++)
	 {
	    
		 table[2][i1]=shuzi[m12][j];
	     i1++;
		 table[2][i1]=shuzi[m12][j+1];
		 i1++;
	    
		 table[2][i1]=shuzi[n12][j];
	     i1++;
		 table[2][i1]=shuzi[n12][j+1];
		 i1++;
		 j++;
	 }
	 
 m12=result2/10;
	n12=result2%10;
	i1=0;
	for(j=0;j<64;j++)
	 {
	  table[3][i1]=shuzi[m12][j];
	  i1++;
	  table[3][i1]=shuzi[n12][j];
	  i1++;
	 } 
 
 m12=result3/10;
	n12=result3%10;
	i1=0;
	for(j=0;j<64;j++)
	 {
	  table[4][i1]=shuzi[m12][j];
	  i1++;
	  table[4][i1]=shuzi[n12][j];
	  i1++;
	 }
 
 
 total=0;
 while(1)
 {
  byte=total/32;
  bit=total%32; 
  bit1=bit%8;
  byte1=bit/8;
  for(speed=0;speed<20;speed++)
  {
   for(row=0;row<16;row++)
    { 
	  //up16=data[row][byte*4+byte1];
	   m1=row;
	  n1=byte*4+byte1;
	  m=n1/4;
	  n=n1%4+4*m1;
	  up16=table[m][n];
	  
      //down16=data[row+16][byte*4+byte1];
	  m1=row+16;
	  n1=byte*4+byte1;
	  m=n1/4;
	  n=n1%4+4*m1;
	  down16=table[m][n];
	  
	  up16<<=bit1;
	  down16<<=bit1;
	  for(i=bit1;i<8;i++)
	  {
       	if(up16&0x80) ClrR1;
	    else SetR1;
	    if(down16&0x80) ClrR2;
	    else SetR2;
		SetOE;         //行选通
	    SetCK;
	    ClrCK;
	    up16<<=1;
	    down16<<=1;
	  }//i
      
	  for(line=1;line<8;line++)
      {
       //up16=data[row][byte*4+byte1+line];
	   m1=row;
	   n1=byte*4+byte1+line;
	   m=n1/4;
	   n=n1%4+4*m1;
	   up16=table[m][n];
	   
	   //down16=data[row+16][byte*4+byte1+line];
	   m1=row+16;
	   n1=byte*4+byte1+line;
	   m=n1/4;
	   n=n1%4+4*m1;
	   down16=table[m][n];
	   
	   
	   for(i=0;i<8;i++)
	   {
	    if(up16&0x80) ClrR1;
	    else SetR1;
	    if(down16&0x80) ClrR2;
	    else SetR2;
		SetOE;         //行选通
	    SetCK;
	    ClrCK;
	    up16<<=1;
	    down16<<=1;
	   }	
	  }//line
	  
	  //up16=data[row][byte*4+byte1+line];
	   m1=row;
	   n1=byte*4+byte1+line;
	   m=n1/4;
	   n=n1%4+4*m1;
	   up16=table[m][n];
	  
	  //down16=data[row+16][byte*4+byte1+line];
	  m1=row+16;
	   n1=byte*4+byte1+line;
	   m=n1/4;
	   n=n1%4+4*m1;
	   down16=table[m][n];
	  
	  for(i=0;i<bit1;i++)
	  {
	    if(up16&0x80) ClrR1;
	    else SetR1;
	    if(down16&0x80) ClrR2;
	    else SetR2;
		SetOE;         //行选通
	    SetCK;
	    ClrCK;
	    up16<<=1;
	    down16<<=1;
	  } 
	  p=row;
	  SetOE;         //行选通
	      
      p&=0x0f;
      p+=PORTA&0xf0;
      PORTA=p;    //具体某行选通
      SetST;   //输出
      ClrST;
       
      //ClrOE;
    } //row
  }//speed
 
  total++; 
  if(total==(7-2)*32) total=0;
 
 } //while
}//main







⌨️ 快捷键说明

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