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

📄 lcd.c

📁 构造是在两片平行的玻璃当中放置液态的晶体
💻 C
📖 第 1 页 / 共 3 页
字号:
  LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+0); 
  LCM12864_WriteCMD(LCM12864_START_ROW+0); 
  LCM12864_WriteCMD(LCM12864_COL_START_ADDR+0); 
  LCM12864_WriteCMD(LCM12864_DISP_ON); 
  LCM12864_LEDK = 1; 
//LCM12864_LEDK = 0; 
} 
/******************************************************************************************** 
* 函数名称:LCM12864_Fill_Screen() 
* 功    能:向LCM12864填充数据 
* 入口参数:LCM12864_FillData  要向LCM12864填充的字节数据 
* 出口参数:无 
* 说    明:此函数会设置显示起始行为0,且会自动选中左半屏,即CS1有效。 
*********************************************************************************************/ 
void LCM12864_Fill_Screen(uint8 LCM12864_FillData) 
{ 
  uint8 x,y; 
  LCM12864_CS1 = 1;LCM12864_CS2 = 1;                  // 选中左半屏及右半屏 
  LCM12864_WriteCMD(LCM12864_START_ROW+0);            // 设置显示起始行为0 
  for(x=0;x<8;x++) 
{ 
  LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+x);  // 设置页地址 
  LCM12864_WriteCMD(LCM12864_COL_START_ADDR);//    // 设置列地址 
    for(y=0;y<64;y++) LCM12864_WriteData(LCM12864_FillData); 
  } 
  LCM12864_CS2 = 0;                                    // 不选中右半屏 
} 
/******************************************************************************************** 
* 函数名称:LCM12864_Clear_Screen() 
* 功    能:LCM12864清屏 
* 入口参数:无 
* 出口参数:无 
*********************************************************************************************/ 
void LCM12864_Clear_Screen(void) 
{ 
  LCM12864_Fill_Screen(0x00); 
} 
/******************************************************************************************** 
* 函数名称:LCM12864_Disp_Bitmap_12864() 
* 功    能:显示128*64图片 
* 入口参数:bitmap_12864        128*64位图数据 
* 出口参数:无 
*********************************************************************************************/ 
void LCM12864_Disp_Bitmap_12864(uint8 code *bitmap_12864) 
{ 
  uint8 j,k; 
  for(k=0;k<8;k++) 
    { 
    LCM12864_CS1 = 1;LCM12864_CS2 = 0; 
    LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+k); 
    LCM12864_WriteCMD(LCM12864_COL_START_ADDR+0); 
    for(j=0;j<64;j++) LCM12864_WriteData(bitmap_12864[k*128+j]); 
  LCM12864_CS1 = 0;LCM12864_CS2 = 1; 
    LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+k); 
    LCM12864_WriteCMD(LCM12864_COL_START_ADDR+0); 
    for(j=64;j<128;j++) LCM12864_WriteData(bitmap_12864[k*128+j]); 
  } 
} 
/******************************************************************************************** 
* 函数名称:LCM12864_Disp_Chinese_16_16() 
* 功    能:在LCM12864的指定点上显示16*16点阵汉字 
* 入口参数:LCM12864_page    LCM12864的页地址(0~7) 
*          LCM12864_col      LCM12864的列地址(0~63) 
*          Chinese_16_16    16*16点阵汉字字模(纵向取模,字节倒序) 
* 出口参数:无 
*********************************************************************************************/ 
void LCM12864_Disp_Chinese_16_16(uint8 LCM12864_page,uint8 LCM12864_col, uint8 code *Chinese_16_16) 
{ 
  uint8 j=0,i=0; 
  for(j=0;j<2;j++) 
{ 
    LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+LCM12864_page+j); 
  LCM12864_WriteCMD(LCM12864_COL_START_ADDR+LCM12864_col); 
  for(i=0;i<16;i++) LCM12864_WriteData(Chinese_16_16[16*j+i]); 
} 
} 
/******************************************************************************************** 
* 函数名称:LCM12864_Disp_Char_8_16() 
* 功    能:在LCM12864的指定点上显示8*16字符或数字 
* 入口参数:LCM12864_page    LCM12864的页地址(0~7) 
*          LCM12864_col      LCM12864的列地址(0~63) 
*          Char_8_16        8*16点阵字符或数字字模(纵向取模,字节倒序) 
* 出口参数:无 
*********************************************************************************************/ 
void LCM12864_Disp_Char_8_16(uint8 LCM12864_page,uint8 LCM12864_col, uint8 code *Char_8_16) 
{ 
  uint8 j=0,i=0; 
  for(j=0;j<2;j++) 
    { 
  LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+LCM12864_page+j); 
  LCM12864_WriteCMD(LCM12864_COL_START_ADDR+LCM12864_col); 
  for(i=0;i<8;i++) LCM12864_WriteData(Char_8_16[8*j+i]); 
} 
} 
/******************************************************************************************** 
* 函数名称:LCM12864_Frame() 
* 功    能:在LCM12864上显示最大尺寸的边框 
* 入口参数:无 
* 出口参数:无 
*********************************************************************************************/ 
void LCM12864_Frame(void) 
{ 
  uint8 i; 
  
  LCM12864_CS1 = 1; LCM12864_CS2 = 1; 
  LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+0); 
  LCM12864_WriteCMD(LCM12864_COL_START_ADDR+0); 
  for(i=0;i<64;i++) LCM12864_WriteData(0x01); 
  
  LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+7); 
  LCM12864_WriteCMD(LCM12864_COL_START_ADDR+0); 
  
  for(i=0;i<64;i++) LCM12864_WriteData(0x80); 
  for(i=0;i<8;i++) 
{ 
    LCM12864_CS1 = 0; LCM12864_CS2 = 1; 
  LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+i); 
      LCM12864_WriteCMD(LCM12864_COL_START_ADDR+63); 
  LCM12864_WriteData(0xff); 
    LCM12864_CS1 = 1; LCM12864_CS2 = 0; 
  LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+i); 
      LCM12864_WriteCMD(LCM12864_COL_START_ADDR+0); 
  LCM12864_WriteData(0xff); 
} 
} 
/******************************************************************************************** 
* 函数名称:main() 
* 功    能:LCM12864液晶模块驱动演示。 
*********************************************************************************************/    
void main (void)                
{ 
  while(1) 
      { 
        LCM12864_Init();                        // LCM12864初始化 
        /* 显示开机画面,约3秒后清屏 */ 
  /*====================================*/ 
  LCM12864_Disp_Bitmap_12864(ARMSKY_logo); 
        Delay(3000); 
        LCM12864_Clear_Screen(); 
        /*====================================*/ 
        LCM12864_Frame();                        // 在LCM12864上显示最大边框 
  /* 逐字显示"欢迎使用" */ 
  /*====================================*/ 
  LCM12864_CS1 = 1; LCM12864_CS2 = 0; 
        LCM12864_Disp_Chinese_16_16(1,32,huan1); 
  Delay(300); 
        LCM12864_Disp_Chinese_16_16(1,48,ying2); 
  Delay(300); 
        LCM12864_CS1 = 0; LCM12864_CS2 = 1; 
        LCM12864_Disp_Chinese_16_16(1,0,shi3);  
  Delay(300); 
        LCM12864_Disp_Chinese_16_16(1,16,yong4); 
  Delay(300); 
        /*====================================*/ 
  /* 逐字显示"ARMSKY-51Easy" */ 
  /*====================================*/ 
  LCM12864_CS1 =1; LCM12864_CS2 =0; 
        LCM12864_Disp_Char_8_16(3,8,char_A);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(3,16,char_R);      
  Delay(300); 
        LCM12864_Disp_Char_8_16(3,24,char_M);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(3,32,char_S);      
  Delay(300); 
        LCM12864_Disp_Char_8_16(3,40,char_K);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(3,48,char_Y);      
  Delay(300); 
        LCM12864_Disp_Char_8_16(3,56,char_shortline);      
  Delay(300); 
  LCM12864_CS1 =0; LCM12864_CS2 =1; 
        LCM12864_Disp_Char_8_16(3,2,char_5);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(3,10,char_1);      
  Delay(300); 
        LCM12864_Disp_Char_8_16(3,18,char_E);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(3,26,char_a_);      
  Delay(300); 
        LCM12864_Disp_Char_8_16(3,34,char_s_);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(3,42,char_y_);      
  Delay(300); 
        /*====================================*/ 
  /* 逐字显示"http://create.ecjtu.jx.cn/" */ 
  /*====================================*/ 
  LCM12864_CS1 =1; LCM12864_CS2 =0; 
        LCM12864_Disp_Char_8_16(5,8,char_w_);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(5,16,char_w_);      
  Delay(300); 
        LCM12864_Disp_Char_8_16(5,24,char_w_);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(5,32,char_dot);      
  Delay(300); 
        LCM12864_Disp_Char_8_16(5,40,char_a_);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(5,48,char_r_);      
  Delay(300); 
        LCM12864_Disp_Char_8_16(5,56,char_m_);      
  Delay(300); 
  LCM12864_CS1 =0; LCM12864_CS2 =1; 
        LCM12864_Disp_Char_8_16(5,0,char_s_);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(5,8,char_k_);      
  Delay(300); 
        LCM12864_Disp_Char_8_16(5,16,char_y_);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(5,24,char_dot);      
  Delay(300); 
        LCM12864_Disp_Char_8_16(5,32,char_n_);      
  Delay(300); 
  LCM12864_Disp_Char_8_16(5,40,char_e_);      
  Delay(300); 
        LCM12864_Disp_Char_8_16(5,48,char_t_);      
  Delay(3000); 
        /*====================================*/ 
  } 
}

⌨️ 快捷键说明

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