?? smg19264e_m_exsample_c51.c
字號:
lcdwc1(0x40|XPOS); //列地址設置
}
else if(XPOS<128)
{ lcdwc2(0xB8|((YPOS/8)&0x7)); //頁地址設置
lcdwc2(0x40|(XPOS&0x3F)); //列地址設置
}
else
{ lcdwc3(0xB8|((YPOS/8)&0x7)); //頁地址設置
lcdwc3(0x40|(XPOS&0x3F)); //列地址設置
}
}
//-------------------------------------------------------------------------------
//子程序名稱:void lcdreset(void)
//功能:液晶顯示控制器初始化
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdreset(void) //液晶顯示控制器初始化子程序
{
lcdwc1(0xC0); //設置顯示初始行
lcdwc2(0xC0); //設置顯示初始行
lcdwc3(0xC0); //設置顯示初始行
lcdwc1(0x3F); //開顯示
lcdwc2(0x3F); //開顯示
lcdwc3(0x3F); //開顯示
}
//-------------------------------------------------------------------------------
//以下lcdwc1,lcdwc2,lcdwc3,lcdwd,lcdrd為MCS51總線接口的KS0108B液晶顯示控制器的基本
//子程序,lcdwd1,lcdwd2,lcdwd3,lcdrd1,lcdrd2,lcdrd3,lcdwaitidle1,lcdwaitidle2,
//lcdwaitidle3為內部子程序.
//-------------------------------------------------------------------------------
//子程序名稱:unsigned char lcdrd(void).
//功能:從液晶顯示控制器中讀圖形數據.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
unsigned char lcdrd(void)
{unsigned char d;
if(XPOS<64)
{ d=lcdrd1();
d=lcdrd1();
}
else if(XPOS<128)
{ d=lcdrd2();
d=lcdrd2();
}
else
{ d=lcdrd3();
d=lcdrd3();
}
return d;
}
//-------------------------------------------------------------------------------
//子程序名稱:void lcdwd(unsigned char d).
//功能:向液晶顯示控制器寫圖形數據.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwd(unsigned char d)
{ if(XPOS<64)
lcdwd1(d);
else if(XPOS<128)
lcdwd2(d);
else
lcdwd3(d);
}
//-------------------------------------------------------------------------------
//子程序名稱:void lcdwd1(unsigned char d).
//功能:向液晶顯示控制器1寫圖形數據.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwd1(unsigned char d)
{ lcdwaitidle1();
P1=d;
RSPIN=1;
RWPIN=0;
CS1PIN=0;
EPIN=1;
_nop_();
EPIN=0;
CS1PIN=1;
}
//-------------------------------------------------------------------------------
//子程序名稱:void lcdwd2(unsigned char d).
//功能:向液晶顯示控制器2寫圖形數據.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwd2(unsigned char d)
{ lcdwaitidle2();
P1=d;
RSPIN=1;
RWPIN=0;
CS2PIN=0;
EPIN=1;
_nop_();
EPIN=0;
CS2PIN=1;
}
//-------------------------------------------------------------------------------
//子程序名稱:void lcdwd3(unsigned char d).
//功能:向液晶顯示控制器3寫圖形數據.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwd3(unsigned char d)
{ lcdwaitidle3();
P1=d;
RSPIN=1;
RWPIN=0;
CS3PIN=0;
EPIN=1;
_nop_();
EPIN=0;
CS3PIN=1;
}
//-------------------------------------------------------------------------------
//子程序名稱:unsigned char lcdrd1(void).
//功能:從液晶顯示控制器1中讀圖形數據.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
unsigned char lcdrd1(void) //讀圖形數據子程序
{ unsigned char d;
lcdwaitidle1(); //檢測液晶顯示控制器是否空閑
P1=0xff;
RSPIN=1;
RWPIN=1;
CS1PIN=0;
EPIN=1;
_nop_();
d=P1;
EPIN=0;
CS1PIN=0;
return d;
}
//-------------------------------------------------------------------------------
//子程序名稱:unsigned char lcdrd2(void).
//功能:從液晶顯示控制器2中讀圖形數據.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
unsigned char lcdrd2(void) //讀圖形數據子程序
{ unsigned char d;
lcdwaitidle2(); //檢測液晶顯示控制器是否空閑
P1=0xff;
RSPIN=1; //DUMMY READ
RWPIN=1;
CS2PIN=0;
EPIN=1;
_nop_();
d=P1;
EPIN=0;
CS2PIN=1;
return d;
}
//-------------------------------------------------------------------------------
//子程序名稱:unsigned char lcdrd3(void).
//功能:從液晶顯示控制器3中讀圖形數據.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
unsigned char lcdrd3(void) //讀圖形數據子程序
{ unsigned char d;
lcdwaitidle3(); //檢測液晶顯示控制器是否空閑
P1=0xff;
RSPIN=1;
RWPIN=1;
CS3PIN=0;
EPIN=1;
_nop_();
d=P1;
EPIN=0;
CS3PIN=1;
return d;
}
//-------------------------------------------------------------------------------
//子程序名稱:lcdwc1(unsigned char c).
//功能:向液晶顯示控制器1送指令.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwc1(unsigned char c) //向液晶顯示控制器1送指令
{ lcdwaitidle1();
P1=c;
RSPIN=0;
RWPIN=0;
CS1PIN=0;
EPIN=1;
_nop_();
EPIN=0;
CS1PIN=0;
}
//-------------------------------------------------------------------------------
//子程序名稱:lcdwc2(unsigned char c).
//功能:向液晶顯示控制器2送指令.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwc2(unsigned char c) //向液晶顯示控制器2送指令
{ lcdwaitidle2();
P1=c;
RSPIN=0;
RWPIN=0;
CS2PIN=0;
EPIN=1;
_nop_();
EPIN=0;
CS2PIN=1;
}
//-------------------------------------------------------------------------------
//子程序名稱:lcdwc3(unsigned char c).
//功能:向液晶顯示控制器3送指令.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwc3(unsigned char c) //向液晶顯示控制器3送指令
{ lcdwaitidle3();
P1=c;
RSPIN=0;
RWPIN=0;
CS3PIN=0;
EPIN=1;
_nop_();
EPIN=0;
CS3PIN=1;
}
//-------------------------------------------------------------------------------
//子程序名稱:voidlcdwaitidle1(void).
//功能:忙檢測,在對液晶顯示控制器操作的每一條指令之前,需檢測液晶顯示器是否空閑.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwaitidle1(void) //控制器1忙檢測子程序
{ unsigned char i;
P1=0xff;
RSPIN=0;
RWPIN=1;
CS1PIN=0;
EPIN=1;
for(i=0;i<20;i++) //
if( (P1&0x80) != 0x80 ) break; //D7=0 空閑退出
EPIN=0;
CS1PIN=1;
}
//-------------------------------------------------------------------------------
//子程序名稱:voidlcdwaitidle2(void).
//功能:忙檢測,在對液晶顯示控制器操作的每一條指令之前,需檢測液晶顯示器是否空閑.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwaitidle2(void) //控制器2忙檢測子程序
{ unsigned char i;
P1=0xff;
RSPIN=0;
RWPIN=1;
CS2PIN=0;
EPIN=1;
for(i=0;i<20;i++) //
if( (P1&0x80) != 0x80 ) break; //D7=0 空閑退出
EPIN=0;
CS2PIN=1;
}
//-------------------------------------------------------------------------------
//子程序名稱:voidlcdwaitidle3(void).
//功能:忙檢測,在對液晶顯示控制器操作的每一條指令之前,需檢測液晶顯示器是否空閑.
//修改日期:2009.11.04
//修改人:chujianjun@sunman.cn,tanchao@sunman.cn
//-------------------------------------------------------------------------------
void lcdwaitidle3(void) //控制器3忙檢測子程序
{ unsigned char i;
P1=0xff;
RSPIN=0;
RWPIN=1;
CS3PIN=0;
EPIN=1;
for(i=0;i<20;i++) //
if( (P1&0x80) != 0x80 ) break; //D7=0 空閑退出
EPIN=0;
CS3PIN=1;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -