版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上所用到元件程序#include <reg51.h>#include<intrins.h>sbit k1=P30;sbit k2=P31;sbit k3=P32;sbit LED=P33;sbit LED1=P37;/-定義ds1302使用的IO口-/sbit DSIO=P34;sbit RST=P35;sbit SCLK=P36;/-定義全局函數(shù)-/void Ds1302Write(uchar addr, uchar dat);uchar Ds1302Read(uchar addr);void Ds1302Init();void Ds1302R
2、eadTime();uchar TIME7;void delay(uchar i);void delay1(uchar i);void Set_RTC();void zzh();uchar temp4=0xe,0x0d,0xb,0x07, DisplayData7=0, temp110=0x3f,0x06,0x5b,0x4f,0x66, 0x6d,0x7d,0x07,0x7f,0x6f;void main() uchari,zzh6; Ds1302Init(); LED=1; LED1=1; zzh6=TIME0; while(1) Ds1302ReadTime(); /讀取數(shù)值 Displa
3、yData3 =TIME2/16; /小時 DisplayData2 =TIME2&0x0f;DisplayData1 =TIME1/16;/分DisplayData0 =TIME1&0x0f; for(i=0;i<4;i+) /數(shù)碼管顯示 P0=temp1DisplayData3-i; /數(shù)碼管位選 P2=tempi; /數(shù)碼管段選 if(zzh6!=TIME0) zzh6=TIME0;LED=LED; delay1(10); P0=0x00; if(k3=0) /判斷調(diào)時按健是否按下 delay(22); if(k3=0) zzh(); void zzh() ucha
4、ri,j=0; delay(20); while(1) if(k1=0) /分調(diào)數(shù)按鍵 delay(20); if(k1=0) j=0; while(j<50)&&(k1!=0) /抖動檢測 delay(10); j+; if(DisplayData0<9) /讀取分按鍵調(diào)試數(shù)值并存取 DisplayData0+; else DisplayData0=0; if(DisplayData1<5) DisplayData1+; else DisplayData1=0; if(k2=0) /時調(diào)數(shù)按鍵檢測 delay(20);if(k2=0) j=0; while(
5、j<50)&&(k2!=0)/抖動檢測 delay(10); j+; if(DisplayData3<2) /讀時分按鍵調(diào)試數(shù)值并存取 if(DisplayData2<9) DisplayData2+;else DisplayData2=0;DisplayData3+; if(DisplayData3=2) if(DisplayData2<3) DisplayData2+; else DisplayData2=0;DisplayData3=0; for(i=0;i<4;i+) /顯示當(dāng)前調(diào)試的數(shù)字 P0=temp1DisplayData3-i; P
6、2=tempi; delay1(1); P0=0x00; if(k3=0) delay(20); while(j<50)&&(k3!=0) /抖動檢測 delay(10); j+; Set_RTC(); break; void Set_RTC() /寫入改變的時間 uchar code WRITE_RTC_ADDR17 = 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c; uchar i,*p=WRITE_RTC_ADDR1,zzh22=0;zzh20=DisplayData0+DisplayData1*16;zzh21=DisplayD
7、ata2+DisplayData3*16; Ds1302Write(0x8E,0X00); for(i=1;i<3;i+)/2次寫入分時 p+; Ds1302Write(*p,zzh2i-1); Ds1302Write(0x8E,0x80); void delay(uchar i) /延時函數(shù)uchar k,j; while(i-) for(j=0;j<10;j+) for(k=130;k>0;k+); void delay1(uchar i) /延時函數(shù)uchar j; while(i-) for(j=0;j<10;j+); /-DS1302寫入和讀取時分秒的地址命令
8、-/-秒分時日月周年 最低位讀寫位;-/uchar code READ_RTC_ADDR7 = 0x81, 0x83, 0x85, 0x87, 0x89, 0x8b, 0x8d; uchar code WRITE_RTC_ADDR7 = 0x80, 0x82, 0x84, 0x86, 0x88, 0x8a, 0x8c;/-DS1302時鐘初始化2013年1月1日星期二12點00分00秒。-/-存儲順序是秒分時日月周年,存儲格式是用BCD碼-/uchar TIME7 = 0x00, 0x22, 0x12, 0x01, 0x01, 0x02, 0x13;/* 函 數(shù) 名 : Ds1302Write
9、* 函數(shù)功能 : 向DS1302命令(地址+數(shù)據(jù))* 輸 入 : addr,dat* 輸 出 : 無*/void Ds1302Write(uchar addr, uchar dat)uchar n;RST = 0;_nop_();SCLK = 0;/先將SCLK置低電平。_nop_();RST = 1; /然后將RST(CE)置高電平。_nop_();for (n=0; n<8; n+)/開始傳送八位地址命令DSIO = addr & 0x01;/數(shù)據(jù)從低位開始傳送addr >>= 1;SCLK = 1;/數(shù)據(jù)在上升沿時,DS1302讀取數(shù)據(jù)_nop_();SCLK
10、= 0;_nop_();for (n=0; n<8; n+)/寫入8位數(shù)據(jù)DSIO = dat & 0x01;dat >>= 1;SCLK = 1;/數(shù)據(jù)在上升沿時,DS1302讀取數(shù)據(jù)_nop_();SCLK = 0;_nop_(); RST = 0;/傳送數(shù)據(jù)結(jié)束_nop_();/* 函 數(shù) 名 : Ds1302Read* 函數(shù)功能 : 讀取一個地址的數(shù)據(jù)* 輸 入 : addr* 輸 出 : dat*/uchar Ds1302Read(uchar addr)uchar n,dat,dat1;RST = 0;_nop_();SCLK = 0;/先將SCLK置低電平
11、。_nop_();RST = 1;/然后將RST(CE)置高電平。_nop_();for(n=0; n<8; n+)/開始傳送八位地址命令DSIO = addr & 0x01;/數(shù)據(jù)從低位開始傳送addr >>= 1;SCLK = 1;/數(shù)據(jù)在上升沿時,DS1302讀取數(shù)據(jù)_nop_();SCLK = 0;/DS1302下降沿時,放置數(shù)據(jù)_nop_();_nop_();for(n=0; n<8; n+)/讀取8位數(shù)據(jù)dat1 = DSIO;/從最低位開始接收dat = (dat>>1) | (dat1<<7);SCLK = 1;_nop_
12、();SCLK = 0;/DS1302下降沿時,放置數(shù)據(jù)_nop_();RST = 0;_nop_();/以下為DS1302復(fù)位的穩(wěn)定時間,必須的。SCLK = 1;_nop_();DSIO = 0;_nop_();DSIO = 1;_nop_();return dat;/* 函 數(shù) 名 : Ds1302Init* 函數(shù)功能 : 初始化DS1302.* 輸 入 : 無* 輸 出 : 無*/void Ds1302Init()uchar n;Ds1302Write(0x8E,0X00); /禁止寫保護,就是關(guān)閉寫保護功能for (n=0; n<7; n+)/寫入7個字節(jié)的時鐘信號:分秒時日月周年Ds1302Write(WRITE_RTC_ADDRn,TIMEn);Ds1302Write(0x
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年中國西紅柿片市場調(diào)查研究報告
- 2024年馬鈴薯種植與電商平臺全產(chǎn)業(yè)鏈合作框架協(xié)議2篇
- 2024版抗癌藥物臨床試驗合同
- 2024年中國船用型閥門電動裝置市場調(diào)查研究報告
- 2024年中國腈綸針織內(nèi)衣市場調(diào)查研究報告
- 2024年中國聯(lián)合夾鉗市場調(diào)查研究報告
- 提高醫(yī)技科室“危急值”的報告率
- 二零二五年五星級酒店入股及收益分配協(xié)議3篇
- 焦慮的護理診斷
- 二零二五年度出國留學(xué)保險及緊急救援服務(wù)合同3篇
- YS/T 937-2013鎳鉑靶材
- GB/T 700-1988碳素結(jié)構(gòu)鋼
- GB/T 28202-2020家具工業(yè)術(shù)語
- GB/T 19963.1-2021風(fēng)電場接入電力系統(tǒng)技術(shù)規(guī)定第1部分:陸上風(fēng)電
- 日立電梯MCA調(diào)試培訓(xùn)課件
- 小母雞回來了-課件
- 采購合同采購合同采購合同
- 甲基丙烯酸甲酯穩(wěn)定的 α-甲基丙烯酸甲酯MSDS危險化學(xué)品安全技術(shù)說明書
- 中醫(yī)內(nèi)科學(xué)厥證
- 心臟功能的超聲心動圖評估-課件
- 銷售人員十大軍規(guī)課件
評論
0/150
提交評論