【正文】
接受上位PC機(jī)設(shè)定的控制參數(shù)并將其存儲(chǔ)于電路EEPROM中。相對(duì)濕度的檢測(cè)采用相對(duì)濕度傳感器HS1101,該傳感器的測(cè)量精度為177。3%RH,將單片機(jī)定時(shí)到1s,用T0計(jì)數(shù)器記錄“濕度—頻率轉(zhuǎn)換電路”中的輸出方波數(shù),定時(shí)時(shí)間到時(shí),停止T0計(jì)數(shù),此時(shí)T0所計(jì)的方波數(shù)即為“濕度—頻率轉(zhuǎn)換電路”的頻率,對(duì)照表311(空氣濕度與電壓頻率的典型值),判斷該頻率所屬區(qū)域,將每個(gè)區(qū)域等分為100份,%RH的精度,如在0%RH~10%RH之間均分100份,對(duì)應(yīng)的頻率分為100份,即用相對(duì)濕度為0%RH時(shí)對(duì)應(yīng)頻率(7351Hz)減去相對(duì)濕度為10%RH時(shí)的對(duì)應(yīng)頻率(7224Hz),用該差值除以100,公式如下:為了方便計(jì)算和保證計(jì)算精度,將增量擴(kuò)大100倍,進(jìn)行計(jì)算。在計(jì)算前將每段的增量計(jì)算好,存入表中,在實(shí)際計(jì)算中,分段進(jìn)行查找,計(jì)算只涉及到加減,計(jì)算時(shí)間短,精度高。濕度檢測(cè)的流程如圖16所示。溫度檢測(cè)子程序主要完成的是初始化DS18B20,從DS18B20中讀出一個(gè)字節(jié)的數(shù)據(jù),向DS18B20中寫入一個(gè)字節(jié)的數(shù)據(jù),配置DS18B20溫度轉(zhuǎn)換的精度等,讀出SCRACHPAD存儲(chǔ)器中的九個(gè)字節(jié)的數(shù)據(jù),讀出ROM中的64位CODE值,對(duì)讀出的SCRACHPAD數(shù)據(jù)進(jìn)行CRC校驗(yàn),然后根據(jù)讀出的數(shù)據(jù)得到測(cè)量出的十進(jìn)制溫度值。從DS18B20中讀出九個(gè)字節(jié)數(shù)據(jù)的流程圖如圖17所示。圖17:DS18B20溫度采集流程圖 圖16:濕度檢測(cè)子程序流程圖 上位管理PC機(jī)利用Visual Basic 。本設(shè)計(jì)中的數(shù)據(jù)幀包括8位數(shù)據(jù)位,1位停止位,無(wú)奇偶校驗(yàn)。下面是MSComm控件的初始化程序:=1;設(shè)置串行端口(1)=2400,N,8,1;設(shè)置波特率及數(shù)據(jù)幀格式=1;數(shù)據(jù)接受按字節(jié)(binary)方式=4000;數(shù)據(jù)接受緩沖區(qū)大小為4000字節(jié)=0;INPUT讀取緩沖區(qū)的所有內(nèi)容=True;打開COM1……。數(shù)據(jù)發(fā)送程序:Private Sub Command1_Click()Dim outbuf(1 To 6)As ByteDim lstr1 As StringDim hstr2 As StringDim len1 As =Falselen1=Len(Hex(Val()))………End Sub數(shù)據(jù)接受程序:Private Sub MSm1_OnComm()Select Case Case EvReceiveDim inbuf()As Byte,i%,buf$buf=inbuf=Rev_num=UBound(inbuf)ReDim lnum(0 To Rev_num)As IntegerFor i=0 To Rev_numlnum(i)=inbuf(i)buf=buf+Str(inbuf(i))+Next iCase EvSendEnd Select End Sub本設(shè)計(jì)在焊接好電路硬件的基礎(chǔ)上,通過ISP下載線將軟件代碼下載至AT89S52單片機(jī)中完成系統(tǒng)集成。由于采用了AT89S52單片機(jī),性能可靠、電路簡(jiǎn)單,系統(tǒng)中還可充分利用AT89S52中先進(jìn)的軟件硬件資源,便于軟件系統(tǒng)的升級(jí)。15參考文獻(xiàn):[1] 李萍主編,《AT89S51單片機(jī)原理、開發(fā)與應(yīng)用實(shí)例》,中國(guó)電力出版社,2008年7月:6776[2] [J].科技信息(學(xué)術(shù)研究).113119[3] 徐建軍編著,《MCS51系列單片機(jī)應(yīng)用及接口技術(shù)》,人民郵電出版社,2003:117131[4] 鄭學(xué)堅(jiān)編,《微型計(jì)算機(jī)原理及應(yīng)用》,清華大學(xué)大學(xué)出版社,1998:66112[5] 白雪冰,張延林,[M].哈爾濱:東北林業(yè)大 學(xué)出版社,2006.[6] 夏繼強(qiáng)編,《單片機(jī)實(shí)驗(yàn)與實(shí)踐教程》,北京航空航天大學(xué)出版社,2001:3233[7] 余錫存編著,《單片機(jī)原理及接口技術(shù)》,西安電子科技大學(xué)出版社,2000:5673[8] 李剛等編著,《51系列單片機(jī)系統(tǒng)設(shè)計(jì)與應(yīng)用技巧》,北京航空航天大學(xué)出版社,2002[9] 余永權(quán)著,《ATMEL89系列單片機(jī)應(yīng)用技術(shù)》,北京航空航天大學(xué)出版社,:2127[10] 歐陽(yáng)文編,《ATMEL89系列單片機(jī)的原理與開發(fā)實(shí)踐》,中國(guó)電力出版社,:203237[11] Changjun,liyan. Application of humidity sensor HS1101 in intelligent home controlsystem Electronic .[12] Dong wen jun..DS1820 OneWire Temperature Detecting Network Based On PC Serial [13] LIU Yi。ZHAO(Key Laboratory of Integrated Automation of Process Industry。Ministry of Education。Northeastern University。Shenyang 110004。China. Journal of GansuLianhe University(Natural Science Edition).2592