新聞中心

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

51單片機(jī)-時(shí)鐘芯片DS1302

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


日歷時(shí)鐘寄存器與控制字對照:
日歷時(shí)鐘寄存器:
寄存器功能說明:
萬年歷程序: #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 下一頁

評論


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

關(guān)閉