欢迎来到天天文库
浏览记录
ID:8795025
大小:23.10 KB
页数:11页
时间:2018-04-08
《lcd1602控制c语言编程讲解》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、LCD1602之msp430单片机和C51单片机C语言/**************************************************************************/ 1.msp430单片机C语言/*************************************************************************/#include"msp430f6638.h"/*******************************************P5.3-
2、---E P57 P56 P55 P54 P53 P52 P51 P50P5.4----RS P5.5----RW P57 P56 RW RS E P52 P51 P50P2OUT---wdata********************************************/#defineucharunsignedchar;#defineuintunsignedint;//*********显示字符串可将字符串放入数组,例如显示ancdefdg******//**定义一个数组**//*
3、*ucharcodettt[]="ancdefdg";//字符串用双引号引起来,空格计入字符串的元素/*ucharcodekkk[]="ffba ggddmm";//上句加空格9个元素,该句加两个空格12个元素/**********************************元素个数在循环显示时要使用*****/*********************为循环显示字符串还得定义一个变量**///uchar n;/定义变量nvoid delay(inttime) //延迟函数 { while(time--);//延迟时间 }
4、void writeCommandLcd(unsignedcharcomd)//写入命令 { P5OUT&=~0x10;//RS清0 (运算后P5=xxx0xxxx,即RS=0其他位状态不变) P5OUT&=~0x20;//RW清0 (运算后P5=xx0xxxxx, 即RW=0其他位状态不变) P5OUT&=~0x08;//使能E清0 (运算后P5=xxxx0xxx, 即E=0其他位状态不变) //上面三个语句执行完后P5OUT=xx000xxx,用P5OUT&=~0x38;可一次完成。
5、 P2OUT = comd; //送命令到P2OUT准备输出进入1602,等E下降沿来即可进入1602. P5OUT
6、= 0x08; //使能E置1,P5OUT=xxxxxxxx+00001000=xxxx1xxx,E=1. delay(10); P5OUT&=~0x08;//使能E清0,这样E从1变0,产生一个下降,写入命令到1602。 } void writeDataLcd(unsignedchardat)//写入命令 { P5OUT
7、=0x10;//RS置1 (运算后P5=xxx1xxxx,即RS=1其他位
8、状态不变) P5OUT&=~0x20;//RW清0 (运算后P5=xx0xxxxx, 即RW=0其他位状态不变) P5OUT&=~0x08;//使能E清0 (运算后P5=xxxx0xxx, 即E=0其他位状态不变) P2OUT = dat; //送数据到P2OUT准备输出进入1602,等E下降沿来即可进入1602. P5OUT
9、= 0x08; //使能E置1,P5OUT=xxxxxxxx+00001000=xxxx1xxx,E=1. delay(10); P5OUT&=~0x08;//使能E清0,这样E从1
10、变0,产生一个下降,写入命令到1602。 } voidlcd_init(void)//初始化LCD { delay(10); writeCommandLcd(0x38);//显示模式设置为1602,5X7点阵显示。8位数据接口。 delay(10); writeCommandLcd(0x08);//打开显示液晶 writeCommandLcd(0x01);//清屏,光标回到起点 //writeCommandLcd(0x0C);//开显示,关光标,即不显示光标。 //writeCommandLcd(0x0E);//
11、开显示,开光标,有光标但不闪烁。 writeCommandLcd(0x0F);//开显示,开光标,有光标且光标闪烁。 writeCommandLcd(0x06);//读写
此文档下载收益归作者所有