欢迎来到天天文库
浏览记录
ID:51660877
大小:14.17 KB
页数:3页
时间:2020-03-14
《MSP430液晶显示程序.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、#include#defineCLR_RSP2OUT&=~BIT0;//RS=P2.0#defineSET_RSP2OUT
2、=BIT0;#defineCLR_RWP2OUT&=~BIT1;//RW=P2.1#defineSET_RWP2OUT
3、=BIT1;#defineCLR_EP2OUT&=~BIT2;//EN=P2.2#defineSET_EP2OUT
4、=BIT2;#defineCLR_RSTP2OUT&=~BIT3;//RST=P2.3#defineSET_RSTP2OUT
5、=BIT3;
6、#defineLCDdataP1OUT;#defineucharunsignedchar#defineuintunsignedint//延时函数voiddelay(uintxx){while(xx--);}//读忙状态voidrdbusy(void){while(1){CLR_RS;SET_RW;CLR_E;P1OUT=0xff;SET_E;if((P1OUT&0x80)==0)break;}}//写数据voidwr_data(ucharwrdata){rdbusy;SET_RS;CLR_RW;SET_E;P1OUT=wr
7、data;CLR_E;}//写指令voidwr_cmd(ucharcmd){rdbusy;CLR_RS;CLR_RW;SET_E;P1OUT=cmd;CLR_E;}//确定行、列号,并显示数据voiddisplay(ucharx,uchary,uchar*seg)//x为行号,y为列号,seg为输入字符{uchari;uintt=0;switch(x)//确定行号{case1:i=0x80;break;//第一行case2:i=0x90;break;//第二行case3:i=0x88;break;//第三行case4:i=
8、0x98;break;//第四行default:break;}i=i+y-1;//确定列号wr_cmd(i);while(seg[t]!=' '){wr_data(seg[t]);//写入需要显示字符的显示码t++;}}//Lcd写数据初始化voidlcd_init(void){delay(5000);SET_RST;CLR_RST;SET_RST;wr_cmd(0x30);//功能模式设置为写入汉字delay(500);wr_cmd(0x30);//2次功能模式设置,不用判忙(基本指令)delay(500);wr_cm
9、d(0x0c);//整体显示,光标及其设置不显示delay(500);wr_cmd(0x01);//清屏delay(500);delay(500);wr_cmd(0x06);//光标右移delay(500);}voidmain(void){WDTCTL=WDTPW+WDTHOLD;ucharstring_1[]="你好";P1DIR
10、=0xff;//P1口作为输出P2DIR
11、=BIT0+BIT1+BIT2;//P2口0,12作为输出lcd_init();display(1,2,string_1);while(1);}
此文档下载收益归作者所有