0.0050碳酸钠标准溶液的配制? 基准无水碳酸钠
2023-07-10
很多朋友对LCD12864显示屏概述及控制程序不是很了解,每日小编刚好整理了这方面的知识,今天就来带大家一探究竟。
一。概述
LCD12864显示屏就是所谓的点阵液晶显示模块,它是由12864个液晶显示点组成的128列64行的阵列,所以也叫12864。每个显示点对应一个二进制数,0表示关闭,1 表示打开。存储这些点阵信息的RAM称为显示数据存储器。如果要显示某个图形或汉字,则将相应的点阵信息写入相应的存储单元中。图形或汉字的点阵信息是我们自己设计的(如果模块有字库,则不需要自己设计汉字),此时问题的关键是点阵信息与点阵信息的位置关系液晶屏上的显示点及其在内存中的地址。
二。 LCD12864基本参数
1、电气参数
电源电压: VDD:+3.0--+5.5V 显示分辨率:12864点阵内置汉字库,提供8192个1616点阵汉字(简体、繁体可选) 内置128个168点阵矩阵字符2MHZ时钟频率显示方式:STN、半透明、正显驱动方式:1/32DUTY、1/5BIAS视角方向:6点背光方式:侧亮白光LED,功耗仅为1/5-1 /10颗普通LED 通讯方式:串口、并口可选内置DC-DC转换电路,无需外部负压,无需片选信号,简化软件设计工作温度:0-+55,存储温度:-20C-+60C 2. 引脚说明
LCD12864共有20个引脚,如图:
其中,引脚PSB为并行/串行接口选择引脚,高电平为并行控制;低电平为串行控制。
3. 电路图
其中,可调电阻用于调节显示的对比度。三极管的作用是增强电流的驱动能力,为背光LED提供足够的驱动电流。
三。控制程序
1.控制时序
LCD12864的控制时序有两种,一种是并行控制时序(本次以并行为例),另一种是串行控制时序。
简单来说,大多数情况下我们只对显示器进行写操作,读操作很少用到,所以读操作就不介绍了。 LCD12864显示控制程序简化,比较简单。只需要实现忙检查、写数据、写命令、初始化四个控制功能即可实现对LCD12864的控制。写入顺序如图:
2. 忙状态检查功能
/******************************************************** *** ****************************** 函数名称: LCD12864_Busy* 功能: 检测LCD 是否忙* 输入: 无* 输出: 1 或0 (1 表示不忙,0 表示忙) ********************************** ***** ************************************************* /uchar LCD12864_Busy(void){ uchar i=0; LCD12864_RS=0; //选择命令LCD12864_RW=1; //选择读取LCD12864_EN=1; LCD12864_延迟1ms(1); while((LCD12864_DATAPORT0x80)==0x80) //检测读取值{ i++ ; if(i 100) { LCD12864_EN=0;返回0; //超过等待时间,返回0表示失败} } LCD12864_EN=0; return 1;} 3.编写指令函数
/******************************************************** *** ****************************** 函数名称: LCD12864_WriteCmd* 函数功能: 写入命令* 输入: cmd* 输出: 无* ************************************************** ****** **************************/void LCD12864_WriteCmd(uchar cmd){ uchar i;我=0; while( LCD12864_Busy()==0) { LCD12864_Delay1ms(1);我++;如果(i100){返回; //等待后退出} } LCD12864_RS=0; //选择命令LCD12864_RW=0; //选择写入LCD12864_EN=0; //初始化使能终端LCD12864_DATAPORT=cmd; //输入数据LCD12864_EN=1; //写入时序LCD12864_Delay1ms(5); LCD12864_EN=0; }4.写数据函数
/******************************************************** *** ****************************** 函数名称: LCD12864_WriteData* 函数功能: 写入数据* 输入: dat* 输出: 无* ************************************************** ****** **************************/void LCD12864_WriteData(uchar dat){ uchar i;我=0; while( LCD12864_Busy()==0) { LCD12864_Delay1ms(1);我++;如果(i100){返回; //等待后退出} } LCD12864_RS=1; //选择数据LCD12864_RW=0; //选择写入LCD12864_EN=0; //初始化使能终端LCD12864_DATAPORT=dat; //输入数据LCD12864_EN=1; //写入时序LCD12864_Delay1ms(5); LCD12864_EN=0;低电平时,写入数据;当RS为低电平时,写入指令。
5.初始化函数
/******************************************************** *** ****************************** 函数名称: LCD12864_Init* 函数功能: 初始化LCD12864* 输入: 无* 输出: 无* ************************************************** ****** **************************/void LCD12864_Init(){ LCD12864_PSB=1; //选择并行输入LCD12864_RST=1; //复位LCD12864_WriteCmd(0x30); //选择基本命令操作LCD12864_WriteCmd(0x0c); //显示打开和关闭光标LCD12864_WriteCmd(0x01); //清除LCD12864的显示内容} 4.显示程序
在LCD12864上显示特定的字符,实际上就是将相应的数据写入LCD12864的DDRAM中,显示器就会显示出你想要的字符。其中英文字符占1个字节,汉字占2个字节。
1.显示坐标关系
如上图所示,第一行显示的地址为80H-87H,第二行为90H-97H,第三行为88H-8FH,第四行为98H-9FH。因此,如果要在显示器的哪个位置显示哪个汉字,只需写入相应位置的地址,然后写入相应的汉字即可。
2.显示汉字
只要实现上述忙检查、写数据、写命令和初始化四种控制功能,就可以实现汉字在LCD12864显示器上的显示控制。
显示函数只需要写入起始坐标,然后显示对应的汉字。
/******************************************************** *** ****************************** 函数名称: LCD12864_SetWindow* 函数功能: 设置基本命令中的显示坐标模式,并显示汉字。注:x 为设置行,y 为设置列* 输入: x, y, word* 输出: 否************************* ****************************************************** ***** **/void LCD12864_SetWindow(uchar x, uchar y,uchar *word){ uchar pos; uchar i=y; if(x==0) //第一行地址为80H x=0x80; else if(x==1) //第二行地址为90H x=0x90; else if(x==2) //第三行地址为88H x=0x88; else if(x==3) //第三行地址为98H x=0x98;位置=x + y; LCD12864_WriteCmd(pos); while(word[i]!='\\0') { if(i16) //判断是否在本行显示范围内{ LCD12864_WriteData(word[i]);我++; } }}3.主功能
最后在主函数上实现了汉字的显示。 #include#include 'lcd12864.h'unsigned char code CharCode[]='电子应用学习堂';void main(){ unsigned char i; LCD12864_Init(); LCD12864_SetWindow(0, 0,CharCode);同时(1); }
以上知识分享希望能够帮助到大家!
版权声明:本站所有作品图文均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们
推荐阅读
2023-07-10
2023-07-10
2023-07-10
2023-07-10
2023-07-10
2023-07-10
2023-07-10
2023-07-10
2023-07-10
2023-07-10
2023-07-10
2023-07-10
2023-07-10
2023-07-10
栏目热点
0.0050碳酸钠标准溶液的配制? 基准无水碳酸钠
LilyGoT手表键盘C3迷你电脑套件
索泰ZBOXEdgeCI342迷你电脑正式上市
谷歌在最新的视频预告片中展示了PixelWatch的独特设计
三星与设计师Juun.J合作推出限量版可折叠产品和配件
从2023年起Fitbit设备将需要Google帐户
TOKKCAMC2+智能WiFi独立日 夜视摄像头
三星正在与全球时尚品牌JUUN.J合作
OnePlusNordWatch的颜色选项通过泄露的渲染揭示
就在第一款Nothing手机发布之前一种新的TWS芽设计浮出水面