新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機-時鐘芯片DS1302

51單片機-時鐘芯片DS1302

作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
在許多電子設(shè)備中,通常會進行一些與時間有關(guān)的控制,如果用系統(tǒng)的定時器來設(shè)計時鐘的話,偶然的掉電或晶振的誤差都會造成時間的錯亂,更糟糕的是,若完全用程序設(shè)計時鐘還會占用大量的系統(tǒng)資源,從而嚴重影響系統(tǒng)的其他功能。為此,很多芯片制造公司都設(shè)計出了各種各樣的實時時鐘芯片。
常見的時鐘芯片有兩種。
一種是體積非常小的表貼是元件,通常用在高端小型手持式儀器或設(shè)備中。這種芯片在使用時需要外接備份電池和外部晶振,電池用來保持主系統(tǒng)在意外時為時鐘芯片供電,外部晶振用來給時鐘芯片所必須的震蕩來源。
另一種體積相對較大,一般為直插式,它的內(nèi)部有可充電鋰電池,同時內(nèi)部還集成了32.768KHZ的標準晶振。
DS18B20是由DALLAS公司生產(chǎn)的,采用普通的32.768KHZ。
DS18B20的內(nèi)部結(jié)構(gòu):
DS18B20的讀數(shù)據(jù)時序:
如圖的數(shù)據(jù)序列,左邊是低位,右邊是高位,在負跳變沿進行讀數(shù)據(jù),上升沿進行寫數(shù)據(jù)。
DS18B20的寫數(shù)據(jù)時序:
數(shù)據(jù)在SCLK在上升沿輸入,前8位指定訪問地址命令,在之后的時鐘周期,讀操作時輸出的數(shù)據(jù),寫操作時輸入數(shù)據(jù)。時鐘脈沖的個數(shù)在單字節(jié)方式下為8個地址加8個數(shù)據(jù)。
DS18B20的控制字:


日歷時鐘寄存器與控制字對照:
日歷時鐘寄存器:
寄存器功能說明:
萬年歷程序: #include <reg52.h>
#define uchar unsigned char
#define uint unsigned int
uint i;
sbit SCLK = P1^3;
sbit IO = P1^4;
sbit RST = P1^5;
sbit RS = P1^0;
sbit RW = P1^1;
sbit E = P1^2;
uchar Time_Data[]={0,1,2,3,4,5,6,7,8,9};

上一頁 1 2 下一頁

關(guān)鍵詞: 51單片機時鐘芯片DS130

評論


技術(shù)專區(qū)

關(guān)閉