欢迎来到天天文库
浏览记录
ID:58821171
大小:142.50 KB
页数:5页
时间:2020-10-25
《MSP430单片机控制1602液晶显示.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、MSP430单片机控制1602液晶显示字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,引脚定义如下表所示:在这里要特别注意了:MSP430端口输出电压是3.3v的,不是5v的,所以2和15脚要另找5伏电压接上,否则虽然能显示但不清楚而且会出现乱码。2脚相当于清晰度调节,一般接地就可以,但最好接上可变电阻调节一下。下面是端口连接:不多解释了,接上线就行了,下面是C语言程序:#include/*必要操作:正确连接1602*
2、/#defineuintunsignedint//定义常用数据类型替代码#defineucharunsignedchar#definedatP2OUT//定义LCD1602的数据口为P2#defineCLR_RSP1OUT&=~BIT0;//置零P1.0位,也就是置零RS#defineSET_RSP1OUT
3、=BIT0;//置壹P1.0位,也就是置壹RS#defineCLR_RWP1OUT&=~BIT1;//置零P1.1位,也就是置零RW#defineSET_RWP1OUT
4、=BIT1;//置壹P1.1位,也就是置壹RW#defineCLR_ENP1OUT&=
5、~BIT2;//置零P1.2位,也就是置零EN#defineSET_ENP1OUT
6、=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
7、(void)//主程序开始{WDTCTL=WDTPW+WDTHOLD;P1DIR=0xff;P2DIR=0xff;while(1){display();//在大循环内调用显示函数,一直显示}}voiddelay_1ms(void)//延时程序{uchari,j;for(i=0;i<10;i++)for(j=0;j<20;j++);}voiddelay_1s(void)//延时程序{inti,j;for(i=0;i<10;i++)for(j=0;j<1000;j++);}voiddisplay(void)//液晶显示程序{uchari;//定义计数值uchart
8、able0[16]={"Whatdoyouwant"};//定义LCD1602显示2行的字符uchartable1[16]={"Iwantyounow.."};init_1602();//初始化1602zhl_1602(0x80);//写指令for(i=0;i<16;i++)//发送数据第一行{shj_1602(table0[i]);}zhl_1602(0xc0);for(i=0;i<16;i++)//发送数据第二行{shj_1602(table1[i]);}}voidbusy_1602(void)//查询忙碌标志信号程序{do{CLR_EN;SET_RW;C
9、LR_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
10、_1602(0x0c);zhl_1602(0x06);}
此文档下载收益归作者所有