可校準(zhǔn)的實(shí)時(shí)時(shí)鐘設(shè)計(jì)說明_第1頁
可校準(zhǔn)的實(shí)時(shí)時(shí)鐘設(shè)計(jì)說明_第2頁
可校準(zhǔn)的實(shí)時(shí)時(shí)鐘設(shè)計(jì)說明_第3頁
可校準(zhǔn)的實(shí)時(shí)時(shí)鐘設(shè)計(jì)說明_第4頁
可校準(zhǔn)的實(shí)時(shí)時(shí)鐘設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、“可校準(zhǔn)實(shí)時(shí)時(shí)鐘”設(shè)計(jì)說明1 程序設(shè)計(jì)框架說明本案例程序設(shè)計(jì)主要分為:DS1302、按鍵掃描三個(gè)模塊。1.1宏定義#define uchar unsigned char /宏定義#define uint unsigned int#define ADC_CHS1_7 0X07/*時(shí)分秒寫寄存器*/#define DS1302_SECOND_WRITE 0x80#define DS1302_MINUTE_WRITE 0x82#define DS1302_HOUR_WRITE 0x84 #define DS1302_WEEK_WRITE 0x8A#define DS1302_DAY_WRITE 0x

2、86#define DS1302_MONTH_WRITE 0x88#define DS1302_YEAR_WRITE 0x8C#define ADC_POWER 0X80#define ADC_FLAG 0X10 /當(dāng)A/D轉(zhuǎn)換完成后,ADC_FLAG要軟件清零#define ADC_START 0X08#define ADC_SPEED_90 0X60/*時(shí)分秒讀寄存器*/#define DS1302_SECOND_READ 0x81#define DS1302_MINUTE_READ 0x83#define DS1302_HOUR_READ 0x85 #define DS1302_WEEK

3、_READ 0x8B#define DS1302_DAY_READ 0x87#define DS1302_MONTH_READ 0x89#define DS1302_YEAR_READ 0x8D#defineP1_7_ADC 0x802.2引腳定義/*DS1302*/sbit Rtc_sclk = P15;/時(shí)鐘線引腳,控制數(shù)據(jù)的輸入與輸出sbit Rtc_rst = P16;/CE線引腳,讀、寫數(shù)據(jù)時(shí)必須置為高電平sbit Rtc_io = P54;/實(shí)時(shí)時(shí)鐘的數(shù)據(jù)線引腳/*數(shù)碼管顯示*/sbit Led_sel = P23;/流水燈和數(shù)碼管選通引腳sbit Sel0 = P20;/Sel0

4、、Sel1、Sel2三位二進(jìn)制進(jìn)行數(shù)碼管位選0-7 sbit Sel1 = P21;sbit Sel2 = P22;sbit KEY1=P32; /Key1對(duì)應(yīng)引腳1.3 變量定義typedef struct _SYSTEMTIME_uchar Second;uchar Minute;uchar Hour;uchar Week;uchar Day;uchar Month;uchar Year;SYSTEMTIME; /定義的時(shí)間類型SYSTEMTIME t;/*時(shí)、分、秒標(biāo)志*/bit set_H_flag;bit set_Ms_flag;bit set_S_flag;/*時(shí)、分、秒值*/ui

5、nt set_H_val;uint set_Ms_val;uint set_S_val;bit set_HMS_done; /時(shí)分秒設(shè)置完bit show_set_HMS; /顯示時(shí)分秒bit show_HMS; /顯示時(shí)分秒bit show_key_val;unsigned char key_val;uchar flag; /所選擇點(diǎn)亮的數(shù)碼管0-7標(biāo)志位uchar temp; /要寫入到DS1302的數(shù)據(jù)uchar duanxuan;uchar weixuan;2、程序函數(shù)說明延時(shí)程序void Delayms(char i);DS1302讀寫函數(shù)void Ds1302_write(ucha

6、r temp);uchar Ds1302_read();void WriteDS1302(uchar Addr, uchar Data);uchar ReadDS1302(uchar cmd)SYSTEMTIME DS1302_GetTime();系統(tǒng)初始化void Init();void Init_key();ADC轉(zhuǎn)換unsigned char GetADC();檢測導(dǎo)航鍵unsigned char Fun_Keycheck();監(jiān)聽功能鍵,完成時(shí)分秒相關(guān)值的設(shè)置void Fun_Key_task_HMS();監(jiān)聽按鍵1,完成時(shí)分秒設(shè)置void Fun_key1();完成相關(guān)設(shè)置功能的操作

7、void Key_OFFON();初始化DS1302void Initial_DS1302(void);中斷顯示程序void timer0() interrupt 1初始化ADCvoid Init_ADC();2程序設(shè)計(jì)框架及關(guān)鍵技巧說明2.1 I/O引腳及相關(guān)寄存器配置 2.1.1 I/O引腳:(1)數(shù)碼管位選引腳整個(gè)設(shè)置P2口的值;(2)數(shù)碼管使能引腳sbit led_sel = P23 ;(3)DS1302引腳sbit rtc_sclk=P15; /時(shí)鐘線引腳sbit rtc_rst=P16; / CE線引腳sbit rtc_io=P54; /實(shí)時(shí)時(shí)鐘的數(shù)據(jù)線引腳 (4)按鍵引腳sbit

8、 KEY1 = P32 ;/設(shè)置時(shí)間 2.1.2寄存器:(1)DS1302相關(guān)寄存器其中:控制字寄存器:寫地址0x8E,讀地址0x8F位7:必須是邏輯1,如果它為0,則不能把數(shù)據(jù)寫入到DS1302中。位6:如果為0,則表示存取日歷時(shí)鐘數(shù)據(jù),為1表示存取RAM數(shù)據(jù);此程序中沒有涉及RAM存取數(shù)據(jù),所以位6置為0.位5位1(A4A0) :指示操作單元的地址;位0 :為0寫操作,為1讀操作。秒寄存器:位7:時(shí)間暫停位,為1時(shí)鐘振蕩器停止工作,為0時(shí),時(shí)鐘振蕩器啟動(dòng);初始化時(shí),要啟動(dòng)時(shí)鐘振蕩器,在禁止寫保護(hù)的情況下通過如下語句實(shí)現(xiàn):temp=ReadDS1302(DS1302_SECOND_READ)

9、&0x7f ;WriteDS1302(0x80,temp);/晶振開始工作小時(shí)寄存器:位7:12或24小時(shí)工作模式選擇位,為1時(shí)12小時(shí)工作模式,此時(shí)位5為AM/PM位,低電平對(duì)應(yīng) AM,高電平對(duì)應(yīng)PM;在 24 小時(shí)模式下,位5為第二個(gè)10小時(shí)位表示(2023 時(shí));寫保護(hù)寄存器:位7: WP 是寫保護(hù)位,工作時(shí)除WP 外的其他位都置為0, 寫操作之前WP必須為0,當(dāng)WP 為1時(shí)不能進(jìn)行寫操作。WriteDS1302(0x8E,0x00); /禁止寫保護(hù)位WriteDS1302(0x8E,0x80); /寫保護(hù)位置1(2) 定時(shí)器相關(guān)寄存器其中TMOD寄存器: 初始化時(shí),設(shè)置定時(shí)器0,工作模式1即16位不可重裝載模式,TMOD= 0x01 ;IE寄存器:初始化時(shí),設(shè)置EA=1,打開總的中斷,設(shè)置ET0=1開啟定時(shí)器0的中斷;TH0、TL0寄存器:同時(shí)還要設(shè)置TH0、TL0的初始值;TCON寄存器:初始化時(shí),設(shè)置TR0=1啟動(dòng)定時(shí)器0(3) A/D相關(guān)寄存器P1ASF寄存器: 初始化時(shí),設(shè)置P1ASF=P1_7_ADC(0x80),即P1.7口為模擬功能A/D使用;ADC_RES寄存器:初始化時(shí),設(shè)置ADC_RES=0x00;ADC_CONTR寄

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論