0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

通過RTC模塊DS3231與MSP430連接來制作數(shù)字時鐘

科技觀察員 ? 來源:circuitdigest ? 作者:里沙布·耆那教 ? 2022-11-11 16:55 ? 次閱讀

在本教程中,我們將通過RTC模塊DS3231與MSP430連接來制作數(shù)字時鐘,并在16x2 LCD上顯示時間和日期。MSP-EXP430G2 是德州儀器提供的開發(fā)工具,又名 LaunchPad,用于學(xué)習(xí)和練習(xí)如何使用其微控制器。該板屬于 MSP430 超值系列類別,我們可以在其中對所有 MSP430 系列微控制器進(jìn)行編程。

所需材料:

MSP430

DS3231 RTC 模塊

鍋 -10k

液晶模塊 16*2

連接線

面包板

什么是 RTC??

DS3231是RTC(實時時鐘)模塊。它用于維護(hù)大多數(shù)電子項目的日期和時間。該模塊有自己的紐扣電池電源,即使主電源被移除或MCU經(jīng)過硬復(fù)位,它也能保持日期和時間。因此,一旦我們在此模塊中設(shè)置了日期和時間,它將始終跟蹤它。RTC IC有幾種類型可供選擇,如DS1307、DS3231等。

pYYBAGNuDe6ASoKLAABklFhj4XI882.jpg

將DS3231 RTC與MSP430連接:

下面給出了基于MSP430微控制器的數(shù)字時鐘的電路圖。如前所述,DS3231在I2C通信的幫助下工作,因此它將有一個串行時鐘(SCL)和一個串行數(shù)據(jù)(SDA)引腳,必須連接到MSP430上的I2C引腳,即引腳9(引腳2.1,SCL)和引腳10(引腳2.2,SDA)。

MSP430 提供 3.3V Vcc,但我們需要 5V 才能將其與 LCD 和 RTC 模塊連接。因此,我們將使用一個技巧,在USB電纜連接器附近有一個名為TP1的跳線可用。您可以從那里獲取 5V。

電路圖:

poYBAGNuDfKAChVKAADGmgkhC84295.png

用于 RTC 模塊的 MSP430 編程:

在這里,我們使用Energia IDE進(jìn)行編程。它與Arduino IDE相同,易于使用。如果您不熟悉MSP和energia,請使用Energia IDE開始使用MSP。為了連接RTC模塊,我們需要該板的庫。從此鏈接下載 RTC 庫并安裝它。

我們還需要預(yù)裝在Energia IDE中的Wire(用于I2C通信)和液晶庫。

本文末尾給出了此 MSP430 數(shù)字時鐘的完整代碼。代碼簡單易懂。在這里,我們將解釋其中的幾個部分。

首先,我們必須包含必要的庫。

以下庫用于 RTC 模塊和 MSP430 之間的 I2C 通信。SDA 和 SCK 引腳已在此庫中定義,因此我們不必單獨聲明這些引腳。

#include

然后,我們包括用于RTC時鐘的RTClib.h庫和用于LCD功能的LiquidCrystal.h。

#include "RTClib.h"

#include

在此之后,我們必須創(chuàng)建一個實例來初始化我們的 RTC 模塊。

RTC_DS3231 rtc;

然后制作一個大小為 7 的數(shù)組,并存儲所有七天的名稱。

char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};

以下是液晶顯示器使用的MSP430的引腳聲明:(RS(P2.0),EN(P1.4),D4(P1.5),D5(P2.3),D6(P2.4),D7(P2.5))

LiquidCrystal lcd(8 ,6, 7,11,12,13);

在void setup()中,我們已經(jīng)初始化了LCD屏幕和RTC的接口,并指定了顯示器的尺寸(寬度和高度),begin()需要在任何其他庫命令之前調(diào)用。

void setup () {

lcd.begin(16, 2);

lcd.setCursor(3,0);

lcd.print("RTC Clock");

delay(3000);

lcd.clear();

rtc.begin();

// rtc.adjust(DateTime(F(__DATE__), F(__TIME__)));

}

注意:在上述函數(shù)中,注釋行很重要。如果未設(shè)置時間和日期,請取消注釋該行并上傳程序。此函數(shù)存儲編譯時計算機的時間,因此請確保計算機的時間正確。

現(xiàn)在,顯示的時間是正確的,但存在一個問題,每次重新啟動/重置微控制器時,LCD都會顯示您上傳代碼的時間。這是因為 rtc.adjust() 函數(shù)已經(jīng)存儲了您計算機的時間,因此當(dāng)您重置時,它會從該時間開始。

要解決此問題,請先上傳帶有 rtc.adjust() 函數(shù)未注釋的程序。然后,立即評論同一行并再次上傳程序。現(xiàn)在,您的日期和時間已設(shè)置,不會受到重置微控制器的影響。

在循環(huán)函數(shù)中,我們從RTC模塊中獲取日期和時間,并存儲在現(xiàn)在調(diào)用的預(yù)定義變量中,并使用lcd.print()函數(shù)將其顯示在LCD上。

void loop () {

DateTime now = rtc.now();

lcd.clear();

lcd.setCursor(3,0);

lcd.print(now.day(), DEC);

lcd.print("/");….

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • msp430
    +關(guān)注

    關(guān)注

    180

    文章

    2330

    瀏覽量

    229006
  • DS3231
    +關(guān)注

    關(guān)注

    2

    文章

    51

    瀏覽量

    23794
  • 數(shù)字時鐘
    +關(guān)注

    關(guān)注

    2

    文章

    149

    瀏覽量

    20249
收藏 人收藏

    評論

    相關(guān)推薦

    如何利用DS3231構(gòu)建一個基于Atmega16的數(shù)字掛鐘

    在這里,我們將DS3231 RTC IC 構(gòu)建一個基于 Atmega16 的數(shù)字掛鐘。DS3231 RTC 內(nèi)部有一個高精度晶體,因此不需要
    的頭像 發(fā)表于 09-08 15:34 ?3354次閱讀
    如何利用<b class='flag-5'>DS3231</b>構(gòu)建一個基于Atmega16的<b class='flag-5'>數(shù)字</b>掛鐘

    基于DS3231的高精度時鐘接口設(shè)計

    【作者】:方潔;陳偉;【來源】:《電子設(shè)計工程》2010年02期【摘要】:為避免電路系統(tǒng)在上電或斷電后出現(xiàn)計時不準(zhǔn)確的異常狀況,提出采用高精度時鐘芯片DS3231的解決方案。介紹DS3231的特點
    發(fā)表于 04-24 09:01

    實時時鐘芯片DS3231應(yīng)用筆記,使用指南,F(xiàn)AQ全集

    合適的器件。本還重點討論了內(nèi)置MEMS諧振器的DS3231M,用于替代晶振方案。 實時時鐘RTC DS323x高精度實時時鐘的功耗考慮
    發(fā)表于 03-14 11:05

    DS3231的接線方法及源代碼

    3.DS3231的接線方法 DS3231時鐘模塊,通信用的是IIC接口在這只用到DS3231時鐘
    發(fā)表于 08-17 14:43

    DS3231時鐘星期不對

    做了一個DS3231時鐘,可是星期每次都不對,加上autoweek函數(shù)后,按鍵的的值就寫不到DS3231中了,不加autoweek可以挑時間,可以走,就是星期不對。求解答? DS3231
    發(fā)表于 06-20 04:35

    DS3231時鐘芯片結(jié)構(gòu)

    目錄一、模塊簡介DS3231時鐘芯片結(jié)構(gòu)原理引腳圖內(nèi)部結(jié)構(gòu)圖DS3231典型應(yīng)用電路DS3231時鐘
    發(fā)表于 08-09 06:31

    DS3231時鐘芯片讀寫程序分享

    @[TOC](咚咚咚————【封裝驅(qū)動】DS3231時鐘芯片讀寫程序,分享交流自己編寫的程序。/********************************************主控芯片
    發(fā)表于 12-13 07:14

    如何將DS3231 RTC模塊與NodeMCU連接

    ESP8266智能燈項目?viadean.com接口如何將DS3231 RTC模塊與NodeMCU連接。學(xué)習(xí)在串行監(jiān)視器上設(shè)置和顯示DS3231
    發(fā)表于 01-25 07:23

    DS3231高精度I2C實時時鐘(RTC)

      DS3231是低成本、高精度I2C實時時鐘(RTC),具有集成的溫補
    發(fā)表于 11-12 09:17 ?4329次閱讀
    <b class='flag-5'>DS3231</b>高精度I2C實時<b class='flag-5'>時鐘</b>(<b class='flag-5'>RTC</b>)

    DS3231 AT24C32 高精度時鐘模塊 IIC模塊 存儲模

    DS3231 AT24C32 高精度時鐘模塊 IIC模塊 存儲模塊的測試程序。
    發(fā)表于 05-06 11:47 ?73次下載

    ds3231時鐘模塊怎么用_DS3231的操作與使用

    DS3231是一款高精度I2C實時時鐘器件,具有集成的溫度補償晶體振蕩器。該器件包含電池輸入端,斷開主電源時仍可保持精確計時。集成的晶體振蕩器可提高器件的長期精確度。DS3231的寄存器能保存秒、分、時、星期、日期、月、年和鬧鐘
    發(fā)表于 01-29 11:23 ?10.4w次閱讀
    <b class='flag-5'>ds3231</b><b class='flag-5'>時鐘</b><b class='flag-5'>模塊</b>怎么用_<b class='flag-5'>DS3231</b>的操作與使用

    nodemcu引腳_了解DS3231 RTC模塊與NodeMCU的接口

    ESP8266智能燈項目?viadean.com接口如何將DS3231 RTC模塊與NodeMCU連接。學(xué)習(xí)在串行監(jiān)視器上設(shè)置和顯示DS3231
    發(fā)表于 11-30 19:51 ?14次下載
    nodemcu引腳_了解<b class='flag-5'>DS3231</b> <b class='flag-5'>RTC</b><b class='flag-5'>模塊</b>與NodeMCU的接口

    基于DS3231時鐘模塊的stm32 程序,源碼

    目錄一、模塊簡介DS3231時鐘芯片結(jié)構(gòu)原理引腳圖內(nèi)部結(jié)構(gòu)圖DS3231典型應(yīng)用電路DS3231時鐘
    發(fā)表于 01-18 10:06 ?104次下載
    基于<b class='flag-5'>DS3231</b><b class='flag-5'>時鐘</b><b class='flag-5'>模塊</b>的stm32 程序,源碼

    IIC實時時鐘模塊DS3231 EEPROM開源

    電子發(fā)燒友網(wǎng)站提供《IIC實時時鐘模塊DS3231 EEPROM開源.zip》資料免費下載
    發(fā)表于 08-08 10:23 ?6次下載
    IIC實時<b class='flag-5'>時鐘</b><b class='flag-5'>模塊</b><b class='flag-5'>DS3231</b> EEPROM開源

    采用DS3231實時時鐘模塊制作的LCD時鐘

    電子發(fā)燒友網(wǎng)站提供《采用DS3231實時時鐘模塊制作的LCD時鐘.zip》資料免費下載
    發(fā)表于 10-31 09:18 ?14次下載
    采用<b class='flag-5'>DS3231</b>實時<b class='flag-5'>時鐘</b><b class='flag-5'>模塊</b><b class='flag-5'>制作</b>的LCD<b class='flag-5'>時鐘</b>