該模組使用的晶元是:ds1302晶元,ds1302晶元是乙個自動計時的時鐘模組,有6個時鐘暫存器,秒,分,時,日,月,年(其實不止,其它的暫且不管了)
使用不同的命令字來控制相應的暫存器:
0x80 ~ 0x8c ,分別控制秒到年暫存器的讀和寫
上表中,如果想讀當前是多少秒,直接將0x81給read_ds1302()函式作為引數,該函式返回值對應的就是當前的秒
unsigned int current_second = read_ds1302(0x81);current_second 就是返回的秒
ds1302和微控制器通過i/0口進行連線:
具體實現兩種通訊:
微控制器通過傳送指令,讓時鐘暫存器獲得初始化時間
微控制器從ds1302晶元獲取時鐘資訊
ds1302封裝圖:
下面介紹從ds1302讀取時鐘的過程:
首先請看時序圖:
dat是需要讀入命令字,函式返回該命令字要求返回的暫存器的資料
*/u8 read_ds1302
(u8 dat)
// for
(i =
8;i>
0; i--
)//採用先接收io口資料,再用下降沿觸發,迴圈結束後acc獲得讀取資料
ds1302_sclk =1;
ds1302_ce =0;
dat1 = acc;
dat2 = dat1 /16;
dat1 = dat1 %16;
dat1 = dat1+dat2*10;
return
(dat1)
;}往ds1302寫資料:
寫時序如圖:(rst = ce)
addr寫入命令字,dat根據寫入的命令字把dat資料放入相應的暫存器
*/void
write_ds1302
(u8 addr,u8 dat)
for(i=
8;i>
0;i--
) ds1302_sclk =1;
ds1302_ce =0;
}下面是使用ds1302已經封裝完成的標頭檔案:
ds1302.h
#ifndef _ds1302_h_
#define _ds1302_h_
#include
sbit ds1302_sclk = p1^4;
sbit ds1302_io = p1^5;
sbit ds1302_ce = p1^6;
#define write_second 0x80 、
#define write_minute 0x82
#define write_hour 0x84
#define write_date 0x86
#define write_month 0x88
#define write_week 0x8a
#define write_year 0x8c
#define read_second 0x81
//讀秒
#define read_minute 0x83
//讀分
#define read_hour 0x85
//讀時
#define read_date 0x87
//讀日
#define read_month 0x89
// 讀月
#define read_week 0x8b
// 讀星期
#define read_year 0x8d
// 讀年
#define write_protect 0x8e
sbit acc_7 = acc^7;
u8 read_ds1302
(u8 dat)
;void
write_ds1302
(u8 addr,u8 dat)
;u8 data time=
;//秒,分,時,日,月、星期、年
u8 read_ds1302
(u8 dat)
for(i =
8;i>
0; i--
)//採用先接收io口資料,再用下降沿觸發
ds1302_sclk =1;
ds1302_ce =0;
dat1 = acc;
dat2 = dat1 /16;
dat1 = dat1 %16;
dat1 = dat1+dat2*10;
return
(dat1);}
void
write_ds1302
(u8 addr,u8 dat)
for(i=
8;i>
0;i--
)//這個迴圈用於向ds1302對應的命令字中寫dat
ds1302_sclk =1;
ds1302_ce =0;
}void
ds1302_init()
//給ds1302初始化,其中0x46是當時做閉塞是當時做畢設的時間,ds1302內部接收的是16進製制,所 //以直接輸入16進製制就好了,
void
read_time()
#endif
時鐘模組設計
時鐘模組設計詳細設計
光照感應模組
光照感應模組詳細設計
畢業設計需求分析1 模組
本系統主要功能有 1.使用者管理 2.房產基礎資料管理。主要實現 各種房產資訊資料的增刪改 3.房產分配。教師申請的用房,管理人員根據需要分配相應房產 4.房產資料統計。1.註冊登入 2.查詢房產資訊 3.申請用房 1.登入 2.使用者管理 管理人員可對使用者資訊資料進行增刪改查 3.房產分配 管理...
畢業設計 參考文獻(1)
傳統的人工管理方式已無法勝任當前快速發展的高等教育需要。快速發展的計算機相關技術催生了各類管理系統的誕生和發展。高校學生的檔案管理系統也是順應這種資訊化的趨勢而出現。使用者包括 系統管理員 普通管理員 學生和教師等。總體功能應至少包括7個一級功能模組,它們分別是 系統使用者管理 個人資料管理 學生資...
畢業設計之揹包系統1
打算寫任務系統,揹包系統,戰鬥系統三部分,但是目前只做過揹包系統 跟著siki學的 戰鬥系統 還不是用fsm寫的 決定從揹包系統開始,修改下之前的框架。先做ui 揹包系統是由很多小格仔構成,每個格仔也就是乙個,建立乙個image,加乙個button,把所有格仔放到乙個空物體下面,為了對小格仔進行排序...