发 帖  
原厂入驻New
[问答]

基于msp430的液晶程序,液晶不显示,希望那个高手可以指点

1643
分享

#include "msp430x14x.h"
#define uchar unsigned char
#define rs_h  P1OUT|=BIT5
#define rs_l  P1OUT&=~BIT5
#define rw_h  P1OUT|=BIT6
#define rw_l  P1OUT&=~BIT6
#define e_h     P1OUT|=BIT7  
#define e_l     P1OUT&=~BIT7
#define lcd   P4OUT                     
void delay(long int i)
{
  
  while(i--);
}
//写命令函数
void wcom(unsigned char com)
{      
        P1DIR|=0XF0;
        P2DIR|=0XFF;
        e_l;
rs_l;
rw_l;
e_h;
delay(1);
lcd|=com;
        delay(1);
e_l;
}

void wdata(unsigned char dat)
{      
        P1DIR|=0XF0;
        P2DIR|=0XFF;
        e_l;
rs_h;
rw_l;
        e_h;
        delay(50);
        lcd|=dat;
delay(50);
e_l;
}

//初始化函数
void init()
{
delay(50000);
wcom(0x30); //写基本指令
delay(1000);
wcom(0x30);
delay(1000);
wcom(0x0c); //显示开
delay(1500);
wcom(0x01);  //清屏指令
delay(2000);
  wcom(0x06);  //游标右移
  delay(1000);
}
//清屏函数
void lcdclear(void)
{
wcom(0x01);  //清屏指令
delay(10);
}
//显示汉字
void dishanzi(uchar addr,uchar *hz)
{
int i;
wcom(addr);
for(i=0;hz[i]!='\0';i++)
{
  wdata(hz[i]);
}

}  

void main()
{
  DCOCTL=0XE0;//初始化时钟
  BCSCTL1=0X86;
  BCSCTL2=0X00;
  
  P1DIR|=0XF0;
  P4DIR|=0XFF;
  P1OUT=0X00;
  P4OUT=0X00;
  
  delay(50);
  init();
delay(50);
lcdclear();
while(1)
{
dishanzi(0x80,"西安科技大学");
}
}

0
2011-11-1 23:35:08   评论 分享淘帖 邀请回答
1个回答
先要确认你的硬件没问题。
2012-7-28 22:41:20 评论

举报

撰写答案

你正在撰写答案

如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。

高级模式
您需要登录后才可以回帖 登录 | 注册

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容图片侵权或者其他问题,请联系本站作侵删。 侵权投诉
我要提问
关闭

站长推荐 上一条 /8 下一条

快速回复 返回顶部 返回列表