LCD12864液晶显示

目录

一、实物图

二、原理图

三、简介

工作原理:

四、液晶屏尺寸

五、注意事项


源文件下载

可访问底部联系方式也可前往电子校园网官网搜索关键词

关键词:  LCD12864液晶显示                                                                 

一、实物图

二、原理图

第1脚:VSS为地电源

第2脚:VDD接5V正电源

第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高

第4脚:RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。

第5脚:R/W  当R/W和E都为高电平时,数据被读到DB0~DB7;当R/W为低电平,E从高电平变为低电平,DB0~DB7的数据被写到IR或DR寄存器。

第6脚:E  使能信号

第7~14脚:DB0~DB7  为8位双向数据线。

第15脚:PSB  并行/串行选择。当PSB为高电平时是并行模式;当PSB为低电平时,是串行模式。。

第16脚:NC  空脚。

第17脚:/RESET 复位脚。低电平有郊。

第18脚:VOUT  LCD驱动电压输出端,可不接。

第19脚:A  背光灯电源正极,接+5V。

第20脚:K  背光灯电源负极,接地。

三、简介

12864 中文  汉字图形点阵液晶显示模块,可显示汉字及图形,内置 8192 个中文汉字(16X16 点阵)、128个字符(8X16点阵)及 64X256点阵显示RAM(GDRAM)。
主要技术参数和显示特性:
电源:VDD 3.3V~+5V(内置升压电路,无需负压);
显示内容:128列× 64行
显示颜色:黄绿/蓝屏/灰屏
显示角度:6:00钟直视
LCD类型:STN
与MCU 接口:8位或4位并行/3位串行
配置LED背光

多种软件功能:光标显示、画面移位、自定义字符、睡眠模式等

工作原理:

LCD12864液晶模块中有带字库可以显示字母、数字符号、中文字型及图形,具有绘图及文字画面混合显示功能。提供三种控制接口,分别是8位微处理器接口,4位微处理器接口及串行接口。所有的功能,包含显示RAM,字型产生器,都包含在一个芯片里面,只要一个最小的微处理系统,就可以方便操作模块。内置2M-位中文字型ROM (CGROM)总共提供8192个中文字型(16x16 点阵),16K-位半宽字型ROM (HCGROM)总共提供126个符号字型(16x8点阵),64 x 16-位字型产生RAM (CGRAM),另外绘图显示画面提供一个64x256点的绘图区域(GDRAM),可以和文字画面混和显示。

提供多功能指令:

画面清除(Display clear)、

光标归位(Return home)、

显示打开/关闭(Display on/off)、

光标显示/隐藏(Cursor on/off) 、

显示字符闪烁(Display characterblink)、

光标移位(Cursor shift)、

显示移位 (Display shift)、

垂直画面旋转(Vertical line scroll)、

反白显示(By_line reversedisplay)、

待命模式(Standby mode)。

四、液晶屏尺寸

五、注意事项

LCD12864特纳斯电子采用的都是带字库的硬件,因为还有不带字库的版本可选,所以在设计过程中,大家对于元器件的选型一定不要选择错了,不然又说你们的程序不行之类的,在设计过程中会有很多坑要去踩,所以大家在设计的时候一定要遇到问题解决问题,不要一味的抱怨。

正题:仿真中没有带字库的显示,所以需要使用不带字库的进行替换。为什么实物不能选择不带字库和一致呢?答:带字库的程序相对简单,且单片机程序不需要过多的干预,提高单片机的可使用率。

以下是在STM32F103ZET6单片机上使用LCD12864显示屏初始化光标的示例代码: ```c #include "stm32f10x.h" #include "delay.h" //需要使用延时函数的库,可以自行添加 #define LCD_DATA_PORT GPIOA // 设置LCD12864的数据端口 #define LCD_RS_PORT GPIOB // 设置LCD12864的RS引脚所在的端口 #define LCD_RS_PIN GPIO_Pin_0 // 设置LCD12864的RS引脚 #define LCD_RW_PORT GPIOB // 设置LCD12864的RW引脚所在的端口 #define LCD_RW_PIN GPIO_Pin_1 // 设置LCD12864的RW引脚 #define LCD_EN_PORT GPIOB // 设置LCD12864的EN引脚所在的端口 #define LCD_EN_PIN GPIO_Pin_2 // 设置LCD12864的EN引脚 void LCD_WriteCommand(uint8_t command) { GPIO_ResetBits(LCD_RS_PORT, LCD_RS_PIN); // 将RS引脚置低,表示发送命令 GPIO_ResetBits(LCD_RW_PORT, LCD_RW_PIN); // 将RW引脚置低,表示写入数据 LCD_DATA_PORT->ODR = command; // 将命令写入数据端口 GPIO_SetBits(LCD_EN_PORT, LCD_EN_PIN); // 在EN引脚上产生一个上升沿 delay_us(1); // 等待一段时间以确保命令被处理 GPIO_ResetBits(LCD_EN_PORT, LCD_EN_PIN); // 在EN引脚上产生一个下降沿 } void LCD_WriteData(uint8_t data) { GPIO_SetBits(LCD_RS_PORT, LCD_RS_PIN); // 将RS引脚置高,表示发送数据 GPIO_ResetBits(LCD_RW_PORT, LCD_RW_PIN); // 将RW引脚置低,表示写入数据 LCD_DATA_PORT->ODR = data; // 将数据写入数据端口 GPIO_SetBits(LCD_EN_PORT, LCD_EN_PIN); // 在EN引脚上产生一个上升沿 delay_us(1); // 等待一段时间以确保数据被处理 GPIO_ResetBits(LCD_EN_PORT, LCD_EN_PIN); // 在EN引脚上产生一个下降沿 } void LCD_Init() { // 初始化LCD12864显示屏的硬件连接 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB, ENABLE); // 使能GPIOA和GPIOB的时钟 GPIO_InitTypeDef GPIO_InitStruct; GPIO_InitStruct.GPIO_Mode = GPIO_Mode_Out_PP; // 设置为推挽输出模式 GPIO_InitStruct.GPIO_Speed = GPIO_Speed_10MHz; // 设置输出速度为10MHz GPIO_InitStruct.GPIO_Pin = GPIO_Pin_All; // 设置所有引脚 GPIO_Init(LCD_DATA_PORT, &GPIO_InitStruct); // 初始化数据端口 GPIO_InitStruct.GPIO_Pin = LCD_RS_PIN; GPIO_Init(LCD_RS_PORT, &GPIO_InitStruct); // 初始化RS引脚 GPIO_InitStruct.GPIO_Pin = LCD_RW_PIN; GPIO_Init(LCD_RW_PORT, &GPIO_InitStruct); // 初始化RW引脚 GPIO_InitStruct.GPIO_Pin = LCD_EN_PIN; GPIO_Init(LCD_EN_PORT, &GPIO_InitStruct); // 初始化EN引脚 // 初始化LCD12864显示屏的光标 delay_ms(50); // 等待LCD12864显示屏上电稳定 LCD_WriteCommand(0x30); // 设置8位数据总线,基本指令集 delay_us(50); LCD_WriteCommand(0x01); // 清屏 delay_us(50); LCD_WriteCommand(0x0C); // 显示开,光标不闪烁 delay_us(50); LCD_WriteCommand(0x06); // 光标右移 delay_us(50); } int main() { SystemInit(); // 初始化系统 LCD_Init(); // 初始化LCD12864显示屏 while (1) { // 在这里可以实现其他功能或者显示内容 } } ``` 以上代码是一个简单的示例,涉及到了LCD12864的硬件连接和初始化过程。注意,需要根据你的具体硬件连接情况和使用的引脚进行相应的修改。同时,你可能需要添加其他功能或者显示内容到主循环中。 请确保你已经正确配置了STM32F103ZET6单片机的系统时钟和GPIO引脚,并正确包含了相关的库文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

特纳斯电子

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值