C51自學筆記 實時時鐘晶元DS1302

2021-08-21 17:17:55 字數 1770 閱讀 2610

簡介:

晶元內部具有可程式設計日曆時鐘和

31個位元組的靜態

ram,日曆時鐘可自動進行閏年補償,計時準確,介面簡單,使用方便,工作電壓範圍寬

,功耗低,晶元自身還具有對備份電池進行涓流充電功能,可以有效地延長備份電池的使用壽命。

連線圖:8051微控制器與ds1302的一種介面電路

每個傳輸需要命令位元組初始化

7:必須是1;0不允許寫

6:判斷對時鐘操作還是對rom操作

1-5:判斷內部暫存器

0:輸入輸出

傳輸時候最低位在前

//時鐘

sbit sck=p1^0;

sbit io=p1^1;

sbit rst=p3^6;

// 數碼管防誤操作

sbit smgen=p2^3;

unsigned char code smg_du=;

unsigned char code smg_we=;

uchar time_data[7]=; //年周月日時分秒

uchar write_add[7]=;

uchar read_add[7]=;

uchar disp[8];

//單位元組寫

void write_ds1302_byte(uchar dat);

//add +data

void write_ds1302(uchar add,uchar dat);

//單位元組讀

uchar read_ds1302(uchar add);

// 設定

void set_rtc(void);

// 讀時間

void read_rtc(void);

// 資料處理與時間顯示

void time_pros(void);

void display(void);

void delay_50us(uint t)

void write_ds1302_byte(uchar dat)

}void write_ds1302(uchar add,uchar dat)

uchar read_ds1302(uchar add)

rst=0;

_nop_();

sck=0;

_nop_();

sck=1;

io=1;

return value;

}void set_rtc(void)

write_ds1302(0x8e,0x00); //去除寫保護

for(i=0;i<7;i++)

write_ds1302(0x8e,0x80); //加寫保護

}void read_rtc(void) }

void time_pros(void)

void display(void)

}void main(void)

}

C51自學筆記 概述與準備

宣告 所有含標籤 c51自學筆記 的資源,部分 資源。來自 霖峰 帶你征服嵌入式系列資源 侵刪。霖峰 email tlxmcu 163.com 此僅以學習與交流為目的。使用atmel公司 at89s52 使用燒錄工具 progisp 使用編寫工具 keil uvision 使用開發板 天狼星tlx ...

C51 矩陣按鍵 個人筆記

每個按鍵一端和同行一端相連 jp4的高4位 另一端和同列一端相連 jp4的低4位 for int i 8 i 3 i include typedef unsigned int u16 typedef unsigned char u8 define delaytime 50000000 define ...

C51 獨立按鍵 個人筆記

獨立按鍵類似於乙個開關,按下時開關閉合 通過延時,濾掉抖動的部分 普中科技的開發板,獨立按鍵電路圖如下 因此判斷是否按下開關的方法是看引腳是否為低電平 按下則接地了 include typedef unsigned int u16 typedef unsigned char u8 define de...