?? lph7366.c
字號:
LPH7366_write(COM,LPH7366_add_Xset); //顯示模塊列地址設置
LPH7366_clr(); //顯示屏幕清屏
}
/***************************LPH7366寫函數(shù)*****************************/
/*函數(shù)原型:void LPH7366_write(unsigned char type,unsigned char in_data)
/*函數(shù)功能:LPH7366寫
/*輸入?yún)?shù):要寫數(shù)據(jù)的類型 type,要寫的數(shù)據(jù) in_data
/*輸出參數(shù):無
/*調用模塊:_crol_()
/*建立時間:2005/10/31
/*作者:丁霄
/**********************************************************************/
void LPH7366_write(unsigned char type,unsigned char in_data)
{ unsigned char i,k;
unsigned char out_data;
SCLK=1;
if(type==1)
D_C=1; //要寫的是數(shù)據(jù)
else
D_C=0; //要寫的是指令
out_data=in_data;
for(i=1;i<9;i++) //串行發(fā)送數(shù)據(jù)
{
k=out_data&0x80;
if(k==0x80) //判斷數(shù)據(jù)
SDIN=1;
else
SDIN=0;
_nop_();
SCLK=0;
_nop_();
SCLK=1;
_nop_();
out_data=_crol_(out_data,1); //循環(huán)左移1位
}
}
/***************************LPH7366清屏函數(shù)****************************/
/*函數(shù)原型:void LPH7366_clr()
/*函數(shù)功能:LPH7366清屏
/*輸入?yún)?shù):無
/*輸出參數(shù):無
/*調用模塊:LPH7366_write()
/*建立時間:2005/11/07
/*作者:丁霄
/**********************************************************************/
void LPH7366_clr()
{
unsigned int i;
for(i=1;i<505;i++) //整個屏幕白屏
{
LPH7366_write(DAT,0x00);
}
}
/***************************LPH7366任意寫入字符函數(shù)****************************/
/*函數(shù)原型:void LPH7366_write_str(unsigned char symbol_line,unsigned char symbol_row,unsigned char str)
/*函數(shù)功能:可以在屏幕的任意位置寫入所需字符(6行,每行13個字符)
/*輸入?yún)?shù):第幾行(line),第幾列(row),字符(str)
--這里的行列不是屏幕實際的行列,是字符所在的位置.
/*輸出參數(shù):無
/*調用模塊:LPH7366_write()
/*建立時間:2005/11/09
/*作者:丁霄
/**********************************************************************/
void LPH7366_write_str(unsigned char symbol_line,unsigned char symbol_row,unsigned char str)
{
unsigned char symbol_i; //在字符表的位置
unsigned char i;
LPH7366_write(COM,LPH7366_basic_fun_set); //顯示模塊基本指令
LPH7366_write(COM,LPH7366_add_Yset+(symbol_line-1)); //顯示模塊行地址設置
LPH7366_write(COM,LPH7366_add_Xset+row(STR,symbol_row)); //顯示模塊列地址設置
if(data_flag==0) //不動態(tài)顯示字符
symbol_i=str-32; //在ASCLL表是那個元素
if(data_flag==1) //動態(tài)顯示字符
symbol_i=str;
while(1)
{ for(i=0;i<5;i++)
{
LPH7366_write(DAT,ASCLL[symbol_i][i]);
}
LPH7366_write(DAT,0x00);
break;
}
}
/***********************LPH7366任意寫入漢字函數(shù)************************/
/*函數(shù)原型:void LPH7366_write_han(unsigned char symbol_line,unsigned char symbol_row,unsigned char han)
/*函數(shù)功能:可以在屏幕的任意位置寫入所需字符(3行,每行7個漢字)
/*輸入?yún)?shù):第幾行(line),第幾列(row),漢字(han)
/*輸出參數(shù):無
/*調用模塊:LPH7366_write()
/*建立時間:2005/11/10
/*作者:丁霄
/******************************************************************/
void LPH7366_write_han(unsigned char symbol_line,unsigned char symbol_row,unsigned char han)
{
unsigned char symbol_i; //在字符表的位置
unsigned char i;
LPH7366_write(COM,LPH7366_basic_fun_set); //顯示模塊基本指令
LPH7366_write(COM,LPH7366_add_Yset+(symbol_line-1)*2); //顯示模塊行地址設置
LPH7366_write(COM,LPH7366_add_Xset+row(HAN,symbol_row)); //顯示模塊列地址設置
symbol_i=han;
while(1)
{ for(i=0;i<24;i++)
{
if(i==12) //漢字顯示是兩行的 16*12 重新設置行列地址
{
LPH7366_write(COM,LPH7366_basic_fun_set); //顯示模塊基本指令
if(symbol_line==1)
LPH7366_write(COM,LPH7366_add_Yset+1); //顯示模塊行地址設置
if(symbol_line==2)
LPH7366_write(COM,LPH7366_add_Yset+3); //顯示模塊行地址設置
if(symbol_line==3)
LPH7366_write(COM,LPH7366_add_Yset+5); //顯示模塊行地址設置
LPH7366_write(COM,LPH7366_add_Xset+row(HAN,symbol_row)); //顯示模塊列地址設置
}
LPH7366_write(DAT,HZK[symbol_i][i]);
}
if(i==24)
break;
}
}
/***********************LPH7366任意寫入一個字節(jié)函數(shù)************************/
/*函數(shù)原型:void LPH7366_write_doc(unsigned char symbol_line,unsigned char symbol_row,unsigned char doc)
/*函數(shù)功能:可以在屏幕的任意位置寫入所需字節(jié)(6行,每行84個字節(jié))
/*輸入?yún)?shù):第幾行(line),第幾列(row),字節(jié)(doc)
/*輸出參數(shù):無
/*調用模塊:LPH7366_write()
/*建立時間:2005/11/10
/*作者:丁霄
/******************************************************************/
void LPH7366_write_doc(unsigned char symbol_line,unsigned char symbol_row,unsigned char doc)
{
LPH7366_write(COM,LPH7366_basic_fun_set); //顯示模塊基本指令
LPH7366_write(COM,LPH7366_add_Yset+symbol_line-1); //顯示模塊行地址設置
LPH7366_write(COM,LPH7366_add_Xset+symbol_row-1); //顯示模塊列地址設置
LPH7366_write(DAT,doc);
}
/*******************************數(shù)據(jù)拆分函數(shù)*********************************/
/*函數(shù)原型:void data_tick(unsigned char i_data)
/*函數(shù)功能:數(shù)據(jù)拆分
/*輸入?yún)?shù):i_data (將輸入的數(shù)據(jù)拆分成十位和個位)
/*輸出參數(shù):改變ge和shi兩個數(shù)據(jù)
/*調用模塊:無
/*建立時間:2005/10/24
/*作者:丁霄
/**********************************************************************/
void data_tick(unsigned char i_data)
{
unsigned char y;
y=i_data;
shi=i_data/10;
ge=y%10;
}
/***************************列計算函數(shù)****************************/
/*函數(shù)原型:unsigned char row(unsigned char stye,unsigned char i)
/*函數(shù)功能:類型,計算屏幕的列地址
/*輸入?yún)?shù):stye,symbol_row
/*輸出參數(shù):無
/*調用模塊:無
/*建立時間:2005/11/09
/*作者:丁霄
/******************************************************************/
unsigned char row(unsigned char stye,unsigned char i) //計算屏幕的列地址 類型
{
if(stye==1) //字符
{
if(i==1)
return 3;
return (row(stye,i-1)+6);
}
if(stye==2) //漢字
{
if(i==1)
return 0;
return (row(stye,i-1)+12);
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -