qb12864b显示不出来屏幕只会亮

2019-07-15 20:03发布

我的程序是这样的
#include<reg52.h>
#define uint  unsigned int
#define uchar unsigned char
sbit E=P2^6;
sbit RW=P2^5;
sbit RS=P2^4;
sbit RST=P2^3;
sbit Busy=P0^7;
#define LCDdata P0


void delay(uint xx)   
{
while(xx--);
}
void rdbf(void)  
{
while(1)
   {
   RS=0;
   RW=1;
   E=0;
   LCDdata=0xFF;
   E=1;
   if((LCDdata&Busy)==0)
   break;
    }
}
void wr_data(uchar wrdata)   
{
rdbf();
RS=1;
RW=0;
E=1;
LCDdata=wrdata;
E=0;
}
void wr_cmd(uchar cmd)   
{      
rdbf();     //当BF=0时,模块内部方可接收新的指令
RS=0;
RW=0;
E=1;
LCDdata=cmd;
E=0;
}
void lcd_init(void)   
{
delay(5000);
RST=1;
RST=0;
RST=1;
wr_cmd(0x30);
delay(500);
wr_cmd(0x30);   //2次功能模式设置,不用判忙(基本指令)
delay(500);
wr_cmd(0x0c);   //整体显示,光标及其设置不显示
delay(500);
wr_cmd(0x01);   //清屏
delay(500);
delay(500);
wr_cmd(0x06);   //光标右移
delay(500);
}

   void main(void)
{
lcd_init();
   wr_cmd(0x80);
   wr_data(0x44);
while(1);
}

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。