版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、實用文檔文案大全模塊參數(shù):1 .尺寸:38mm(長)*22mm(寬)*14mm(高)2 .重量:8g3 .工作電壓33-5.5V4 .時鐘芯片:高精度時鐘芯片 DS32315 .時鐘精度:0-40 C范圍內(nèi),精度2ppm,年誤差約1分鐘6 .帶2個日歷鬧鐘7 .可編程方波輸出8 .實時時鐘產(chǎn)生秒、分、時、星期、日期、月和年計時,并提供有效期到2100年的閏年補償9 .芯片內(nèi)部自帶溫度傳感器,精度為士 3C10 .存儲芯片:AT24C32(存儲容量32K)11 .IIC總線接口,最高傳輸速度400KHz(工作電壓為5V時)12 .可級聯(lián)其它IIC設備,24C32地址可通過短路 A0/A1/A2修
2、改,默認地址為0x5713 .帶可充電電池LIR2032,保證系統(tǒng)斷電后,時鐘任然正常走動 接線說明,以 Arduino uno r3 為例:SCI A5SDM A4VCC> 5VGNA GND代碼部分:#include <reg51.h>#include <intrins.h>unsigned charunsigned int/模才I2C數(shù)據(jù)傳送位SDA/模才I2C時鐘控制位SCL#define uchar#define uintsbit SDA=P3A6;sbit SCL=P3A7;sbit INT=P3A2;sbit RESET=P3A3;sbit led0
3、=P1A0;sbit led1=P1A1;sbit led2=P1A2;sbit led3=P1A3;sbit led4=P1A4;sbit led5=P1A5;/應答標志位sbit led6=P1A6; sbit led7=P1A7; bit ack;#define DS3231_WriteAddress 0xD0#define DS3231_ReadAddress#define DS3231_SECOND#define DS3231_MINUTE#define DS3231_HOUR#define DS3231_WEEK#define DS3231_DAY#define DS3231_MO
4、NTH#define DS3231_YEAR/鬧鈴1#define DS3231_SALARM1ECOND 0x07#define DS3231_ALARM1MINUTE 0x08#define DS3231_ALARM1HOUR#define DS3231_ALARM1WEEK/鬧鈴2#define DS3231_ALARM2MINUTE 0x0b#define DS3231_ALARM2HOUR#define DS3231_ALARM2WEEK#define DS3231_CONTROL#define DS3231_STATUS#define BSY0xD10x090x0A0x0c0x0d
5、0x0e0x0f/器件寫地址/器件讀地址0x00/ 秒0x01/ 分0x02/ 時0x03/星期0x04/ 日0x05/ 月0x06/ 年/秒/分/時/星期/日/分/時/星期/日/控制寄存器/狀態(tài)寄存器2/忙#define OSF/振蕩器停止標志#define DS3231 XTAL0x10/晶體老化寄存器/溫度寄存器高字節(jié)(8位)/溫度寄存器低字節(jié)(高2位)#define DS3231_TEMPERATUREH 0x11#define DS3231 TEMPERATUREL 0x12uchar code dis_code11=0xc0,0xf9,0xa4,0xb0,/ 0,1,2,3/0x9
6、9,0x92,0x82,0xf8,0x80,0x90, 0xff;4,5,6,7,8,9,offuchar data dis_buf8;uchar data dis_index;uchar data dis_digit;uchar BCD2HEX(uchar val) uchar temp;temp=val&0x0f;val>>=4;val&=0x0f;val*=10;temp+=val;return temp;uchar HEX2BCD(uchar val)uchar i,j,k;i=val/10;j=val;k=j+(i<<4); return k;
7、void delayus(uint us)while (us-);void Start_I2C()SDA=1;delayus(1);SCL=1;delayus(5);/BCD轉(zhuǎn)換為Byte/B碼轉(zhuǎn)換為BC加/發(fā)送起始條件的數(shù)據(jù)信號/起始條件建立時間大于4.7us,延時SDA=0;delayus(5);SCL=0;據(jù)delayus(2);void Stop_I2C()SDA=0;delayus;SCL=1;delayus(5);SDA=1;delayus(4);void SendByte(uchar c)uchar BitCnt;for(BitCnt=0;BitCnt<8;BitCnt+)
8、if(c<<BitCnt)&0x80) SDA=1;/判斷發(fā)送位elseSDA=0;delayus;SCL=1;/置時鐘線為高,通知被控器開始接收數(shù)據(jù)位 delayus(5);證時鐘高電平周期大于4ds/發(fā)送起始信號/起始條件鎖定時間大于 4ds/鉗住I2C總線,準備發(fā)送或接收數(shù)/發(fā)送結(jié)束條件的數(shù)據(jù)信號/發(fā)送結(jié)束條件的時鐘信號/結(jié)束條件建立時間大于4us/發(fā)送I2C總線結(jié)束信號/要傳送的數(shù)據(jù)長度為8位/保SCL=0;delayus(2);SDA=1;/8位發(fā)送完后釋放數(shù)據(jù)線,準備接收應答位delayus(2);SCL=1;delayus(3);if(SDA=1)ack=0;
9、 elseack=1;/判斷是否接收到應答信號SCL=0;delayus(2);uchar RcvByte() uchar retc; uchar BitCnt;retc=0;SDA=1;/置數(shù)據(jù)線為輸入方式for(BitCnt=0;BitCnt<8;BitCnt+) delayus; SCL=0;/置時鐘線為低,準備接收數(shù)據(jù)位delayus(5);/時鐘低電平周期大于4.7 科 sSCL=1;/置時鐘線為高使數(shù)據(jù)線上數(shù)據(jù)有效delayus(3);retc=retc<<1;if(SDA=1)retc=retc+1;/讀數(shù)據(jù)位,接收的數(shù)據(jù)位放入retc中delayus(2);S
10、CL=0;delayus(2);return(retc); void Ack_12c(bit a) if(a=0)SDA=0;/在此發(fā)出應答或非應答信號elseSDA=1;delayus(3);SCL=1;delayus(5);/時鐘低電平周期大于 4科sSCL=0;/清時鐘線,鉗住I2C總線以便繼續(xù)接收delayus(2);uchar write_byte(uchar addr, uchar write_data) Start_I2C();SendByte(DS3231_WriteAddress);if (ack = 0)return 0;SendByte(addr);if (ack = 0
11、)return 0;SendByte(write_data);if (ack = 0)return 0;Stop_I2C();delayus(10);return 1;uchar read_current()uchar read_data;Start_I2C();SendByte(DS3231_ReadAddress);if(ack=0)return(0);read_data = RcvByte();Ack_12c(1);Stop_I2C();return read_data;uchar read_random(uchar random_addr)Start_I2C();SendByte(DS
12、3231_WriteAddress);if(ack=0)return(0);SendByte(random_addr);if(ack=0)return(0);return(read_current();void ModifyTime(uchar yea,uchar mon,uchar da,uchar hou,uchar min,uchar sec) uchar temp=0;temp=HEX2BCD(yea);write_byte(DS3231_YEAR,temp);/ 修改年temp=HEX2BCD(mon);write_byte(DS3231_MONTH,temp); / 修改月temp
13、=HEX2BCD(da);write_byte(DS3231_DAY,temp);/ 修改日temp=HEX2BCD(hou);write_byte(DS3231_HOUR,temp); / 修改時temp=HEX2BCD(min);write_byte(DS3231_MINUTE,temp); 修改分temp=HEX2BCD(sec);write_byte(DS3231_SECOND,temp); 修改秒void TimeDisplay(uchar Dhour,uchar Dmin,uchar Dsec)dis_buf7=dis_codeDhour / 10;/時十位dis_buf6=dis
14、_codeDhour % 10;/時個位dis_buf4=dis_codeDmin / 10;/分十位dis_buf3=dis_codeDmin % 10;/分個位dis_buf1=dis_codeDsec / 10;/秒十位dis_buf0=dis_codeDsec % 10;/秒個位dis_buf2=0xbf;/ 顯示"-"dis_buf5=0xbf; void DateDisplay(uchar Dyear,uchar Dmonth,uchar Dday)dis_buf7=dis_codeDyear / 10;/ 年十位dis_buf6=dis_codeDyear %
15、 10;/ 年個位dis_buf4=dis_codeDmonth / 10;/ 月十位dis_buf3=dis_codeDmonth % 10;/ 月個位dis_buf1=dis_codeDday / 10;/ 天十位dis_buf0=dis_codeDday % 10;/ 天個位dis_buf2=0xbf;/ 顯示"-"dis_buf5=0xbf;void get_show_time(void)uchar Htemp1,Htemp2,Mtemp1,Mtemp2,Stemp1,Stemp2;Htemp1=read_random(DS3231_HOUR); / 時 24 小時
16、制Htemp1&=0x3f;Htemp2=BCD2HEX(Htemp1);Mtemp1=read_random(DS3231_MINUTE); / 分Mtemp2=BCD2HEX(Mtemp1);Stemp1=read_random(DS3231_SECOND); / 秒Stemp2=BCD2HEX(Stemp1);TimeDisplay(Htemp2,Mtemp2,Stemp2); void get_show_date(void)uchar Ytemp1,Ytemp2,Mtemp1,Mtemp2,Dtemp1,Dtemp2;Ytemp1=read_random(DS3231_YEAR
17、);/ 年Ytemp2=BCD2HEX(Ytemp1);Mtemp1=read_random(DS3231_MONTH);/ 月Mtemp2=BCD2HEX(Mtemp1);Dtemp1=read_random(DS3231_DAY);/ 日Dtemp2=BCD2HEX(Dtemp1);DateDisplay(Ytemp2,Mtemp2,Dtemp2); void get_show_Temperature(void)uchar Ttemp1,Ttemp2,Ttemp3,Ttemp4;Ttemp1=read_random(DS3231_TEMPERATUREH);/ 溫度高字節(jié)Ttemp2=BC
18、D2HEX(Ttemp1);Ttemp3=read_random(DS3231_TEMPERATUREL);/ 溫度低字節(jié)Ttemp4=BCD2HEX(Ttemp3);DateDisplay(0,Ttemp2,Ttemp4); void timer0() interrupt 1 TH0=0xFC;TL0=0x17;P2=0xff;/先關(guān)閉所有數(shù)碼管P0=dis_bufdis_index;/ 顯示代碼傳送到 P0 口P2=dis_digit;if (dis_digit & 0x80) dis_digit=(dis_digit << 1) | 0x1;else dis_digit=(dis_digit
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專項采購附加合同(2024修訂版)版B版
- 二零二五年度新型環(huán)保材料研發(fā)與市場拓展合同3篇
- 專項個人施工合作合同2024版一
- 2025年度土地確權(quán)測量技術(shù)服務合同示例4篇
- 2025年度廠房設備租賃與技術(shù)創(chuàng)新合同范本4篇
- 2024年03月天津2024年天津銀行第五中心支行社會招考筆試歷年參考題庫附帶答案詳解
- 2025年度二零二五安保員聘用及企業(yè)安全管理制度修訂合同3篇
- 2024甲乙雙方電腦軟件購買與開發(fā)合同
- 2025年度醫(yī)療機構(gòu)n95口罩消毒與再生利用合同范本3篇
- 2025年度餐飲企業(yè)員工勞動合同(含競業(yè)禁止)
- 大型活動聯(lián)合承辦協(xié)議
- 工程項目采購與供應鏈管理研究
- 2024年吉林高考語文試題及答案 (2) - 副本
- 拆除電纜線施工方案
- 搭竹架合同范本
- Neo4j介紹及實現(xiàn)原理
- 焊接材料-DIN-8555-標準
- 工程索賠真實案例范本
- 重癥醫(yī)學科運用PDCA循環(huán)降低ICU失禁性皮炎發(fā)生率品管圈QCC持續(xù)質(zhì)量改進成果匯報
- 個人股權(quán)證明書
- 醫(yī)院運送工作介紹
評論
0/150
提交評論