在本教程中,我们将通过将RTC模块DS3231与MSP430连接来制作数字时钟,并在16x2 LCD上显示时间和日期。MSP-EXP430G2是德州仪器(TI)提供的一种开发工具,又名LaunchPad,用于学习和练习如何使用其微控制器。该评估板属于MSP430价值线类别,在这里我们可以对所有MSP430系列微控制器进行编程。如果您不熟悉MSP,请查看我们的MSP430入门教程。
所需材料:
- MSP430
- DS3231 RTC模块
- 锅-10k
- 液晶模组16 * 2
- 连接线
- 面包板
什么是RTC?
DS3231是RTC (实时时钟)模块。它用于维护大多数电子项目的日期和时间。该模块具有自己的纽扣电池电源,即使断开主电源或MCU进行了硬复位,它也可以使用该电源保持日期和时间。因此,一旦我们在此模块中设置了日期和时间,它就会一直跟踪它。有多种类型的RTC IC,例如DS1307,DS3231等。
我们先前 在以下项目中将RTC与其他微控制器一起使用 :
注意: 首次使用此模块时,必须设置日期和时间。您还可以使用RTC IC DS1307,我们之前已将DS1307与Arduino一起使用。
将DS3231 RTC与MSP430连接:
下面给出了 基于MSP430单片机的数字时钟的 电路图。如前所述,DS3231在I2C通信的帮助下工作,因此它将具有一个串行时钟(SCL)和一个串行数据(SDA)引脚,该引脚必须连接到我们MSP430的I2C引脚,即引脚9(PIN 2.1)。 ,SCL)和引脚10(PIN 2.2,SDA)。
MSP430提供3.3V Vcc,但我们需要5V才能将其与LCD和RTC模块连接。因此,我们将使用一个技巧,在USB电缆连接器附近有一个名为TP1的跳线。您可以从那里获取5V电压。
电路原理图:
为RTC模块编程MSP430:
在这里,我们使用Energia IDE进行编程。它与Arduino IDE相同,易于使用。如果您不熟悉MSP和能量,请使用Energia IDE进行MSP入门。要连接RTC模块,我们需要此板的库。从此链接下载RTC库并进行安装。
我们还需要预装在Energia IDE中的 Wire (用于I2C通信)和 液晶 库。
本文末尾给出了该MSP430数字时钟的完整代码。代码简单易懂。在这里,我们解释它的几个部分。
首先,我们必须包括必要的库。
下面的库用于RTC模块和MSP430之间的I2C通信。SDA和SCK引脚已在此库中定义,因此我们不必分别声明这些引脚。
#包括
然后,我们包括用于RTC时钟的 RTClib.h 库和用于LCD功能的 LiquidCrystal.h 。
#include“ RTClib.h” #include
之后,我们必须创建一个实例来初始化我们的RTC模块。
RTC_DS3231 rtc;
然后制作一个大小为7的数组,并在其中存储所有带名称的7天。
char daysOfTheWeek = {“星期日”,“星期一”,“星期二”,“星期三”,“星期四”,“星期五”,“星期六”};
这是LCD显示器将使用的MSP430的引脚声明: (RS(P2.0),EN(P1.4),D4(P1.5),D5(P2.3),D6(P2.4),D7 (P2.5))
液晶(8,6,7,11,12,13);
在 void setup()中 , 我们已经初始化了LCD屏幕和RTC的接口,并指定了显示的尺寸(宽度和高度), 在任何其他库命令之前都需要先调用 begin()
。
void setup(){ lcd.begin(16,2); lcd.setCursor(3,0); lcd.print(“ RTC Clock”); 延迟(3000); lcd.clear(); rtc.begin(); // rtc.adjust(DateTime(F(__ DATE__),F(__ TIME__))); }
现在,显示屏上显示的时间是正确的,但是存在问题,每次重新启动/重置微控制器时,LCD都会显示您上传代码的时间。这是因为 rtc.adjust() 函数已经存储了您的计算机时间,因此在您重置计算机时,它将以该时间开始。
要解决此问题,请首先使用 无 注释的 rtc.adjust() 函数上载程序。然后,立即在同一行中注释并再次上传程序。现在,您的日期和时间已设置,并且不会受到重置微控制器的影响。
在 循环 函数中,我们从RTC模块获取日期和时间,并将其存储在 现在 调用的预定义变量中,并使用 lcd.print() 函数将其显示在LCD上。
无效循环(){ DateTime now = rtc.now(); lcd.clear(); lcd.setCursor(3,0); lcd.print(now.day(),DEC); lcd.print(“ /”);…。 ……。
完整的代码和视频如下。