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

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

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

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

怎樣在RTC DS1307在LCD上設(shè)置并顯示時(shí)間

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

掃碼添加小助手

加入工程師交流群

步驟1:

怎樣在RTC DS1307在LCD上設(shè)置并顯示時(shí)間

將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設(shè)置Rtc草圖。不要在U更改時(shí)間的情況下使用此示例。

串行輸入對(duì)我不起作用,所以我將時(shí)間花在了草圖上。

不要使用這個(gè)。僅用于必須輸入時(shí)間的示例。

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

void setTime(){

Serial.print(“請(qǐng)輸入當(dāng)前年份,00-99 。-“);

year = 13;

Serial.println(year);

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

month = 9;

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

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

monthday = 20;

Serial.println(monthday);

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

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

工作日= 6;

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

Serial.print(“請(qǐng)以24小時(shí)格式輸入當(dāng)前小時(shí),0-23。-”);

hour = 13;

Serial.println(小時(shí));

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

分鐘= 51;

Serial.println(minute);

秒= 15;

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

步驟4:從成員WWC設(shè)置Rtc草圖。

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

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

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

////

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

//使用I2C設(shè)置RTC的日期和時(shí)間//

//。//

////

//代碼作者://

//eGizmo Mechatronix Central//

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

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

//2013年4月15日//

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

#include

const int DS1307 = 0x68;//DS1307的地址,請(qǐng)參閱數(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é)小時(shí)= 0;

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

串行.begin(9600);

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

Serial.print(“當(dāng)前日期和時(shí)間是:”);

printTime();

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

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

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

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

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

{

Serial.read();

setTime();

Serial.print(“當(dāng)前日期和時(shí)間為:”);

printTime();

}

Serial.println(“謝謝?!保?

}

//連續(xù)函數(shù),用于將字節(jié)轉(zhuǎn)換為小數(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(“請(qǐng)輸入本年度,00- 99。 -“);

year = 13;

Serial.println(year);

Serial.print(”請(qǐng)輸入當(dāng)前月份1-12。-“);

month = 9;-

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

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

monthday = 20;

Serial.println(月日);

Serial.println(“請(qǐng)輸入當(dāng)前星期幾,1-7。”);

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

工作日= 6;

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

Serial.print(”請(qǐng)輸入24小時(shí)的當(dāng)前時(shí)間格式,0-23。-“);

小時(shí)= 13;

Serial.println(小時(shí));

Serial.print(”請(qǐng)輸入當(dāng)前分鐘,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();

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

}

byte readByte(){

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

字節(jié)讀取= 0;

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

而(incomingByte!=‘ n’){

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

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

else;

進(jìn)入字節(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());

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

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

monthday = bcdToDec(Wire.read());

month = bcdToDec(Wire.read());

year = bcdToDec(Wire.read());

}

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

/*

* TimeRTC .pde

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

*

*/

#include

#include

#include //返回時(shí)間為time_t的基本DS1307庫

#include

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

void setup(){

Serial.begin(9600);

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

if(timeStatus()!= timeSet)

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

else

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

}

void loop()

{

digitalClockDisplay();

delay(1000);

}

void digitalClockDisplay(){

//時(shí)間的數(shù)字時(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);//設(shè)置LCD光標(biāo)位置(列,行)

lcd.print(hour());

lcd.print(“:”);

lcd.print(minute());

lcd.print(“”);

lcd.print(second());

lcd.print(“”);

lcd.print(“ Uhr”);

lcd.setCursor( 3,1);//設(shè)置LCD光標(biāo)位置(列,行)

lcd.print(day());

lcd.print(“?!保?

lcd.print(month());

lcd.print(“?!保?

lcd.print(year());

//將文本打印到LCD

//延遲讀取文本

//清除顯示

}

void printDigits(int digits){

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

Serial.print(“:”);

if(digits 《10)

Serial.print(‘0’);

Serial.print(digits);

}
責(zé)任編輯:wv

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

    關(guān)注

    36

    文章

    4619

    瀏覽量

    177372
  • RTC
    RTC
    +關(guān)注

    關(guān)注

    2

    文章

    655

    瀏覽量

    71878
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6526

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    智能顯示模塊怎樣設(shè)置加密?

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

    智能顯示模塊怎樣設(shè)置屏保嗎?

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

    用AT指令來設(shè)置RTC的實(shí)時(shí)時(shí)間

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

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

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

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

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

    發(fā)布元服務(wù)設(shè)置時(shí)間

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

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

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

    RVMCU課堂「20」: 手把手教你玩轉(zhuǎn)RVSTAR—實(shí)時(shí)時(shí)鐘RTC

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

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

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

    是誰偷走了我的時(shí)間RTC時(shí)間異常的秘密

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

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

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

    【RA4L1-SENSOR】06 RTC實(shí)時(shí)時(shí)鐘及觸摸按鍵設(shè)置時(shí)間

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

    【RA4L1-SENSOR】RTC實(shí)時(shí)時(shí)鐘

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

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

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

    芯對(duì)話 | CBM1307時(shí)間精準(zhǔn)續(xù)航,為設(shè)備注入可靠「芯」動(dòng)力

    精準(zhǔn)的時(shí)間管理如今數(shù)字化和智能化高速迭代中,是眾多設(shè)備正常運(yùn)行的關(guān)鍵基礎(chǔ)。比如智能門鎖的自動(dòng)鎖定和解鎖功能依賴于精確的時(shí)間控制。RTC(實(shí)時(shí)時(shí)鐘RealTimeClock)模塊能夠提
    的頭像 發(fā)表于 03-18 13:07 ?2631次閱讀
    芯對(duì)話 | CBM<b class='flag-5'>1307</b>讓<b class='flag-5'>時(shí)間</b>精準(zhǔn)續(xù)航,為設(shè)備注入可靠「芯」動(dòng)力