| 
 
|     请高手看看我的程序,是程序不对还是我的液晶屏坏了,如果感觉没有问题的话给我个回复,谢谢!  <br /><br />    我的MPU是 arm7 lpc2114,液晶屏的芯片是ST7920,采用的是I/O口进行写操作(以后还要定义同步缓冲区,所以没有设置读),并口传输数据。这是我的程序: <br />#include "config.h" <br />#define RS 1 < <22    //数据,指令选择引脚 <br /><br />#define RSH IO0SET=RS   //选择数据 <br />#define RSL IO0CLR=RS  //选择指令 <br /><br />#define PSB 1 < <24    //选择并口  ,这个口后来我悬空了,因为默认是高 <br />#define PSB_EN IO0SET =PSB <br /><br />#define E 1 < <23       //使能,高->低有效 <br /><br />#define EL  IO0CLR=RS <br />#define EH  IO0SET=RS <br /><br />#define RST 1 < <25      //复位 <br />#define RSTH IO0SET=RST <br />#define RSTL IO0CLR=RST <br /><br />#define D0_D7 0xFF < <6     //用P0.6--P0.13 数据总线 <br />void Senddata(uint8 data)      //总控制I/O口,发送数据 <br />{ <br />IO0CLR=0xFF < <6;IO0SET=(data&0xFF) < <6;} <br />void Delay()      //由于我没有采用读忙,所以采用延时函数 <br />{ <br />  uint8 i; <br />  for(i=0;i <5000;i++); <br />} <br />void DElay(uint8 j)    //大延时函数 <br />{ <br />  uint32 i; <br />  for(;j>0;j--) <br />  for(i=0;i <50000;i++); <br />} <br />void Wrcom(uint8 command)     //写命令函数,rs=0 <br /><br />{  PSB_EN; <br />  EL; <br />  RSL; <br />  Delay();   <br />  Senddata(command); <br />  Delay(); <br />  EH; <br />  Delay(); <br />  EL; <br />  Delay(); <br />} <br />void WrData(uint8 wrdata)  //写数据,rs=1 <br />{PSB_EN; <br />  EL; <br />  RSH; <br />  Delay();   <br />  Senddata(wrdata); <br />  Delay(); <br />  EH; <br />  Delay(); <br />  EL; <br />  Delay(); <br />} <br />void LCD_int(void)   //初始化 <br />{  RSTL; <br />  DElay(50);   <br />  RSTH; <br />  DElay(50); <br />  Wrcom(0x30);  //8位接口,基本指令集 <br />  DElay(50);   <br />  Wrcom(0x0C);  //显示开关,光标设定 <br />  DElay(50); <br />  Wrcom(0x01);   //清屏 <br />  DElay(50); <br />  Wrcom(0x06);   //进入设定点 <br />  DElay(50); <br />   <br />} <br /><br /><br />  int main (void) <br />{// add user source code <br />  PINSEL0=0x00000000; <br />  PINSEL1=0x00000000; <br />  IO0DIR=RS|E|RST|PSB; <br />  IO0DIR=IO0DIR|D0_D7; <br />  LCD_int(); <br />  Wrcom(0x80);//设定现实地址 <br />   <br />  WrData(0x41);//发送个半宽字 <br />   <br />   <br />   <br />  while(1); <br />  return 0; <br />} <br /><br />由于第一次弄,所以程序有点简单,只想让它显示一个半宽字,可是没有任何字显示啊?希望高手指点,谢谢! <br /> <br /> <br /> <br /> | 
 |