GD32驱动LCD12864

news2024/11/22 22:07:26

目录

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 用户指令集

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

void lcd12864_init()//显示屏的初始化
{
    lcd12864_write_command(0x01);
    delay_1ms(1);
    lcd12864_write_command(0x02);
    delay_1ms(1);
    lcd12864_write_command(0x0c);
    delay_1ms(1);
    lcd12864_write_command(0x80);
    delay_1ms(1);
    lcd12864_write_command(0x34);
    delay_1ms(1);
    lcd12864_write_command(0x30);
    delay_1ms(1);
}

4.2、显示坐标关系

图4-2 坐标关系

void lcd12864_display_pos(unsigned char X, unsigned char Y)//设置显示的坐标
{
    unsigned char addr;
    if (Y == 0)
        addr = 0x80;
    if (Y == 1)
        addr = 0x90;
    if (Y == 2)
        addr = 0x88;
    if (Y == 3)
        addr = 0x98;
    addr += X;
    lcd12864_write_command(addr);
}

5、软件开发

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

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

链接: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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1673426.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

地下车库导航地图怎么做?停车场地图绘制软件哪个好?

上海懒图科技以先进技术和丰富的行业服务经验为用户提供停车场景下的全流程服务平台,用户基于平台可自主快速绘制酷炫的停车场地图,通过提供完善的停车场应用功能集和扩展API服务包,可以方便地实现电子地图服务于您的各类停车场应用中&#x…

【SRC实战】小游戏漏洞修改分数打榜

挖个洞先 https://mp.weixin.qq.com/s/Um0HU2srvZ0UlZRAsbSVug “ 以下漏洞均为实验靶场,如有雷同,纯属巧合 ” 01 — 漏洞证明 “ 如何刷分提高排名?” 1、进入小游戏,类似于跳一跳 2、开始时每次加1分 3、随着游戏进行…

中国GDP空间分布数据集

中国GDP空间分布公里网格数据集是在全国分县GDP统计数据的基础上,考虑人类活动密切相关的土地利用类型、夜间灯光亮度、居民点密度数据与GDP的空间互动规律,通过空间插值生成的空间格网数据。数据包括1995、2000、2005、2010、2015和2019年6期。该数据集…

Vue3实战笔记(20)—封装头部导航组件

文章目录 前言一、封装头部导航栏二、使用步骤总结 前言 Vue 3 封装头部导航栏有助于提高代码复用性、统一风格、降低维护成本、提高可配置性和模块化程度,同时还可以实现动态渲染等功能,有利于项目开发和维护。 一、封装头部导航栏 封装头部导航栏&am…

11个免费的 android数据恢复应用程序功能分析

在手机上丢失数据是一个很大的错误。但是,在这种情况下,除了惊慌失措之外,最好开始使用android数据恢复应用程序搜索以查找将其取回的方法。您可以检查手机的备份存储以在Android上进行数据恢复,但是如果数据仍然无处可寻&#xf…

spring cloud alibaba、spring cloud和springboot三者的版本兼容

官方版本说明地址: 版本说明 alibaba/spring-cloud-alibaba Wiki GitHub 组件版本关系 每个 Spring Cloud Alibaba 版本及其自身所适配的各组件对应版本如下表所示(注意,Spring Cloud Dubbo 从 2021.0.1.0 起已被移除出主干,不再随主干演进): Spring Cloud Alibaba Ve…

如何利用AI生成答辩PPT?笔灵AI答辩PPT,智能识别关键点

很多快要毕业的同学在做答辩PPT的时候总是感觉毫无思路,一窍不通。但这并不是你们的错,对于平时没接触过相关方面,第一次搞答辩PPT的人来说,这是很正常的一件事。一个好的答辩PPT可以根据以下分为以下几部分来写。 1.研究的背景和…

业绩超预期外,海尔智家ESG实践再获认可

求增长,已成各行业面对的共同命题。 在家电赛道上,海尔智家的业绩表现不俗。2024一季度,海尔智家延续了年报稳健增长的趋势,继续在高基数下实现高增长,其利润增幅更是高达20.2%,超预期。而今年…

图像质量评价指标:了解图像质量的度量方式

图像质量评价指标:了解图像质量的度量方式 在图像处理和计算机视觉领域,评价图像质量的准确性对于许多应用至关重要。通过合适的评价指标,我们可以量化图像的质量,从而更好地了解图像处理算法的效果和改进空间。本文将介绍图像质…

File类~路径、创建文件对象

路径分为相对路径(不带盘符),绝对路径(带盘符) 路径是可以存在的,也可以是不存在的 创建文件对象的三个方法:

如何管理Linux环境变量?

1、查看环境变量 Linux 发行版具有环境变量和 shell 变量,它们的功能类似,但作用域不同。 要列出 Linux 中的所有环境变量,运行printenv命令。 在流行的 Linux 发行版中,一些最常见的环境变量包括: PWD – 当前工作目录…

上位机图像处理和嵌入式模块部署(树莓派4b的替代品)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 实话实说,树莓派4b的产品力还是比较优秀的,价格还算适中。但是和国产卡片电脑比起来,则逊色不少。功能差不多的…

BGP—边界网关协议

BGP 动态路由协议可以按照工作范围分为IGP以及EGP。IGP工作在同一个AS内,主要用来发现和计算路由,为AS内提供路由信息的交换;而EGP工作在AS与AS之间,在AS间提供无环路的路由信息交换,BGP则是EGP的一种。 BGP是一…

【6D位姿估计】FoundationPose 跑通demo 训练记录

前言 本文记录在FoundationPose中,跑通基于CAD模型为输入的demo,输出位姿信息,可视化结果。 然后分享NeRF物体重建部分的训练,以及RGBD图为输入的demo。 1、搭建环境 方案1:基于docker镜像(推荐&#xf…

《Boosting Object Detection with Zero-Shot Day-Night Domain Adaptation》2024CVPR

域不变特征:是指在不同的数据域或环境下,特征能够保持不变或具有一定程度的鲁棒性。实现域不变特征可以在许多计算机视觉和机器学习任务中具有重要的作用,特别是在涉及跨域或跨环境的应用场景中。 以下是一些常用的实施域不变特征的方法: 1. 数据归一化:通过将数据进行归一…

Q1季度电饭煲家电行业线上市场(京东天猫淘宝)销售数据排行榜

鲸参谋监测的2024年Q1季度线上电商平台(天猫淘宝京东)电饭煲家电销售数据已出炉! 今年Q1季度,电饭煲销售成绩不如预期。根据鲸参谋数据显示,今年Q1季度在线上电商平台(淘宝天猫京东)电饭煲销量…

angular13 自定义组件全项目都可用 自存

1.定义自定义组件 使用命令创建一个组件 但删除它在你的module里的声明,因为会报错只能引用一次 在本组件中创建一个module文件,引入刚才的组件component.ts import { NgModule } from angular/core; import { CommonModule } from angular/common; im…

数据库开发记录

一.MySQL相关 1.Spatial Data相关

【极客时间】小马哥讲 Spring 核心编程思想 [250讲] [96G]

01 课程介绍 小马哥讲 Spring 核心编程思想,由乐学编程课堂网整理发布完结无密版。本课带你系统讲解Spring Framework 核心技术,深耕原理拆解Spring核心知识点,由浅入深拆解Spring Framework 核心思想、设计思维,以及实现&#x…

【vivado】debug相关时钟及其约束关系

一、前言 在xilinx fpga的degug过程中,经常出现由于时钟不对而导致的观测波形失败,要想能够解决这些问题需要了解其debug的组成环境以及之间的数据流。本文主要介绍debug过程中需要的时钟及各时钟之间的关系。 二、debug相关时钟 Vivado 硬件管理器使…