您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > MSP430单片机控制1602液晶显示
MSP430单片机控制1602液晶显示字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,引脚定义如下表所示:在这里要特别注意了:MSP430端口输出电压是3.3v的,不是5v的,所以2和15脚要另找5伏电压接上,否则虽然能显示但不清楚而且会出现乱码。2脚相当于清晰度调节,一般接地就可以,但最好接上可变电阻调节一下。下面是端口连接:不多解释了,接上线就行了,下面是C语言程序:#includemsp430x14x.h/*必要操作:正确连接1602*/#defineuintunsignedint//定义常用数据类型替代码#defineucharunsignedchar#definedatP2OUT//定义LCD1602的数据口为P2#defineCLR_RSP1OUT&=~BIT0;//置零P1.0位,也就是置零RS#defineSET_RSP1OUT|=BIT0;//置壹P1.0位,也就是置壹RS#defineCLR_RWP1OUT&=~BIT1;//置零P1.1位,也就是置零RW#defineSET_RWP1OUT|=BIT1;//置壹P1.1位,也就是置壹RW#defineCLR_ENP1OUT&=~BIT2;//置零P1.2位,也就是置零EN#defineSET_ENP1OUT|=BIT2;//置壹P1.2位,也就是置壹ENucharbusy;//1602判忙标志voiddelay_1ms(void);//延时程序voiddelay_1s(void);//延时程序voiddisplay(void);//显示程序voidbusy_1602(void);//液晶查忙程序voidshj_1602(uchara);//液晶写数据程序voidinit_1602(void);//液晶初始化voidzhl_1602(uchara);//液晶写指令程序voidmain(void)//主程序开始{WDTCTL=WDTPW+WDTHOLD;P1DIR=0xff;P2DIR=0xff;while(1){display();//在大循环内调用显示函数,一直显示}}voiddelay_1ms(void)//延时程序{uchari,j;for(i=0;i10;i++)for(j=0;j20;j++);}voiddelay_1s(void)//延时程序{inti,j;for(i=0;i10;i++)for(j=0;j1000;j++);}voiddisplay(void)//液晶显示程序{uchari;//定义计数值uchartable0[16]={Whatdoyouwant};//定义LCD1602显示2行的字符uchartable1[16]={Iwantyounow..};init_1602();//初始化1602zhl_1602(0x80);//写指令for(i=0;i16;i++)//发送数据第一行{shj_1602(table0[i]);}zhl_1602(0xc0);for(i=0;i16;i++)//发送数据第二行{shj_1602(table1[i]);}}voidbusy_1602(void)//查询忙碌标志信号程序{do{CLR_EN;SET_RW;CLR_RS;SET_EN;busy=dat;CLR_EN;delay_1ms();}while(busy&&0x10==1);}voidzhl_1602(uchara)//写指令到LCM程序{busy_1602();CLR_EN;CLR_RW;CLR_RS;SET_EN;dat=a;CLR_EN;}voidshj_1602(uchara)//写数据到LCM程序{busy_1602();CLR_EN;CLR_RW;SET_RS;SET_EN;dat=a;CLR_EN;}voidinit_1602(void)//启动LCM程序{zhl_1602(0x38);zhl_1602(0x0c);zhl_1602(0x06);}
本文标题:MSP430单片机控制1602液晶显示
链接地址:https://www.777doc.com/doc-6206609 .html