当前位置:   article > 正文

GD32驱动LCD12864_lcd12864显示屏简介

lcd12864显示屏简介

目录

1、引言

1.1、LCD12864基本概念和作用。

1.2、硬件引脚

2、GD32微控制器简介

3、LCD12864显示屏简介 

3.1、模块引脚说明 

 3.2、模块连接方式

4、驱动原理 

4.1、指令集

4.2、显示坐标关系

5、软件开发

6、硬件连接

7、效果演示 

8、附录


1、引言

1.1、LCD12864基本概念和作用。

        LCD12864显示屏是一种基于液晶显示技术的显示设备,它由128×64个像素点组成。这种显示屏通常用于各种电子设备和嵌入式系统中,提供用户界面或显示信息的功能。

以下是LCD12864显示屏的基本概念和作用:

  1. 液晶显示技术: LCD12864显示屏采用液晶显示技术,其中液晶材料处于两块玻璃基板之间。通过在液晶层中施加电场来控制液晶分子的排列,从而实现像素的亮暗变化。

  2. 分辨率: LCD12864显示屏的分辨率为128×64像素,这意味着它可以显示128列和64行的像素点。分辨率决定了显示屏能够显示的图像或文本的清晰度和细节程度。

  3. 图形和文本显示: LCD12864显示屏可以用于显示图形和文本信息。通过控制每个像素点的亮暗状态,可以显示图形、图标和动画等内容。同时,它也可以用于显示文本信息,例如菜单、消息、数据等。

  4. 用户界面: LCD12864显示屏常用于嵌入式系统和电子设备的用户界面。通过在显示屏上显示菜单、按钮、控件等元素,用户可以与设备进行交互,并进行各种操作和设置。

  5. 信息显示: LCD12864显示屏还可以用于显示各种信息,例如传感器数据、系统状态、时间日期、温度湿度等。这些信息对用户或操作者来说是有用的,可以帮助他们了解设备的工作状态和环境条件。

1.2、硬件引脚

图1-1 硬件连接

        注明:部分引脚已省去。 

2、GD32微控制器简介

        GD32微控制器是一款由国内厂商GigaDevice推出的32位微控制器系列,它们基于ARM Cortex-M3、Cortex-M4或Cortex-M23内核,具有一系列特点和优势:

  1. 高性能: GD32微控制器采用高性能的ARM Cortex-M内核,提供较高的处理性能和运算能力,适用于各种计算密集型应用。

  2. 丰富的外设: GD32系列微控制器集成了丰富的外设,包括通用输入输出端口(GPIO)、串行通信接口(SPI、I2C、USART)、定时器(Timer)、模拟-数字转换器(ADC)等,以满足不同应用的需求。

  3. 低功耗设计: GD32微控制器采用先进的低功耗设计技术,能够在低功耗模式下运行,并提供多种节能功能,如睡眠模式、待机模式等,以延长电池寿命或降低功耗。

  4. 丰富的存储器: GD32微控制器内置了闪存(Flash)和随机存取存储器(SRAM),可用于存储程序代码和数据,支持灵活的存储器映射和扩展。

  5. 丰富的开发工具和生态系统: GD32系列微控制器提供了丰富的开发工具和生态系统,包括开发板、调试器、软件开发工具链等,以帮助开发者快速开发和调试应用程序。

  6. 良好的兼容性: GD32微控制器与市面上的其他ARM Cortex-M系列微控制器兼容性良好,可轻松移植现有的软件代码和应用程序。

  7. 成本效益高: 与其他同类产品相比,GD32微控制器具有较高的性价比,适用于各种成本敏感型应用。

         注明:本文中采取GD32F303CBT6作为参照。

3、LCD12864显示屏简介 

3.1、模块引脚说明

        模块引脚是20引脚,有些引脚是固定状态,所以原理图中只画了16个引脚。

图2-1 模块引脚说明

 3.2、模块连接方式

         LCD12864与主控有两种连接方式,也就是两种通信方式,可以选择串行和并行,本文主要介绍更为高效的并行方式。

图3-1 主控写lcd12864时序图

图3-2 主控读lcd12864时序图

4、驱动原理 

         官方给出了一套指令集用来驱动该模块。将寄存器模式初始化好,然后使用指令集来配置显示屏就可以实现。

4.1、指令集

        在编写命令的时候,忙等待是一个非常重要的一个点,你可以通过判断数据位最高位(DB7)的状态来检测是否lcd12864模块是否忙碌。

图4-1 用户指令集

         使用到的指令集如下对应:

  1. void lcd12864_init()//显示屏的初始化
  2. {
  3. lcd12864_write_command(0x01);
  4. delay_1ms(1);
  5. lcd12864_write_command(0x02);
  6. delay_1ms(1);
  7. lcd12864_write_command(0x0c);
  8. delay_1ms(1);
  9. lcd12864_write_command(0x80);
  10. delay_1ms(1);
  11. lcd12864_write_command(0x34);
  12. delay_1ms(1);
  13. lcd12864_write_command(0x30);
  14. delay_1ms(1);
  15. }

4.2、显示坐标关系

图4-2 坐标关系

  1. void lcd12864_display_pos(unsigned char X, unsigned char Y)//设置显示的坐标
  2. {
  3. unsigned char addr;
  4. if (Y == 0)
  5. addr = 0x80;
  6. if (Y == 1)
  7. addr = 0x90;
  8. if (Y == 2)
  9. addr = 0x88;
  10. if (Y == 3)
  11. addr = 0x98;
  12. addr += X;
  13. lcd12864_write_command(addr);
  14. }

5、软件开发

  1. int mian()
  2. {
  3. sys_init();//时钟、看门狗、gpio引脚等模式配置
  4. set_dog();
  5. lcd_init();//屏幕的初始化
  6. lcd12864_init();//显示屏初始化(指令集驱动)
  7. lcd12864_show_string(0, 0, " Press button ");//显示字符串
  8. while(1)
  9. {
  10. set_dog();
  11. }
  12. }

        代码放入了网盘中、文档资料在附录:

链接:https://pan.baidu.com/s/1SDuE2xRCJhNR8GFeQgdeZw?pwd=0520 
提取码:0520

6、硬件连接

图6-1 硬件连接原理图

        大家在参照代码的时候,一定要结合图中主控连接的引脚一起阅读,我这个数据引脚是不连续的,写起来更加的麻烦,要是你实际的数据引脚是连续的,更加的方便,我这边数据据引脚不是连续的,导致写指令麻烦,方法都想了很多种。比如一般的写0x34,直接就是八位的状态,但是我需要拆分出每一位状态来配置,一切以你实际情况为主。

7、效果演示 

图7-1 效果图测试

8、附录

链接:https://pan.baidu.com/s/1F2jhSBkrujyCRaqgd6aZTw?pwd=0630 
提取码:0630

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/686822
推荐阅读
相关标签
  

闽ICP备14008679号