新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > msp430單片機控制lcd1602顯示C程序

msp430單片機控制lcd1602顯示C程序

作者: 時間:2016-11-24 來源:網(wǎng)絡(luò) 收藏
//MSP430寫的1602液晶顯示程序2011/8/26//硬件連接

//P4 數(shù)據(jù)口 P3.7---E P3.6---RW P3.5----RS
#include"msp430x14x.h"
#define uint unsigned int
#define rw(x) P3OUT=(P3OUT&(~BIT6))|(x?BIT6:0);

本文引用地址:http://m.butianyuan.cn/article/201611/320620.htm

unsigned char table0[]="hankouxueyuan";
unsigned char table1[]="dianzisheji";

//**************延時***********************************
void delay(uint z)
{
uint t,y;
for(t=z;t>0;t--)
for(y=110;y>0;y--);
}

//*******寫命令*****************************************
void write_com(unsigned char com)
{
P3OUT&=~BIT5;//作為RS選擇端低電平有效
rw(0);
P3OUT|=BIT7;
delay(10);
P4OUT=com;
//P4OUT=com;
//P3OUT|=BIT7;
delay(15);
P3OUT&=~BIT7;
}

//*******寫數(shù)據(jù)***************************************************
void write_data(unsigned char date)
{
P3OUT|=BIT5;//作為RS選擇端高電平有效勞
rw(0);
P3OUT|=BIT7;
delay(10);
P4OUT=date;
//delay(15);
//P4OUT=date;
//P3OUT|=BIT7;作為E選擇端=1;
delay(15);
P3OUT&=~BIT7;
}


//********初始化******************************************
void init()
{
P3DIR=0xff;//P3輸出 作控制口
P3SEL=0;
P3OUT=0x00;

P3OUT&=~BIT7;//E
P3OUT&=~BIT5;//RS

P4DIR=0XFF;//P4輸出 作數(shù)據(jù)口
P4SEL=0;
P4OUT=0X00;
write_com(0x38);//顯示模式設(shè)置
write_com(0x0c);//開顯示,不顯光標(biāo)
write_com(0x06);//數(shù)據(jù)地址指針
write_com(0x01);//清屏
//_BIS_SR(GIE);//兩個開總中斷的方法隨便用哪一個
// _EINT();
}

//************顯示函數(shù)2********************
display2(unsigned char x,unsigned char *p)
{
unsigned char y=0; //y要給其初值0否則出亂碼
write_com(x);
while(p[y]!=0x00)
{
write_data(p[y]);
y++;
delay(15);
}
}

//***************主函數(shù)****************************************************
void main()
{
WDTCTL=WDTPW+WDTHOLD; //關(guān)看門狗
init();
while(1)
{
display2(0x80+0x01,table0);
display2(0x80+0x40+0x01,table1);
}
}



關(guān)鍵詞: msp430單片機控制lcd160

評論


技術(shù)專區(qū)

關(guān)閉