畢業(yè)設(shè)計(jì)-基于aduc812單片機(jī)的溫濕度檢測(cè)儀設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)-基于aduc812單片機(jī)的溫濕度檢測(cè)儀設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)-基于aduc812單片機(jī)的溫濕度檢測(cè)儀設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)-基于aduc812單片機(jī)的溫濕度檢測(cè)儀設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)-基于aduc812單片機(jī)的溫濕度檢測(cè)儀設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩41頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于ADUC812單片機(jī)的溫濕度檢測(cè)儀摘要環(huán)境中的溫濕度指標(biāo)是兩個(gè)重要的物理參數(shù),在許多領(lǐng)域?qū)貪穸葴y(cè)量要求高的場(chǎng)合,都需要精確測(cè)量溫濕度。針對(duì)這一情況,設(shè)計(jì)一種可靠、實(shí)用的檢測(cè)儀器顯得非常重要。基于ADUC812單片機(jī)的濕度檢測(cè)儀可以實(shí)時(shí)、準(zhǔn)確的測(cè)量環(huán)境中的溫度和相對(duì)濕度,并能通過(guò)鍵盤(pán)輸入設(shè)置濕度上下限的值以及進(jìn)行語(yǔ)音報(bào)警,其附有的通信接口可方便地實(shí)現(xiàn)與計(jì)算機(jī)的實(shí)時(shí)通信。在整個(gè)設(shè)計(jì)過(guò)程中,我們綜合參考了國(guó)內(nèi)外同類(lèi)產(chǎn)品的設(shè)計(jì)方法,結(jié)合用戶的實(shí)際需求,經(jīng)研究之后,硬件部分的設(shè)計(jì)采用了以帶有A/D轉(zhuǎn)換器的ADUC812單片機(jī)為核心控制器件,以高靈敏度AD590電流輸出型二端式集成溫度傳感器為溫度數(shù)據(jù)獲取元件和濕度傳感器THS11采集環(huán)境中的相對(duì)濕度,模擬輸入接口接入鍵盤(pán)實(shí)現(xiàn)人機(jī)交換功能,并用LCD作為顯示設(shè)備的硬件設(shè)計(jì)方案。此外,在通信方面使用RS232串行數(shù)據(jù)接口與計(jì)算機(jī)進(jìn)行數(shù)據(jù)傳輸。軟件部分則采用采用模塊化的方法將其分成幾個(gè)部分,然后逐模塊設(shè)計(jì)程序,用匯編語(yǔ)言來(lái)實(shí)現(xiàn),最終使各部分結(jié)合起來(lái)協(xié)調(diào)工作。該溫濕度檢測(cè)儀的設(shè)計(jì),能夠完成的溫濕度檢測(cè),實(shí)現(xiàn)主要的溫濕度檢測(cè)功能。關(guān)鍵詞ADUC812單片機(jī),傳感器,LCD,溫濕度MEASURINGINSTRUMENTFORHUMIDITYBASEEDONADUC812MICROCONTROLLERABSTRACTTHETEMPERATUREANDRELATIVEHUMIDITYOFENVIRONMENTALCONDITIONARETWOIMPORTANTPHYSICALPARAMETERS,ININDUSTRYDEPARTMENTASWELLASTHELABORATORYANDSOONTHEPETRIFICATION,METALLURGY,ELECTRICPOWER,DRUGSMANUFACTURE,CEMENTREQUESTSTHEHIGHSITUATIONTOTHETEMPERATUREANDRELATIVEHUMIDITYSURVEY,ITAPPEARSVERYIMPORTANTTODEVELOPARELIABLEANDPRACTICALINSTRUMENTTHATCANEXAMINETHERELATIVEHUMIDITYOFENVIRONMENTBASEDONTHEADUC812MICROCONTROLLERHUMIDITYINSTRUMENTBEABLETOACCURATEEXAMINEENVIRONMENTTEMPERATUREANDTHERELATIVEHUMIDITYONREALTIME,ANDUSERCANSETTHEHUMIDITYEXAMINANTSRANGE,SOITWILLGIVEAWHENTHEREALHUMIDITYBEYONDTHELIMITINGITATTACHESTHECORRESPONDENCECONNECTIONMAYCONVENIENTLYTHEREALIZATIONANDTHECOMPUTERREALTIMECOMMUNICATIONINTHEWHOLEDESIGNPROCESS,WEHAVESYNTHESIZEDREFERREDTOTHEDOMESTICANDFOREIGNSIMILARPRODUCTSDESIGNMETHOD,THEUNIONUSERSDEMAND,ASWELLASHIGHXINGJIANCOMPAREDTOANDSOONTARGET,AFTERRESEARCH,USEDTAKEINCLUDEDA/DTHESWITCHTHEADUC812MICROCONTROLLERASTHECORECONTROLCOMPONENT,TAKETHEHIGHSENSITIVITYWARMSENSORAD590ASTHEDATAGAINPARTANDTAKETHEHUMIDITYSENSORTHS11ASTHEDATAGAINPART,ANDTOOKTHEGRAPHICDISPLAYDEVICEWITHLCDTHEHARDWAREDESIGNPROPOSALINADDITION,HASUSEDTHERS232SERIALDATACONNECTIONINTHESERIALCOMMUNICATIONASPECTBUTSOFTWAREPARTIALUSESMODULARTHEDESIGNMETHOD,CAUSESVARIOUSSEGMENTSTHEFUNCTIONEVENMORETOBECLEARABOUT,THEREADABILITYISSTRONGERTHETEMPERATUREANDHUMIDITYDETECTORCIRCUITDESIGN,TOCOMPLETEACAPTIALTEMPERATUREANDHUMIDITYTESTING,ACHIEVINGBASICFUNCTIONSOFTEMPERATUREANDHUMIDITYTESTINGKEYWORDSADUC812MICROCONTROLLER,SENSOR,LCD,TEMPERATUREANDHUMIDITY目錄前言1第1章溫濕度檢測(cè)儀總體技術(shù)方案211溫濕度檢測(cè)儀的主要性能指標(biāo)及其工作原理2111性能指標(biāo)2112溫濕度檢測(cè)儀的工作原理212溫濕度檢測(cè)儀的硬件設(shè)計(jì)總體結(jié)構(gòu)方案313溫濕度檢測(cè)儀應(yīng)用軟件系統(tǒng)的設(shè)計(jì)方案4第2章溫濕度檢測(cè)儀的硬件電路設(shè)計(jì)621溫濕度檢測(cè)儀ADUC812單片機(jī)電路的設(shè)計(jì)622溫濕度檢測(cè)儀的硬件電路設(shè)計(jì)7221溫度檢測(cè)電路8222濕度檢測(cè)電路8223其它模塊電路設(shè)計(jì)9第3章溫濕度檢測(cè)儀的軟件設(shè)計(jì)1331主程序模塊設(shè)計(jì)1332溫濕度檢測(cè)模塊程序設(shè)計(jì)14321溫度檢測(cè)模塊程序設(shè)計(jì)14322濕度檢測(cè)模塊程序設(shè)計(jì)1533鍵盤(pán)掃描和LCD顯示模塊程序設(shè)計(jì)20331鍵盤(pán)掃描20332LCD顯示部分程序設(shè)計(jì)23結(jié)論28參考文獻(xiàn)29致謝31附錄32前言日常生活中,檔案館、圖書(shū)館、精密儀器室、超凈車(chē)間對(duì)等對(duì)環(huán)境溫濕度都有嚴(yán)格的要求所以溫濕度集散控制技術(shù)是最常見(jiàn)的應(yīng)用技術(shù)。隨著科技的進(jìn)步,檢測(cè)儀表也向著智能化、小型化、低功耗的方向發(fā)展。在這個(gè)發(fā)展過(guò)程中,單片機(jī)發(fā)揮了重要的作用,本文介紹的濕度檢測(cè)儀就是以單片機(jī)作為核心控制器設(shè)計(jì)的。它具有體積小、操作簡(jiǎn)單、性能穩(wěn)定、測(cè)量精度高和抗干擾能力強(qiáng)等優(yōu)點(diǎn),可廣泛應(yīng)用于需要對(duì)溫濕度進(jìn)行測(cè)控的領(lǐng)域中。本設(shè)計(jì)首先根據(jù)實(shí)際生產(chǎn)生活的需要提出溫濕度檢測(cè)儀的功能要求,然后由這些要求具體設(shè)計(jì)出了硬件原理圖,再采用模塊化的方法將其分成幾個(gè)部分,然后逐模塊設(shè)計(jì)程序,最使各部分結(jié)合起來(lái)協(xié)調(diào)工作。它是利用單片機(jī)的在控制方面的突出優(yōu)點(diǎn),并綜合運(yùn)用現(xiàn)代檢測(cè)技術(shù)、微控制技術(shù)、數(shù)據(jù)處理和通信技術(shù)以及LCD顯示技術(shù)而設(shè)計(jì)的??梢詫?shí)時(shí)、準(zhǔn)確的測(cè)量環(huán)境中的溫度和相對(duì)濕度,通過(guò)鍵盤(pán)輸入設(shè)置相對(duì)濕度上下限及進(jìn)行報(bào)警,并且可以和PC機(jī)進(jìn)行通信,作為溫濕度記錄儀使用。論文的第一章介紹了溫濕度檢測(cè)儀的主要性能指標(biāo)及其工作原理,主要介紹了溫濕度檢測(cè)儀的硬件設(shè)計(jì)總體方案和溫濕度檢測(cè)儀的應(yīng)用軟件系統(tǒng)的設(shè)計(jì)方案;第二章主要介紹了溫濕度檢測(cè)儀的硬件電路設(shè)計(jì),重點(diǎn)介紹了溫度檢測(cè)電路和濕度檢測(cè)電路;第三章主要介紹了基于ADUC812單片機(jī)的濕度檢測(cè)儀的軟件設(shè)計(jì),軟件設(shè)計(jì)部分采用模塊化設(shè)計(jì),重點(diǎn)介紹了濕度檢測(cè)模塊程序設(shè)計(jì)中對(duì)濕度的頻率的線性化處理和溫度補(bǔ)償。第1章溫濕度檢測(cè)儀總體技術(shù)方案溫濕度作為兩項(xiàng)項(xiàng)環(huán)境參數(shù),在很多方面都起著重要的作用。本文中的基于ADUC812單片機(jī)的濕度檢測(cè)儀就是針對(duì)這一需求而設(shè)計(jì)的。它綜合運(yùn)用了現(xiàn)代檢測(cè)技術(shù)、數(shù)據(jù)處理和通信技術(shù)以及LCD顯示技術(shù),可以實(shí)時(shí)、準(zhǔn)確的測(cè)量環(huán)境中的溫度和相對(duì)濕度和設(shè)置相對(duì)濕度上下限及進(jìn)行報(bào)警,并且可以和PC機(jī)進(jìn)行通信,作為溫濕度記錄儀使用。在此設(shè)計(jì)過(guò)程中,我們綜合分析了不同用戶在不同場(chǎng)合的不同需求,并且借鑒了國(guó)內(nèi)外同類(lèi)儀表設(shè)計(jì)的經(jīng)驗(yàn),經(jīng)研究之后,采用了以含有A/D轉(zhuǎn)換器的ADUC812單片機(jī)為核心控制器件,以高靈敏度溫度傳感器和濕度傳感器為數(shù)據(jù)獲取元件的方案。它的設(shè)計(jì)過(guò)程主要包含硬件設(shè)計(jì)和軟件設(shè)計(jì)兩大過(guò)程以下是該溫濕度檢測(cè)儀設(shè)計(jì)的大概過(guò)程。11溫濕度檢測(cè)儀的主要性能指標(biāo)及其工作原理111性能指標(biāo)1相對(duì)濕度測(cè)量精度3RH,分辨力01RH;2溫度測(cè)量精度1,分辨力01;3可有用戶自行校準(zhǔn)儀表的測(cè)量精度,無(wú)需硬件調(diào)整;4可直接與微機(jī)串行口連接,作環(huán)境相對(duì)濕度與溫度的高精度記錄儀使用;5LCD顯示;6用戶可編程設(shè)定相對(duì)溫度與濕度上、下限報(bào)警值,并可進(jìn)行語(yǔ)音報(bào)警;7用戶可編程設(shè)定手動(dòng)或定時(shí)自動(dòng)打印相對(duì)濕度與溫度的測(cè)量結(jié)果;8可手動(dòng)或自動(dòng)記錄測(cè)量的相對(duì)濕度與溫度的結(jié)果;9電源DC9V10;10工作環(huán)境溫度60,工作環(huán)境濕度90;112溫濕度檢測(cè)儀的工作原理加載有相應(yīng)程序的ADUC812單片機(jī)定時(shí)采集溫度測(cè)量電路電壓信號(hào)和相對(duì)濕度測(cè)量電路輸出的頻率信號(hào),并對(duì)濕度的頻率進(jìn)行線性化處理和溫度補(bǔ)償,從而獲得溫度和相對(duì)濕度數(shù)據(jù),分別將這些數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器中,然后送LCD顯示屏顯示??赏ㄟ^(guò)鍵盤(pán)電路來(lái)設(shè)置相對(duì)濕度的上下限,當(dāng)檢測(cè)到的環(huán)境濕度超過(guò)限制設(shè)定值時(shí),單片機(jī)控制報(bào)警電路發(fā)出語(yǔ)音警報(bào)。當(dāng)儀表收到PC機(jī)發(fā)送的傳送指令時(shí),就把當(dāng)前一段時(shí)間的測(cè)量數(shù)據(jù)打包傳送給PC機(jī)。12溫濕度檢測(cè)儀的硬件設(shè)計(jì)總體結(jié)構(gòu)方案硬件部分是檢測(cè)儀的重要部分,設(shè)計(jì)的好壞直接影響到整機(jī)的性能。該檢測(cè)儀采用ADUC812單片機(jī)為核心,整個(gè)硬件系統(tǒng)分為以下幾個(gè)部件,具體如圖11所示LCD顯示電路電源電路部分溫度傳感電路濕度傳感電路鍵盤(pán)掃描電路語(yǔ)音報(bào)警電路RS232轉(zhuǎn)換電路ADUC812單片機(jī)圖11硬件電路框圖溫度檢測(cè)電路由半導(dǎo)體集成傳感器AD590和電阻構(gòu)成,AD590輸出電流通過(guò)電阻進(jìn)入模擬地,產(chǎn)生相應(yīng)的電阻電壓。電阻的電壓輸入到ADUC812單片機(jī)中,經(jīng)ADC轉(zhuǎn)換為數(shù)字量,有應(yīng)用軟件處理得到環(huán)境溫度。相對(duì)濕度測(cè)量電路由NE555構(gòu)成的振蕩電路組成,濕度傳感器THS11的電容隨環(huán)境相對(duì)濕度的變化而變化,從而導(dǎo)致振蕩器的振蕩頻率變化,ADUC812單片機(jī)通過(guò)測(cè)量振蕩器輸出的振蕩頻率,經(jīng)過(guò)軟件處理后,獲得相對(duì)濕度值。鍵盤(pán)輸入電路與LCD顯示電路實(shí)現(xiàn)人機(jī)對(duì)話的功能。RS232接口電路與PC機(jī)的串行口聯(lián)接,實(shí)現(xiàn)通信功能。13溫濕度檢測(cè)儀應(yīng)用軟件系統(tǒng)的設(shè)計(jì)方案該儀表的系統(tǒng)程序設(shè)計(jì)采用模塊化的程序設(shè)計(jì)方法,其結(jié)構(gòu)見(jiàn)圖12主模塊溫度檢測(cè)濕度檢測(cè)鍵盤(pán)掃描LCD顯示溫度電壓讀取溫度信號(hào)處理溫度顯示濕度頻率讀取線性處理濕度顯示濕度信號(hào)處理溫度補(bǔ)償LCD顯示驅(qū)動(dòng)圖12軟件設(shè)計(jì)模塊圖檢測(cè)儀的應(yīng)用軟件系統(tǒng)包括主程序模塊、溫度檢測(cè)模塊、相對(duì)濕度檢測(cè)模塊、鍵盤(pán)和顯示模塊以及串行通信模塊。主程序的內(nèi)容包括主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序。溫度檢測(cè)模塊主要是完成測(cè)溫電路所得電壓與實(shí)際溫度的轉(zhuǎn)換,和對(duì)溫度數(shù)據(jù)的存儲(chǔ)、顯示;相對(duì)濕度檢測(cè)模塊除了要實(shí)現(xiàn)對(duì)濕度數(shù)據(jù)的存儲(chǔ)、顯示外,還要對(duì)濕度信號(hào)進(jìn)行溫度補(bǔ)償和線性化處理。鍵盤(pán)、顯示模塊完成檢測(cè)儀控制和數(shù)據(jù)顯示功能;通信模塊包括初始化、發(fā)送及接收部分,可實(shí)現(xiàn)檢測(cè)儀與PC機(jī)通信的功能。第2章溫濕度檢測(cè)儀的硬件電路設(shè)計(jì)此系統(tǒng)采用了以含有A/D轉(zhuǎn)換器的ADUC812單片機(jī)為核心控制器件,以高靈敏度傳感器為獲取元件,用LCD作為顯示設(shè)備,并含有語(yǔ)音報(bào)警電路的方案。這個(gè)系統(tǒng)主要由ADUC812單片機(jī)、溫度測(cè)量電路、相對(duì)濕度測(cè)量電路、語(yǔ)音報(bào)警電路、鍵盤(pán)輸入電路與LCD顯示電路。21溫濕度檢測(cè)儀ADUC812單片機(jī)電路的設(shè)計(jì)該檢測(cè)儀的設(shè)計(jì)是以ADUC812單片機(jī)為核心部件,ADUC812單片機(jī)是美國(guó)AD公司推出的與MCS51單片機(jī)兼容的ADUC812單片機(jī),它包含了高性能的8路12位ADC、2路12位DAC、80C52MCU內(nèi)核、8KBEEPROM程序存儲(chǔ)器、640BEEPROM數(shù)據(jù)存儲(chǔ)器和溫度傳感器等片內(nèi)資源。ADUC812單片機(jī)的引腳排列如圖21。利用ADUC812單片機(jī)的輸入接口P17定時(shí)采集溫度測(cè)量電路電壓信號(hào)和輸入/輸出接口P35采集相對(duì)濕度測(cè)量電路輸出的頻率信號(hào),并對(duì)濕度的頻率進(jìn)行線性化處理和補(bǔ)償,從而獲得溫度和相對(duì)濕度數(shù)據(jù),分別將這些數(shù)據(jù)存儲(chǔ)于數(shù)據(jù)存儲(chǔ)器中,然后再通過(guò)P36和P37接口把芯片處理的數(shù)據(jù)送入顯示模塊電路,并可以用LCD顯示屏顯示出來(lái)。當(dāng)溫濕度檢測(cè)儀檢測(cè)到的相對(duì)濕度超過(guò)用戶設(shè)定的上下限時(shí),單片機(jī)通過(guò)P10口輸出語(yǔ)音信號(hào)到報(bào)警電路。單片機(jī)通過(guò)模擬輸入口ADC0ADC7連接鍵盤(pán),用戶可以通過(guò)鍵盤(pán)輸入實(shí)現(xiàn)人機(jī)交換。ADUC812單片機(jī)的P30、P31端口與PC機(jī)相連實(shí)現(xiàn)串行通信,采用RS232C串行接口。ADUC812單片機(jī)的時(shí)鐘電路采用的是內(nèi)部的時(shí)鐘電路,利用單片機(jī)內(nèi)部的振蕩電路,并在XLAT1和XLAT2兩引腳間外接石英晶體和電容構(gòu)成的并聯(lián)諧振電路,使內(nèi)部振蕩器產(chǎn)生自激振蕩。石英晶體XT1頻率是11059M,C1和C2是33PF。1234ABCD4321DCBAP11/ADC12P12/ADC23P13/ADC34P10/ADC01P14/ADC411P15/ADC512P16/ADC613P17/ADC714AVDD5AGND6CREF7VREF8DAC09DAC110P30/RXD16P31/TXD17P32/INT018P33/INT1/MISO19P34/T022P35/T1/CONVST23P36/WR24P37/RD25P2638P2739P2537P24/A12/A2036P23/A11/A1931P2230P2129P2028P00/AD043P01/AD144P02/AD245P03/AD346P04/AD449P05/AD550P06/AD651P07/AD752RESET15XTAL1INPUT32XTAL2OUTPUT33DGND35DVDD34DVDD48DGND47ALE42PSEN41EA40DVDD20DGND21SCLOCK26SDATA27ADUC812A圖21ADUC812單片機(jī)的引腳排列圖ADUC812單片機(jī)的復(fù)位電路采用的開(kāi)關(guān)復(fù)位電路,開(kāi)關(guān)SW1未按下是上電復(fù)位電路,上電復(fù)位電路在上電的瞬間,由于電容上的電壓不能突變,電容處于充電(導(dǎo)通)狀態(tài),故RST腳的電壓與VCC相同。隨著電容的充電,RST腳上的電壓才慢慢下降。選擇合理的充電常數(shù),就能保證在開(kāi)關(guān)按下時(shí)是RST端有兩個(gè)機(jī)器周期以上的高電平從而使ADUC812內(nèi)部復(fù)位。SW1按下時(shí)是按鍵手動(dòng)復(fù)位電路,RST端通過(guò)R1與VCC電源接通,提供足夠的時(shí)間的復(fù)位電平,使單片機(jī)復(fù)位?;贏DUC812單片機(jī)的溫濕度檢測(cè)儀的原理圖見(jiàn)附錄。22溫濕度檢測(cè)儀的硬件電路設(shè)計(jì)該溫濕度檢測(cè)儀的硬件系統(tǒng)由以下部分組成電源部分、相對(duì)濕度測(cè)量電路、溫度測(cè)量電路、鍵盤(pán)掃描電路、LCD顯示電路、語(yǔ)音報(bào)警電路、與PC機(jī)通信的RS232轉(zhuǎn)換電路和存儲(chǔ)器擴(kuò)展部分,各部分設(shè)計(jì)如下。221溫度檢測(cè)電路溫度檢測(cè)電路主要由AD590傳感器、電阻和放大器組成,具體電路圖如圖12所示。AD590是一種電流輸出型二端式集成溫度傳感器,其主要技術(shù)參數(shù)測(cè)溫范圍55150;工作電壓4V30V;精度05;靈敏度1A/,溫度每變化1,其輸出電流變化1A;輸出零點(diǎn)為熱力學(xué)溫標(biāo)零點(diǎn)。即273時(shí)AD590的輸出電流為0A,0時(shí)輸出約為273A。溫度檢測(cè)電路如圖22所示1234ABCD4321DCBAR1551KVAA21STAD590P17圖22溫度檢測(cè)電路工作過(guò)程因?yàn)榱鬟^(guò)AD590的電流與熱力學(xué)溫度成正比,電流經(jīng)電阻R15轉(zhuǎn)換為電壓信號(hào),所以電阻R15上的電壓也將隨環(huán)境中溫度的變化而變化。電阻上的電壓信號(hào)經(jīng)放大器放大后輸入到ADUC812單片機(jī)帶有A/D轉(zhuǎn)換器的端口P17,由單片機(jī)應(yīng)用軟件處理為環(huán)境中的實(shí)際溫度數(shù)據(jù)。222濕度檢測(cè)電路相對(duì)濕度測(cè)量電路如圖23所示,它由NE555構(gòu)成的振蕩器組成,濕度傳感器THS11的電容隨環(huán)境相對(duì)濕度的變化而變化,從而導(dǎo)致振蕩器的振蕩頻率變化。濕度檢測(cè)電路通過(guò)濕度傳感器THS11采集環(huán)境中的相對(duì)濕度。THS11是一種電容式濕度傳感器,它的電容值隨環(huán)境濕度的變化而變化,它具有測(cè)量范圍廣(0100)RH;適用性好,可在(40100)溫度下工作;精度高(2);響應(yīng)速度快(5S),恢復(fù)時(shí)間短(10S);長(zhǎng)期穩(wěn)定好(年漂移量?jī)H為15RH)并且具有極好的線性輸出等特性。1234ABCD4321DCBAC12THS11R17910KLR16580KLR1451KLVAAR4TRIG2CVOLT5Q3DIS7THR6NE555U2CONVST圖23濕度檢測(cè)電路濕度檢測(cè)電路的工作過(guò)程為環(huán)境相對(duì)濕度的變化導(dǎo)致濕度傳感器THS11的電容變化,從而引起振蕩器的輸出頻率的變化。單片機(jī)通過(guò)測(cè)量該頻率的變化,經(jīng)應(yīng)用軟件的溫度補(bǔ)償和線性化處理可獲得環(huán)境相對(duì)濕度值。該測(cè)量電路的測(cè)量精度為3RH,分辨力01RH,使得相對(duì)濕度傳感器THS11的測(cè)量范圍大,長(zhǎng)期穩(wěn)定性好,響應(yīng)時(shí)間短,溫度系數(shù)低,線性度較好,體積小。不足之處是相對(duì)濕度傳感器THS11及其它元件的離散性導(dǎo)致了調(diào)試?yán)щy,需進(jìn)一步研究解決。223其它模塊電路設(shè)計(jì)鍵盤(pán)輸入電路與LCD顯示電路實(shí)現(xiàn)人機(jī)對(duì)話的功能。RS232C接口電路與PC機(jī)的串行口聯(lián)接,實(shí)現(xiàn)通信功能。打印輸出接口電路與打印機(jī)連接,實(shí)現(xiàn)打印功能。以下重點(diǎn)簡(jiǎn)單介紹LCD顯示電路、語(yǔ)音報(bào)警電路、串行通信模塊1LCD顯示電路LCD顯示電路用于實(shí)現(xiàn)中文窗口菜單和測(cè)量結(jié)果顯示功能,可通過(guò)鍵盤(pán)掃描電路完成參數(shù)輸入、菜單選擇等操作。因此,鍵盤(pán)掃描電路和LCD顯示電路可視為人機(jī)對(duì)話接口。顯示模塊電路如圖24所示。1234ABCD4321DCBAR35VCCE6RST17CS216CS115R/W5D/I4DB714DB613DB512DB411DB310DB29DB18DB07VSS1VDD2VEE18VO3VLED19VLED20U7HS12864BA8A9A11A10D7D6D5D4D3D2D1D0P12456U3B74HC00VCC123U3A74HC00RDWR8910U3C74HC00VCC圖24顯示模塊電路電路中的HS12864是一種圖形點(diǎn)陣液晶顯示器,它主要由行驅(qū)動(dòng)器/列驅(qū)動(dòng)器及12864全點(diǎn)陣液晶顯示器組成??赏瓿蓤D形顯示,也可以顯示84個(gè)1616點(diǎn)陣漢字。主要技術(shù)參數(shù)和性能1電源VDD5V;模塊內(nèi)自帶10V負(fù)壓,用于LCD的驅(qū)動(dòng)電壓。2顯示內(nèi)容128列64行點(diǎn)3全屏幕點(diǎn)陣4七種指令5與CPU接口采用8位數(shù)據(jù)總線并行輸入輸出和8條控制線6占空比1/647工作溫度1050,存儲(chǔ)溫度2070在顯示電路中,單片機(jī)的RD、WR、P12端口通過(guò)由“與非門(mén)”構(gòu)成的輔助電路與HS12864的E端口相連,來(lái)控制顯示模塊對(duì)單片機(jī)送來(lái)數(shù)據(jù)的操作;而P01口控制顯示器顯示內(nèi)容,即數(shù)據(jù)或指令;來(lái)自P02,P03的指令選擇顯示器左右半屏的信號(hào)。2語(yǔ)音報(bào)警電路1234ABCD4321DCBAR5047KC2801USPEAKER1SPEAKERVCCQ7NPN_1R1410P10INK9圖25語(yǔ)音報(bào)警電路報(bào)警電路主要由電源、放大器、濾波電路和揚(yáng)聲器組成。當(dāng)溫濕度檢測(cè)儀檢測(cè)到的相對(duì)濕度超過(guò)用戶設(shè)定的上下限時(shí),單片機(jī)通過(guò)P10口輸出語(yǔ)音信號(hào)使報(bào)警電路發(fā)出警報(bào)。語(yǔ)音報(bào)警電路如圖25。3串行通信模塊1234ABCD4321DCBAVCCC1110UF/25VC1010UF/25VC910UF/25VC810UF/25V162738495J1DB912345687109U3PRO31B3TMP_232C_43P31/TXDP30/RXD圖26與PC通信電路與PC通信電路如圖26,檢測(cè)儀與PC機(jī)通信采用RS232串行接口。RS232是PC機(jī)與通信工業(yè)中應(yīng)用最廣泛的一種串行接口,它被定義為一種在低速率串行通訊中增加通訊距離的單端標(biāo)準(zhǔn)。RS232采取不平衡傳輸方式,即所謂單端通訊。由于其發(fā)送電平與接收電平的差僅為2V至3V左右,所以其共模抑制能力差,再加上雙絞線上的分布電容,其傳送距離最大為約15米,最高速率為20KB/S。RS232是為點(diǎn)對(duì)點(diǎn)(即只用一對(duì)收、發(fā)設(shè)備)通訊而設(shè)計(jì)的,其驅(qū)動(dòng)器負(fù)載為37K,所以RS232適合本地設(shè)備之間的通信。RS232是用正負(fù)電壓來(lái)表示邏輯狀態(tài)的,而TTL是用高低電平來(lái)表示邏輯狀態(tài)的,因此,為了能夠同PC機(jī)接口或終端的TTL器件連接,必須在RS232與TTL電平之間進(jìn)行電平轉(zhuǎn)換這里利用MAX232完成電平轉(zhuǎn)換工作。MAX232芯片是MAXIM公司生產(chǎn)、包行兩路接收器和驅(qū)動(dòng)器的IC芯片,適用于各種EIA232C和V28/V24的通信接口。MAX232芯片內(nèi)部有一個(gè)電壓變換器,可以把輸入的5V電源電壓變換成為RS232所輸出電平所需的電壓。所以,采用此芯片的串行通信系統(tǒng)只需單一的5V電源就可以了。第3章溫濕度檢測(cè)儀的軟件設(shè)計(jì)31主程序模塊設(shè)計(jì)主程序是控制和管理的核心,主要完成在系統(tǒng)上電后進(jìn)行定時(shí)和中斷開(kāi)始顯示開(kāi)機(jī)界面有鍵按下嗎溫度檢測(cè)嗎溫度檢測(cè)溫度顯示濕度檢測(cè)嗎濕度檢測(cè)濕度顯示數(shù)據(jù)通信嗎數(shù)據(jù)傳輸結(jié)束NOYESYESYESYESNONONO圖31主程序流程圖處理操作的初始化。它的內(nèi)容包括主程序的起始地址,中斷服務(wù)程序的起始地址,有關(guān)內(nèi)存單元及相關(guān)部件的初始化和一些子程序調(diào)用等等。主程序設(shè)計(jì)框圖如上圖31。主程序初始化的具體內(nèi)容包括時(shí)間中斷的初始化、外部中斷源的初始化、單片機(jī)I/O口初始化、串行通信中斷的初始化、RAM初始化,LCD初始化。然后對(duì)溫度和濕度進(jìn)行檢測(cè)并將結(jié)果顯示在LCD上。32溫濕度檢測(cè)模塊程序設(shè)計(jì)321溫度檢測(cè)模塊程序設(shè)計(jì)該檢測(cè)儀的溫度檢測(cè)部分使用的AD590是一種由所在環(huán)境溫度決定的恒流輸出器件,其輸出特性為IKTT式中I為AD590輸出電流信號(hào),單位為1UA電流。T為絕對(duì)溫度,單位為K。KT為轉(zhuǎn)換系數(shù),單位為1UA/K。AD590輸出電流信號(hào)經(jīng)電阻R轉(zhuǎn)換為電壓信號(hào),其電壓為VRKTRTVR從ADC口輸入到單片機(jī)中,進(jìn)行A/D轉(zhuǎn)換,成為數(shù)字量VT。溫度檢測(cè)模塊程序如圖32,首先讀取測(cè)量電路的溫度電壓VT,并將這一電壓信號(hào)作為溫度轉(zhuǎn)換參數(shù)進(jìn)行電壓溫度轉(zhuǎn)換,具體轉(zhuǎn)換方法為把經(jīng)過(guò)A/D的所得的數(shù)字電壓值VT作如下計(jì)算TKT(VTV0)式中T為需要測(cè)量的環(huán)境實(shí)際溫度值,參數(shù)V0為環(huán)境溫度為0時(shí)A/D轉(zhuǎn)換的數(shù)字量電壓值,參數(shù)KT為環(huán)境溫度與A/D轉(zhuǎn)換的數(shù)字量電壓的轉(zhuǎn)換系數(shù)KT1/KTR15。它們均作為常量存儲(chǔ)在單片機(jī)的片內(nèi)數(shù)據(jù)EEPROM中。由于V0、KT準(zhǔn)確與否直接影響溫度測(cè)量的精度,可通過(guò)以下方法進(jìn)行校正用其它高精度的測(cè)溫儀測(cè)量環(huán)境溫度T1,輸入本儀表,單片機(jī)同時(shí)記錄下相應(yīng)的A/D轉(zhuǎn)換的數(shù)字量V1。當(dāng)環(huán)境溫度從T1變化到T2時(shí),重復(fù)以上過(guò)程,單片機(jī)同時(shí)記錄下相應(yīng)的A/D轉(zhuǎn)換的數(shù)字量V2。為保證校準(zhǔn)精度,環(huán)境溫度應(yīng)在25左右變化,并且變化的范圍盡可能大一些。儀表的應(yīng)用軟件根據(jù)KT(T1T2)/(V1V2)和V0VT1T1/KT計(jì)算出KT和V0的值,并存儲(chǔ)在單片機(jī)的EEPROM數(shù)據(jù)存儲(chǔ)器中,既完成該儀表的溫度測(cè)量精度的校正。儀表的應(yīng)用軟件系統(tǒng)配置有專(zhuān)用的服務(wù)子程序完成此項(xiàng)工作,僅僅需按儀表的LCD顯示器的提示完成有關(guān)操作。開(kāi)始返回溫度傳感電路電壓讀取溫度信號(hào)轉(zhuǎn)換初始化溫度數(shù)據(jù)存儲(chǔ)溫度顯示測(cè)溫結(jié)束嗎YESNO圖32溫度檢測(cè)模塊程序流程圖溫度檢測(cè)模塊程序流程如圖32,該模塊程序最后將計(jì)算得到的溫度值送入數(shù)據(jù)存儲(chǔ)器,并調(diào)用LCD顯示程序?qū)h(huán)境溫度顯示出來(lái),然后返回主程序繼續(xù)下面的操作。322濕度檢測(cè)模塊程序設(shè)計(jì)1程序欲解決問(wèn)題分析濕度測(cè)量電路是由濕度傳感器THS11和NE555構(gòu)成的振蕩電路組成。濕度傳感器THS11的電容值隨溫度的變化導(dǎo)致振蕩器的振蕩頻率發(fā)生變化,所以可以通過(guò)測(cè)量振蕩器輸出頻率,獲得相對(duì)濕度值。實(shí)驗(yàn)得出振蕩電路的輸出頻率(F)與環(huán)境溫度(T)的關(guān)系曲線,如圖33所示圖33振蕩頻率F與溫度T的關(guān)系曲線由上圖可知,在環(huán)境相對(duì)濕度不變的條件下,溫度和振蕩頻率呈近似的線性關(guān)系,所以忽略非線性誤差不影響測(cè)量的精度。當(dāng)環(huán)境中的相對(duì)濕度不同時(shí),相同溫度條件下的振蕩頻率差異比較大,且這種差異是非線性的。要準(zhǔn)確地測(cè)量濕度,必須對(duì)振蕩頻率作溫度補(bǔ)償。從圖33可以看出,對(duì)于不同的環(huán)境濕度,振蕩頻率的溫度補(bǔ)償系數(shù)也是不同的。研究表明,相對(duì)濕度為XRH時(shí)振蕩頻率的溫度補(bǔ)償系數(shù)(FRHX)與相對(duì)濕度為0RH時(shí)振蕩頻率的溫度補(bǔ)償系數(shù)(FRH0)具有如下關(guān)系FRHXFRH0FRH/FRH0式中FRH0的值為297/65(HZ/);FRH0是溫度為0時(shí)相對(duì)濕度為0RH的振蕩頻率,其值為7588(HZ);FRHX是溫度為0時(shí)相對(duì)濕度為XRH的振蕩頻率。實(shí)驗(yàn)得出相對(duì)濕度(RH)與濕度傳感電路輸出的振蕩頻率(F)在環(huán)境溫度為25時(shí)的關(guān)系曲線,如圖34所示圖34在25時(shí)相對(duì)濕度RH與振蕩率F的關(guān)系曲線表31給出了該關(guān)系曲線上的10個(gè)點(diǎn)的數(shù)據(jù)。從圖3可以看出,相對(duì)濕度在20RH80RH范圍內(nèi)線性度較好,兩端的線性較差。表31在25環(huán)境溫度時(shí)相對(duì)濕度(RH)與振蕩頻率(F)的關(guān)系出出出出出RH出0102030405060708090100出出出出出F)74737344721970926967684067106575643562916133顯然,振蕩頻率受環(huán)境濕度的影響比較大。當(dāng)相對(duì)濕度值升高時(shí),振蕩器輸出頻率會(huì)隨之降低,而且它們之間的這種變化是非線性的。如果我們將檢測(cè)到頻率直接送給顯示器顯示的話,得到的結(jié)果將與環(huán)境中的實(shí)際濕度值存在很大差別,無(wú)法達(dá)到性能指標(biāo)中所要求的測(cè)量精度和分辨力。但是由上面的關(guān)系,可以采用軟件的方法進(jìn)行溫度補(bǔ)償和線性化處理,來(lái)實(shí)現(xiàn)高精度地測(cè)量相對(duì)濕度。2程序設(shè)計(jì)方案經(jīng)過(guò)以上分析可知,濕度檢測(cè)模塊程序需要完成將來(lái)自傳感電路的濕度頻率F轉(zhuǎn)換為相對(duì)濕度的工作。由于振蕩頻率隨環(huán)境相對(duì)濕度變化是非線性的,這給濕度轉(zhuǎn)換帶來(lái)了困難,因此需要對(duì)其進(jìn)行線性化處理。同時(shí),相對(duì)濕度受環(huán)境溫度的影響比較大。不同溫度條件下,在同一測(cè)量場(chǎng)合測(cè)得的濕度差異很大,所以還需要對(duì)測(cè)量頻率作溫度補(bǔ)償。具體方案如圖35。在濕度檢測(cè)模塊程序的開(kāi)始,首先讀取經(jīng)過(guò)A/D轉(zhuǎn)換的相對(duì)濕度的振蕩頻率FO,并把得到的相對(duì)濕度頻率值存儲(chǔ)于ADUC812的一個(gè)變量單元中。然后讀取溫濕度檢測(cè)儀測(cè)得的環(huán)境溫度值T,根據(jù)溫度補(bǔ)償系數(shù)計(jì)算出應(yīng)該補(bǔ)償?shù)念l率,補(bǔ)償后的頻率值為FFO25TFRH0FRH/FRH0線性化處理首先根據(jù)實(shí)驗(yàn)得出的相對(duì)濕度與振蕩頻率關(guān)系曲線,將測(cè)量范圍內(nèi)的濕度RH劃分為N等份,每份為RH,每個(gè)濕度分隔點(diǎn)對(duì)應(yīng)的頻率值設(shè)為FN。然后把頻率曲線上相鄰的兩點(diǎn)依次用直線相連,就得到一條新的濕度頻率曲線,它與實(shí)際曲線幾乎重合在一起,所以可以使用該曲線產(chǎn)生進(jìn)行線性化處理。開(kāi)始讀入振蕩頻率F測(cè)量環(huán)境溫度T頻率F溫度補(bǔ)償頻率FT的線性化處理,計(jì)算出相對(duì)濕度值結(jié)束圖35濕度檢測(cè)模塊程序流程圖在線性化處理之前,需要在單片機(jī)的數(shù)據(jù)存儲(chǔ)器里存儲(chǔ)一個(gè)頻率表,即由FN組成的數(shù)據(jù)表格。因?yàn)榫€性化處理的過(guò)程中需要將實(shí)測(cè)頻率與FN進(jìn)行多次比較。生成頻率表之后就可以進(jìn)行線性化處理了。線性化處理程序子程序流程圖如36所示。程序首先從存儲(chǔ)器中讀取溫度補(bǔ)償過(guò)的頻率F,把它賦給一個(gè)事先定義好的變量。同時(shí)取出RH,定義計(jì)數(shù)量N,分別存入不同變量。接下來(lái)就要對(duì)比較次數(shù)N賦初值N0,根據(jù)變量N去ADUC812的ROM中的頻率表中取出頻率值F0,然后將溫度補(bǔ)償過(guò)振蕩頻率F與從表中取得的表頻率F0作減法運(yùn)算,并檢查相減結(jié)果是否大于0。如果差值大于0,則說(shuō)明測(cè)得頻率超出檢測(cè)儀的測(cè)量范圍,轉(zhuǎn)入報(bào)告出錯(cuò)子程序,告訴用戶出錯(cuò)。如果兩者差值小于0,則將N值加1,繼續(xù)拿F與FN作比較。如果(FF1)的值大于0,說(shuō)明實(shí)測(cè)頻率在濕度頻率曲線的第一段內(nèi),這時(shí)的環(huán)境濕度值RHRHFF0/F1F0。讀取濕度的頻率F對(duì)記數(shù)次數(shù)N賦初值0從數(shù)據(jù)表中F0從數(shù)據(jù)表中讀取FNN1取RH存入變量中存取RH并送顯RHN1FN1/FN1RHFO0FN0開(kāi)始結(jié)束報(bào)告超出檢測(cè)下限YYNN圖36線性化處理程序流程圖這里需要說(shuō)明的是,F(xiàn)與F0的比較是非常必要的。因?yàn)檫@一比較涉及到,檢測(cè)儀報(bào)錯(cuò)功能,更重要的是接下來(lái)的頻率比較必須以第一次比較為參考。在設(shè)計(jì)之初,我們想跳過(guò)與F0的比較,這樣程序也簡(jiǎn)單一點(diǎn)。但是后來(lái)分析發(fā)現(xiàn)如果不進(jìn)行這一比較會(huì)影響到儀表的正常工作。當(dāng)F落在F1之前時(shí),檢測(cè)儀會(huì)由于沒(méi)有合適比較對(duì)象而出錯(cuò)。如果前面比較的結(jié)果值還是小于零,說(shuō)明該振蕩頻率F不在該段,就把比較次數(shù)F加1后,從表中再次取值,繼續(xù)進(jìn)行的比較,直至比較結(jié)果大于零??衫孟率接?jì)算出環(huán)境的相對(duì)濕度RHRHN1RHF然后把結(jié)果存到單片機(jī)的存儲(chǔ)單元中,以供數(shù)據(jù)顯示程序處理。33鍵盤(pán)掃描和LCD顯示模塊程序設(shè)計(jì)331鍵盤(pán)掃描開(kāi)始有鍵閉合否延時(shí)定時(shí)器時(shí)間減少1延時(shí)時(shí)間到否逐行逐列的掃描鍵盤(pán),判斷閉合鍵的鍵號(hào)保存并給出對(duì)應(yīng)鍵號(hào)的鍵值返回置延時(shí)定時(shí)器位初值YESYESNO置延時(shí)定時(shí)器位初值NO圖37鍵盤(pán)掃描子程序流程圖該檢測(cè)儀采用28矩陣式鍵盤(pán),關(guān)于它的具體硬件組成電路這里就不多做介紹,在檢測(cè)有無(wú)鍵按下方面主要用的是定時(shí)掃描方式,該方式是利用單片機(jī)內(nèi)部定時(shí)器產(chǎn)生定時(shí)中斷,即在初始化程序中對(duì)定時(shí)器/計(jì)數(shù)器進(jìn)行編程,鍵盤(pán)掃描子程序流程圖如圖37所示。該子程序在時(shí)間中斷服程序中被調(diào)用,定時(shí)掃描鍵盤(pán),該程序首先判斷有無(wú)鍵盤(pán)閉合,沒(méi)有鍵盤(pán)閉合時(shí)置延時(shí)定時(shí)器位初值然后返回,有鍵盤(pán)閉合時(shí)延時(shí)定時(shí)器時(shí)間減少1,如果延時(shí)時(shí)間沒(méi)到時(shí)返回,如果到了就逐行逐列的掃描鍵盤(pán)判斷閉合鍵的鍵號(hào),然后保存并給出對(duì)應(yīng)鍵號(hào)的鍵值,之后置延時(shí)定時(shí)器位初值。延時(shí)定時(shí)器的延遲時(shí)間等于初值乘上時(shí)間判斷間隔時(shí)間,通過(guò)確定延時(shí)定時(shí)器的延遲時(shí)間達(dá)到去除鍵盤(pán)抖動(dòng)的對(duì)正常的影響,一般延時(shí)時(shí)間在30MS50MS之間,在實(shí)驗(yàn)中確定具體的延遲時(shí)間。鍵盤(pán)掃描去抖動(dòng)的具體工作程序如下SCANKEY延時(shí)50MS去抖動(dòng)MOVP0,00HSETBP24OUTPORTCOL1SETBP25OUTPORTCOL2MOVA,P2ANLA,00110000B與XRLA,00110000B異或JZNOKEY等于0沒(méi)有鍵按下FINDKEYNUM0INCFINDKEYNUMMOVA,DELAYVALUE1DELAYVALUE19,T5MSX10CLRCSUBBA,FINDKEYNUMJNCSCANKEYEND不等于0程序結(jié)束沒(méi)有鍵按MOVA,DELAYVALUE11CLRCSUBBA,FINDKEYNUMJCNOKEYSTARTSCANKEYGETKEYMOVLOCALVALUE2,00HMOVA,07FHGETKEY1SETBP24OUTPORTCOL1SETBP25OUTPORTCOL2MOVLOCALVALUE1,AMOVP0,AMOVA,P2ANLA,00110000B與XRLA,00110000B異或JNZGETKEY2MOVA,LOCALVALUE1RRAINCLOCALVALUE2JBACC7,GETKEY1LJMPNOKEYGETKEY2MOVA,P2ANLA,00110000B與XRLA,00110000B異或JBACC2,GETKEY3MOVA,08HADDA,LOCALVALUE2MOVLOCALVALUE2,AGETKEY3MOVKEYCOLROWBUF,LOCALVALUE2GETKEYVALUEMOVDPTR,KEYVALUEMOVA,KEYCOLROWBUFGETKEYVALUE1MOVCA,ADPTRMOVKEYVALUEBUF1,A用于控制鍵MOVKEYVALUEBUF2,A用于顯示LJMPSCANKEYENDNOKEYMOVFINDKEYNUM,00HSCANKEYENDRET332LCD顯示部分程序設(shè)計(jì)1LCD顯示器應(yīng)用程序設(shè)計(jì)總體方案1漢字點(diǎn)陣數(shù)據(jù)提取LCD顯示器應(yīng)用程序設(shè)計(jì)的基本目標(biāo)是實(shí)現(xiàn)中文顯示界面。我們選用HS128641型圖形點(diǎn)陣液晶顯示模塊該LCD模塊為不自帶字庫(kù)的12864點(diǎn)陣液晶顯示器??赏ㄟ^(guò)已由的常用子程序來(lái)添加漢字、字符的點(diǎn)陣數(shù)據(jù)表,供LCD在中文界面下顯示漢字或字符。2LCD底層應(yīng)用程序設(shè)計(jì)。添加點(diǎn)陣數(shù)據(jù)表之后,就可以開(kāi)始設(shè)計(jì)LCD應(yīng)用程序。在LCD顯示器應(yīng)用程序設(shè)計(jì)中,需要解決的一個(gè)重要問(wèn)題就是消除顯示屏的閃爍感。HS128641型LCD顯示模塊只提供了一塊顯示數(shù)據(jù)寄存器DDRAM,并且與顯示屏點(diǎn)陣是一一對(duì)應(yīng)的。如果直接在DDRAM處理顯示數(shù)據(jù)的,會(huì)因?yàn)橥瑫r(shí)進(jìn)行處理和顯示,而導(dǎo)致顯示屏閃爍。通過(guò)LCD模塊提供的顯示開(kāi)關(guān)指令“DISPLAYON/OFF“在數(shù)據(jù)處理之前關(guān)掉顯示,待數(shù)據(jù)處理完后開(kāi)顯示,可以使顯示屏閃爍得到一定控制。但是如果數(shù)據(jù)處理時(shí)間過(guò)長(zhǎng),超過(guò)人眼可辨別的最短時(shí)間20MS,顯示屏就會(huì)因?yàn)榉磸?fù)開(kāi)關(guān)顯示而產(chǎn)生閃爍感。因此我們?cè)谄鈹?shù)據(jù)存儲(chǔ)器中開(kāi)辟一個(gè)或多個(gè)與DDRAM大小一樣的緩沖區(qū),用于存放正在處理的顯示數(shù)據(jù),待數(shù)據(jù)處理完后,再將數(shù)據(jù)傳送至LCD顯示數(shù)據(jù)RAM。通過(guò)以上分析,我們采用如下的LCD顯示器應(yīng)用程序設(shè)計(jì)總體方案首先,添加漢字、字符點(diǎn)陣數(shù)據(jù)表。然后,編寫(xiě)LCD顯示驅(qū)動(dòng)程序。將指定BUF區(qū)中處理好的顯示數(shù)據(jù)送LCD指定區(qū)顯示。根據(jù)具體要求編寫(xiě)相應(yīng)顯示數(shù)據(jù)處理子程序。整個(gè)顯示過(guò)程為先將顯示數(shù)據(jù)在片外數(shù)據(jù)存儲(chǔ)器開(kāi)辟的緩沖區(qū)中進(jìn)行處理,待處理完后調(diào)用LCD驅(qū)動(dòng)顯示。最后,在LCD底層程序完成的基礎(chǔ)上,設(shè)計(jì)人機(jī)交互界面,實(shí)現(xiàn)用戶在菜單方式下進(jìn)行交互。2LCD適用字模信息提取程序的設(shè)計(jì)經(jīng)研究,我們采用在單片機(jī)產(chǎn)品中經(jīng)常用到的1616點(diǎn)陣的漢字庫(kù)作為提取字模的母字庫(kù)。LCD在文本顯示狀態(tài)下,一屏最多顯示4行8個(gè)漢字。在1616點(diǎn)陣漢字字庫(kù)中,采用的是以行為主的存放結(jié)構(gòu),即一行上連續(xù)的8個(gè)點(diǎn)陣信息放在一個(gè)字節(jié)內(nèi),且左邊的點(diǎn)對(duì)應(yīng)字節(jié)的高位。每個(gè)漢字的字模信息占32個(gè)字節(jié)。漢字母庫(kù)編碼采用計(jì)算機(jī)漢字字符代碼中最常用一個(gè)是漢字編碼字符集的基本集GB2312。GB2312包括了漢字字符基本集,共收錄漢字、圖形符號(hào)等共7445個(gè),依據(jù)其位置,分為94個(gè)區(qū),每區(qū)共94位。其中第16區(qū)55區(qū)安排3755個(gè)常用漢字,依漢語(yǔ)拼音順序排列。通過(guò)漢字的內(nèi)碼我們可以計(jì)算出與其點(diǎn)陣信息在字庫(kù)中的偏移量。在生成點(diǎn)陣數(shù)據(jù)表的相應(yīng)漢字中,采用自定義的編碼。因?yàn)闇貪穸扔涗泝x中只用到了少量漢字,所以我們決定采用ASCII代碼中的80HOFFH特殊字符代碼區(qū),用做生成點(diǎn)陣表的漢字編碼,共可表示128個(gè)漢字。前20H7FH為常用字符的ASCII代碼。由圖形顯示數(shù)據(jù)寄存器DDRAM地址和顯示位置的對(duì)應(yīng)關(guān)系可知直接將提取的點(diǎn)陣數(shù)據(jù)送顯,漢字不能正確顯示。因此我們必須將提取的字模數(shù)據(jù)進(jìn)行相應(yīng)的轉(zhuǎn)換,才能在LCD上正確顯示。轉(zhuǎn)換后的點(diǎn)陣信息格式如表32所示。表3216點(diǎn)陣字模轉(zhuǎn)換后排列格式將轉(zhuǎn)換后的點(diǎn)陣數(shù)據(jù),按匯編語(yǔ)言中,定義存儲(chǔ)單元偽指令“DB”的格式寫(xiě)入創(chuàng)建的文本文件中,就得到我們所需要生成的漢字點(diǎn)陣信息表。3LCD顯示驅(qū)動(dòng)程序的設(shè)計(jì)D0D7第0字節(jié)12341415D0D716171819203031所謂LCD驅(qū)動(dòng),即是通過(guò)連續(xù)的寫(xiě)顯示數(shù)據(jù)WRITEDISPLAYDATE命令操作,將片外顯示數(shù)據(jù)處理緩沖區(qū)內(nèi)的數(shù)據(jù),順序?qū)懭胂鄳?yīng)的DDRAM單元。開(kāi)始設(shè)置頁(yè)地址LCDPAGEX設(shè)置Y地址0設(shè)置寫(xiě)屏次數(shù)R364R210NOYESR30YES初始化寫(xiě)屏標(biāo)志R2從BUFADR所指單元取顯示數(shù)據(jù)將顯示數(shù)據(jù)寫(xiě)入左半屏將顯示數(shù)據(jù)寫(xiě)入右半屏R3;BUFADRNOR2R20YESNOLCDPAGEX;R1R1LCDPAGENUMR10YESNO結(jié)束圖38LCD顯示驅(qū)動(dòng)源程序及流程圖HS128641型LCD顯示模塊,在硬件上通過(guò)左右半屏的片選信號(hào)引腳CS1/CS2,將LCD的顯示數(shù)據(jù)DDRAM分為了左右兩個(gè)半屏。在顯示數(shù)據(jù)的處理和送顯上,需要不斷設(shè)置引腳CS1/CS2的信號(hào),達(dá)到對(duì)指定DDRAM單元的控制和處理。這樣對(duì)LCD模塊控制極為不便。我們欲通過(guò)軟件處理,使得LCD寫(xiě)顯示數(shù)據(jù)操作結(jié)構(gòu)化,整體化。將LCD顯存DDRAM化分為8頁(yè),每頁(yè)8行128列,128個(gè)數(shù)據(jù)存儲(chǔ)單元。由軟件驅(qū)動(dòng)LCD顯示屏上07頁(yè)的任意頁(yè)顯示順序讀出指定BUF區(qū)內(nèi)圖形或漢字的點(diǎn)陣數(shù)據(jù),依次將顯示數(shù)據(jù)寫(xiě)入指定頁(yè)的128個(gè)數(shù)據(jù)存儲(chǔ)單元。溫濕度記錄儀使用ADUC812單片機(jī)作為CPU,對(duì)其底層編寫(xiě)程序,我們選用了匯編語(yǔ)言作為編程語(yǔ)言,選用8051仿真器作為編程環(huán)境,以便程序的跟蹤調(diào)試。軟件將LCD顯存DDRAM化分為8頁(yè),每頁(yè)128個(gè)數(shù)據(jù)存儲(chǔ)單元。通過(guò)R2控制寫(xiě)入左半屏或右半屏。先寫(xiě)顯示數(shù)據(jù)到左半屏的64個(gè)單元;后通過(guò)R2自減1,控制寫(xiě)顯示數(shù)據(jù)到右半屏的64個(gè)單元。一頁(yè)寫(xiě)滿后,如果沒(méi)到寫(xiě)頁(yè)次數(shù),LCDPAGEX自加1,繼續(xù)寫(xiě)下一頁(yè)。其流程圖如圖38所示。4LCD人機(jī)交互界面相關(guān)程序人機(jī)交互程序設(shè)計(jì)的重點(diǎn)在于窗口界面的顯示、滾屏、光標(biāo)的管理及參數(shù)的顯示、修改和保存。現(xiàn)在我們只設(shè)計(jì)了窗口界面的顯示部分,和菜單、對(duì)話框的簡(jiǎn)單控制切換。人機(jī)交互界面的顯示主要包括菜單的顯示、對(duì)話框的顯示和提示信息顯示。圖39窗口版面對(duì)應(yīng)的通過(guò)前面對(duì)程序設(shè)計(jì)原理的分析,我們把窗口中具體條目(提示信息、菜單、對(duì)話框、參數(shù)等)顯示涉及到的子程序進(jìn)行封裝處理,從而使得整個(gè)應(yīng)用軟件系統(tǒng)的設(shè)計(jì)簡(jiǎn)單明了。以菜單顯示為例我們把菜單編碼對(duì)應(yīng)漢字點(diǎn)陣數(shù)據(jù)的處理程序和顯示驅(qū)動(dòng)程序封裝,調(diào)用時(shí)只需給出要送LCD顯示的菜單序列號(hào),則所菜單內(nèi)容即可完成在指定位置(菜單區(qū))的顯示。1提示信息2對(duì)話框3菜單選項(xiàng)對(duì)話框中參數(shù)的輸入顯示原理與菜單、對(duì)話框控制相同,都是通過(guò)讀鍵,判斷鍵值,功能處理來(lái)實(shí)現(xiàn)。結(jié)論該檢測(cè)儀適用于需要對(duì)溫濕度實(shí)時(shí)檢測(cè)的多種場(chǎng)合。由于采用了測(cè)量范圍廣、精度高、響應(yīng)速度快的電容式濕度傳感器來(lái)進(jìn)行濕度采樣,使用溫度補(bǔ)償、線性化處理的方法提高檢測(cè)精度,因此該檢測(cè)儀基本上達(dá)到技術(shù)指標(biāo)中對(duì)相對(duì)濕度測(cè)量精度和分辨力的要求。該檢測(cè)儀在濕度的線性化上用的時(shí)間可能會(huì)稍長(zhǎng)一些。但是ADUC812單片機(jī)工作頻率較高,并且只有環(huán)境濕度較高時(shí)才會(huì)出現(xiàn)處理時(shí)間延長(zhǎng)現(xiàn)象,因此并不影響檢測(cè)儀的實(shí)時(shí)檢測(cè)指標(biāo)。在這次設(shè)計(jì)中我們也遇到不少問(wèn)題,也正是對(duì)這些問(wèn)題的逐步解決該檢測(cè)儀順利設(shè)計(jì)完成。我們的設(shè)計(jì)主要面臨著硬件設(shè)計(jì)和軟件設(shè)計(jì)的兩大問(wèn)題,以及硬件和軟件的結(jié)合。軟件設(shè)計(jì)中面臨的主要問(wèn)題是環(huán)境溫濕度數(shù)據(jù)的采集方法,相對(duì)濕度的溫度補(bǔ)償和線性化處理。在指導(dǎo)老師的悉心輔導(dǎo)下和查閱大量資料之后,然后采用了ADUC812數(shù)據(jù)采集芯片并配合其它一些元器件的硬件設(shè)計(jì)方案,使以上問(wèn)題得到了很好解決。由于這次設(shè)計(jì)的時(shí)間較短,該檢測(cè)儀的主要功能已經(jīng)實(shí)現(xiàn),要達(dá)到實(shí)用,還需繼續(xù)進(jìn)一步進(jìn)行研究設(shè)計(jì)。參考文獻(xiàn)1趙新民智能儀器原理及設(shè)計(jì)哈爾濱工業(yè)大學(xué)出版社,19892戴義保高精密溫度測(cè)量的研究與實(shí)現(xiàn)J上海自動(dòng)化儀表第2003,24324273謝光忠、蔣亞?wèn)|等溫濕度智能數(shù)據(jù)采集控制系統(tǒng)的研制傳感器技術(shù)2000,19429334戴梅萼,史嘉微型計(jì)算機(jī)技術(shù)及應(yīng)用北京清華大學(xué)出版社,19955丁元杰單片微機(jī)原理及應(yīng)用北京機(jī)械工業(yè)出版社,19936何立民MCS51系列單片機(jī)應(yīng)用設(shè)計(jì)、系統(tǒng)配置與接口技術(shù)7彭喜源,譚曉均,張毅剛MCS51單片機(jī)應(yīng)用設(shè)計(jì)8陳寶江,翟涌,張幽彤MCS單片機(jī)應(yīng)用系統(tǒng)實(shí)用指南9胡健單片機(jī)原理及接口技術(shù)實(shí)踐教程北京機(jī)械工業(yè)出版社,200410喻評(píng),郭文川單片機(jī)原理與接口技術(shù)北京化學(xué)工業(yè)出版社,200611李剛51系列單片機(jī)系統(tǒng)設(shè)計(jì)與應(yīng)用技巧北京北京航空航天大學(xué)出版社。200412楊景常精密計(jì)量環(huán)境溫度、相對(duì)濕度監(jiān)測(cè)記錄儀的研制J沈陽(yáng)儀表技術(shù)與傳感器。200313何立民單片機(jī)中級(jí)教程原理與應(yīng)用北京北京航空航天大學(xué)出版社,199014沙占友單片機(jī)外圍電路設(shè)計(jì)北京電子工業(yè)出版社,200315劉君華現(xiàn)代檢測(cè)技術(shù)與測(cè)試系統(tǒng)設(shè)計(jì)M西安西安交通大學(xué)出版社,200016余永權(quán)。MCS51系列單片機(jī)應(yīng)用技術(shù)北京北京航空航天出版社,200217閻石數(shù)字電子技術(shù)基礎(chǔ)北京高等教育出版社,200218劉書(shū)明、馮小平數(shù)據(jù)采集系統(tǒng)芯片ADUC812原理與應(yīng)用M西安西安電子科技大學(xué)出版社,200019涂玲英肖俊武張宇智能型溫濕度測(cè)控儀研究與實(shí)踐湖北工學(xué)院學(xué)報(bào)200220蔡美琴M(fèi)CS一51系列單片機(jī)系統(tǒng)及其應(yīng)用高等教育出版社199221馬忠梅單片機(jī)的C語(yǔ)言應(yīng)用程序設(shè)計(jì)北京航空航天大學(xué)出版社,1997致謝本設(shè)計(jì)的題目是由韓剛導(dǎo)師根據(jù)實(shí)際工作和生產(chǎn)中的具體需要擬定的,花費(fèi)了許多時(shí)間和精力查詢(xún)資料,最終定出設(shè)計(jì)方案。有多年單片機(jī)應(yīng)用開(kāi)發(fā)經(jīng)驗(yàn)的韓剛老師給我們進(jìn)行了深入而系統(tǒng)的指導(dǎo)。老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和扎實(shí)的、深厚的理論水平都使我受益匪淺。正是在韓剛老師的耐心引導(dǎo)和幫助下,解決了設(shè)計(jì)中的種種問(wèn)題,最終使畢業(yè)設(shè)計(jì)圓滿完成。在此我衷心的感謝韓老師對(duì)我這次畢業(yè)設(shè)計(jì)指導(dǎo)和幫助。在這次設(shè)計(jì)中也得到了周?chē)瑢W(xué)的大力支持和熱心幫助,他們對(duì)本檢測(cè)儀的設(shè)計(jì)提出了許多有益的建議和意見(jiàn),在此一并致謝。附錄1234ABCD4321DCBAXT111059MC533PFC433PFR1551KC7001C101C201C310UFR210KR310KC12TS11R17910KLR16580KLR1451KLVCCC1110UF/25VC1010UF/25VC910UF/25VC810UF/25VD0D1D3D4D5D6D7D2VCCVCCD0D1D3D4D5D6D7A8A9A10A11VCC162738495J1DB9VAAC610UF12SW1P11/ADC12P12/ADC23P13/ADC34P10/ADC01P14/ADC411P15/ADC512P16/ADC613P17/ADC714AVDD5AGND6CREF7VREF8DAC09DAC110P30/RXD16P31/TXD17P32/INT018P33/INT1/MISO19P34/T022P35/T1/CONVST23P36/WR24P37/RD25P2638P2739P2537P24/A12/A2036P23/A11/A1931P2230P2129P2028P00/AD043P01/AD144P02/AD245P03/AD346P04/AD449P05/AD550P06/AD651P07/AD752RESET15XTAL1INPUT32XTAL2OUTPUT33DGND35DVDD34DVDD48DGND47ALE42PSEN41EA40DVDD20DGND21SCLOCK26SDATA27ADUC812AU1VAAR4TRIG2CVOLT5Q3DIS7THR6NE555U221STAD590D2COL11COL22COL33COL44COL55COL66COL77COL88ROW19ROW210J4KEYBOARD2X8R110KVAA12345687109U3PRO31B3TMP_232C_43R35VCCE6RST17CS216CS115R/W5D/I4DB714DB613DB512DB411DB310DB29DB18DB07VSS1VDD2VEE18VO3VLED19VLED20U7HS12864BA8A9A11A10D7D6D5D4D3D2D1D0P1

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論