-
大小: 17KB文件類型: .rar金幣: 2下載: 0 次發布日期: 2021-05-29
- 語言: 其他
- 標簽: MSP430F149??LCD12864??串口顯示??
資源簡介
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
評論
共有 條評論