CT107D藍橋杯DS1302例項(數碼管時鐘)

2021-07-29 01:26:55 字數 1046 閱讀 5505

我們有驅動的情況下,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...