肇庆网站建设方案优化,快速建站的公司,青岛网站排名推广,网页制作基础教程黄洪杰本文为博主 日月同辉#xff0c;与我共生#xff0c;csdn原创首发。希望看完后能对你有所帮助#xff0c;不足之处请指正#xff01;一起交流学习#xff0c;共同进步#xff01; 发布人#xff1a;日月同辉,与我共生_单片机-CSDN博客 欢迎你为独创博主日月同… 本文为博主 日月同辉与我共生csdn原创首发。希望看完后能对你有所帮助不足之处请指正一起交流学习共同进步 发布人日月同辉,与我共生_单片机-CSDN博客 欢迎你为独创博主日月同辉与我共生点赞❤❤❤关注收藏评论☺。 系列专栏 CSDN-LCD1602系列 我的格言是“尽最大努力做最好的自己 要转载请提前告知 版权声明本文为CSDN博主「日月同辉与我共生」的原创文章CSDN独一份。 目录
一、LCD1602简介
二、LCD1602接法
三、DDRAM
四、CGROMCGRAM
五、代码提供
5.1显示字符
5.2位置功能函数
5.3自定义字符函数
一、LCD1602简介
LCD1602是一种工业字符型液晶能够同时显示16x02即32个字符。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。这种液晶显示器的显示原理是利用液晶的物理特性通过电压对其显示区域进行控制有电就有显示这样即可以显示出图形。此外1602液晶也叫1602字符型液晶它由若干个5X7或者5X10等点阵字符位组成每个点阵字符位都可以显示一个字符每位之间有一个点距的间隔每行之间也有间隔起到了字符间距和行间距的作用。
二、LCD1602接法 LCD1602的基本参数及引脚功能包括 ⛄显示容量16×2个字符 ⛄芯片工作电压4.5—5.5V ⛄工作电流2.0mA5.0V ⛄模块最佳工作电压5.0V ⛄字符尺寸2.95×4.35W×Hmm。 LCD1602采用标准的14脚无背光或16脚带背光接口。 引脚号 功能说明 1 VSS地电源接地 2 VDD接5V正电源 3 VL液晶显示器对比度调整端接正电源时对比度最弱接地时对比度最高对比度过高时会产生“鬼影”使用时可以通过一个10K的电位器调整对比度 4 RS寄存器选择高电平时选择数据寄存器、低电平时选择指令寄存器 5 R/W读写信号线高电平时进行读操作低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址当RS为低电平R/W为高电平时可以读忙信号当RS为高电平R/W为低电平时可以写入数据 6 E端使能端当E端由高电平跳变成低电平时液晶模块执行命令 7-14 D0-D78位双向数据线 15 背光源正极接电源 16 背光源负极接地
LCD1602原理图 LCD1602仿真图 三、DDRAM
LCD1602可以显示16*232个字符即LCD1602有32个位置用于显示字符若一个字符要在某个位置显示就要给每个位置规定一个显示地址DDRAM地址。 四、CGROMCGRAM
LCD1602如何显示一个字符呢CGROM是中文字库的意思它代表液晶屏内部存储的160个不同的点阵字符图形这些字符包括阿拉伯数字等每个字符有对应的CGROM地址(8位二进制与ASCII地址一样)。在液晶模块中字符产生器CGROM会自动读出字符的字形点阵数据并将字符显示在液晶屏上。另外CGRAM最多可以自定义8个字符如摄氏度符号℃。 五、代码提供
5.1显示字符
#include lcd1602.hvoid main()
{unsigned char str[]hello world;unsigned char str2[]123abc;unsigned char str3[]{1,2,3,4,5,6};unsigned char str4[]{10,11,12,13,14,15};LCDInit();while(1){LCDShowStr(0,0,str);LCDShowStr(0,1,hello world);}
}
5.2位置功能函数
void LCDSetPosition(unsigned char x,unsigned char y) //位置函数 y行 0-1
{ // x列 0-7if(y0){LCDWriteCmd(0x80|x);}else{LCDWriteCmd(0x80|(x0x40));}
}void LCDShowStr(unsigned char x,unsigned char y,unsigned char *str)
{LCDSetPosition(x,y);while(*str!\0){LCDWritedata(*str);}
} 5.3自定义字符函数
void LCD_Write_CGRAM(unsigned char *str)
{unsigned char i;LCDWriteCmd(0x48);//1.自定义字符for(i0;i8;i){LCDWritedata(str[i]);}LCDWriteCmd(0x80|0x00);//2.显示字符-在哪显示显示哪个字符LCDWriteCmd(0x01);
}void LCDSetChar(unsigned char x,unsigned char y,unsigned char pos,unsigned char *str)
{unsigned char i;for(i0;i8;i) //1.自定义字符{LCDWriteCmd(0x408*posi);LCDWritedata(*(stri));}LCDSetPosition(x,y);//2.显示位置LCDWriteCmd(0x00pos);//3.调用自定义字符
}下一文将继续介绍 LCD1602亲爱的读者敬请期待下一文更精彩 一日不读书胸臆无佳想。我叫不白吃喜欢我的可以支持我博主名叫日月同辉,与我共生 日月同辉,与我共生_单片机基础,单片机串口通信-CSDN博客日月同辉,与我共生擅长单片机基础,单片机串口通信,等方面的知识,日月同辉,与我共生关注stm32,c语言,51单片机,proteus,单片机领域.https://blog.csdn.net/LIN___IT?spm1000.2115.3001.5343