#include <msp430x14x.h>
#define uchar unsigned char
#define uint unsigned int
const uchar zeng[]={" 人生若只如初见"};
const uchar zeng1[] = {" 避免了伤痛"};
const uchar zeng2[] = {" 却错过了精彩"};
const uchar zeng3[] = {"5201314 I LOVE U"};
#define LCD_CMDOut P3DIR|=0x07 //P3口的低三位设置为输出
#define LCD_DataOut P4DIR=0xff //数据口方向设置为输出
#define MCU2LCD_Data P4OUT
#define LCD_RS_H P3OUT|=BIT0 //P3.0
#define LCD_RS_L P3OUT&=~BIT0 //P3.0
#define LCD_RW_H P3OUT|=BIT1 //P3.1
#define LCD_RW_L P3OUT&=~BIT1 //P3.1
#define LCD_EN_H P3OUT|=BIT2 //P3.2
#define LCD_EN_L P3OUT&=~BIT2 //P3.2
/*******************************************
函数名称:Write_Cmd
功 能:向液晶中写控制命令+
参 数:cmd--控制命令
返回值 :无
********************************************/
void Write_Cmd(uchar cmd)
{
LCD_DataOut;
LCD_RS_L;
LCD_RW_H;
LCD_RW_L;
MCU2LCD_Data=cmd;
_NOP();
LCD_EN_L;
LCD_EN_H;
_NOP();
LCD_EN_L;
}
/*******************************************
函数名称:Write_Data
功 能:向液晶中写显示数据
参 数:dat--显示数据
返回值 :无
********************************************/
void Write_Data(uchar dat)
{
LCD_DataOut;
LCD_RS_L;
LCD_RW_H;
LCD_RS_H;
LCD_RW_L;
MCU2LCD_Data= dat;
_NOP();
LCD_EN_L;
_NOP();
LCD_EN_H;
_NOP();
LCD_EN_L;
}
/*******************************************
函数名称:Ini_Lcd
功 能:初始化液晶模块
参 数:无
返回值 :无
********************************************/
void Ini_Lcd(void)
{
LCD_CMDOut; //液晶控制端口设置为输出
Write_Cmd(0x30);//基本指令集
_NOP();_NOP();_NOP();
Write_Cmd(0x02); // 地址归位
_NOP();_NOP();_NOP();
Write_Cmd(0x0c); //整体显示打开,游标关闭
_NOP();_NOP();_NOP();
Write_Cmd(0x01); //清除显示
_NOP();_NOP();_NOP();
}
void main(void)
{
WDTCTL=WDTPW+WDTHOLD;
int j;
Ini_Lcd();
LCD_CMDOut;
LCD_DataOut;
while(1)
{
Write_Cmd(0x80);
for(j=0;j<28;j++)
{
Write_Data(zeng[j]);
}
Write_Cmd(0x90);
for(j=0;j<12;j++)
{
Write_Data(zeng1[j]);_NOP();
}
Write_Cmd(0x88);
for(j=0;j<14;j++)
{
Write_Data(zeng2[j]);_NOP();
}
Write_Cmd(0x98);
for(j=0;j<16;j++)
{
Write_Data(zeng3[j]);_NOP();
}
}
//LPM4;
}
|