使用ds1302編寫時鐘程式主程式使用io擴充套件方式
#include
#include
#include
void
ds1302_config()
;void
read_ds1302_timer()
;void
show
(unsigned
char w,
unsigned
char n)
;void
show_timer()
;void
show_calnedar()
;void
delay_ms
(int n)
;void
selecthc
(unsigned
char n)
;unsigned
char table=
;//0xbf為數碼管顯示 ——
unsigned
char write_ds1302_adrr[7]
=;unsigned
char read_ds1302_adrr[7]
=;unsigned
char timer[7]
=;//24秒 59分 23時 19日 2月 周五 21年
void
main()
}//初始化
void
ds1302_config()
write_ds1302
(0x8e
,0x80);
}//讀取當前時間
void
read_ds1302_timer()
}//時間顯示函式
void
show_timer()
//日曆顯示函式
void
show_calnedar()
//暫存器選擇
void
selecthc
(unsigned
char n)
}//第w個數碼管顯示n
void
show
(unsigned
char w,
unsigned
char n)
//延時函式
void
delay_ms
(int n)
底層驅動**
/*
程式說明: ds1302驅動程式
軟體環境: keil uvision 4.10
硬體環境: ct107微控制器綜合實訓平台 8051,12mhz
日 期: 2011-8-9
*/#include
#include
sbit sck=p1^
7;
sbit sda=p2^
3;
sbit rst = p1^3;
// ds1302復位
void
write_ds1302_byte
(unsigned
char temp)
}void
write_ds1302
(unsigned
char address,
unsigned
char dat )
unsigned
char read_ds1302 (
unsigned
char address )
rst=0;
_nop_()
; rst=0;
sck=0;
_nop_()
; sck=1;
_nop_()
; sda=0;
_nop_()
; sda=1;
_nop_()
;return
(temp)
;}
#ifndef __ds1302_h
#define __ds1302_h
void
write_ds1302_byte
(unsigned
char temp)
;void
write_ds1302
(unsigned
char address,
unsigned
char dat )
;unsigned
char read_ds1302 (
unsigned
char address )
;#endif
主程式使用暫存器擴充套件方式
#include
#include
#include
void
ds1302_config()
;void
read_ds1302_timer()
;void
show
(unsigned
char w,
unsigned
char n)
;void
show_timer()
;void
show_calnedar()
;unsigned
char table=
;//0xbf為數碼管顯示 ——
unsigned
char write_ds1302_adrr[7]
=;unsigned
char read_ds1302_adrr[7]
=;//2023年4月18日,週六,23點59分24秒
unsigned
char timer[7]
=;//24秒 59分 23時 19日 2月 周五 21年
sbit s7=p3^0;
//切換日曆/時間顯示
int flag=0;
//0顯示時間 1顯示日曆
void
main()
}//初始化
void
ds1302_config()
write_ds1302
(0x8e
,0x80);
}//讀取當前時間
void
read_ds1302_timer()
}//時間顯示函式
void
show_timer()
//日曆顯示函式
void
show_calnedar()
//第w位數碼管顯示n
void
show
(unsigned
char w,
unsigned
char n)
DS1302時鐘總結
ds1302簡單總結介紹一下,ds1302是乙個時鐘晶元,可以自動走時的乙個時鐘晶元,可以計算2100年之前的秒,分,時,日月年的能力,下面是單片的引腳所示 詳細時鐘 初始化和使用 總的來說使用ds1302最主要是對暫存器進行讀寫操作時序 d5 d1代表是對秒 分 時等計數器進行選這位 d0代表時對...
DS1302時鐘模組簡單介紹
2018 4 30 1.功能 1.可以計算2100年之前的秒,分,時,日,日期,星期,月,年的能力 2.在其內部有著31個位元組的靜態ram,提供使用者使用 3.採用序列資料傳送,採用spi三線介面 4.工作電壓 2.0v 5.5v 工作溫度 40c 85c 5.可以採用雙電源進行 2.spi 匯流...
DS1302時鐘系統的總結
ds1302有乙個比較重要的暫存器的位址 其中第一位固定為高位 d6這個位置代表的是對ram 還是時鐘暫存器進行操作 d5 d1代表的是秒 分 時等計數器的選擇位 d0代表的是對暫存器進行讀還是寫操作其中 d0 0進行寫操做 d0 1進行的是讀操作 其中ds1302進行初始化配置的時候就是配置這個暫...