?? main2.c
字號(hào):
//LCM12864_LEDK = 0;
}
/********************************************************************************************
* 函數(shù)名稱:LCM12864_Fill_Screen()
* 功 能:向LCM12864填充數(shù)據(jù)
* 入口參數(shù):LCM12864_FillData 要向LCM12864填充的字節(jié)數(shù)據(jù)
* 出口參數(shù):無(wú)
* 說(shuō) 明:此函數(shù)會(huì)設(shè)置顯示起始行為0,且會(huì)自動(dòng)選中左半屏,即CS1有效。
*********************************************************************************************/
void LCM12864_Fill_Screen(uint8 LCM12864_FillData)
{
uint8 x,y;
IO0SET=LCM12864_CS1;
IO0SET=LCM12864_CS2; // 選中左半屏及右半屏
LCM12864_WriteCMD(LCM12864_START_ROW+0); // 設(shè)置顯示起始行為0
for(x=0;x<8;x++)
{
LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+x); // 設(shè)置頁(yè)地址
LCM12864_WriteCMD(LCM12864_COL_START_ADDR);// // 設(shè)置列地址
for(y=0;y<64;y++) LCM12864_WriteData(LCM12864_FillData);
}
IO0CLR=LCM12864_CS2; // 不選中右半屏
}
/********************************************************************************************
* 函數(shù)名稱:LCM12864_Clear_Screen()
* 功 能:LCM12864清屏
* 入口參數(shù):無(wú)
* 出口參數(shù):無(wú)
*********************************************************************************************/
void LCM12864_Clear_Screen(void)
{
LCM12864_Fill_Screen(0x00);
}
/********************************************************************************************
* 函數(shù)名稱:LCM12864_Disp_Bitmap_12864()
* 功 能:顯示128*64圖片
* 入口參數(shù):bitmap_12864 128*64位圖數(shù)據(jù)
* 出口參數(shù):無(wú)
*********************************************************************************************/
void LCM12864_Disp_Bitmap_12864(uint8 *bitmap_12864)
{
uint8 j,k;
for(k=0;k<8;k++)
{
IO0SET=LCM12864_CS1;
IO0CLR=LCM12864_CS2;
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]);
IO0CLR=LCM12864_CS1;
IO0SET=LCM12864_CS2;
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]);
}
}
/********************************************************************************************
* 函數(shù)名稱:LCM12864_Disp_Chinese_16_16()
* 功 能:在LCM12864的指定點(diǎn)上顯示16*16點(diǎn)陣漢字
* 入口參數(shù):LCM12864_page LCM12864的頁(yè)地址(0~7)
* LCM12864_col LCM12864的列地址(0~63)
* Chinese_16_16 16*16點(diǎn)陣漢字字模(縱向取模,字節(jié)倒序)
* 出口參數(shù):無(wú)
*********************************************************************************************/
void LCM12864_Disp_Chinese_16_16(uint8 LCM12864_page,uint8 LCM12864_col, uint8 *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]);
}
}
/********************************************************************************************
* 函數(shù)名稱:LCM12864_Disp_Char_8_16()
* 功 能:在LCM12864的指定點(diǎn)上顯示8*16字符或數(shù)字
* 入口參數(shù):LCM12864_page LCM12864的頁(yè)地址(0~7)
* LCM12864_col LCM12864的列地址(0~63)
* Char_8_16 8*16點(diǎn)陣字符或數(shù)字字模(縱向取模,字節(jié)倒序)
* 出口參數(shù):無(wú)
*********************************************************************************************/
void LCM12864_Disp_Char_8_16(uint8 LCM12864_page,uint8 LCM12864_col, uint8 *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]);
}
}
/********************************************************************************************
* 函數(shù)名稱:LCM12864_Frame()
* 功 能:在LCM12864上顯示最大尺寸的邊框
* 入口參數(shù):無(wú)
* 出口參數(shù):無(wú)
*********************************************************************************************/
void LCM12864_Frame(void)
{
uint8 i;
IO0SET=LCM12864_CS1;
IO0SET=LCM12864_CS2;
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++)
{
IO0CLR=LCM12864_CS1;
IO0SET=LCM12864_CS2;
LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+i);
LCM12864_WriteCMD(LCM12864_COL_START_ADDR+63);
LCM12864_WriteData(0xff);
IO0SET=LCM12864_CS1;
IO0CLR=LCM12864_CS2;
LCM12864_WriteCMD(LCM12864_PAGE_START_ADDR+i);
LCM12864_WriteCMD(LCM12864_COL_START_ADDR+0);
LCM12864_WriteData(0xff);
}
}
/********************************************************************************************
* 函數(shù)名稱:main()
* 功 能:LCM12864液晶模塊驅(qū)動(dòng)演示。
*********************************************************************************************/
int main (void)
{
PINSEL0=0;
PINSEL1=0;
IO0DIR=~0;
while(1)
{
LCM12864_Init(); // LCM12864初始化
/* 顯示開(kāi)機(jī)畫面,約3秒后清屏 */
/*====================================*/
// LCM12864_Disp_Bitmap_12864(ARMSKY_logo);
// Delay(3000);
LCM12864_Clear_Screen();
/*====================================*/
LCM12864_Frame(); // 在LCM12864上顯示最大邊框
/* 逐字顯示"歡迎使用" */
/*====================================*/
IO0SET=LCM12864_CS1;
IO0CLR=LCM12864_CS2;
LCM12864_Disp_Chinese_16_16(1,32,huan1);
Delay(300);
LCM12864_Disp_Chinese_16_16(1,48,ying2);
Delay(300);
IO0CLR=LCM12864_CS1;
IO0SET=LCM12864_CS2;
LCM12864_Disp_Chinese_16_16(1,0,shi3);
Delay(300);
LCM12864_Disp_Chinese_16_16(1,16,yong4);
Delay(300);
/*====================================*/
/* 逐字顯示"ARMSKY-51Easy" */
/*====================================*/
IO0SET=LCM12864_CS1;
IO0CLR=LCM12864_CS2;
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);
IO0CLR=LCM12864_CS1;
IO0SET=LCM12864_CS2;
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://www.armsky.net/" */
/*====================================*/
IO0SET=LCM12864_CS1;
IO0CLR=LCM12864_CS2;
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);
IO0CLR=LCM12864_CS1;
IO0SET=LCM12864_CS2;
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);
/*====================================*/
}
}
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -