在这个项目中,我们将学习如何与STMF103C8T6接口16×2 LCD,这被称为蓝色药丸。我将向您展示如何将16x2字符LCD与STM32(有关LCD模块的一些基本信息)连接,并编写一个程序以在LCD上打印东西。因此,让我们开始。
介绍
在任何嵌入式项目中,在显示单元上显示重要内容非常重要,因为它为用户提供了一种与系统交互的简便方法。采用您的能量表,气象站,心率监测系统等等。所有这些项目在最终实施中都有一个显示单元。
在谈论显示器时,它不一定是一个花哨的,丰富多彩的图形显示。简单的字符显示足以显示重要内容,例如传感器的读数,ADC的值,继电器等。
因此,在这个项目中,我们将做同样的事情。我们将与STM32F103C8T6蓝色药丸板接口16x2 LCD。由于这是用于连接LCD模块的演示,因此我们将显示一些示例文本以查看输出。
在后来的项目中,当我们将不同的传感器与STM32蓝色药丸接口时,我们可以使用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个水平)组成。从本质上讲,这使其成为DOT矩阵显示器并控制像素,使用了Hitachi的一个非常著名的LCD控制器IC,称为HD44780。
进入16*2 LCD显示屏的引脚,它有16个引脚,下表显示了这些引脚的快速描述。
引脚号 | 引脚名称 | 描述 |
1 |
VSS | gnd |
2 |
VDD | +5V |
3 |
vo | 调整LCD的对比度 |
4 |
卢比 | 注册选择(命令 /数据) |
5 |
r/w | 读 /写操作 |
6 |
en | 启用(R / W必须高) |
7 - 14 |
D0 - D7 | 数据销 |
15 |
LED+(a) | LED背光正供应(+5V) |
16 |
led-(k) | LED背光负供应(GND) |
与STM32F103C8T6接口16x2 LCD
如前所述,该项目是要了解如何与STM32蓝色药丸接口16x2 LCD。我们将使用Arduino IDE编写代码并将其上传到MCU(使用USB到串行转换器)。
LCD模块将以4位模式配置,因此仅使用4个数据引脚来传输要在LCD上显示的数据。
电路原理图
以下填充图像显示了与STM32F103C8T6 MCU接口16x2 LCD的电路图。
需要组件
- STM32F103C8T6基于MCU的董事会蓝色药丸
- USB到串行转换器(例如FTDI程序员)
- 16x2字符LCD模块
- 连接电线
连接
在“使用STM32F103C8T6”教程的“入门”中,我已经解释了STM32蓝色药丸板和USB与串行转换器之间的连接。FTDI程序员的TX和RX连接到STM32蓝色药丸板的A9和A10销。
进入LCD模块,引脚1和2即,VSS和VDD连接到GND和 +5V。同样,引脚15和16即LED +和LED-分别连接到 + 5V和GND。
调整LCD显示屏的对比度。VO引脚(引脚3)连接到10kΩ锅的中心端子,而锅的其他两个端子则连接到 +5V和GND。进入控制引脚,即RS,RW和EN(PINS 4、5和6),它们分别连接到B11,GND和B10。
接下来是数据引脚。我们将在4位模式下使用LCD,因此仅使用4个数据引脚,即D4至D7(PINS 11至14)。这些引脚分别连接到B0,A7,A6和A5。其他四个数据引脚,即D0至D3可以静止不动。
用于LCD显示的编程STM32F103C8T6
如果您没有尝试过”开始使用STM32F103C8T6教程,然后,我建议您通过该项目来完成该项目,以便在该教程中使用STM32 Blue Pill和Arduino IDE的所有必要信息。
您从该项目中需要的一些要点是:
- 为Arduino IDE安装STM32板包。
- 选择正确配置的右STM32板。
- 下载将与Arduino IDE合作的程序员软件将代码上传到我们的蓝色药丸板上。
- 使用引导选择引脚在“编程模式”和“操作模式”之间切换。
如果您已经完成了此基本设置并成功上传了第一个程序(眨眼),那么您就可以了。
笔记:您只需切换高和低的引导0引脚,就可以在编程模式和操作模式之间切换。如果要用电源打开,则每次在模式之间切换时,都必须按重置按钮。
首先,通过将Boot0引脚设置为High,将蓝色药丸放在编程模式下。现在,我使用Arduino的布局编写了一个简单的代码,用于在LCD显示屏上显示一些文本。代码在下面给出。
代码
/*
* LCD VSS PIN到GND
* LCD VDD引脚至5V
* LCD vo Pin到锅
* LCD RS PIN到数字引脚PB11
* LCD RW PIN到GND
* lcd en pin to Digital Pin PB10
* LCD D0到D3销未使用
* LCD D4引脚到数字引脚PB0
* LCD D5引脚到数字引脚PA7
* LCD D6引脚到数字引脚PA6
* LCD D7引脚到数字引脚PA5
* LCD BL+ PIN至5V
* lcd bl- pin到GND
*/
#include
const int rs = pb11,en = pb10,d4 = pb0,d5 = pa7,d6 = pa6,d7 = pa5;
LiquidCrystal LCD(RS,EN,D4,D5,D6,D7);
void setup(){
lcd.Begin(16,2);
lcd.setcursor(0,0);
lcd.print(“接口LCD”);
lcd.setcursor(0,1);
lcd.print(“伟德亚洲会玩假吗电子中心”);
延迟(2000);
lcd.clear();
}
void loop(){
lcd.setcursor(0,0);
lcd.print(“ STM32 - 蓝色药丸”);
lcd.setcursor(0,1);
lcd.print(“ STM32F103C8T6MCU”);
}
编译和上传代码后,STM32 MCU将开始显示代码中提供的文本。您可以通过使Boot0低并按下RESET开关来切换回操作模式。
结论
一个简单的项目,用于学习如何与STM32蓝色药丸接口16x2 LCD。如果我们熟悉LCD接口,我们可以轻松地在许多未来项目中使用LCD模块。