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

📄 lcd.h

📁 开发环境Keil 51
💻 H
字号:
// ------- -------- 文件名:   LCD.H -----------------------    
//----------------------lcd1602----------------------------
//-------------------author: adeola------------------------
#ifndef LCD_H_HEADER_FILE
#define LCD_H_HEADER_FILE 1
#define BYTE unsigned char
#define LCD_EN    P3_7       //P3_7   
//#define LCD_RW    P2_1       //P3_6
#define LCD_RS    P3_5       //P3_2
#define LCD_DATA  P1        //P1
// void WriteInstruct(BYTE instruction);                 //  写指令到LCD
// void WriteData(BYTE dispData);                     //  写数据到LCD
// void WriteDatas(BYTE datas[],BYTE length);         //  将数组Datas的数据写到LCD
// void WriteString(const char *str);                 //  将字符串str写到LCD
// void ClearLCD();                                   //  清除LCD显示
// void GotoXY(BYTE X,BYTE Y);                        //  设置光标到X,Y位置
// void Initial_LCD();                                 //  初始化LCD
// void Delay10us(int n);                                  //  延时10us

//-----------------------写指令到LCD--------------------------------------------//


void Delay10us(int n)
{
     int i,j;
     for(i=0;i<n;i++)
        for(j=0;j<10;j++);
}
    


void WriteInstruct(unsigned char instruction)
{
     Delay10us(50);
     LCD_EN =0;
     LCD_RS =0;               //  写指令
     //LCD_RW =0;
     LCD_EN =1;
     LCD_DATA =instruction;
     LCD_EN =0;
}

//-----------------------------------写数据到LCD----------------------------------//
 
void WriteData(unsigned char dispData)
{
     Delay10us(50);
     LCD_EN =0;
     LCD_RS =1;               
     //LCD_RW =0;
     LCD_EN =1;
     LCD_DATA =dispData;
     LCD_EN =0;
 }

//------------------------------------把数组datas的数据写到LCD--------------------//

/*void WriteDatas(unsigned char datas[],unsigned char length)
{ 
     BYTE i;
     for(i=0;i<length;i++)
        {
            WriteData(datas[i]+'0');
        }
}*/

//----------------------------------将字符串str写到LCD--------------------------------//

void WriteString(const char *str)
{
     if(*str==0)
       {
           return;
       }
     while(*str!='\0')
       {
           WriteData(*str);
           str++;
       }
}

//-----------------------------------清除LCD显示--------------------------------------//
  
void ClearLCD()
{
     WriteInstruct(0x01);
}

//------------------------------------ 设置光标到X,Y位置------------------------------//

/*void GotoXY(BYTE X,BYTE Y)
{
     BYTE address;
     if(X==0) address=0x80 | Y;
     else     address=0xC0 | Y;
     WriteInstruct(address);
}
*/
//-----------------------------------初始化LCD-------------------------------------//

void Initial_LCD()
{
     ClearLCD(); 
     WriteInstruct(0x38);                  //  8 bit, 2 lines,  5*7 dot Maxtrix
     WriteInstruct(0x0C);                  //  open display, cusor off , blink off
     WriteInstruct(0x06);                  //  文字不动,光标自动右移
}

//--------------------------------延时10us-------------------------------------------//



#endif       //LCD_H

⌨️ 快捷键说明

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