1602.h

来自「包含调试通过的DS1302和51单片机联合的程序」· C头文件 代码 · 共 104 行

H
104
字号
#define lataport P0
#define buly 0x80
sbit rs=P2^5;
sbit rw=P2^6;
sbit e =P2^7;
/*****************************液晶显示程序**********************************/

void delay(unsigned int j) /* 简易延时函数 */
{
while(j--);
}

void Delay5Ms(void)
{
unsigned int TempCyc = 4552;
while(TempCyc--);
}

/*--------------延时--------*/
void Lcddelay(unsigned char MS)
{
  unsigned char i, j;
  while(MS!=0)
   { j = 1;
    while(j!=0)
     {
      i=0xf0;
      while(i!=0){i--;}
      j--;
     }
    MS--;
   }
}

/*---------------    检测lcd状态 -------------------------*/
void WaitForEnable(void)
{
 lataport=0xff;
 rs=0;rw=1;Lcddelay(5);_nop_();e=1;_nop_();_nop_();
 while(lataport&buly);
 e=0;
}

/*-------------------- 写控制字  --------------*/
void LcdWriteCommand(unsigned char CMD,unsigned char AttribC)
{
 if(AttribC) WaitForEnable();
 rs=0;rw=0;_nop_();
 lataport=CMD; Lcddelay(5);_nop_();
 e=1;_nop_();_nop_();e=0;

}

/*--------------   显示光标定位 ----------------------*/
void LocateXY(char polx,char poly)
{
 unsigned char temp;
 temp=polx&0xf;
 poly&=0x1;
 if(poly) temp|=0x40;
 temp|=0x80;
 LcdWriteCommand(temp,0);
}

/******************** 写字符*******************/
void LcdWriteLata(char lataW)
{
 WaitForEnable();
 rs=1;rw=0;_nop_();
 lataport=lataW;Lcddelay(5);_nop_();
 e=1;_nop_();_nop_();e=0;
 
}

/*---------------  在指定位置显示字符 -----------------------*/
void DispOneChar(unsigned char x,unsigned char y,unsigned char Wlata)
{
 LocateXY(x,y);
 LcdWriteLata(Wlata);
}


/******************   初始化  **********/
void LcdReset(void)
{
 LcdWriteCommand(0x38,0);
 Lcddelay(5);
 LcdWriteCommand(0x38,0);
 Lcddelay(5);
 LcdWriteCommand(0x38,0);
 Lcddelay(5);
 LcdWriteCommand(0x38,1);// 清屏
 LcdWriteCommand(0x08,1);
 LcdWriteCommand(0x01,1);
 LcdWriteCommand(0x06,1);
 LcdWriteCommand(0x0c,1);
}

void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DLata,unsigned char L)
{
unsigned char i;
for(i=0;i<L;i++)
DispOneChar(X++,Y,DLata[i]);
}

⌨️ 快捷键说明

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