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

📄 zifuxianshi.txt

📁 单片机驱动液晶,基于51
💻 TXT
字号:
#include<absacc.h>
#include<reg51.h>
#define AD7528A XBYTE[0x8000]
#define AD7528B XBYTE[0x8001]
#define uint unsigned int
#define uchar unsigned char
#define ulint unsigned long int
sbit P3_0=P3^0;
ulint code ma1[7]={0x00000004,0x0000000a,0x00000011,0x0000001f,0x00000011,0x00000011,0x00000011};
ulint code ma2[7]={0x00000400,0x00000a00,0x00001100,0x00001f00,0x00001100,0x00001100,0x00001100};
ulint code ma3[7]={0x00040000,0x000a0000,0x00110000,0x001f0000,0x00110000,0x00110000,0x00110000};
ulint code ma4[7]={0x04000000,0x0a000000,0x11000000,0x1f000000,0x11000000,0x11000000,0x11000000};
ulint code mb1[7]={0x0000001e,0x00000011,0x00000011,0x0000001e,0x00000011,0x00000011,0x0000001e};
ulint code mb2[7]={0x00001e00,0x00001100,0x00001100,0x00001e00,0x00001100,0x00001100,0x00001e00};
ulint code mb3[7]={0x001e0000,0x00110000,0x00110000,0x001e0000,0x00110000,0x00110000,0x001e0000};
ulint code mb4[7]={0x1e000000,0x11000000,0x11000000,0x1e000000,0x11000000,0x11000000,0x1e000000};
ulint code mc1[7]={0x0000000e,0x00000011,0x00000010,0x00000010,0x00000010,0x00000011,0x0000000e};
ulint code mc2[7]={0x00000e00,0x00001100,0x00001000,0x00001000,0x00001000,0x00001100,0x00000e00};
ulint code mc3[7]={0x000e0000,0x00110000,0x00100000,0x00100000,0x00100000,0x00110000,0x000e0000};
ulint code mc4[7]={0x0e000000,0x11000000,0x10000000,0x10000000,0x10000000,0x11000000,0x0e000000};
ulint code md1[7]={0x0000001c,0x00000012,0x00000011,0x00000011,0x00000011,0x00000012,0x0000001c};
ulint code md2[7]={0x00001c00,0x00001200,0x00001100,0x00001100,0x00001100,0x00001200,0x00001c00};
ulint code md3[7]={0x001c0000,0x00120000,0x00110000,0x00110000,0x00110000,0x00120000,0x001c0000};
ulint code md4[7]={0x1c000000,0x12000000,0x11000000,0x11000000,0x11000000,0x12000000,0x1c000000};
ulint code m_1[7]={0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff000000,0xff000000};
ulint code m_2[7]={0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x00ff0000,0x00ff0000};
ulint code m_3[7]={0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x0000ff00,0x0000ff00};
ulint code m_4[7]={0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0x000000ff,0x000000ff};

void dlms(void)
	  {uchar i;
	   for(i=200;i>0;i--){}
	   }
uchar kbscan(void)
	  {uchar sccode,recode;
 	   P1=0xf0;
	    if((P1&0xf0)!=0xf0)
 	      {dlms();
   	        if((P1&0xf0)!=0xf0)
	           {sccode=0xfe; 
	       while((sccode&0x10)!=0)
	              {P1=sccode;
	                 if((P1&0xf0)!=0xf0)
	                    {recode=(P1&0xf0)|0x0f;
	                   return((~sccode)+(~recode));
	                    }
	                else
	                   sccode=(sccode<<1)|0x01;
	                }
	              }
	        }
	            return(0);
	     }
main()
{uchar i,j,key1,key2,k,count=0;
ulint nn[7]={0x00000000,0x00000000,0x00000000,0x00000000,0x00000000,0xff000000,0xff000000};
ulint mm[7]={0};
while(1)
  {key1=kbscan();	
                dlms();
if(key1!=0)
  {while(1){key2=kbscan();	
                dlms();
	         if(key1!=key2)break;}
  }

   switch(key1)
       {
	   case 0x00:break;
	   case 0x81:switch(++count)
	               {
				   case 1:for(k=0;k<7;k++){nn[k]=ma4[k]+m_2[k];}break;
				   case 2:for(k=0;k<7;k++){nn[k]=ma3[k]+m_3[k]+(nn[k]-m_2[k]);}break;
				   case 3:for(k=0;k<7;k++){nn[k]=ma2[k]+m_4[k]+(nn[k]-m_3[k]);}break;
				   case 4:for(k=0;k<7;k++){nn[k]=ma1[k]+(nn[k]-m_4[k]);}break;
				   case 5:
				   case 6:
				   case 7:
				   case 8:
                  default:count=count-1;
			    }break;
	   case 0x82:switch(++count)
	               {
				   case 1:for(k=0;k<7;k++){nn[k]=mb4[k]+m_2[k];}break;
				   case 2:for(k=0;k<7;k++){nn[k]=mb3[k]+m_3[k]+(nn[k]-m_2[k]);}break;
				   case 3:for(k=0;k<7;k++){nn[k]=mb2[k]+m_4[k]+(nn[k]-m_3[k]);}break;
				   case 4:for(k=0;k<7;k++){nn[k]=mb1[k]+(nn[k]-m_4[k]);}break;
				   case 5:
				   case 6:
				   case 7:
				   case 8:
                  default:count=count-1;
			    }break;
	   case 0x84:switch(++count)
	               {
				   case 1:for(k=0;k<7;k++){nn[k]=mc4[k]+m_2[k];}break;
				   case 2:for(k=0;k<7;k++){nn[k]=mc3[k]+m_3[k]+(nn[k]-m_2[k]);}break;
				   case 3:for(k=0;k<7;k++){nn[k]=mc2[k]+m_4[k]+(nn[k]-m_3[k]);}break;
				   case 4:for(k=0;k<7;k++){nn[k]=mc1[k]+(nn[k]-m_4[k]);}break;
				   case 5:
				   case 6:
				   case 7:
				   case 8:
                  default:count=count-1;
			    }break;
	   case 0x88:switch(++count)
	               {
				   case 1:for(k=0;k<7;k++){nn[k]=md4[k]+m_2[k];}break;
				   case 2:for(k=0;k<7;k++){nn[k]=md3[k]+m_3[k]+(nn[k]-m_2[k]);}break;
				   case 3:for(k=0;k<7;k++){nn[k]=md2[k]+m_4[k]+(nn[k]-m_3[k]);}break;
				   case 4:for(k=0;k<7;k++){nn[k]=md1[k]+(nn[k]-m_4[k]);}break;
				   case 5:
				   case 6:
				   case 7:
				   case 8:
                  default:count=count-1;
			    }break;
       case 0x41:switch(++count)
	               {
				   case 1:break;
				   case 2:for(k=0;k<7;k++){nn[k]=m_1[k];}count=0;break;
				   case 3:for(k=0;k<7;k++){nn[k]=m_2[k]+(nn[k]&0xff000000);}count=1;break;
				   case 4:for(k=0;k<7;k++){nn[k]=m_3[k]+(nn[k]&0xffff0000);}count=2;break;
				   case 5:for(k=0;k<7;k++){nn[k]=m_4[k]+(nn[k]&0xffffff00);}break;
				   case 6:for(k=0;k<7;k++){nn[k]=m_3[k]+(nn[k]&0xffff0000);}break;
				   case 7:for(k=0;k<7;k++){nn[k]=m_2[k]+(nn[k]&0xff000000);}break;
				   case 8:count=0;for(k=0;k<7;k++){nn[k]=m_1[k];}break;
                  default:count=count-1;
			    }break;
	   default:;}
   for(j=140;j>0;j-=20)
    {AD7528B=j;
for(i=160;i>0;i--)
       {AD7528A=i;        
        P3_0 =(bit)((nn[7-j/20]>>(32-i/5)&0x00000001)^1); 
       
        }
	
	 }
  }
}

⌨️ 快捷键说明

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