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

2019-07-16 06:41发布


#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]!='';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,"西安科技大学");
}
}

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