文章目录[隐藏]
在任何嵌入式项目中,在人机界面上显示重要内容都是非常重要的,因为它使用户可以轻松地与系统进行交互。带上您的电表,气象站,心率监测系统等等。所有这些项目在最终实现中都具有一个显示单元。
在谈论显示时,它不必是精美的,彩色的图形显示。简单的字符显示足以显示重要内容,例如传感器的读数,ADC的值,继电器的状态等。
因此,在这个项目中,我们将做同样的事情。我们将接口16X2 LCD与STM32F103C8T6蓝色药丸板。由于这是用于连接LCD模块的演示,因此我们将显示一些示例文本以查看输出。
在以后的项目中,当我们将不同的传感器与STM32 Blue Pill连接时,我们可以利用16X2 LCD和STM32F103C8T6的知识,并显示一些重要数据。
16X2 LCD简要说明
我们已经将16X2 LCD显示器用于许多不同的微控制器,例如8051,ATmega,Arduino,LPC2148(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编程器)
本次设计利用Keil软件进行单片机编程,并且借助Proteus软件进行仿真模拟,其模拟结果符合预期设想。该设计结构简单,功能完整,控制方便,既节省了鱼缸的空间,又满足了用户饲养热带鱼宠物的爱好。由于采用了单片机控制,系统还有更大的扩展空间,如增加食物投放功能和水体含氧量智能控制等。
-
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模块。
按LED点阵片在屏幕上的排列顺序,单片机按顺序先对第1排的第1片LED点阵片的列驱动锁存器写入字模数据,其次对第1排第2片、第3片……直到最后一片都写完字模数据后,再对这一排的行驱动锁存器写行扫描信号,于是就可以点亮相关发光二极管。