[讨论] msp430初始化12864液晶屏程序问题

zhangya0916   2013-12-27 19:38 楼主
这是菜鸟我自己写的12864初始化程序RS=P5.5; RW=P5.6;LCDE=P5.7;D7~D0=P4口
程序写的有问题啊 初始化不了。请问大神们问题在哪??
#include
#define uc unsigned char
void delay(uc x)
{
uc a;
int b;
for(a=x;a>0;a--)
  for(b=100;b>0;b--);
}
void shuju(uc a)
{
P5OUT|=0X20;
P5OUT&=0Xbf;
P5OUT&=0X7F;
P4OUT=a;
delay(20);
P5OUT|=~0X7f;
delay(20);
P5OUT&=0X7F;
delay(20);
}
void zhiling(uc a)
{
P5OUT&=0Xdf;
P5OUT&=0Xbf;
P5OUT&=0X7F;
P4OUT=a;
delay(20);
P5OUT|=~0X7f;
delay(20);
P5OUT&=0X7F;
delay(20);
}
void chushihua()
{
zhiling(0x01);
zhiling(0x02);
zhiling(0x0f);
delay(20);
}
void main( void )
{
  // Stop watchdog timer to prevent time out reset
  WDTCTL = WDTPW + WDTHOLD;
  P5SEL=0X00;
  P4SEL=0X00;
P5DIR=0XFF;
P4DIR=0XFF;
chushihua();
while(1);
}

回复评论 (3)

建议:
1、写代码的时候加上注释啊
2.LCD12864的时序并不难,自己不想写的话,你可以上网搜一下51的LCD12864,拿过来改一下,你写的这个我是在看着晕
哈喽,我是卡索KaSuo~~
点赞  2013-12-27 20:03
好吧 我菜鸟 写的不规范。。
点赞  2013-12-27 20:09
看你这个代码写得确实是有点不规范,你应该用的8位数据总线模式,那样初始化的指令为:0x30,0x30,0x0c,0x06,0x01,这是一般的初始化指令流程,其中0x0c和0x06是可以更改的,以实现相应的功能,具体的你可以看12864的资料
点赞  2013-12-28 00:42
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复