OCM19264液晶屏显示程序.doc
文本预览下载声明
Lcd.c文件
#includereg52.h
#includemath.h
#includeINTRINS.H
#includelcd.h
/********************引脚定义********************/
sbit RS =P1^2; //数据指令
sbit RW =P1^0; //读写
sbit E =P1^1; //使能
sbit CSL =P1^3; //左片选
sbit CSM =P1^4; //中片选
sbit CSR =P1^5; //右片选
sfr datalcm=0x80; //数据口
#define uchar unsigned char
#define uint unsigned int
#define Col_Add 0x40 //Y地址
#define Page_Add 0xb8 //x地址
uchar code yu[];
uchar code yin[];
uchar code bao[];
uchar code jing[];
uchar code xi[];
uchar code tong[];
uchar code hong[];
uchar code shi[];
uchar code jian[];
uchar code lv[];
uchar code huang[];
uchar code ci[];
uchar code shu[];
uchar code maohao[];
void wtcom(void);
/***************************/
/*检查Busy */
/***************************/
void BusyL(void)
{
CSL= 0;
CSM= 1;
CSR= 1;
wtcom();
}
void BusyM(void)
{
CSL= 1;
CSM= 0;
CSR= 1;
wtcom();
}
void BusyR(void)
{
CSL= 1;
CSM= 1;
CSR= 0;
wtcom();
}
void wtcom(void)
{
RS = 0; //指令
RW = 1;
datalcm = 0xFF; //输出0xff以便读取正确
E = 1;
_nop_();
while(datalcm 0x80); //Status Read Bit7 = BUSY
E = 0;
}
void WriteCommandL( unsigned char CommandByte )
{
BusyL();
RS = 0; //指令
RW = 0;
datalcm = CommandByte;
E = 1;
_nop_();
E = 0;
}
void WriteCommandM( unsigned char CommandByte )
{
BusyM();
RS = 0; //指令
RW = 0;
datalcm = CommandByte;
E = 1;
_nop_();
E = 0;
}
void WriteCommandR( unsigned char CommandByte )
{
BusyR();
RS = 0; //指令
RW = 0;
datalcm = CommandByte;
E = 1;
_nop_();
E = 0;
}
/***************************/
/*写数据 */
/***************************/
void WriteData( unsigned char DataByte )
{
void wtcom();
RS = 1; /*数据输出*/
RW = 0; /*写输出 */
datalcm= DataByte; /*数据输出到数据口 */
E = 1;
显示全部