打印

下面是我写的lcd程序有问题求各位指点一下

[复制链接]
1648|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
13530865425|  楼主 | 2012-7-14 09:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
#include"msp430g2553.h"
#define E_SET  P2OUT|=BIT2
#define E_CLR  P2OUT^=BIT2
#define RS_SET  P2OUT|=BIT1
#define RS_CLR  P2OUT^=BIT1
#define RW_CLR  P2OUT^=BIT0
#define P1 P1OUT
void delay(volatile unsigned int t)
{
while(t--);
}
void lcd_com(unsigned char com)
{
RS_CLR;
RW_CLR;
P1=com;
delay(1);
E_SET;
E_CLR;
}
void lcd_dat(unsigned char dat)
{
RS_SET;
RW_CLR;
P1=dat;
delay(1);
E_SET;
E_CLR;
}
void lcd_init(void)
{
lcd_com(0x38);
lcd_com(0x06);
lcd_com(0x0c);
lcd_com(0x01);
}
void xiezifu(unsigned char x,unsigned char y, char *str) //写入字符串
{
if(y==0)
lcd_com(0x80+x);
else
lcd_com(0x80+0x40+x);
while(*str!='\0')
{
lcd_dat(*str);
str++;
}
}
void main(void)
{
WDTCTL=WDTPW+WDTHOLD;
P2DIR|=0x07;
P1DIR|=0xff;
lcd_init();
while(1)
{
xiezifu(1,0,"123456");
xiezifu(1,1,"7890");
}
}
下载到芯片,液晶没有显示,是什么原因,求各位指导一下

相关帖子

沙发
ghg061| | 2012-7-14 09:40 | 只看该作者
是不是LCD初始化之后要加延时

使用特权

评论回复
板凳
dlyt_test001| | 2012-7-14 09:54 | 只看该作者
LCD的复位时间比你单片机长。你单片机上电后要多初始化几次LCD。

使用特权

评论回复
地板
liang7143| | 2012-7-14 10:14 | 只看该作者
LZ可以先测试一下 看是不是上电后初始化LCD是否成功
在while(1)里面不停的初始化,看是否能有显示

while(1)
{
lcd_init();
xiezifu(1,0,"123456");
xiezifu(1,1,"7890");
//这里延时1-2s
}

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

0

主题

4

帖子

0

粉丝