好文档 - 专业文书写作范文服务资料分享网站

51单片机 12864液晶显示程序

天下 分享 时间: 加入收藏 我要投稿 点赞

/*========================LCD12864液晶并行驱动程序==========================

程序名称:12864液晶驱动程序(并行模式)

============================================================================*/ #include #define uchar unsigned char #define uint unsigned int uchar t,p;

/********************************引脚定义***********************************/

#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)

5ga7l6et4762h6002tw881m9s40m5v00jti
领取福利

微信扫码领取福利

微信扫码分享