使用MSP430G2 LaunchPad开发板连接LCD液晶显示屏的方法

2019-10-22来源: eefocus关键字:MSP430G2  LaunchPad  LCD  液晶显示屏


本篇文章是我们学习使用Energia IDE开发环境编程MSP430G2 LaunchPad的教程系列中的第三篇教程。在上一篇教程中,我们学习了如何控制MSP430G2 LaunchPad开发板上的数字输入和输出引脚。在本教程中,我们将学习如何将LCD与开发板连接,以便我们可以显示一些有用的信息。


我们在这个项目中使用的LCD是最常用的16×2点阵式液晶显示器,也就是所谓的字符显示器。我们大多数人都会通过公共PCO或其他电子项目来接触到这一点。像这样的显示对于我们将来的教程中显示数据和其他调试信息将非常方便。由于提供了库,将该LCD与MSP430连接起来非常简单。所以让我们开始学习吧!


所需材料

●    德州仪器的MSP430G2 LaunchPad开发板

●    16×2点阵液晶显示器

●    连接导线

●    Energia IDE开发环境


16×2点阵液晶显示器简介

正如前面所述,Energia IDE提供了一个美丽的库,它使得接口成为一块蛋糕,因此不必知道显示模块的任何内容。但是,展示我们正在使用的内容,会不会很有趣!

名称16×2意味着显示器有16列和2行,它们共同构成32个盒子(16 * 2)。在下面的图片中,一个盒子看起来就像这样:


一个盒子有40个像素(点),形成了5行和8列的矩阵,这40个像素一起构成一个字符。同样,可以使用所有框显示32个字符。现在,让我们看看LCD模块的引脚。


如上所示,LCD共有16个引脚,它们可以分为四组,如下所示

电源引脚(1、2和3):这些引脚为显示瓶提供电源和对比度

控制引脚(4、5和6):这些引脚设置/控制LCD接口IC中的寄存器(更多信息请参见下面的链接)

数据/命令引脚(7至14):这些引脚提供应在LCD上显示哪些信息的数据。

LED引脚(15和16):如果需要,这些引脚用于点亮LCD的背光(可选)。


在所有这16个引脚中,只有10个引脚必须用于LCD的正常工作。


电路原理图和连接方式

下面显示了将16×2点阵LCD显示屏与MSP430G2控制器连接的完整电路图。


在连接这两个接口时一个主要的限制是它们的工作电压。 LCD显示屏具有+ 5V的工作电压,而MSP430G2 LaunchPad开发板的工作电压仅为3.6V。幸运的是,LCD接口IC(HD44780U)的数据引脚具有2.7V至5.5V的宽工作电压。所以我们只需考虑LCD的Vdd(引脚2),而数据引脚甚至可以在3.6V的条件下工作。

默认情况下MSP430G2开发板没有给出一个+ 5V的引脚,但是我们可以在USB端口上做一些小小的工作,以便能从MSP430得到+ 5V。如果仔细观察USB端口,您可以找到一个名为TP1的端子,此端子可以给我们提供 5v。我们所要做的就是按照下图所示焊接一个小的插头,以便我们将它连接到我们的LCD显示器上。


注意:请勿将可能消耗50mA以上的负载连接至此5V引脚,否则可能会烧毁您的USB端口。


如果您对焊接不感兴趣,只需使用任何+ 5V稳压电源,然后向LCD供电,在这种情况下,请确保将电源地连接到MSP开发板的地。

一旦完成连接+ 5V引脚,其他引脚的连接就非常简单。现在我们的硬件已经准备就绪,让我们继续介绍软件部分。


使用Energia开发环境编程用于LCD的MSP430

本页末尾给出了将MSP430G2553与LCD显示器连接的完整程序。代码可以进行编译、上传和使用。在下面的段落中,我将解释程序是如何工作的。


在我们继续解释之前,我们必须记下我们正在使用的引脚。如果你看一下上面的电路图和下面的MSP430引脚图,



您可以得出结论,我们已经按照下表连接了LCD。

LCD引脚名称

连接到

VSS

VDD

+ 5V USB引脚

Rs

MSP开发板的第2脚

R / W

Enable

MSP开发板的第3脚

D4

MSP开发板的第4脚

D5

MSP开发板的第5脚

D6

MSP开发板的第6脚

D7

MSP开发板的第7脚


考虑到这一点,我们开始在程序中定义使用的LCD引脚。我们将用更有意义的名称命名每个引脚,以便稍后可以轻松使用它。

  1. #define RS 2

  2. #define EN 3

  3. #define D4 4

  4. #define D5 5

  5. #define D6 6

  6. #define D7 7


这只是意味着不用调用引脚2,我可以在后面将其称为RS,对于所有6个引脚也是如此。


下一步将包括LCD库。当您安装Energia IDE时,该库将自动安装。因此,只需使用以下行添加它即可

  1. #include


下一步是提及LCD所连接的引脚,因为我们已经使用#define命名了它,现在我们可以简单地提及LCD引脚的名称。确保遵循相同的顺序。

  1. LiquidCrystal lcd(RS, EN, D4, D5, D6, D7);

复制代码


现在让我们介绍void setup()函数。液晶显示器的种类很多,大小和性质各不相同,我们使用的液晶显示器是16 * 2,所以让我们在我们的程序中指定

  1. lcd.begin(16, 2);


要在LCD上打印某些东西,我们必须在程序中提到两件事。一个是可以使用lcd.setCursor()行提及的文本的位置,另一个是可以由lcd.print()提及的打印内容。在这一行中,我们将光标设置为第1行和第1列。

  1. lcd.setCursor(0,0);


同样,我们也可以

  1. lcd.setCursor(0, 1);   // set the cursor to 1st column 2nd row


就像在写入白板后擦除白板一样,一旦写入内容,LCD也应该被擦除。这可以通过使用下面的代码行来完成:

  1. lcd.clear();


所以完整的void setup()函数看起来像这样。

  1. void setup() {

  2.   lcd.begin(16, 2); //We are using a 16*2 LCD display

  3.   lcd.setCursor (0,0); //Place the cursor at 1st row 1st column

  4.   lcd.print("MSP430G2553"); //Display a intro message

  5.   lcd.setCursor(0, 1);   // set the cursor to 1st column 2nd row

  6.   lcd.print("-CircuitDigest"); //Display a intro message

  7.    delay(2000); //Wait for display to show info

  8.    lcd.clear(); //Then clean it

  9. }


接下来,在我们的void loop()函数中,让我们继续每500ms增加一个数字,并在LCD中显示数字。这个数字测试并初始化为1,如下所示

  1. int test =1;


要创建一个延迟,我们可以使用内置函数delay()。我们必须提及我们需要多少时间才能发生延迟。在我们的例子中,我使用了如下所示的500ms

  1. delay(500);


递增一个变量可以通过test ++来完成,其余的全部都已经解释过了。下面显示了void loop()内的完整代码

  1. void loop() {

  2.   lcd.print("LCD with MSP"); //Display a intro message

  3.   lcd.setCursor(0, 1);   // set the cursor to column 0, line 1

  4.   lcd.print(test); //Display a intro message

  5.   delay(500);

  6.   lcd.clear(); //Then clean it

  7.   test++;

  8. }



使用MSP430G2连接16x2 LCD

一旦你的硬件和代码准备就绪,只需将你的开发板连接到电脑上,并像上一个教程那样上传代码。代码上传后,您应该看到显示以下内容的显示。


两秒后,显示屏幕将从设置变为循环,并开始递增变量并显示在屏幕上,如下图所示。


在本文的末尾列出了完整的代码。继续尝试更改LCD上正在显示的内容并使用它。希望你能理解本教程并学习到一些有用的形式。如果您有任何疑问,请在本帖的下面下面的将它们留在下面的评论部分或使用论坛。让我们在另一个教程中见面。


关键字:MSP430G2  LaunchPad  LCD  液晶显示屏 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic477965.html 本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于MSP430G2微控制器闪烁LED:使用数字读/写引脚
下一篇:使用MSP430G2单片机的PWM模块控制LED指示灯的亮度

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

MSP430G2553与MSP430F5336系列单片机总结[4]——比较器B的使用
比较器B是什么,顾名思义,它其实就是用来比较模拟电压+输入端和-输入端的电压大小,然后设置输出信号CBOUT的值的,如果 + 端电压高于 - 端电压,则CBOUT置高,否则置低。主要的控制寄存器有CBCTL0,CBCTL1,CBCTL2,CBCTL3,CBINT,CBIV,在MSP430G2553中没有比较器B,但是F5336中有,所以接下来的代码全都是F5336的比较器B使用程序:1.比较器B输入通道CB0接外部模拟输入信号,并且引至比较器+输入端,内部参考电压发生器利用共享电压源产生2.0V参考电压。最后当CB0输入模拟信号电压高于2.0V时,CBOUT输出高电平,当CB0输入模拟信号电压低于2.0V时,输出低电平
发表于 2019-11-06
MSP430G2553使用CCS8.0编程注意点总结
本文总结了在利用MSP430G2553做实验时的一些通用错误及注意点,用的软件为CCS8.0,供大家借鉴,具体工程不再给出,若有相似问题或本文有错误,可留言,我尽量回复。文末附有MSP430的用户手册、数据手册、学习笔记及《从零开启大学生电子设计之路》电子版及相关例程的下载地址,我也会尽量持续总结并更新。【错误1】:在“UART_Global.h“中已经定义全局变量“extern unsigned int CHANGE_MODE;”,然而编译时仍然出现错误,错误提示为:error #10234-D: unresolved symbols remain。【解决】:经过在网上查找并对比相关例程发现,在“.h”文件中定义后,仍需在相应
发表于 2019-10-30
使用MSP430G2 LaunchPad开发板连接步进电机的方法
在本篇文章中,我们将介绍如何使用MSP430 LaunchPad开发板连接一个步进电机。 MSP-EXP430G2是德州仪器(TI)提供的开发工具,又名LaunchPad,用于学习和练习如何使用他们提供的微控制器。该开发板属于MSP430产品线,我们可以使用它对所有MSP430系列微控制器进行编程。如果您是MSP430的新手,请查看MSP430 LaunchPad的入门教程。所需的材料●    MSP430 LaunchPad开发板●    35BYJ46或28-BYJ48步进电机●    ULN2003驱动芯片●    连接导线● 
发表于 2019-10-23
使用MSP430G2 LaunchPad开发板连接步进电机的方法
使用MSP430G2 LaunchPad开发板驱动伺服电机的方法
在本篇文章中,我们将主要介绍一些有关伺服电机的基础知识以及如何将伺服电机与MSP430G2 LaunchPad开发板进行连接。 MSP-EXP430G2是德州仪器提供的开发工具,也称为LaunchPad,用于学习和实践如何使用其微控制器。该开发板属于MSP430产品线类别,我们可以对所有MSP430系列微控制器进行编程。伺服电机和PWM在详细讨论之前,首先我们应该了解伺服电机。伺服电机包含了直流电机、位置控制系统和转动机构。伺服电机在现代世界有很多应用,因此它们有不同的形状和尺寸。我们将在本篇文章中使用的是SG90伺服电机,它是最流行且最便宜的电机之一。 SG90是一款180度伺服器。所以用这个伺服我们可以将轴从0-180度定位
发表于 2019-10-23
使用MSP430G2 LaunchPad开发板驱动伺服电机的方法
使用MSP430G2单片机的PWM模块控制LED指示灯的亮度
本篇文章是MSP430G2 LaunchPad系列教程的一部分,我们正在学习使用德州仪器的MSP430G2 LaunchPad开发板。到目前为止,我们已经学习了开发板的基础知识,并介绍了如何读取模拟电压以及使用MSP430G2进行连接LCD等。现在我们继续了解MSP430G2单片机中的PWM模块。我们将通过改变电位器来控制LED的亮度,因此,将电位器连接到MSP430的模拟引脚,然后读取其模拟电压,因此建议在继续学习之前先了解ADC的文章。什么是PWM信号?脉宽调制(PWM)是控制电路中最常用的数字信号。该信号以预定的时间和速度设置为高电平(3.3v)和低电平(0v)。信号保持高电平的时间称为“开启时间”,信号保持低电平的时间称为
发表于 2019-10-22
使用MSP430G2单片机的PWM模块控制LED指示灯的亮度
【msp430 launchpad、RF模块】调制、解码无线信号
用到的硬件调制无线信号原理是自己调制高低电平输入到RF发射模块。代码中的0、1代表高低电平,由分析真实的门控信号得来。参见bladeRF:自己调制无线门控钥匙信号 。解码无线信号原理是上升沿触发解码中断,然后判断同步位,再接收数据位。代码中的判断同步位的起始高电平部分有点问题,果断注释掉,直接利用起始位高电平后的低电平来判断同步位。 解码效果: 
发表于 2019-10-28
【msp430 launchpad、RF模块】调制、解码无线信号
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2019 EEWORLD.com.cn, Inc. All rights reserved