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

📄 api.c

📁 LCD显示源码
💻 C
字号:
#include    "def.h"
#include	"option.h"
#include	"44blib.h"
#include	"44b.h"



void PcPdChangeTran(unsigned char data ){
unsigned char  PD[6],Pool8,PD8=0x01,i;
unsigned short Pool16,PC16;
  Pool8=0xf0&data;
  Pool16=(unsigned short)data;
  Pool16&=0x000f;
  Pool16<<=4;
  Pool8>>=4;
  PD[4]=0x0;
 for(i=0;i<4;i++)
 { PD[i]=Pool8&PD8;
   PD8<<=1;
   switch(i)
   {case 0:PD[i]<<=3;
           break;
    case 1:PD[i]<<=1;
           break;
    case 2:PD[i]>>=1;
           break;
    case 3:PD[i]>>=3;
           break;
   }
 
 }
   for(i=0;i<4;i++)
     PD[4]+=PD[i];
     PD[5]=rPDATD;
     PD[5]&=0xf0;
     PD[5]+=PD[4];
     rPDATD=PD[5];
     PC16=rPDATC;
     PC16&=0xff0f;
     PC16+=Pool16;
     rPDATC=PC16;  
}

void RET(int Cond){
if(Cond==Low)
   rPDATD&=~(0x01<<7);
else
   rPDATD|=0x01<<7;
}

void CS(int Cond){
if(Cond==Low)
   rPDATD&=~(0x1<<4);
else
   rPDATD|=0x1<<4;

}
void RW(int Cond){
if(Cond==Low)
  rPDATD&=~(0x1<<5);
else
  rPDATD|=0x1<<5;
}
void RS(int Cond){
if(Cond==Low)
 rPDATD&=~(0x1<<6);
else
  rPDATD|=0x1<<6;
}

void E(int Cond){
if(Cond==Low)
   rPDATC|=0x1<<8;
else
   rPDATC&=~(0x1<<8);
}




void Delay1(unsigned int t)
{
unsigned int i,j;
for(i=0;i<t;i++)
for(j=0;j<10;j++)
;
}
void disply(int stat){
    E(0);
    RS(0);
    RW(0);
    Delay1(30);
    E(1);
    PcPdChangeTran(62+stat);
    Delay1(30);
    E(0);
}
void setpage(int page){
    RS(0);
    RW(0);
    Delay1(30);
    E(1); 
    PcPdChangeTran(184+page);
    Delay1(30);//  Delay(5);
    E(0);
}
void sethang(int hang){
    RS(0);
    RW(0); 
    Delay1(30);
    E(1); 
    PcPdChangeTran(192+hang);
    Delay1(30);//  Delay(5);
    E(0);
}
void setlie(int lie){
    RS(0);
    RW(0);
    Delay1(30);
    E(1); 
    PcPdChangeTran(64+lie);
    Delay1(30);
    E(0);
}
void wdisply(char zi){
    RS(1);
    RW(0);
    Delay1(30);
    E(1); 
    PcPdChangeTran(zi);
    Delay1(30);
    E(0);
}
void clear(){
int i,j;
   CS(1);
for(i=0;i<4;i++)
  {setpage(i);
   for(j=0;j<64;j++)
    { //if(j>=64)
      //CS(0);
    // else 
     // CS(1);
     setlie(j);
     wdisply(0x00);
    }
   }
}
void clear1(){
int i,j;
   CS(0);
for(i=0;i<4;i++)
  {
   for(j=64;j<128;j++)
    { //if(j>=64)
      //CS(0);
    // else 
     // CS(1);
     setpage(i);
     setlie(j);
     wdisply(0x00);
    }
   }
}
void mhangngezi(int m,int n,char *zi){//1<=n<=8,m={1,2}
int cs,cs2,j=m;
  if(m==1)
    j=0;
  else 
    j=2; 
if(n>4)
  {CS(0);
   n=n-4;
  }
else
  CS(1);
    cs2=(n-1)*16;
 for(cs=0;cs<33;cs++){
    if(cs==16)
      {j+=1;
      cs2=(n-1)*16;
      }
    setlie(cs2);
    setpage(j);
    wdisply(zi[cs]);
     cs2++;
                     }

}

⌨️ 快捷键说明

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