




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、精選優(yōu)質文檔-傾情為你奉上所用到元件程序#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+) /顯示當前調(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ù)結束_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復位的穩(wěn)定時間,必須的。SCLK = 1;_nop_();DSIO = 0;_nop_();DSIO = 1;_nop_();return dat;/* 函 數(shù) 名 : Ds1302Init* 函數(shù)功能 : 初始化DS1302.* 輸 入 : 無* 輸 出 : 無*/void Ds1302Init()uchar n;Ds1302Write(0x8E,0X00); /禁止寫保護,就是關閉寫保護功能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)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北政法職業(yè)學院《數(shù)字營銷傳播》2023-2024學年第二學期期末試卷
- 2025專業(yè)合同律師勞動合同
- 2025年大型基礎設施建設中的合同談判與合同管理策略研究
- 北京市月壇中學2025屆高三畢業(yè)班第一次調(diào)研測試生物試題含解析
- 湖南科技大學《歌曲寫作與改編》2023-2024學年第一學期期末試卷
- 2025生物技術公司代理合同書合同書格式范文
- 房間臺階施工方案
- 2025【股票交易委托合同(授權書及代辦協(xié)議)】委托合同樣本
- 解除聘用合同協(xié)議書(2025年版)
- 電磁波筆試題目及答案
- 廣告投放預算分配情況統(tǒng)計表(按預算項目)
- 2025年高考預測猜題 化學 信息必刷卷01(新高考 通 用)(解析版)
- 壓瘡的六個分期及護理措施
- 滬教版(五四學制)(2024)六年級數(shù)學下冊 第六章 圓和扇形 單元測試題(含解析)
- 2025年開封大學單招職業(yè)技能測試題庫完整
- 30-提前介入在建高鐵的實踐與思考5則范文
- 職業(yè)教育培訓需求分析課件
- 2025版礦山安全生產(chǎn)責任承包協(xié)議范本3篇
- 并購重組稅務處理-企業(yè)管理
- 四川涼山州人民政府辦公室考調(diào)所屬事業(yè)單位工作人員2人易考易錯模擬試題(共500題)試卷后附參考答案
- 2025年中國艾草行業(yè)市場現(xiàn)狀、發(fā)展概況、未來前景分析報告
評論
0/150
提交評論