可控溫電熱壺信電學(xué)院電氣092 張建偉賈明澤_第1頁
可控溫電熱壺信電學(xué)院電氣092 張建偉賈明澤_第2頁
可控溫電熱壺信電學(xué)院電氣092 張建偉賈明澤_第3頁
可控溫電熱壺信電學(xué)院電氣092 張建偉賈明澤_第4頁
可控溫電熱壺信電學(xué)院電氣092 張建偉賈明澤_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2011年度學(xué)生科研立項結(jié)題申報書作品名稱:可控溫電熱壺作者姓名:張建偉、賈明澤 學(xué)院:信息與電氣工程學(xué)院班級:電氣工程及其自動化09-2聯(lián)系電話: 指導(dǎo)教師:張仁彥作品類別:自然科學(xué)類學(xué)術(shù)論文哲學(xué)社會科學(xué)類社會調(diào)查報告和學(xué)術(shù)論文科技發(fā)明制作 其它 二一一年十一月可控溫電熱壺(作品名稱)摘要:本作品為可控溫電熱壺,所完成的主要功能為:1溫度模塊:實時溫度檢測、采集、傳輸與顯示。2時間模塊:利用實時時鐘芯片,編程實現(xiàn)時間計時,并送至數(shù)碼管進行動態(tài)顯示。3鬧鐘與溫度報警模塊:通過獨立按鍵實現(xiàn)快速設(shè)置當前時間、鬧鐘時間、報警溫度,并通過循環(huán)檢測實現(xiàn)鬧鐘與溫度報警提醒,溫度高于報警值時自動斷開電源,低

2、于報警值時接通電源,實現(xiàn)溫度的準確控制。4掉電保存模塊:實現(xiàn)數(shù)據(jù)掉電自動保存,通電自動恢復(fù)的功能。目 錄第一章 概述········································&#

3、183;·············31.1目的意義及國內(nèi)外同類研究的動態(tài)······························31.2課題主要內(nèi)容及技術(shù)指標

4、3;·····································3第二章 系統(tǒng)的總體設(shè)計思想··········&#

5、183;······························32.1系統(tǒng)的總體設(shè)計方案·················&

6、#183;························42.2各模塊的設(shè)計方案·······················&

7、#183;····················4溫度檢測控制模塊···························

8、3;··············4實時時鐘設(shè)計模塊··································&

9、#183;·······5數(shù)碼管顯示與指示燈功能設(shè)計································7按鍵設(shè)計模塊······

10、3;·······································7外部電路及供電方式的設(shè)計········

11、83;·························7第三章 硬件電路的實現(xiàn)······················

12、83;······················83.1 溫度檢測與控制模塊硬件設(shè)計························

13、83;·········83.2 實時時鐘模塊電路硬件設(shè)計····································83.3 數(shù)碼管顯示

14、與指示燈硬件設(shè)計··································93.4外部電路及供電方式硬件設(shè)計············

15、;······················10第四章 控制系統(tǒng)的程序結(jié)構(gòu)·························&#

16、183;···············114.1 程序概述································

17、3;···················114.2 主程序的C語言程序····························&

18、#183;·············114.3 子程序的C語言程序·································

19、3;········12變量定義程序········································&#

20、183;······12 DS18B20程序·········································&#

21、183;·····14 PCF8563程序··········································&#

22、183;····18 第一章 概述1.1目的意義及國內(nèi)外同類研究的動態(tài)目的與意義:是實現(xiàn)溫度與時間的同時顯示,兼顧溫度控制與鬧鐘提醒的雙重功能,方便用戶在日常使用中的對于溫度控制的需要,并且實現(xiàn)按時提醒用戶開啟電熱壺的要求,而且在日常生活中通過按鍵反復(fù)設(shè)置時間與報警溫度是一項復(fù)雜繁瑣的工作,而在本次設(shè)計中特別考慮到這一點,通過在STC89C52單片機的支路上設(shè)置開關(guān),從而實現(xiàn)單片機與PCF8563的分別供電,從而避免了在不使用電熱壺時數(shù)碼管顯示所造成的能源損耗,減少了經(jīng)濟支出。而在PCF8563中紐扣電池的加入保存了設(shè)置數(shù)值,避免了重新上電后數(shù)據(jù)的丟失,

23、減少了用戶反復(fù)設(shè)置的苦惱。國內(nèi)外同類的研究動態(tài):目前,國內(nèi)已有類似方向的研究(專利號:200820012742),而且實際生產(chǎn)中也有此類產(chǎn)品問世,但是結(jié)構(gòu)多為壺體與底座的連接結(jié)構(gòu),顯示裝置設(shè)計在底座上,不易移動,占體積大,活動不靈活。而本次設(shè)計的控制電路獨立拆卸,所用元器件價錢便宜,制作方便。彌補了此前產(chǎn)品中的不足之處。1.2課題主要內(nèi)容及技術(shù)指標主要內(nèi)容:1,溫度傳感器DS18B20的設(shè)計。 2,實時時鐘芯片PCF8563的設(shè)計。 3,功能按鍵與數(shù)值調(diào)整按鍵設(shè)計。 4,數(shù)碼管顯示與蜂鳴器,指示燈等顯示提示電路的設(shè)計。 5,繼電器單元設(shè)計與外部供電方式設(shè)計。技術(shù)指標:1,溫度誤差為0.5攝氏度

24、。 2,時間誤差為1秒/月第二章 系統(tǒng)的總體設(shè)計思想2.1系統(tǒng)的總體設(shè)計方案本次設(shè)計主要由以下五個設(shè)計模塊構(gòu)成即溫度檢測控制模塊,實時時鐘設(shè)計模塊,數(shù)碼管顯示與指示燈功能設(shè)計,按鍵設(shè)計模塊,外部電路及供電方式的設(shè)計。其中溫度檢測控制模塊主要由DS18B20數(shù)字溫度傳感器,SRD-05-VDC-SL-C繼電器組成。其中溫度傳感器負責溫度的采集以及以數(shù)字量的形式傳遞至單片機,繼電器完成達到預(yù)設(shè)溫度時斷開電源的工作,從而實現(xiàn)單片機對溫度的控制。實時時鐘設(shè)計模塊則是由PCF8563組成,通過IIC總線傳遞時間數(shù)據(jù),并且RTC中的RAM作為設(shè)置數(shù)值的存儲空間,保證了掉電不丟失預(yù)設(shè)數(shù)據(jù)。數(shù)碼管顯示與指示燈

25、功能設(shè)計模塊則主要是由LG3461共陰極8段8位數(shù)碼管與發(fā)光二級管共同組成,數(shù)碼管實現(xiàn)預(yù)設(shè)溫度,實時溫度,實時時間與預(yù)設(shè)時間的動態(tài)顯示,LED燈負責顯示當前所處狀態(tài),如設(shè)置時間,設(shè)置溫度,設(shè)置鬧鐘等。按鍵設(shè)計模塊是由五個獨立按鍵組成的,其中三個是負責按鍵功能轉(zhuǎn)換,兩個是負責加減,從而實現(xiàn)鬧鐘,時間與報警溫度的設(shè)置。外部電路及供電方式的設(shè)計,這一部分主要特點是實現(xiàn)在不使用電熱壺時關(guān)閉單片機的電源而始終保持PCF8563的供電,保證所保存的數(shù)據(jù),與時間顯示正確。這就需要并聯(lián)單片機與PCF8563而在單片機所在支路上加一個開關(guān),負責單片機支路的供電。2.2 硬件各模塊的設(shè)計系統(tǒng)的各模塊之間的聯(lián)系與功

26、能分配如下圖所示;按鍵功能設(shè)計模塊溫度檢測控制模塊數(shù)碼管顯示與指示燈功能設(shè)計STC89C52單片機實時時鐘設(shè)計模塊外部電路及供電方式的設(shè)計圖21系統(tǒng)結(jié)構(gòu)功能框圖溫度檢測控制模塊這部分主要由兩個大的元器件組成,分別是繼電器與DS18B20,這其中DS18B20負責的是溫度檢測與返回,繼電器負責的是溫度控制。圖2-2 DS18B20外觀圖圖2-3 DS18B20的內(nèi)部結(jié)構(gòu)圖18b20 是單線溫度傳感器,廣泛用于多點溫度檢測,因為他是數(shù)字信號,所以可以避免長距離誤差。其中一種封裝外形如同普通三極管,2 個電源引腳,一個信號接口,硬件連接只需要一個10K 電阻,主要是程序部分,由于是單線采集,精度較高

27、是采樣時間比較長,接近1S,所以重復(fù)采樣的頻率不能太高,不然會造成數(shù)據(jù)紊亂。繼電器信號輸入端,當輸入信號“1”時,繼電器吸合,反之釋放,所以說控制電路很簡單,只是對I0口的操作就可以完成相關(guān)設(shè)置。 實時時鐘設(shè)計模塊圖2-4 PCF8563管腳圖圖2-5 PCF內(nèi)部結(jié)構(gòu)框圖PCF8563是一款工業(yè)級,內(nèi)含IIC總線接口功能的低功耗多功能時鐘、日歷芯片。PCF8563性價比比較高,它已被廣泛用于電表、水表、氣表、電話。傳真機、便攜式儀器及電池供電的儀器儀表等產(chǎn)品領(lǐng)域。通過SDA、SCL實現(xiàn)與單片機的通信,通過IIC協(xié)議時間傳至單片機,并且在設(shè)置鬧鐘與報警溫度時把數(shù)據(jù)存入內(nèi)部RAM. 數(shù)碼管顯示與指

28、示燈功能設(shè)計本次試驗中采用的是LG3641共陰極數(shù)碼管,管腳為8位段選分別是a,b,c,d,e,f,g,h,dp,一位位選。共陰極接法決定了當給引腳高電平時有效。要顯示某一指定字符碼,需要滿足兩個條件,字位引腳為高,相應(yīng)的段選送高電平。本次試驗中采用了動態(tài)顯示,就是利用人眼的視覺殘留效果循環(huán)動態(tài)掃描。從而達到顯示時間與溫度的目的。發(fā)光二級管的原理簡單,操作方便。當外部電壓大于二極管的導(dǎo)通壓降時,二極管道通,另外二極管的亮度由流經(jīng)二極管的電流決定,電流為50mA-200mA二極管的亮度為可見一般使用亮度。本實驗中使用了三只發(fā)光二級管,分別與IO口連接,由輸出的高低決定亮或不亮,分別指示設(shè)置鬧鐘,

29、設(shè)置溫度,設(shè)置報警溫度這三種狀態(tài)。 按鍵設(shè)計模塊按鍵設(shè)計模塊在本次試驗中采用的是獨立按鍵。原因是本次按鍵中所需按鍵數(shù)目較少,獨立按鍵較矩陣鍵盤編程更為簡單。圖2-6 獨立按鍵示意圖 外部電路及供電方式的設(shè)計本次試驗中為了實現(xiàn)掉電數(shù)據(jù)不丟失以及在電熱壺不加熱時數(shù)碼管無顯示節(jié)約電能的要求,設(shè)計主電路為兩節(jié)紐扣電池供電,PCF8563與單片機及其外界設(shè)備并聯(lián),并在單片機所在之路加一個按鍵開關(guān)實現(xiàn)單片機及其外設(shè)自身的電源控制,而PCF8563始終在上電狀態(tài)。第三章 硬件電路的實現(xiàn)3.1 溫度檢測與控制模塊硬件設(shè)計如圖所示為DS18B20的連線設(shè)計圖 其中1腳接VCC,3腳接地,2腳接單片機的P1.3口

30、,作為數(shù)據(jù)傳輸線,為保證在高電平期間,數(shù)據(jù)線可靠的傳輸高,R20為外接上拉電阻,阻值為10k. 圖2-7 DS18B20接線圖控制器件繼電器的硬件設(shè)計,根據(jù)繼電器的原理硬件設(shè)計如下圖2-8 繼電器硬件連接圖繼電器的工作原理為當給繼電器輸入端一個高電平時,繼電器吸和,反之則斷開。3.2 實時時鐘模塊電路硬件設(shè)計如下圖所示實時時鐘模塊,SDA作為數(shù)據(jù)線與單片機的P16引腳相連,SCL作為時鐘信號線與單片機P15引腳相連,外部提供晶振:32768Hz。圖2-8實時時鐘模塊3.3 數(shù)碼管顯示與指示燈硬件設(shè)計圖2-9 數(shù)碼管顯示電路的硬件連接圖由數(shù)碼管原理可知;數(shù)碼管的段選接在單片機P0口上,通過段選選

31、通。位選為利用P2口的第三位通過74HC138譯碼選通具體的位。下圖為74HC138的真值表以及管腳圖:圖2-10 74HC138真值表74HC138管腳結(jié)構(gòu)圖發(fā)光二級管的結(jié)構(gòu)簡單,接線只需將陰極與單片機IO端口相連,陽極接正電源。3.4 外部電路及供電方式硬件設(shè)計有220V交流電源經(jīng)穩(wěn)壓源變壓為5V直流電給系統(tǒng)供電,單片機電源由開關(guān)統(tǒng)一控制,8563實時時鐘芯片時刻有電源供電。第四章 控制系統(tǒng)的程序結(jié)構(gòu)與軟件框圖4.1程序概述軟件設(shè)計的成功與否關(guān)系到整個系統(tǒng)能否具有使用靈活。操作簡便,可靠性強等優(yōu)點,而設(shè)計良好的軟件能夠做到在較少地改變硬件電路的情況下,方便地改進系統(tǒng)的功能,這就對軟件的設(shè)計

32、提供了較高的要求。遵循“自頂向下,逐步求精“的結(jié)構(gòu)化設(shè)計原則,先將任務(wù)層次化,然后對每一層再逐步細化,每一層實現(xiàn)的功能盡量是獨立的,彼此之間互相影響應(yīng)該較少,然后按照與劃分相反的過程編寫,調(diào)試程序,待所有子程序都編寫設(shè)計通過后,依它們之間的邏輯順序組合起來,構(gòu)成完整的程序軟件。采用這種方法,不僅使軟件可讀性好,維護方便且易于修改移植。如用戶有特殊要求需要改動軟件時,則只需修改或替換某子任務(wù)所對應(yīng)的子程序即可,從而加快了系統(tǒng)研制進度,縮短了軟件開發(fā)周期。軟件程序是整個控制系統(tǒng)的核心部分,本次編程用的是C語言。4.2 主程序的C語言程序/主函數(shù)#include<reg52.h>#inc

33、lude<define.h>#include<E2proom.h>#include<18b20.h>#include<12r887.h> void main() init();while(1) keyscanwen(); if(wendu=0) temp=readtemp(); /讀取溫度 jiancewendu(temp); display(temp); /顯示溫度 keyscan();if(flag=0) P8563_Readtime(); shi=bcdshi(g8563_Store2); fen=bcdshi(g8563_Store1);

34、 miao=bcdshi(g8563_Store0); jianceshijian(shi,fen,miao); displayshi(shi); / displayfen(fen); / displaymiao(miao); /顯示函數(shù) guanfeng(); guanfeng1(); 4.3 子程序的C語言程序 變量定義頭文件/變量定義#define uchar unsigned char#define uint unsigned intuchar g8563_Store9; /*時間交換區(qū),全局變量聲明*/uchar bcdshi(uchar);uchar shibcd(uchar);u

35、int temp,zhang=20;uchar jia,ming,s1zhi,s2zhi,w1zhi,ashi,afen,amiao,ashi1,afen1,amiao1;uchar temp1,mada1,mada2,mada3,k1,k2,k3,miao,shi,fen,flag1,fengzhuang;uchar c8563_Store9;sbit fengming=P27; /蜂鳴器接口 sbit sda=P16; / 將p1.0口模擬數(shù)據(jù)口 sbit scl=P15; / 將p1.1口模擬時鐘口 sbit s1=P11; /時鐘設(shè)定sbit s2=P12; /鬧鐘設(shè)定sbit nao

36、zhi=P25; /鬧鐘指示uchar code tableshijian=0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef,0xf7,0xfc,0xb9,0xde,0xf9,0xf1,0x08,0x54; /7段數(shù)碼管段碼表共陽uchar code table=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71; /7段數(shù)碼管段碼表共陽void display(uchar);uchar receive_CFGbyte(uchar);vo

37、id P8563_Readtime();void P8563_Readwen();void P8563_Readnao();void P8563_init();void P8563_settime();void P8563_setwen();void P8563_setnao();void displayshi(uint);uchar bcdshi(uchar x) return (x>>4)*10+(x&0x0f);uchar shibcd(uchar x) return (x/10)*16+(x%10);void delay2(uint z) /時鐘延時uint x,y

38、;for(x=z;x>0;x-)for(y=110;y>0;y-);void delay(uint x) uchar i; while(x-) for(i=0;i<121;i+); void delay1(uint i) /延時函數(shù) while(i-); void init() P8563_init(); TMOD=0X01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; fengming=1; fengzhuang=0; flag1=0; /鬧鐘響的標志位 mada1=0; mada2=0; mada3

39、=0; k1=0; k2=0; k3=0; s1zhi=1; s2zhi=1; w1zhi=1; zhang=1000; jia=0;void didi() fengming=0; delay2(15); fengming=1; delay2(15); DS18B20程序/名稱:18B20溫度調(diào)節(jié)顯示#include<intrins.h>sbit DQ=P24; /ds18b20 端口2.4sbit w1=P10; /定溫調(diào)節(jié)sbit w2=P13; /調(diào)節(jié)溫度、時間+sbit w3=P14; /調(diào)節(jié)溫度、時間-sbit led=P26; /定溫指示sbit jidian=P23;

40、 /控制繼電器uchar snum,wendu,made=0;/*/* 數(shù)碼管顯示函數(shù) */*/void display(uchar wen) uchar shi,ge; shi=wen/10; ge=wen%10; P0=tablege; P2|=0x07; delay1(350); P0=tableshi; P2&=0xfe; delay1(200); void display_() P0=tableshijian16; P2&=0xfe; P2|=0x06; delay1(100); P0=tableshijian16; P2|=0x07; delay1(50); /*/

41、* 對18b20復(fù)位 */*/void fuwei18b20(void) uchar x=0; DQ = 1; /DQ復(fù)位 delay1(8); /稍做延時 DQ = 0; /單片機將DQ拉低 delay1(80); /精確延時 大于 480us DQ = 1; /拉高總線 delay1(10); x=DQ; /稍做延時后 如果x=0則初始化成功 x=1則初始化失敗 delay1(5);/*/* 讀一個字節(jié) */*/unsigned char ReadOneChar(void)uchar i=0;uchar dat=0;for (i=8;i>0;i-) DQ = 0; / 給脈沖信號 d

42、at>>=1; DQ = 1; / 給脈沖信號 if(DQ) dat|=0x80; delay1(5); return(dat);/*/* 寫一個字節(jié) */*/void WriteOneChar(unsigned char dat) uchar i=0; for (i=8; i>0; i-) DQ = 0; DQ = dat&0x01; delay1(5); DQ = 1; dat>>=1; delay1(5);/*/* 讀取溫度 */*/unsigned int readtemp(void)uchar a=0;uint b=0;uint t=0;fuwe

43、i18b20();WriteOneChar(0xCC); / 跳過讀序號列號的操作WriteOneChar(0x44); / 啟動溫度轉(zhuǎn)換delay1(20);fuwei18b20();WriteOneChar(0xCC); /跳過讀序號列號的操作 WriteOneChar(0xBE); /讀取溫度寄存器等(共可讀9個寄存器) 前兩個就是溫度a=ReadOneChar(); /低位b=ReadOneChar(); /高位b<<=4;t=(a>>4)+b;return(t);void keyscanwen() if(s1zhi&&s2zhi)=1) if(

44、fengzhuang=0) if(w1=0) delay2(2); if(w1=0) while(!w1); w1zhi=0; snum+; wendu=1; if(snum=1) temp1=0xff; jia=0; if(snum=1) if(w2=0) delay2(5);if(w2=0) delay2(100); made=1; temp1+;if(temp1=100)temp1=0; if(w3=0) delay2(5);if(w3=0) delay2(100); made=1; if(temp1=0xff) temp1=1; temp1-;if(temp1=0)temp1=99;

45、if(made=0) display_(); else display(temp1); if(snum=2) snum=0; wendu=0; made=0; w1zhi=1; if(temp1=0xff) c8563_Store6=shibcd(110); else c8563_Store6=shibcd(temp1); g8563_Store6=c8563_Store6; /存溫度 P8563_setwen(); delay(2); P8563_Readwen(); delay(2); temp1=bcdshi(g8563_Store6); /定溫數(shù)據(jù)讀取 if(temp1=110) le

46、d=1; else led=0; void jiancewendu(uchar ding) if(ding>=temp1) if(jia=0) fengming=0; /開蜂鳴器 ming=0; else if(jia=1) fengming=1; ming=1; jidian=0; /開繼電器 else jidian=1; /關(guān)繼電器 fengming=1; /關(guān)蜂鳴器 ming=1; PCF8563程序/8563實時時鐘時序#include <intrins.h> #define MIN 0x02 /秒寄存器 #define SEC 0x03 /分寄存器 #define

47、HOUR 0x04 /時寄存器 #define DAY 0x05 /日寄存器 #define WEEK 0x06 /周寄存器 #define MONTH 0x07 /月寄存器 #define YEAR 0x08 /年寄存器 #define read_ADD 0xA3 /讀器件地址 #define write_ADD 0xA2 /寫器件地址 void delayNOP() ; /- / 函數(shù)名稱: iic_start() / 函數(shù)功能: 啟動I2C總線子程序 /- void iic_start() sda=1;delayNOP(); / 延時5usscl=1;delayNOP(); / 延時5u

48、ssda=0;delayNOP(); / 延時5us /- / 函數(shù)名稱: iic_stop() / 函數(shù)功能: 停止I2C總線數(shù)據(jù)傳送子程序 /- void iic_stop() sda=0; delayNOP();scl=1; delayNOP();sda=1; delayNOP(); /- / 函數(shù)名稱: slave_ACK / 函數(shù)功能: 向從機發(fā)送應(yīng)答位子程序 /- void slave_ACK() sda = 0; delayNOP(); scl = 1; delayNOP(); scl = 0; /- / 函數(shù)名稱: slave_NOACK / 函數(shù)功能: 從機發(fā)送非應(yīng)答位子程序

49、,迫使數(shù)據(jù)傳輸過程結(jié)束 /- void slave_NOACK() sda = 1; delayNOP(); scl = 1; delayNOP(); scl = 0; /- / 函數(shù)名稱: check_ACK / 函數(shù)功能: 主機應(yīng)答位檢查子程序,迫使數(shù)據(jù)傳輸過程結(jié)束 /- void check_ACK() scl=1; delayNOP(); while(sda=1); scl=0; delayNOP(); /- / 函數(shù)名稱: IICSendByte / 入口參數(shù): ch / 函數(shù)功能: 發(fā)送一個字節(jié) /- void IICSendByte(uchar date) /寫一個字節(jié)uchar

50、 i,temp;temp=date;for(i=0;i<8;i+)temp=temp<<1;scl=0; delayNOP();sda=CY;delayNOP();scl=1;delayNOP();scl=0;delayNOP();sda=1;delayNOP();/- / 函數(shù)名稱: IICreceiveByte / 返回接收的數(shù)據(jù) / 函數(shù)功能: 接收一字節(jié)子程序 /- uchar IICreceiveByte()/讀一個字節(jié)uchar i,k;scl=0;delayNOP();sda=1;delayNOP();for(i=0;i<8;i+)scl=1;delayN

51、OP();k=(k<<1)|sda;scl=0;delayNOP(); return k;/- / 用戶調(diào)用子程序 / 函數(shù)名稱: write_CFGbyte / 入口參數(shù): CFG_add寄存器地址,CFG_data要寫入寄存器的數(shù)值 / 函數(shù)功能: 發(fā)送1位數(shù)據(jù)子程序 /- void write_CFGbyte(uchar CFG_add,uchar CFG_data) iic_start(); IICSendByte(write_ADD); / 發(fā)送器件寫地址 check_ACK(); / 檢查應(yīng)答位 IICSendByte(CFG_add); / 發(fā)送寄存器地址 check

52、_ACK(); / 檢查應(yīng)答位 IICSendByte(CFG_data); / 發(fā)送寄存器數(shù)據(jù) check_ACK(); / 檢查應(yīng)答位 iic_stop(); / 全部發(fā)完則停止 /- / 用戶調(diào)用子程序 / 函數(shù)名稱: receiveNbyte / 入口參數(shù): CFG_add寄存器地址地址 / 出口參數(shù): receive_da / 函數(shù)功能: 接收某個寄存器數(shù)據(jù)子程序 /- uchar receive_CFGbyte(uchar idata CFG_add) uchar receive_da; iic_start(); IICSendByte(write_ADD); /器件寫地址 che

53、ck_ACK(); IICSendByte(CFG_add); /寄存器地址 check_ACK(); iic_start(); IICSendByte(read_ADD); /器件讀地址 check_ACK(); receive_da=IICreceiveByte(); slave_NOACK(); / 收到最后一個字節(jié)后發(fā)送一個非應(yīng)答位 iic_stop(); return(receive_da); /- / 用戶調(diào)用函數(shù) / 函數(shù)名稱: P8563_Readtime / 函數(shù)功能: 讀出時間信息 /- void P8563_Readtime() g8563_Store0=(receive_CFGbyte(0x02)&0x7f; /*秒*/ g8563_Store1=(receive_CFGbyte(0x03)&0x7f; /*分*/ g8563_Store2=(receive_CFGbyte(0x04)&0x3f; /*小時*/ void P8563_Readwen() g8563_Store6=(receive_CFGbyte(0x08); /*溫度*/ voi

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論