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

📄 sed1520.c

📁 单片机51系列的122*32的某液晶驱动程序
💻 C
📖 第 1 页 / 共 4 页
字号:
#include <stdio.h>
#include <..\ATMEL\AT89X51.H>
#include <stdlib.h>
#include <intrins.h>
#include <string.h>
#include <math.h>
#include "AD.H"
//unsigned int val;
unsigned char key0,key,key1,key2,key3,key4,key5;
bit flag=0;
int count=0;
unsigned char sig=3,out=3;


void delay(long time)/////////int time////500//////
{	
	
	long i=time,j;
   if(i==0){return;}
   else
   { 
	while(i)
	{
		j=5;				
        while(j){j--;}
		i--;
	}
   }
}
unsigned char Square(unsigned char x)
{
  unsigned char i,y=1;
  for(i=1;i<=x;i++)
  {y=y*2;}
  return y;
}

void zhi(unsigned char cc)
{
   while(cc!=0)
   {cc=cc-1;
  P1_7=0;P1_6=0;P1_5=0;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//zhishi
    }
}
/*
void zhiup(unsigned char ee)
{
   while(ee!=0)
   {ee=ee-1;
  P1_7=0;P1_6=0;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;//zhishi
    }
}
*/
void back(unsigned char dd)
{
   while(dd!=0)
   {dd=dd-1;
  P1_7=0;P1_6=1;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//zhishi
    }
}

void hello(unsigned char aa)
{
     switch(aa)
	 {case 1:
 	           
                P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
	 break;
      case 2:
	  
                P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
	 break;
	 case 3:
	 
                P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
	 break;
	 case 4:
	 
                P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
	 break;
	 case 5:
	 
                P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
	 break;
	 case 6:
	 	
                P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;//ok
	 break;
	 case 7:
	 
                P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
	 break;
	 case 8:
	 	     
                P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=0;P1_5=1;P1_4=1;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//down
				P1_7=0;P1_6=1;P1_5=1;P1_4=0;delay(10000);P1_7=1;P1_6=1;P1_5=1;P1_4=1;delay(10000);//ok
				
	 break;
	 	 
	 }
}


unsigned char pre_Key_Scan()
{
unsigned char Key;
 
 
  P2_5=0;
  P2_6=1;
  

         if (P2_4==0)
	    {  Key=0x30&0xf0;  return Key;}
	    else if(P2_3==0)
	    {  Key=0x20&0xf0;  return Key;}
	    else if(P2_2==0)
	    {  Key=0x10&0xf0;  return Key;}
	    else if(P2_1==0)
	    {  Key=0x40&0xf0;  return Key;}
     
		
  P2_6=0; 
  P2_5=1;

        if( P2_4== 0 )
	    { Key=0x60&0xf0;  return Key;}
	    else if (P2_3== 0 )
	    { Key=0x70&0xf0;  return Key;}
	    else if (P2_2== 0 )
	    { Key=0x080&0xf0; return Key;}
	    else if (P2_1== 0 )
	    { Key=0x40&0xf0;  return Key;}
      
		

	 else {return 0;}

}
unsigned char Key_Scan()
{
unsigned char Key,prekey,prekey1;

 
  P2_5=0;
  P2_6=1;


         if (P2_4==0)
	    {  Key=0x30;  delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
		if( (Key=prekey)&&(Key=prekey1) ){while(P2_4==0) ;} count=0;return Key&0xf0;}
	    else if(P2_3==0)
	    {  Key=0x20; delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10); 
        if( (Key=prekey)&&(Key=prekey1) ){while(P2_3==0);} count=0; return Key&0xf0;}
	    else if(P2_2==0)
	    {  Key=0x10;delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
		if( (Key=prekey)&&(Key=prekey1) ){while(P2_2==0); }count=0;  return Key&0xf0;}
	    else if(P2_1==0)
	    {  Key=0x40;delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
		if( (Key=prekey)&&(Key=prekey1) ){while(P2_1==0);} count=0;  return Key&0xf0;}
       
		
  P2_6=0; 
  P2_5=1;
 
        if( P2_4== 0 )
	    { Key=0x60;delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
		if( (Key=prekey)&&(Key=prekey1) ){ while(P2_4==0); }count=0; return Key&0xf0;}
	    else if (P2_3== 0 )
	    { Key=0x70;delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
		if( (Key=prekey)&&(Key=prekey1) ){while(P2_3==0);  } count=0;return Key&0xf0;}
	    else if (P2_2== 0 )
	    { Key=0x080;delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
		if( (Key=prekey)&&(Key=prekey1) ){while(P2_2==0); } count=0;return Key&0xf0;}
	    else if (P2_1== 0 )
	    { Key=0x40; delay(10);    prekey=pre_Key_Scan();delay(10);prekey1=pre_Key_Scan();delay(10);
		if( (Key=prekey)&&(Key=prekey1) ){while(P2_1==0);}  count=0;return Key&0xf0;}
      
	 else {return 0;}

}

LCDWriteCom1(unsigned char com)
{
	bit flag;
	A0  =  0;
	RW=1;
	do{
	
		P0=0xff;
		CS1=0;
		flag=P0_7;
		CS1=1;										

	}while(flag);
	RW=0;
	P0=com;
	CS1=0;
	CS1=1;
}
//向主LCD写数据 /
LCDWriteDat1(unsigned char dat)
{
	bit flag;
	A0  =  0;
	RW=1;
	do{
	
		P0=0xff;
		CS1=0;
		flag=P0_7;
		CS1=1;										

	}while(flag);		
	A0=1;
	RW=0;
	P0=dat;
	CS1=0;
	CS1=1;
}
unsigned char LCDReadDat1()
{
	bit flag;
	long i; 
	unsigned char dat;
	A0  =  0;
	RW=1;
	do{
	
		P0=0xff;
		CS1=0;
		flag=P0_7;		
		CS1=1;										
		i++;
	}while(flag);
	CS1=0;
	A0=1;
	RW=1;
	dat=P0;
	CS1=1;

	RW=0;
	P0=0xff;
	RW=1;
	CS1=0;
	dat=P0;
	CS1=1;
	return dat;

}
//向从LCD写命令 
LCDWriteCom2(unsigned char com)
{
	bit flag;
	A0  =  0;
	RW=1;
	do{
	
		P0=0xff;
		CS2=0;
		flag=P0_7;
		CS2=1;										

	}while(flag);
	RW=0;
	P0=com;
	CS2=0;
	CS2=1;
}
//向从LCD写数据 
LCDWriteDat2(unsigned char dat)
{
	bit flag;
	A0  =  0;
	RW=1;
	do{
	
		P0=0xff;
		CS2=0;
		flag=P0_7;
		CS2=1;										

	}while(flag);		
	A0=1;
	RW=0;
	P0=dat;
	CS2=0;
	CS2=1;
}
unsigned char LCDReadDat2()
{
	bit flag;
	long i;
	unsigned char dat;
	A0  =  0;
	RW=1;
	do{
	
		P0=0xff;
		CS2=0;
		flag=P0_7;
		CS2=1;										
        i++;
	}while(flag);		
	CS2 = 0;
	A0=1;
	RW=1;
	dat=P0;
	CS2 = 1;

	RW=0;
	P0=0xff;
	RW=1;
	CS2 = 0;
	dat=P0;
	CS2=1;
	return dat;

⌨️ 快捷键说明

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