我們有驅動的情況下,ds1302晶元操作。我們只要看這張表就可以操作了。
如圖所示,時鐘日曆包含在 7 個讀/寫暫存器內,讀/寫暫存器中的資料是二——十進位制的 bcd 碼。秒暫存器的 bit7 定義為時間暫停位,當 bit1 為 1 時,時鐘振盪器停止工作,ds1302 進入低功耗模式,電源消耗小於 100 微安,當 bit1 為 0 時,時鐘振盪器啟動,ds1302 正常工作。小時暫存器的 bit7 定義為 12 或 24 小時工作模式選擇位,當 bit7 為高時,為 12 小時工作模式,此時 bit5 為 am/pm 位,低電平標示 am,高電平標示pm,在 24 小時模式下,bit5 為第二個 10 小時位標示(20~23 時)。寫保護暫存器的 bit7:wp 是寫保護位,工作時,出 wp 外的其他位都置為0,對時鐘/日曆暫存器或 ram 進行寫操作之前,wp 必須為 0,當 wp 為高電平的時候,不能對任何時鐘/日曆暫存器或 ram 進行寫操作。
#include "reg52.h"
#include "ds1302.h"
#define uchar unsigned char;
#define uint unsigned int;
uchar code tab=;
uchar dsbuff=;
uchar dscom=0;
uchar s_time[7]=;//設定時間陣列
uchar g_time[7]=; //儲存時間陣列
void dstime_nyr();
void dstime_sfm();
void get_time();
void delay(int n)
void init_smg()
void dsplay()
void dstime_nyr() //顯示年月日
void clo_buzz() //關閉蜂鳴器
void main()
}
藍橋杯CT107D之ds18b20
單匯流排延時函式 單匯流排延時函式,此處延時函式很重要,根據自己的時鐘頻率而定 void delay onewire unsigned int t y5指令集,fosc 11059200l,軟體延時15us t 1 單匯流排寫時序 通過單匯流排向ds18b20寫乙個位元組 void write ds...
CT107D藍橋杯EEPROM使用(8)
今天我給大家講一下eeprom的使用,該記憶體採用的是iic通訊,所有我們要有乙個iic驅動程式,或者自己寫乙個,我前面寫過乙個,我這裡就不寫了。那麼下面我寫乙個開機計數的程式吧,這裡需要顯示出來。這裡我選擇數碼管顯示,數碼管驅動前面也有,我就直接用了 unsigned char read eepr...
藍橋杯CT107D之PCF8591
include reg52.h include intrins.h include iic.h 匯流排引腳定義 sbit sda p2 1 資料線 sbit scl p2 0 時鐘線 void iic delay unsigned char i while i 匯流排啟動條件 void iic st...