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

📄 lcm.c

📁 液晶屏的c语言驱动程序
💻 C
字号:
#include<reg51.h>
#include<define.h>
#include<lcm.h>
void lcm_reset(void);
void lcm_command(BYTE);
void lcm_initial(void);
void lcm_set_add(BYTE);
void lcm_set_acg(BYTE);
void lcm_set_data(BYTE);
void lcm_fill_all(BYTE *);
void lcm_waitting(void);
void lcm_reset(void)
{
     BYTE i;
     LCM_RS=0;
     LCM_W_R=0;
     LCM_COM=0x01;
     for(i=0;i<250;i++)
     ;
     for(i=0;i<250;i++)
     ;
     for(i=0;i<250;i++)
     ;
}
void lcm_command(BYTE i)
{
     LCM_RS=0;
     LCM_W_R=0;
     LCM_COM=i;
     lcm_waitting();
}
void lcm_set_add(BYTE i)
{
     LCM_RS=0;
     LCM_W_R=0;
     LCM_COM=i;
     LCM_COM|=0x80;
     lcm_waitting();
}
     
void lcm_set_acg(BYTE i)
{
     LCM_RS=0;
     LCM_W_R=0;
     LCM_COM=i;
     LCM_COM|=0X40;
     LCM_COM&=0X7F;
     lcm_waitting();
}
void lcm_set_data(BYTE i)
{
     LCM_RS=1;
     LCM_W_R=0;
     LCM_COM=i;
     lcm_waitting();
}
void lcm_waitting(void)
{
     LCM_CS=1;
     LCM_CS=0;
     LCM_RS=0;
     LCM_W_R=1;
     LCM_COM=0XFF;
     do
     {
          LCM_CS=1;
          ACC   =LCM_COM;
          LCM_CS=0;
     }
     while(LCM_BUSY);
     Address=ACC;
}
void lcm_initial(void)
{
     BYTE temp;
//(8 bit ,2 rows and 5*10) if (8 bit ,2 rows and 5*7 com=0x38) 
     lcm_command(0X3C); 
//increase and all display not shift
     lcm_command(0x06);
//open all display and curssor close,not flash curssor
     lcm_command(0X0C);
//DD RAM ADDRESS = 0 AND DISPLAY TO ORIGEN
     lcm_command(0X01);
      for(temp=0;temp<8;temp++)
      {    lcm_set_acg(temp|0x08);
           lcm_set_data(CHAR_UP[temp]);// disp address equ 0x00
      }
      for(temp=0;temp<8;temp++)
      {    lcm_set_acg(temp|0x0F);
           lcm_set_data(CHAR_DOWN[temp]);// disp address equ 0x01
      }

}
void lcm_fill_all(BYTE  *pDisp_Array)
{
      //fill all to lcm buffer
      BYTE  idata i;
      lcm_set_add(0x00);
      for(i=0;i<20;i++)
            lcm_set_data(*(pDisp_Array+i));
      lcm_set_add(0x40);
      for(i=20;i<40;i++)
            lcm_set_data(*(pDisp_Array+i));
}

⌨️ 快捷键说明

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