RM新时代网站-首页

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

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

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

基于51單片機的電子鐘【調(diào)時,DS1302,數(shù)碼管,獨立按鍵】(仿真)

白茶茶668 ? 來源:白茶茶668 ? 作者:白茶茶668 ? 2024-04-10 00:41 ? 次閱讀

基于51單片機電子鐘【調(diào)時,DS1302,數(shù)碼管,獨立按鍵】(仿真

wKgZomYVb66AMyUSAALMNQv2_Ic862.png

資料包括:

wKgaomYVb66ACcKHAAJj5owdkak187.png

原理圖:

wKgZomYVb66APy4IAAFTmEnZYaw483.png

仿真:

wKgaomYVb6-ASuwbAALxIiAvssg719.png

程序運行圖:

wKgZomYVb6-AYYBxAALLnI6Tvj4444.png


#include"ds1302.h"


//---DS1302寫入和讀取時分秒的地址命令---//

//---秒分時日月周年 最低位讀寫位;-------//

uchar code READ_RTC_ADDR[7] = {0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d};

uchar code WRITE_RTC_ADDR[7] = {0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c};


//---DS1302時鐘初始化2016年5月7日星期六12點00分00秒。---//

//---存儲順序是秒分時日月周年,存儲格式是用BCD碼---//

uchar TIME[7] = {0, 0, 0x12, 0x07, 0x05, 0x06, 0x16};


/*******************************************************************************

* 函 數(shù) 名 : Ds1302Write

* 函數(shù)功能 : 向DS1302命令(地址+數(shù)據(jù))

* 輸 入 : addr,dat

* 輸 出 : 無

*******************************************************************************/


void Ds1302Write(uchar addr, uchar dat)

{

uchar n;

RST = 0;

_nop_();


SCLK = 0;//先將SCLK置低電平。

_nop_();

RST = 1; //然后將RST(CE)置高電平。

_nop_();


for (n=0; n<8; n++)//開始傳送八位地址命令

{

DSIO = addr & 0x01;//數(shù)據(jù)從低位開始傳送

addr >>= 1;

SCLK = 1;//數(shù)據(jù)在上升沿時,DS1302讀取數(shù)據(jù)

_nop_();

SCLK = 0;

_nop_();

}

for (n=0; n<8; n++)//寫入8位數(shù)據(jù)

{

DSIO = dat & 0x01;

dat >>= 1;

SCLK = 1;//數(shù)據(jù)在上升沿時,DS1302讀取數(shù)據(jù)

_nop_();

SCLK = 0;

_nop_();

}

RST = 0;//傳送數(shù)據(jù)結(jié)束

_nop_();

}


/*******************************************************************************

* 函 數(shù) 名 : Ds1302Read

* 函數(shù)功能 : 讀取一個地址的數(shù)據(jù)

* 輸 入 : addr

* 輸 出 : dat

*******************************************************************************/


uchar Ds1302Read(uchar addr)

{

uchar n,dat,dat1;

RST = 0;

_nop_();


SCLK = 0;//先將SCLK置低電平。

_nop_();

RST = 1;//然后將RST(CE)置高電平。

_nop_();


for(n=0; n<8; n++)//開始傳送八位地址命令

{

DSIO = addr & 0x01;//數(shù)據(jù)從低位開始傳送

addr >>= 1;

SCLK = 1;//數(shù)據(jù)在上升沿時,DS1302讀取數(shù)據(jù)

_nop_();

SCLK = 0;//DS1302下降沿時,放置數(shù)據(jù)

_nop_();

}

_nop_();

for(n=0; n<8; n++)//讀取8位數(shù)據(jù)

{

dat1 = DSIO;//從最低位開始接收

dat = (dat>>1) | (dat1<<7);

SCLK = 1;

_nop_();

SCLK = 0;//DS1302下降沿時,放置數(shù)據(jù)

_nop_();

}


RST = 0;

_nop_(); //以下為DS1302復(fù)位的穩(wěn)定時間,必須的。

SCLK = 1;

_nop_();

DSIO = 0;

_nop_();

DSIO = 1;

_nop_();

return dat;

}


/*******************************************************************************

* 函 數(shù) 名 : Ds1302Init

* 函數(shù)功能 : 初始化DS1302.

* 輸 入 : 無

* 輸 出 : 無

*******************************************************************************/


void Ds1302Init()

{

uchar n;

Ds1302Write(0x8E,0X00); //禁止寫保護,就是關(guān)閉寫保護功能

for (n=0; n<7; n++)//寫入7個字節(jié)的時鐘信號:分秒時日月周年

{

Ds1302Write(WRITE_RTC_ADDR[n],TIME[n]);

}

Ds1302Write(0x8E,0x80); //打開寫保護功能

}


/*******************************************************************************

* 函 數(shù) 名 : Ds1302ReadTime

* 函數(shù)功能 : 讀取時鐘信息

* 輸 入 : 無

* 輸 出 : 無

*******************************************************************************/


void Ds1302ReadTime()

{

uchar n;

for (n=0; n<7; n++)//讀取7個字節(jié)的時鐘信號:分秒時日月周年

{

TIME[n] = Ds1302Read(READ_RTC_ADDR[n]);

}

}




審核編輯 黃宇

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

    關(guān)注

    50

    文章

    4070

    瀏覽量

    133552
  • 51單片機
    +關(guān)注

    關(guān)注

    274

    文章

    5702

    瀏覽量

    123490
  • 電子鐘
    +關(guān)注

    關(guān)注

    7

    文章

    189

    瀏覽量

    36929
收藏 人收藏

    評論

    相關(guān)推薦

    通過C51單片機控制數(shù)碼管顯示

    電子發(fā)燒友網(wǎng)站提供《通過C51單片機控制數(shù)碼管顯示.docx》資料免費下載
    發(fā)表于 11-12 15:51 ?2次下載

    基于51單片機的7人多數(shù)投票表決器設(shè)計

    基于51單片機的7人多數(shù)投票表決器設(shè)計 ( proteus仿真+程序+設(shè)計報告+講解視頻) 仿真圖proteus8.16(有低版本) 程序編譯器:keil 4/keil 5 編程語言:
    的頭像 發(fā)表于 11-09 09:48 ?708次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的7人多數(shù)投票表決器設(shè)計

    基于51單片機的簡易搶答器

    具體實現(xiàn)功能1、主持人按下?lián)尨痖_始按鍵,搶答者才可以開始搶答,數(shù)碼管搶答倒計時20S。2、搶答者按下按鍵,數(shù)碼管顯示搶答者的編號。3、可以通過按鍵
    的頭像 發(fā)表于 10-22 14:13 ?210次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的簡易搶答器

    基于51單片機的手動數(shù)字時鐘

    具體實現(xiàn)功能由51單片機+8位共陰數(shù)碼管+獨立按鍵構(gòu)成。具體功能:(1)利用數(shù)碼管顯示時分秒,顯
    的頭像 發(fā)表于 10-22 14:12 ?216次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的手動數(shù)字時鐘

    設(shè)計分享|基于51單片機的電梯仿真系統(tǒng)設(shè)計

    具體實現(xiàn)功能由AT89C51單片機+數(shù)碼管+矩陣按鍵+ULN2003A模塊+電機+LED燈等構(gòu)成。具體功能:(1)初始時電梯在1樓,當有按鍵
    的頭像 發(fā)表于 10-22 14:12 ?184次閱讀
    設(shè)計分享|基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的電梯<b class='flag-5'>仿真</b>系統(tǒng)設(shè)計

    基于51單片機的雙機通信控制數(shù)碼管顯示

    具體實現(xiàn)功能(1)雙機通信系統(tǒng)分為通訊發(fā)送端和通訊接收端。(2)通訊發(fā)送端通過按鍵發(fā)送相應(yīng)的數(shù)值(1-3),通訊接收端接收后通過數(shù)碼管顯示(1-3)。設(shè)計介紹51單片機簡介
    的頭像 發(fā)表于 10-22 14:10 ?223次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的雙機通信控制<b class='flag-5'>數(shù)碼管</b>顯示

    數(shù)碼管仿真軟件里面怎么找

    數(shù)碼管,又稱為七段顯示器或七段顯示器,是一種常用的數(shù)字顯示設(shè)備,廣泛應(yīng)用于電子設(shè)備中,如電子鐘、計算器、數(shù)字儀表等。在仿真軟件中,數(shù)碼管的查
    的頭像 發(fā)表于 08-28 17:06 ?1267次閱讀

    基于51單片機TEA5767收音數(shù)碼管顯示設(shè)計

    這是基于51單片機TEA5767收音數(shù)碼管顯示設(shè)計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)。本資源適合人群:? ? ?
    發(fā)表于 06-27 11:42 ?17次下載

    基于51單片機數(shù)字時鐘數(shù)碼管顯示設(shè)計

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機數(shù)字時鐘數(shù)碼管顯示設(shè)計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單(excel表格打開
    發(fā)表于 06-25 10:42 ?1次下載

    基于51單片機0-20V電壓表四位共陰數(shù)碼管顯示電路圖及proteus仿真

    本資源內(nèi)容概要:? ? ? ?這是基于51單片機的兩位數(shù)碼管交通燈設(shè)計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、proteus仿真
    發(fā)表于 06-17 14:14 ?3次下載

    基于51單片機的路燈【固定時間,紅外,DS1302,LCD1602】(仿真

    基于51單片機的路燈【固定時間,紅外,DS1302,LCD1602】(仿真
    的頭像 發(fā)表于 04-10 00:44 ?522次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的路燈【固定時間,紅外,<b class='flag-5'>DS1302</b>,LCD1602】(<b class='flag-5'>仿真</b>)

    基于51單片機電子鐘【12,24,鬧鐘,LCD1602,獨立按鍵,DS1302】(仿真

    電子鐘設(shè)計能隨意設(shè)定走時起始時間、能設(shè)定鬧鐘鬧鈴時間、能 12 小時/24 小時兩 種制式可選和能顯示年月日。
    的頭像 發(fā)表于 04-10 00:39 ?1961次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>電子鐘</b>【12,24,鬧鐘,LCD1602,<b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>,<b class='flag-5'>DS1302</b>】(<b class='flag-5'>仿真</b>)

    基于51單片機電子鐘【整點報時,6數(shù)碼管,獨立按鍵】(仿真

    基于51單片機電子鐘【整點報時,6數(shù)碼管獨立按鍵】(仿真
    的頭像 發(fā)表于 04-10 00:37 ?947次閱讀
    基于<b class='flag-5'>51</b><b class='flag-5'>單片機</b>的<b class='flag-5'>電子鐘</b>【整點報時,6<b class='flag-5'>數(shù)碼管</b>,<b class='flag-5'>獨立</b><b class='flag-5'>按鍵</b>】(<b class='flag-5'>仿真</b>)

    51單片機數(shù)碼管靜態(tài)顯示

    的工作原理和編程方法。 一、電路原理圖 備注:這是一個6位數(shù)碼管的電路,在本項目中我們只用到其中的一個,電路中74LS04電路在這里主要是用作驅(qū)動芯片,用于提高單片機IO口的驅(qū)動能力。 二、相關(guān)知識 1、數(shù)碼管的結(jié)構(gòu)
    的頭像 發(fā)表于 02-26 11:05 ?2020次閱讀
    <b class='flag-5'>51</b><b class='flag-5'>單片機</b><b class='flag-5'>數(shù)碼管</b>靜態(tài)顯示

    51單片機8位數(shù)碼管顯示學(xué)號程序編寫思路

    51單片機是一種非常經(jīng)典的單片機型號,具有廣泛的應(yīng)用領(lǐng)域。我們可以利用51單片機的IO口來控制8位數(shù)碼管
    的頭像 發(fā)表于 01-04 15:21 ?7633次閱讀
    RM新时代网站-首页