资源简介

MSP430F149 LCD12864 串口显示

资源截图

代码片段和文件信息


#include “msp430x14x.h“
#include“math.h“

typedef unsigned char INT8U;
typedef     unsigned  int  INT16U;
typedef     unsigned long int  INT32U;
typedef         float    FT32S;

#define SENDCOMM 0XF8    //0XF1 000 写指令
#define READCOMM 0XFC    //0XF1 100 读指令
#define SENDDATA 0XFA    //0XF1 010 写数据
#define READDATA 0XFE    //0XF1 110 读数据

#define E_CLK   P4OUT |= BIT0;     //E_CLK=P1^0;
#define NE_CLK  P4OUT &=~BIT0;
#define RW_SID  P4OUT |= BIT1;    //RW_SID=P1^1;
#define NRW_SID P4OUT &=~BIT1;
#define RS_CS   P4OUT |= BIT2;    //RS_CS=P1^2;
#define NRS_CS  P4OUT &=~BIT2;

INT8U String_1[]={“230:I LOVE YOU ! \0“};
INT8U String_2[]={“机会给有准备的人 \0“};
INT8U String_3[]={“    行晓于言     \0“};
INT8U String_4[]={“Resolute Success\0“};

void DelayMs(volatile INT16U n)//延时(n)MS
{
    //i = 50000; Delay 1s   one number is 20uS
    INT16U i=0;
    while(n--)
    {
      for(i=571;i>0;i--);
    }
}
void System_Clock()
{
    INT8U i;
    BCSCTL1 &=~XT2OFF;    //使TX2有效
    do
    {
      IFG1 &=~OFIFG;      //清振荡器失效标志
      for(i=0xff;i>0;i--);//延时待稳定
    }
    while((IFG1 & OFIFG));//若振荡器失效标志有效
    BCSCTL2 =SELM_2 + SELS;         //使MCLK和SMCLK=XT2
    _EINT(); 
}
void LCD_send_byte(INT8U a)
{
INT8U i;
for(i=8;i>0;i--)
{
        NE_CLK;
E_CLK;
if(a&(0x01<<(i-1)))     //先发送高位
{
RW_SID;
}
else
{
NRW_SID;
}
NE_CLK;
}
}
INT8U LCD_read_byte(void)
{
INT8U idat=0;
        P4DIR &=~0x02;//RW_SID输入
for(i=8;i>0;i--)  //先读出高位
{
    NE_CLK;
            E_CLK;
           if(P4IN&0x02)
  {
     dat |=(0x01<<(i-1));
  }
  NE_CLK;
}
        P4DIR |=0x07;//RW_SID输出
return dat;
}
void RDBF(void)
{
INT8U readh=0readl=0bf=0;
while(1)
{
NRS_CS;
RS_CS;
LCD_send_byte(READCOMM);
readh=LCD_read_byte();
readl=LCD_read_byte();
                NRS_CS;
readl=(readl>>4);
bf=((readh&0xf0)|(readl&0x0f));
if((bf&0x80)==0)
{
break;
}
}
}
void  LCD_comm(INT8U comm)
{

INT8U temp1=0temp2=0;
RDBF();
RS_CS;
LCD_send_byte(SENDCOMM);
temp1=(comm & 0xf0);
LCD_send_byte(temp1);
temp2=(((comm&0x0f)<<4)&0xf0);
LCD_send_byte(temp2);
NRS_CS;

}
void LCD_data(INT8U lcd_data)
{
INT8U  temp=0temp1=0;
RDBF();
RS_CS;

LCD_send_byte(SENDDATA);

temp=(lcd_data&0xf0);

LCD_send_byte(temp);

temp1=(lcd_data&0x0f)<<4;

LCD_send_byte(temp1);

NRS_CS;
}
void LCD_WriteStr(INT8U XINT8U Line INT8U *str)
{
INT8U addr;
if(Line==1)
addr=0x80;
else if(Line==2)
addr=0x90;
else if(Line==3)
addr=0x88;
else if(Line==4)
addr=0x98;
LCD_comm(addr+X);
while(*str != ‘\0‘)
{
  LCD_data(*str++);
}
}
void LCD_init(void)
{
DelayMs(1);
P4OUT &=0xf8;
NRS_CS;NRS_CS;
LCD_comm(0x30); //功能设置,一次送8位数据,基本指令集
DelayMs(1);
//LCD_comm(0x30);//功能设置,一次送8位数据,基本指令集
//DelayMs(1);
LCD_comm(0x0c); //00001100 整体显示,游标off,游标位置off
DelayMs(1);
LCD_comm(0x01); //00000001 清DDRAM
Dela

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       2741  2011-08-18 09:19  MSP43012864串口显示\12864串口显示.dep

     文件      13407  2011-08-14 10:31  MSP43012864串口显示\12864串口显示.ewd

     文件      45013  2011-08-14 10:31  MSP43012864串口显示\12864串口显示.ewp

     文件        191  2011-08-14 10:31  MSP43012864串口显示\12864串口显示.eww

     文件       2451  2011-08-18 08:47  MSP43012864串口显示\Debug\Exe\12864串口显示.txt

     文件        166  2011-08-18 09:11  MSP43012864串口显示\Debug\Obj\12864串口显示.pbd

     文件      25604  2011-08-18 09:11  MSP43012864串口显示\Debug\Obj\main.r43

     文件       3576  2011-08-18 09:11  MSP43012864串口显示\main.c

     文件       2523  2011-08-18 09:10  MSP43012864串口显示\settings\12864串口显示.cspy.bat

     文件         63  2011-08-18 09:19  MSP43012864串口显示\settings\12864串口显示.dbgdt

     文件        639  2011-08-18 09:19  MSP43012864串口显示\settings\12864串口显示.dni

     文件       2905  2011-08-18 09:19  MSP43012864串口显示\settings\12864串口显示.wsdt

     目录          0  2011-08-14 10:54  MSP43012864串口显示\Debug\Exe

     目录          0  2011-08-14 09:50  MSP43012864串口显示\Debug\List

     目录          0  2011-08-18 09:19  MSP43012864串口显示\Debug\Obj

     目录          0  2011-08-14 09:50  MSP43012864串口显示\Debug

     目录          0  2011-08-14 12:03  MSP43012864串口显示\settings

     目录          0  2011-08-18 09:11  MSP43012864串口显示

----------- ---------  ---------- -----  ----

                99279                    18


评论

共有 条评论