0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何将16×2 LCD与STMF103C8T6接口通讯

单片机 ? 来源:单片机 ? 2020-05-14 10:57 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

在这个项目中,我们将学习如何将16×2 LCD与STMF103C8T6(也称为蓝丸)接口通讯,及有关LCD模块的一些基本信息以及编写程序以在LCD上打印内容。因此,让我们开始吧。

介绍

在任何嵌入式项目中,在人机界面上显示重要内容都是非常重要的,因为它使用户可以轻松地与系统进行交互。带上您的电表,气象站,心率监测系统等等。所有这些项目在最终实现中都具有一个显示单元。

在谈论显示时,它不必是精美的,彩色的图形显示。简单的字符显示足以显示重要内容,例如传感器的读数,ADC的值,继电器的状态等。

因此,在这个项目中,我们将做同样的事情。我们将接口16X2 LCD与STM32F103C8T6蓝色药丸板。由于这是用于连接LCD模块的演示,因此我们将显示一些示例文本以查看输出。

在以后的项目中,当我们将不同的传感器与STM32 Blue Pill连接时,我们可以利用16X2 LCD和STM32F103C8T6的知识,并显示一些重要数据。

16X2 LCD简要说明

我们已经将16X2 LCD显示器用于许多不同的微控制器,例如8051,ATmega,ArduinoLPC2148(ARM7)。但是,作为回顾,让我们快速地简要介绍一下。

下图显示了典型的16X2字母数字字符LCD显示屏。术语16X2表示它具有16列和2行。行中的每一列都用于显示一个字符,因此,在16X2 LCD显示屏中,一次最多可以显示32个字符。

这些显示器还有其他风格,例如8X1、8X2、16X1、16X2、20X4等,但最常用的模块是16X2和20X4显示器。

每个列或字符块都是由5 * 8像素(5个垂直像素和8个水平像素)组成的实习生。这实质上使其成为点矩阵显示器并控制像素,使用了日立公司非常著名的LCD控制器IC,称为HD44780。

谈到16 * 2 LCD显示器的引脚,它有16个引脚,下表简要说明了这些引脚。

将16X2 LCD与STM32F103C8T6连接

如前所述,该项目旨在了解如何将16X2 LCD与STM32 Blue Pill连接起来。我们将使用Arduino IDE编写代码并将其上传到MCU(使用USB到串行转换器)。

LCD模块将配置为4位模式,以便仅4个数据引脚用于传输将在LCD上显示的数据。

电路图

下面的Fritzing图像显示了将16X2 LCD与STM32F103C8T6 MCU接口的电路图。

所需组件

STM32F103C8T6基于MCU的主板Blue Pill

USB到串行转换器(如FTDI编程器)

16X2字符LCD模块

连接线

如何连线

在“ STM32F103C8T6入门”教程中,我已经解释了STM32 Blue Pill板和USB到串行转换器之间的连接。FTDI编程器的TX和RX连接到STM32 Blue Pill板的A9和A10引脚。

进入LCD模块时,引脚1和2,即VSS和VDD连接到GND和+ 5V。同样,引脚15和16,即LED +和LED-分别连接到+ 5V和GND。

调整液晶显示器的对比度。VO引脚(引脚3)连接到10KΩPOT的中心端子,而POT的其他两个端子连接到+ 5V和GND。对于控制引脚,即RS,RW和EN(引脚4、5和6),它们分别连接到B11,GND和B10。

接下来是数据引脚。我们将以4位模式使用LCD,因此仅使用4个数据引脚,即D4至D7(引脚11至14)。将这些引脚分别连接到B0,A7,A6和A5。其他四个数据引脚(即D0至D3)可以不使用。

编程STM32F103C8T6用于LCD显示

如果您还没有尝试过“STM32F103C8T6蓝色药丸入门 -【STM32教程】”教程,那么我建议您阅读该篇,因为我在该教程中解释了使用STM32 Blue Pill和Arduino IDE的所有必要信息。

您需要从该项目中获取一些重要信息:

为Arduino IDE安装STM32开发板软件包。

选择具有正确配置的正确STM32板。

下载将与Arduino IDE配合使用的编程器软件,以将代码上传到我们的Blue Pill开发板。

使用BOOT选择引脚在“编程模式”和“操作模式”之间切换。

如果您已完成此基本设置并成功上传了第一个程序(Blinky),那么一切就很好了。

注意:只需切换BOOT0引脚的高电平和低电平即可在编程模式和操作模式之间切换。如果在打开电源的情况下进行切换,则每次在两种模式之间切换时都必须按下“重置”按钮。

首先,通过将BOOT0引脚设置为HIGH,将Blue Pill置于编程模式。现在,我使用Arduino的布局编写了一个简单的代码,用于在LCD显示屏上显示一些文本。代码如下。

代码

编译并上传代码后,STM32 MCU将开始显示代码中提供的文本。您可以通过将BOOT0设为低电平并按下复位开关来切换回工作模式。

结论

在教程中实现了一个简单的项目,该项目学习如何将16X2 LCD与STM32 Blue Pill接口。如果我们熟悉LCD接口,则可以在将来的许多项目中轻松使用LCD模块。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • lcd
    lcd
    +关注

    关注

    34

    文章

    4530

    浏览量

    172244
  • STM32
    +关注

    关注

    2296

    文章

    11040

    浏览量

    366812
  • 通讯
    +关注

    关注

    9

    文章

    929

    浏览量

    35812

原文标题:如何将16X2 LCD与STM32F103C8T6连接并通讯 -【STM32教程】

文章出处:【微信号:aidanpianji,微信公众号:单片机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【RA-Eco-RA6M4开发板评测】+LCD屏显示驱动

    , uint8_t *pic) { uint16_t i,j,c; uint32_t k=0; LCD_Address_Set(x,y,le
    发表于 07-28 17:20

    【RA-Eco-RA6M4开发板评测】2、I2C外设驱动OLED屏幕和移植u8g2

    Delay的回调函数实现; 与通讯接口(比如I2C、SPI)相关的数据传输回调函数。 这两个函数的实现在u8g2 Wiki手册中可以找到相关的代码实现模板。 移植u
    发表于 07-23 13:51

    CH32F103C8T6核心板三种程序下载方式简介

    CH32F103C8T6核心板,通过USB转串口方式、USB直连方式、SWD方式下载应用程序
    的头像 发表于 06-09 09:38 ?438次阅读
    CH32F<b class='flag-5'>103C8T6</b>核心板三种程序下载方式简介

    STM32F103C6T6 DCAC逆变器原理图

    STM32F103C6T6 DCAC逆变器原理图
    发表于 05-19 17:48 ?1次下载

    stm32f103c8t6主控芯片无人机原理图

    stm32f103c8t6主控芯片无人机原理图
    发表于 04-29 17:02 ?1次下载

    STM32F103C8T6无法选择外部晶振怎么解决?

    我从网上购入了STM32F103C8T6的核心板,板上有外部晶振。但我使用STM32CubeMX生成项目时,却无法选择外部晶振(如下图)。请问要在哪里设置才能选择外部晶振呀?
    发表于 04-28 07:03

    stmf103c8t6使用nrf24l01发送和接收数据,接收端STATUS寄存器的值始终为0x0E, FIFO_STATUS的值为0x11。

    stmf103c8t6使用nrf24l01发送和接收数据,通过失能自动应答,发送端调通了,但是接收端始终无法收到消息,下面是接收端的主要代码: void NRF24L01_Init(void
    发表于 04-19 23:32

    STM32F103C8T6开发板最小系统原理图

    电子发烧友网站提供《STM32F103C8T6开发板最小系统原理图》资料免费下载
    发表于 03-24 09:09 ?67次下载

    stm32f103c8t6没有对flash进行任何操作,flash的内容发生变化了,是哪些原因?

    stm32f103c8t6:没有对flash进行任何操作,flash的内容发生变化了。具体是哪些原因?如何调试排查原因。
    发表于 03-14 07:14

    stm32f103c8t6编码器模式在keil的debug调试时遇到的问题求解

    stm32f103c8t6编码器模式在keil的debug调试时,手动把编码器的计数器置为一个数500(比如计数器溢出值是4000),然后在在让编码器继续开始输出,此时计数器的计数变为原来正常的两倍了,直到计数器溢出一次就变正常了
    发表于 03-14 06:06

    STM32F103C8T6 PA2无PWM输出怎么解决?

    STM32F103C8T6最小系统PA0/PA1/PA2/PA3为PWM输出控制舵机,配置相同,PA2始终无输出,PA0/PA1/PA3输出正常;用试验软件对STM32F103C8T6
    发表于 02-27 08:13

    基于STM32F103V8T6的智能水处理系统设计与实现

    基于 STM32F103V8T6 的智能水处理装置设计 摘要 : 本文基于 STM32F103V8T6 微控制器,设计并实现了一款智能水处理装置。该装置集多种传感器与电源管理模块于一体,具有精准采集
    的头像 发表于 02-19 14:16 ?765次阅读
    基于STM32F<b class='flag-5'>103V8T6</b>的智能水处理系统设计与实现

    基于STM32F103C8T6 ADXL345 加速度传感器的计步器设计指南和代码

    基于 STM32F103C8T6 微控制器和 ADXL345 加速度传感器的计步器设计相关内容,包括 ADXL345 传感器的工作原理、初始化与数据读写操作,以及基于该传感器的计步器算法实现
    的头像 发表于 01-17 17:38 ?2148次阅读

    BTB扩展接口LCD、Camera、UART、I2C等|详解篇

    今天我们来学习的是BTB扩展接口LCD、Camera、UART、I2C详解,特别分享Air201硬件BTB扩展接口相关内容。
    的头像 发表于 11-30 09:39 ?1229次阅读
    BTB扩展<b class='flag-5'>接口</b>:<b class='flag-5'>LCD</b>、Camera、UART、I<b class='flag-5'>2C</b>等|详解篇

    通用抗干扰段码屏驱动液晶驱动芯片LCD驱动芯片VK1626(48SEGx16COM)

    8seg4com 48 偏置电压1/3 1/4 I2C通讯接口 NSOP16;DICE/DIE裸片(绑定COB);COG(绑定玻璃) 高抗
    发表于 10-12 15:44