微控制器總結3數字時鐘晶元DS1302

2021-12-21 16:45:33 字數 1921 閱讀 8428

ds1302 數字時鐘晶元

總結人:孟令軍時間:2014/5/14

學習在於總結,學習貴於交流__歡迎交流qq:1300780479

自己總結拒絕繁瑣的資料手冊系列————

ds1302 數字時鐘晶元

1)簡介:ds1302 是 dallas 公司推出的涓流充電時鐘晶元內含有乙個實時時鐘/日曆和 31 位元組靜態 ram 通過簡單的序列介面與微控制器進行通訊實時時鐘/ 日曆電路提供秒分時日日期月年的資訊每月的天數和閏年的天數可自動調整時鐘操作可通過 am/pm 指示決定採用 24 或 12 小時格式 ds1302 與微控制器之間能簡單地採用同步序列的方式進行通訊僅需用到三個口線 1 res 復位 2 i/o 資料線 3 sclk 序列時鐘時鐘/ram 的讀/寫資料以乙個位元組或多達 31 個位元組的字元組方式通訊 ds1302 工作時功耗很低保持資料和時鐘資訊時功率小於 1mw

x1,x2時鐘晶振32.768khz

vcc電源正極

gnd電源負極

sclk時鐘線

rst復位腳

i/o資料輸入

2)內部暫存器:

它的內部含有許多暫存器。

具體圖在下一頁,我簡單介紹

(1)時鐘,對於時鐘要寫入,且要讀取並顯示,寫入的位置暫存器在哪?讀出從哪讀?這就是第一種暫存器

下表左邊是暫存器的位置(理解為位址吧)他們有特點,最後一位為1是read最後一位為0時為write

秒,分,時,日,月,星期,年0x80>>一直加

下表右邊是填寫格式。

(2)控制位(讀寫保護位)0x8e或0x8f 內容為0x80新增寫保護0x00去除寫保護

注意:ch: 時鐘停止位暫存器 2 的第 7 位 12/24 小時標誌

ch=0 振盪器工作允許 bit7=1,12 小時模式

ch=1 振盪器停止 bit7=0,24 小時模式

wp: 寫保護位暫存器 2 的第 5 位:am/pm 定義

wp=0 暫存器資料能夠寫入 ap=1 下午模式

wp=1 暫存器資料不能寫入 ap=0 上午模式

wp=1 暫存器資料不能寫入 ap=0 上午模式

tcs: 涓流充電選擇 ds: 二極體選擇位

tcs=1010 使能涓流充電 ds=01 選擇乙個二極體

tcs= 其它禁止涓流充電 ds=10 選擇兩個二極體

ds=00 或 11, 即使 tcs=1010, 充電功能也被禁止

`3)程式書寫

clk時鐘線,rst復位端,io資料線

1 寫函式

寫一位元組:

void ds1302_write_byte(uchar dat)

} 寫資料函式

void ds1302_write(uchar add,uchar dat)

分別送位址及要對應送入的資料

rst=0;_nop_();clk=0; _nop初期復位狀態

rst=1; _nop復位拉高開始傳送訊號

ds1302_write_byte(uchar add);

ds1302_write_byte(uchar dat);

rst=0; _nop_();

//釋放io口及clk時鐘線 io=1;clk=1;寫數

據時序圖

讀資料時序圖

②讀函式

void ds1302_read(uchar add)

sck=0;_nop_();clk=0;_nop_();

io=1;clk=1;

}2 讀取溫度

void readtemp ()

先將儲存在陣列裡的資料(秒分時星期月日年)分別轉換為十六進製制並儲存在原陣列。

去除寫保護。

將資料寫道具體暫存器位置。

新增寫保護。

3 溫度顯示

讀取溫度將資料儲存於時間陣列。

顯示:將資料轉為十進位制,並送給顯示器件。

微控制器實驗報告時鐘綜合實驗

微控制器實驗報告 南京理工大學紫金學院電光系 一 實驗目的 1 學習proteus軟體基礎使用方法 2 掌握定時 計數器與外部中斷工作原理 3 學習設計微控制器控制的多位數碼管掃瞄顯示電路 4 理解數碼管動態顯示的原理。二 實驗原理 at89c51微控制器位控制器,四位7段數碼管分別顯示分的十位 分...

微控制器總結

微控制器引腳 80c51的資料儲存器配置 80c51的特殊功能暫存器 sfr 五個中斷源 兩個外部中斷,兩個定時器計數器中斷,乙個序列介面中斷。int0 int1輸入低電平或負跳變訊號作為中斷觸發事件 t0 t1定時器 計數器中斷 序列口中斷 8051微控制器中斷源的向量位址 tcon的中斷標誌 中...

基於微控制器的電子時鐘設計

ds1302時鐘晶元具有通電自動計時的功能。向ds1302中寫入乙個初值,如寫入2011 05 01 00 00 00 星期日,在通電時,時間就會自動走 過60秒分加1 過60分時加1 過24小時天加1,星期日變成星期一 一周有7天,晶元內的周資訊每7天一迴圈 晶元能夠自動判斷每月有多少天,5月有3...