/*========================LCD12864液晶并行驱动程序==========================
程序名称:12864液晶驱动程序(并行模式)
============================================================================*/ #include
/********************************引脚定义***********************************/
#define RS P1_0 //RS=0为执行指令;RS=1为执行数据; #define RW P1_1 //读写 #define E P1_2 //使能
#define PSB P1_3 //低电平(串口驱动);高电平(并口驱动)
#define RST P1_4 //LCD复位
/********************************定义数组***********************************/ uchar code title[] = {\并行接口测试%uchar code website[]={%uchar code dig[]={%uchar code dig2[]={0,1,2,3,':'}; // /*******************************相关子程序**********************************/ void Init_lcd(); //初始化液晶 void lcd_busy(); //忙标志查询 void delay100us(); //100us延时程序
void write(uchar x,uchar Data); //写单字节函数 void Show(uchar address,uchar L,uchar STR1[]); void Show_dig(uchar address,uint number);
/*******************************延时子程序**********************************/ void delay100(int n) {
unsigned char i; while(n--)
for(i=0;i<100;i++); }
/*******************************LCD 忙标志查询******************************/ void lcd_busy(void) {
uchar busy; P0=0xff; RS=0; RW=1;
do{ E=1; busy=P0; E=0; }
while(busy>0x7f); }
/*****************************写指令或数据**********************************/ void write(uchar x,uchar Data) {
lcd_busy(); //忙查询 if(x==0) { RS=0;
RW=0; //写单字节命令字 }
else if(x==1) { RS=1;
RW=0; //写单字节数据 } E=1; P0=Data; E=0; P0=0xff; }
/*******************************初始化LCD **********************************/ void Init_lcd(void)