?? lcd2x8cdriver.h
字號:
//LCD2X8C驅動程序
//LCD2X8CDriver.h
#define comm 0
#define dat 1
sbit LEDEN=P3^6; //背光
//sbit LCD245DIR=P2^7;
sbit LCD245EN=P3^7;
/*------------------定義LCD控制端口-----------------*/
sbit rs = P1^3; //H=data; L=command;
sbit rw = P1^4; //H=read; L=write;
sbit lcde = P1^5; //input enable;
sbit psb= P1^6; //H=并口; L=串口;
sbit rst= P1^7; //Reset Signal 低電平有效
/*--------------------------------------------------*/
/*------------------定義將顯示的文字--------------------*/
/*--------直接輸入文字即可,系統會自動編譯為內碼--------*/
uchar code rowpassword[]={"請輸入密碼: "};
/*---------------------------------------*/
void wr_lcd (uchar dat_comm,uchar content)
{
delay (100);
LCD245EN=0;
//LCD245DIR=1;
if(dat_comm)
{
rs=1; //data
rw=0; //write
}
else
{
rs=0; //command
rw=0; //write
}
P0=content; //output data or comm
lcde=1;
;
lcde=0;
LCD245EN=1;
}
/*------------------初始化-----------------*/
void init_lcd (void)
{
LCD245EN=1;
rst=1;
psb=1; //并行方式
wr_lcd (comm,0x30); /*30---基本指令動作*/
wr_lcd (comm,0x01); /*清屏,地址指針指向00H*/
wr_lcd (comm,0x06); /*光標的移動方向*/
wr_lcd (comm,0x0c); /*開顯示,關游標*/
}
/*---------------顯示一行漢字或字符----------------*/
void LCD_display_a_row (uchar yy,uchar code *chn)
{
uchar row,i;
row=(yy-1)*16+0x80;
wr_lcd (comm,0x30);
wr_lcd (comm,row);
for (i=0;i<16;i++)
wr_lcd (dat,chn[i]);
}
/*---------------在(xx,yy)位置顯示一個漢字或兩個字符(兩個字節)----------------*/
void LCD_display_a_chn(uchar yy,uchar xx,uchar code *chn)
{//xx 從1到8,yy從1到2
uchar coordinate;//坐標
coordinate=0x80+(xx-1)+(yy-1)*16;
wr_lcd (comm,0x30);
wr_lcd (comm,coordinate);
wr_lcd (dat,chn[0]);
wr_lcd (dat,chn[1]);
}
/*---------------在(xx,yy)位置顯示一個字符----------------*/
void LCD_display_a_char(uchar yy,uchar xx,uchar code *chn)
{//xx 從1到8,yy從1到2
uchar coordinate;//坐標
coordinate=0x80+(xx-1)+(yy-1)*16;
wr_lcd (comm,0x30);
wr_lcd (comm,coordinate);
wr_lcd (dat,chn[0]);
}
/*---------------全屏顯示漢字或字符-即,顯示兩行---------------
void LCD_display_a_screen (uchar code *chn)
{
uchar i,j;
wr_lcd (comm,0x30);
wr_lcd (comm,0x80);
j=0;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
wr_lcd (comm,0x90);
j=1;
for (i=0;i<16;i++)
wr_lcd (dat,chn[j*16+i]);
}
*/
/*------------清屏--清DDRAM------------------*/
void clrscreen(void)
{
wr_lcd (comm,0x30);
wr_lcd (comm,0x01);/*清屏,地址指針指向00H*/
}
/*--------------結束------------以下無--------------*/
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -