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

📄 noname1.c

📁 通过PROTUES 在矩正8*8上仿真显示汉字的程序
💻 C
字号:
#include<reg51.h>
#include<absacc.h>


#define   DATBIT1      XBYTE[ 0x0100]
#define   DATBIT2      XBYTE[ 0x0200]
#define   DATBIT3      XBYTE[ 0x0080]
#define   DATBIT4      XBYTE[ 0x0040]
#define   DAT2  XBYTE[ 0x0020]
#define   DAT1  XBYTE[ 0x0010]
#define   DAT4  XBYTE[ 0x0008]
#define   DAT3  XBYTE[ 0x0004]
#define   DAT6  XBYTE[ 0x0002]
#define   DAT5  XBYTE[ 0x0001]
#define   DAT8  XBYTE[ 0x8000]
#define   DAT7  XBYTE[ 0x4000]


#define uchar   unsigned char
#define uint    unsigned int
uchar  DAT[8];
uchar code TAB[17][16]={{0x22,0x24,0x3F,0x02,0x01,0x7f,0x01,0x01,0x00,0x21,0x21,0x21,0x21,0x3f,0x21,0x2f},
                        {0x44,0x24,0xfc,0x00,0x00,0xfe,0x04,0x00,0x00,0x08,0x14,0x04,0x04,0xfc,0x04,0xf4},
                        {0x22,0x24,0x3F,0x02,0x01,0x7f,0x01,0x01,0x00,0x01,0x21,0x21,0x21,0x3f,0x21,0x2f},
                        {0x44,0x24,0xfc,0x00,0x00,0xfe,0x04,0x00,0x00,0x08,0x14,0x04,0x04,0xfc,0x04,0xf4},
                        {0x22,0x24,0x3F,0x02,0x01,0x7f,0x01,0x01,0x00,0x01,0x01,0x21,0x21,0x3f,0x21,0x2f},
                        {0x44,0x24,0xfc,0x00,0x00,0xfe,0x04,0x00,0x00,0x08,0x14,0x04,0x04,0xfc,0x04,0xf4},
                        {0x22,0x24,0x3F,0x02,0x01,0x7f,0x01,0x01,0x00,0x01,0x01,0x01,0x21,0x3f,0x21,0x2f},
                        {0x44,0x24,0xfc,0x00,0x00,0xfe,0x04,0x00,0x00,0x08,0x14,0x04,0x04,0xfc,0x04,0xf4},
                        {0x22,0x24,0x3F,0x02,0x01,0x7f,0x01,0x01,0x00,0x01,0x01,0x01,0x01,0x3f,0x21,0x2f},
                        {0x44,0x24,0xfc,0x00,0x00,0xfe,0x04,0x00,0x00,0x08,0x14,0x04,0x04,0xfc,0x04,0xf4},
                        {0x22,0x24,0x3F,0x02,0x01,0x7f,0x01,0x01,0x00,0x01,0x01,0x01,0x01,0x1f,0x21,0x2f},
                        {0x44,0x24,0xfc,0x00,0x00,0xfe,0x04,0x00,0x00,0x08,0x14,0x04,0x04,0xfc,0x04,0xf4},
                        {0x22,0x24,0x3F,0x02,0x01,0x7f,0x01,0x01,0x00,0x01,0x01,0x01,0x01,0x1f,0x01,0x2f},
                        {0x44,0x24,0xfc,0x00,0x00,0xfe,0x04,0x00,0x00,0x08,0x14,0x04,0x04,0xfc,0x04,0xf4},
                        {0x22,0x24,0x3F,0x02,0x01,0x7f,0x01,0x01,0x00,0x01,0x01,0x01,0x01,0x1f,0x01,0x0f},
                        {0x44,0x24,0xfc,0x00,0x00,0xfe,0x04,0x00,0x00,0x08,0x14,0x04,0x04,0xfc,0x04,0xf4},
                        {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00}};  


 


void main()
{
   uchar  i;
   uchar   j;
   uchar   k;
   uchar   dlay;
   uchar  N;
   uchar  N1;
   bit   flag1;
   bit   flag2;
   uchar digit1;
   uchar digit2;
   for(; ;)
   {
     DATBIT1=0;
     DATBIT2=0;
     DATBIT3=0;
     DATBIT4=0;
     digit1=0x01;
     digit2=0x01;
     flag1=0;
     flag2=0;
     for(k=0;k<160;k++)
     {
       j=k/20;         
       for(i=0;i<16;i++)
       {
 	DATBIT1=0;
	DATBIT2=0;
	DATBIT3=0;
	DATBIT4=0;
	if(digit1 ==0x00)  digit1=0x01;
        if(digit2 ==0x00)  digit2=0x01;
	j=k/20;
        if(j<=3)   N1=2*j+1;
        else      N1=2*j-7;
        for(N=N1+1;N<8;N++)  DAT[N] =TAB[16][i];
        for(N=0;N<=N1;N++)  DAT[N1-N]=TAB[N][i];        
        DAT1=DAT[0];
        DAT2=DAT[1];
        DAT3=DAT[2];
        DAT4=DAT[3];
        DAT5=DAT[4];
        DAT6=DAT[5];
        DAT7=DAT[6];
        DAT8=DAT[7];        
        if(j<=3)
         {
          if(flag1==1)           DATBIT2=digit1;
          else                   DATBIT1=digit1;
	  for(dlay=0;dlay<200;dlay++);
	  if(digit1 ==0x80)      flag1=!flag1;
          digit1<<=1;
          }
          else
          {
           if(flag2==1)           DATBIT4=digit2;
           else                   DATBIT3=digit2;
	  for(dlay=0;dlay<200;dlay++);
	  if(digit2 ==0x80)      flag2=!flag2;
          digit2<<=1;
          }
        }       //end  for 16 loop   


        if(j>=4)
          {
          for(i=0;i<16;i++)
          {
 	   DATBIT1=0;
	   DATBIT2=0;
	   DATBIT3=0;
	   DATBIT4=0;
	   if(digit1 ==0x00)  digit1=0x01;
           N1=2*j-6;
           for(N=0;N<=7;N++)   DAT[7-N]=TAB[N+N1][i];
           DAT1=DAT[0];
           DAT2=DAT[1];
           DAT3=DAT[2];
           DAT4=DAT[3];
           DAT5=DAT[4];
           DAT6=DAT[5];
           DAT7=DAT[6];
           DAT8=DAT[7];  
                                                                           
           if(flag1==1)           DATBIT2=digit1;
           else                   DATBIT1=digit1;
	   for(dlay=0;dlay<200;dlay++);
	   if(digit1 ==0x80)      flag1=!flag1;
           digit1<<=1;
           }
          }    
         
         
     }
   }
 }

⌨️ 快捷键说明

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