91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

怎樣在RTC DS1307在LCD上設置并顯示時間

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-12-09 14:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

步驟1:

怎樣在RTC DS1307在LCD上設置并顯示時間

將rtc連接到arduino

SDA連接到Arduino A4。

將SCL連接到Arduino A5。 br》將vcc連接到+ 5v

將gnd連接到gnd

步驟2:將Lcd

LCD連接到Arduino

1 GND

2 + 《3》 3電位器中心

4針12 Arduino。

5 GND 《6》針11 Arduino

11針5 Arduino

12針4 Arduino

13針3 Arduino

14 Pin 2 Arduino

15 +

16 Gnd

第3步:從成員WWC設置Rtc草圖。不要在U更改時間的情況下使用此示例。

串行輸入對我不起作用,所以我將時間花在了草圖上。

不要使用這個。僅用于必須輸入時間的示例。

//這組代碼允許輸入數(shù)據(jù)

void setTime(){

Serial.print(“請輸入當前年份,00-99 。-“);

year = 13;

Serial.println(year);

Serial.print(”請輸入當前月份,1-12。-“) ;

month = 9;

Serial.println(months [month-1]);

Serial.print(“請輸入當月的當前日期1-31 。-“);

monthday = 20;

Serial.println(monthday);

Serial.println(”請輸入星期幾,即1-7。 “);

Serial.print(” 1周日| 2周一| 3周二| 4星期三| 5周四| 6周五| 7周六-“);

工作日= 6;

Serial.println(days [weekday-1]);

Serial.print(“請以24小時格式輸入當前小時,0-23。-”);

hour = 13;

Serial.println(小時);

Serial.print(“請輸入當前分鐘,0-59。-”);

分鐘= 51;

Serial.println(minute);

秒= 15;

Serial.println(“已輸入數(shù)據(jù)?!保?

步驟4:從成員WWC設置Rtc草圖。

您必須輸入時間,上傳然后打開串口并按y并發(fā)送。

///////////////////////////////////////////

//RTC數(shù)據(jù)和時間設置器//

////

//此示例程序允許用戶//

//使用I2C設置RTC的日期和時間//

//。//

////

//代碼作者://

//eGizmo Mechatronix Central//

//塔夫脫(菲律賓馬尼拉)//

//http://www.egizmo.com//

//2013年4月15日//

///////////////////////////////////////////

#include

const int DS1307 = 0x68;//DS1307的地址,請參閱數(shù)據(jù)表

const char * days [] =

{“星期日”,“星期一”,“星期二”,“星期三”,“星期四”,“星期五”,“星期六”} ;

const char * months [] =

{“ 1月”,“ 2月”,“ 3月”,“ 4月”,“ 5月”,“ 6月”,“ 7月”,“ 8月”,“ 9月” ,“ October”,“ November”,“ December”};

//初始化所有值:

字節(jié)秒= 0;

字節(jié)分鐘= 0;

字節(jié)小時= 0;

字節(jié)工作日= 0;字節(jié)月份= 0;字節(jié)月份= 0;字節(jié)年份= 0;無效設置(){ Wire.begin();

串行.begin(9600);

delay(2000);//此延遲允許MCU讀取當前日期和時間。

Serial.print(“當前日期和時間是:”);

printTime();

Serial.println(“到換行符以結束串行監(jiān)視器右下角的設置“);

Serial.println(”您現(xiàn)在要設置日期和時間嗎?是/否“);

而(!Serial.available ())delay(10);

如果(Serial.read()==‘y’|| Serial.read()==‘Y’)

//這組函數(shù)允許用戶更改日期和時間

{

Serial.read();

setTime();

Serial.print(“當前日期和時間為:”);

printTime();

}

Serial.println(“謝謝。”);

}

//連續(xù)函數(shù),用于將字節(jié)轉換為小數(shù),反之亦然

void loop(){

}

byte decToBcd(byte val){

return((val/10 * 16)+(val%10));

}

byte bcdToDec(byte val){

return((val/16 * 10)+(val%16));

}

//這組代碼允許輸入數(shù)據(jù)

void setTime(){

Serial.print(“請輸入本年度,00- 99。 -“);

year = 13;

Serial.println(year);

Serial.print(”請輸入當前月份1-12。-“);

month = 9;-

Serial.println(months [month-1]);

Serial.print(“請輸入當月的當前日期1-31。-”);

monthday = 20;

Serial.println(月日);

Serial.println(“請輸入當前星期幾,1-7?!保?

Serial.println(“ 1周日| 2周一| 3周二| 4周三| 5周四| 6周五| 7星期六-“);

工作日= 6;

Serial.println(天[weekday-1]);

Serial.print(”請輸入24小時的當前時間格式,0-23。-“);

小時= 13;

Serial.println(小時);

Serial.print(”請輸入當前分鐘,0-59。-“);

分鐘= 51;

Serial.println(分鐘);

秒= 15;

Serial.println(“已輸入數(shù)據(jù)?!保?

//以下代碼傳輸數(shù)據(jù)發(fā)送到RTC

Wire.beginTransmission(DS1307);

Wire.write(字節(jié)(0));

Wire.write(decToBcd(秒));

Wire.write(decToBcd(分鐘));

Wire.write(decToBcd(hour));

Wire.write(decToBcd(工作日));

Wire.write(decToBcd(工作日));

Wire.write(decToBcd(工作日));

Wire.write(decToBcd(工作年));

Wire.write(byte(0));

Wire.endTransmission();

//結束數(shù)據(jù)傳輸

}

byte readByte(){

while(!Serial。 available())delay(10);

字節(jié)讀取= 0;

字節(jié)incomingByte = Serial.read();

而(incomingByte!=‘ n’){

if(incomingByte》 =‘0’&&進入字節(jié)《=‘9’)

讀取=讀取* 10 +(incomingByte-‘0’);

else;

進入字節(jié)= Serial.read();

}

Serial.flush();

返回讀數(shù);

}

void printTime(){ const char * AMPM = 0;

readTime( );

Serial.print(days [weekday-1]);

Serial.print(“”);

Serial.print(months [month-1]);

Serial.print( “”);

Serial.print(月日);

Serial.print(“,20”);

Serial.print(年);

Serial.print(“”);

if(hour》 12){

hour-= 12;

AMPM =“ PM”;

}

else AMPM =“ AM”;

Serial.print(hour);

Seria l.print(“:”);

sprintf(緩沖區(qū),“%02d”,分鐘);

Serial.print(緩沖區(qū));

Serial.println(AMPM);

}

void readTime(){

Wire.beginTransmission(DS1307);

Wire.write(byte(0));

Wire.endTransmission();

Wire.requestFrom(DS1307,7);

秒= bcdToDec(Wire.read());

分鐘= bcdToDec(Wire.read());

小時= bcdToDec(Wire.read());

工作日= bcdToDec(Wire .read());

monthday = bcdToDec(Wire.read());

month = bcdToDec(Wire.read());

year = bcdToDec(Wire.read());

}

步驟5:現(xiàn)在將其上傳以查看LCD上的時間。

/*

* TimeRTC .pde

*示例代碼,說明帶有實時時鐘的時間庫。

*

*/

#include

#include

#include //返回時間為time_t的基本DS1307庫

#include

LiquidCrystal lcd(12,11,5,4,3,2);

void setup(){

Serial.begin(9600);

setSyncProvider(RTC.get);//從RTC獲取時間的函數(shù)

if(timeStatus()!= timeSet)

Serial.println(“無法與RTC同步”);

else

Serial.println (“ RTC設置了系統(tǒng)時間”);

}

void loop()

{

digitalClockDisplay();

delay(1000);

}

void digitalClockDisplay(){

//時間的數(shù)字時鐘顯示

Serial.print(hour());

printDigits(minute());

printDigits(second());

Serial.print(“”);

Serial.print(day());

Serial.print(“”);

Serial.print(month());

串行。 print(“”);

Serial.print(year());

Serial.println();

lcd.setCursor(2,0);//設置LCD光標位置(列,行)

lcd.print(hour());

lcd.print(“:”);

lcd.print(minute());

lcd.print(“”);

lcd.print(second());

lcd.print(“”);

lcd.print(“ Uhr”);

lcd.setCursor( 3,1);//設置LCD光標位置(列,行)

lcd.print(day());

lcd.print(“?!保?

lcd.print(month());

lcd.print(“?!保?

lcd.print(year());

//將文本打印到LCD

//延遲讀取文本

//清除顯示

}

void printDigits(int digits){

//用于數(shù)字時鐘顯示的實用程序功能:打印冒號之前和前導0

Serial.print(“:”);

if(digits 《10)

Serial.print(‘0’);

Serial.print(digits);

}
責任編輯:wv

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

    關注

    36

    文章

    4621

    瀏覽量

    177444
  • RTC
    RTC
    +關注

    關注

    2

    文章

    656

    瀏覽量

    71981
  • Arduino
    +關注

    關注

    190

    文章

    6526

    瀏覽量

    197078
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    智能顯示模塊怎樣設置加密?

    智能顯示模塊怎樣設置加密?
    發(fā)表于 03-02 17:41

    智能顯示模塊怎樣設置屏保嗎?

    智能顯示模塊怎樣設置屏保嗎?
    發(fā)表于 03-02 17:12

    用AT指令來設置RTC的實時時間

    _Init( RTC_InitStruct); //用戶需選定需要使用的時鐘源 } AT指令集添加設置RTC的指令解析: /*
    發(fā)表于 01-05 08:09

    智能顯示模塊怎么顯示工程中給寄存器設置初始值?我想給變量一個電的默認值該如何設置?

    智能顯示模塊怎么顯示工程中給寄存器設置初始值?我想給變量一個電的默認值該如何設置?
    發(fā)表于 12-11 09:54

    智能顯示模塊怎么顯示工程中給寄存器設置初始值?我想給變量一個電的默認值該如何設置?

    智能顯示模塊怎么顯示工程中給寄存器設置初始值?我想給變量一個電的默認值該如何設置?
    發(fā)表于 12-06 10:20

    發(fā)布元服務設置時間

    ”區(qū)域,設置時間。指定時間:選擇時為您的本地時間,設置完成后,系統(tǒng)將自動轉換成UTC標準
    發(fā)表于 12-03 09:46

    CW32F030 MCU設置外部中斷和RTC喚醒條件的示例

    ) { Enter_Sleep_Mode();// 進入Sleep模式,等待外部中斷喚醒 // 喚醒后的處理代碼(實際,這部分代碼將在中斷處理函數(shù)中執(zhí)行) } } 示例2:RTC喚醒 假設我們希望特定
    發(fā)表于 11-25 08:00

    RVMCU課堂「20」: 手把手教你玩轉RVSTAR—實時時鐘RTC

    ,當系統(tǒng)復位或者從待機模式喚醒時,RTC設置時間也都保持不變。本期內容將通過一個顯示當前時間的例程帶領大家初步了解GD32VF103的
    發(fā)表于 10-29 08:10

    為什么裝上了電池RTC顯示模塊掉電以后還是無法保存時鐘時間?

    請問,為什么裝上了電池RTC顯示模塊掉電以后還是無法保存時鐘時間?
    發(fā)表于 10-25 15:21

    是誰偷走了我的時間?RTC時間異常的秘密

    嵌入式產品中的RTC(實時時鐘)對于維持時間準確性至關重要。然而,實際應用中,我們常常會遇到時間偏差甚至時間回退到1970年的問題。今天,我們來探討這些
    的頭像 發(fā)表于 09-02 11:35 ?2390次閱讀
    是誰偷走了我的<b class='flag-5'>時間</b>?<b class='flag-5'>RTC</b><b class='flag-5'>時間</b>異常的秘密

    【RA4L1-SENSOR】RTC時鐘段碼屏顯示事件信息

    、RTC模塊配置 FSP配置工具中添加RTC模塊,設置相應的模塊參數(shù)。 保存文件生成相應
    發(fā)表于 06-25 21:54

    【RA4L1-SENSOR】06 RTC實時時鐘及觸摸按鍵設置時間

    1. 前言 上次實驗實現(xiàn)了兩個任務的切換。這次實現(xiàn)RTC時鐘顯示,使用觸摸按鍵+實體按鍵進行時鐘的修改功能。 2. 硬件部分 RTC 時鐘模塊是一個
    發(fā)表于 06-17 21:18

    【RA4L1-SENSOR】RTC實時時鐘

    使用SLCDC配置好段碼LCD屏之后,則么能不用來顯示時間呢 下面展示下配置RTC的流程 時鐘源要選擇外部低俗時鐘,就是圖中的Sub-c
    發(fā)表于 06-13 12:10

    【RA4L1-SENSOR】+ RA4L1-SENSOR開發(fā)板之使用RTC顯示實時時間并在段碼屏LCD顯示時間年月日時分秒完美切換

    很高興收到瑞薩電子發(fā)放的RA4L1開發(fā)板,這個板子帶了一個非常好的段碼屏LCD,搭配這個屏可以做成萬年歷,顯示時分秒實時時間。比如現(xiàn)在時間
    發(fā)表于 06-10 16:27

    【米爾-RK3562開發(fā)板試用評測】rtc測評

    接【米爾-RK3562開發(fā)板試用評測】轉接網線/無線測評 連網后可以使用互聯(lián)網時間作為rtc時間, RTC(實時時鐘)作為獨立計時模塊,可在系統(tǒng)關機期間持續(xù)運行
    發(fā)表于 05-31 15:04