已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
風(fēng)向風(fēng)力自動(dòng)測(cè)量?jī)x論文.pdf 免費(fèi)下載
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)I摘要人類社會(huì)的發(fā)展與能源的開(kāi)發(fā)和利用水平緊密相關(guān),每一次新能源的開(kāi)發(fā)都能使人類的經(jīng)濟(jì)發(fā)展產(chǎn)生一次飛躍。在自然界中,風(fēng)能是分布廣泛、用之不竭且無(wú)污染的巨大能源。在全球能源危機(jī)和環(huán)境危機(jī)日益嚴(yán)重的背景下,風(fēng)能資源開(kāi)始受到普遍關(guān)注,每個(gè)國(guó)家都加緊對(duì)風(fēng)力的開(kāi)發(fā)和利用,減少化石能源的利用,從而減少溫室氣體的排放,保護(hù)環(huán)境。本文介紹了用STC89C52系列單片機(jī)設(shè)計(jì)檢測(cè)風(fēng)向風(fēng)力的數(shù)據(jù)采集處理系統(tǒng)以及顯示模塊。對(duì)于風(fēng)力該系統(tǒng)采用單片機(jī)技術(shù)。光電傳感器采集的數(shù)據(jù)交給單片機(jī)處理,再由LCD顯示屏顯示測(cè)量的風(fēng)力值。對(duì)于風(fēng)向該系統(tǒng)利用3軸數(shù)字羅盤HMC5883L,僅用地磁場(chǎng)在X方向和Y方向的兩個(gè)分矢量值便可確定方位值,再由LCD顯示屏顯示測(cè)量的風(fēng)向值。軟件設(shè)計(jì)采用模塊編程,方便今后的維護(hù)和改進(jìn)。關(guān)鍵詞風(fēng)向,風(fēng)力,單片機(jī),HMC5883L西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)IIABSTRACTTHEDEVELOPMENTOFHUMANSOCIETYISCLOSELYRELATEDTOTHEDEVELOPMENTANDUTILIZATIONOFENERGYEVERYNEWENERGYDEVELOPMENTCANMAKETHEECONOMICDEVELOPMENTOFHUMANBEINGSALEAPINNATURE,WINDENERGYISHUGEANDWIDELYDISTRIBUTEDINEXHAUSTIBLEANDPOLLUTIONFREEUNDERTHEBACKGROUNDOFTHEINCREASINGLYSERIOUSGLOBALENERGYCRISISANDENVIRONMENTALCRISIS,WINDENERGYRESOURCESBEGANTOSUFFERTHEWIDESPREADCONCERN,EACHCOUNTRIESARESTEPPINGUPTHEWINDENERGYDEVELOPMENTANDUTILIZATION,REDUCETHEUSEOFFOSSILENERGY,THEREBYREDUCINGGREENHOUSEGASEMISSIONSANDPROTECTTHEENVIRONMENTTHISPAPERINTRODUCESTHEDESIGNOFDATAACQUISITIONANDPROCESSINGSYSTEMANDDISPLAYMODULEOFWINDDIRECTIONANDWINDWITHSTC89C52SERIESMCUFORWINDPOWER,THESYSTEMADOPTSSINGLECHIPMICROCOMPUTERTECHNOLOGYTHEDATACOLLECTEDBYTHEPHOTOELECTRICSENSORISHANDEDOVERTOTHESINGLECHIPMICROCOMPUTER,ANDTHENTHEMEASUREDVALUEOFWINDPOWERISDISPLAYEDBYTHELCDDISPLAYSCREENFORWINDDIRECTIONOFTHESYSTEMUSING3AXISDIGITALCOMPASSHMC5883L,ONLYTHEGEOMAGNETICFIELDINTHEXDIRECTIONANDYDIRECTIONOFTHETWOSUBVECTORVALUESCANDETERMINETHEAZIMUTHVALUE,ANDTHENBYTHELCDDISPLAYTODISPLAYTHEMEASUREDWINDDIRECTIONTHESOFTWAREDESIGNADOPTSMODULEPROGRAMMING,WHICHISCONVENIENTFORFUTUREMAINTENANCEANDIMPROVEMENTKEYWORDSWINDDIRECTION,WINDSPEED,SINGLECHIPMICROCOMPUTER,HMC5883L西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)III目錄第1章緒論111問(wèn)題的提出112研究的內(nèi)容113風(fēng)向風(fēng)力自動(dòng)測(cè)量?jī)x的選用與發(fā)展2第2章系統(tǒng)組成方案與硬件電路321系統(tǒng)總體方案322風(fēng)向測(cè)量原理523風(fēng)力測(cè)量原理5第3章系統(tǒng)軟件設(shè)計(jì)731主程序設(shè)計(jì)732風(fēng)向子程序設(shè)計(jì)833風(fēng)速子程序設(shè)計(jì)1134鍵盤子程序設(shè)計(jì)1235報(bào)警輸出子程序設(shè)計(jì)1436時(shí)鐘子程序設(shè)計(jì)1437顯示子程序設(shè)計(jì)1738信號(hào)輸出子程序設(shè)計(jì)21第4章軟件仿真與調(diào)試2341軟件環(huán)境的介紹23411KEILUVISION423412STC_ISP_V4802742KEIL軟件及其調(diào)試功能簡(jiǎn)介30第5章總結(jié)與討論33參考文獻(xiàn)35附錄36致謝47誠(chéng)信聲明西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)IV西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)1第1章緒論11問(wèn)題的提出人類可利用的自然界風(fēng)能為風(fēng)能資源。風(fēng)作為一種天然征象,本身又蘊(yùn)藏著巨大的能量,并對(duì)人們的生產(chǎn)勞動(dòng)有巨大的影響力?,F(xiàn)在,每個(gè)國(guó)家都特別珍視風(fēng)向風(fēng)力的檢測(cè)與研究。我國(guó)風(fēng)力資源極為豐富離地10米高的風(fēng)能資源總儲(chǔ)量約3226億千瓦,其中可開(kāi)發(fā)和利用的陸地上風(fēng)能儲(chǔ)量有253億KW,50米高度的風(fēng)能資源比10米高度多1倍,約為5億多KW。近海可開(kāi)發(fā)和利用的風(fēng)能儲(chǔ)量有75億KW。風(fēng)力發(fā)電是很有出息的,尤其是現(xiàn)在能源緊缺,風(fēng)力發(fā)電成為新潮發(fā)電要領(lǐng)的環(huán)境下,對(duì)風(fēng)力風(fēng)向的測(cè)量和控制尤為緊張。所以研究風(fēng)向風(fēng)力變化的意義巨大。風(fēng)向風(fēng)力自動(dòng)測(cè)量?jī)x可以廣泛地應(yīng)用于氣象(為臺(tái)風(fēng)數(shù)據(jù)提供準(zhǔn)確的數(shù)據(jù))、新能源(為發(fā)電前期提供參數(shù)數(shù)據(jù))、民航(為飛機(jī)起飛、降落供給準(zhǔn)確的參數(shù)數(shù)據(jù))、公路、橋梁(為建造公路、橋梁供給參數(shù)依據(jù))等行業(yè),具有廣闊的前景。12研究的內(nèi)容風(fēng)力風(fēng)向是經(jīng)常需要采集的一個(gè)參數(shù),由于機(jī)械式的風(fēng)力傳感器響應(yīng)時(shí)間比較長(zhǎng),體積大,而且價(jià)格比較貴,要實(shí)現(xiàn)在一個(gè)不是很廣闊的地方測(cè)量風(fēng)力就會(huì)比較難,所以本課題研究的是設(shè)計(jì)一個(gè)小型的測(cè)量系統(tǒng),這種測(cè)量風(fēng)參數(shù)的系統(tǒng)要求電路簡(jiǎn)單,精度高,體積小,成本低,易實(shí)現(xiàn)。風(fēng)力風(fēng)向系統(tǒng)的主要功能是對(duì)當(dāng)前的風(fēng)力風(fēng)向進(jìn)行測(cè)量,并在顯示器件上顯示,而且測(cè)量系統(tǒng)要求具有一定的精度,在斷電及其他不良情況下仍然準(zhǔn)確的工作。本課題研究的是設(shè)計(jì)一個(gè)小型的測(cè)量系統(tǒng),此自動(dòng)測(cè)量系統(tǒng)電路簡(jiǎn)單,體積較小,精度較高,成本低,容易實(shí)現(xiàn)。在單片機(jī)的控制下,采用合適的測(cè)量方法對(duì)脈沖的變化進(jìn)行測(cè)量,同時(shí)要求風(fēng)力的測(cè)量達(dá)到一定的精度,誤差不超過(guò)5并且對(duì)風(fēng)力進(jìn)行顯示。對(duì)于風(fēng)向在0360范圍內(nèi)進(jìn)行測(cè)量,單片機(jī)處理測(cè)量風(fēng)向能夠顯示并且達(dá)到一定的精度。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)213風(fēng)向風(fēng)力自動(dòng)測(cè)量?jī)x的選用與發(fā)展目前的風(fēng)向、風(fēng)力測(cè)量方法無(wú)法滿足所有理想測(cè)量的要求,它們有各自的特點(diǎn)和適用范圍。要想選擇一種合適的儀表,并非易事。選擇測(cè)風(fēng)力裝置需要考慮測(cè)量裝置的性能(包括可靠性、測(cè)量范圍及精度的測(cè)量等)、現(xiàn)場(chǎng)安裝以及日后的維護(hù)、使用壽命和費(fèi)用等因素。使用者必須掌握測(cè)量?jī)x的使用方法,并綜合考慮相關(guān)影響因素,在工程測(cè)量的各個(gè)階段選擇最合適的測(cè)量手段。隨著風(fēng)向風(fēng)力測(cè)量技術(shù)的趨于完美,其發(fā)展趨勢(shì)可歸納為功能從簡(jiǎn)單到復(fù)雜;精確度由低到高,量程由小到大,裝置由接觸式測(cè)量到非接觸式測(cè)量,安裝由繁到簡(jiǎn),可靠性由低到高,測(cè)量?jī)x向智能化、人性化方向發(fā)展。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)3第2章系統(tǒng)組成方案與硬件電路21系統(tǒng)總體方案本系統(tǒng)共有兩部分組成硬件部分和軟件部分。其中硬件部分是以STC89C52單片機(jī)為核心控制器,由LCD1602液晶顯示模塊、時(shí)鐘模塊、報(bào)警模塊、鍵盤模塊、光電傳感器模塊和指南針模塊組成,通過(guò)光電傳感器模塊和指南針模塊測(cè)得風(fēng)向和風(fēng)力的數(shù)據(jù)。顯示模塊用來(lái)顯示時(shí)間、風(fēng)向和風(fēng)力信息。報(bào)警模塊是在風(fēng)力過(guò)大的情況下,進(jìn)行報(bào)警提醒。鍵盤模塊進(jìn)行人機(jī)互動(dòng),通過(guò)按鍵來(lái)控制單片機(jī)的工作模式。軟件部分對(duì)應(yīng)的由主程序、初始化程序、LCD1602顯示程序、脈沖(光電傳感器輸出脈沖)檢測(cè)程序、風(fēng)向檢測(cè)程序、時(shí)間設(shè)置程序等組成。其總體框架如圖21所示。系統(tǒng)硬件電路如圖22所示。圖21系統(tǒng)總體框圖本系統(tǒng)總體思路如下風(fēng)向標(biāo)在風(fēng)的作用下轉(zhuǎn)動(dòng)并停止,得到了當(dāng)前風(fēng)向。通過(guò)指南針模塊測(cè)得風(fēng)葉朝向就得到了當(dāng)前的風(fēng)向數(shù)據(jù)。光電傳感器的測(cè)量原理為,在一定的測(cè)量時(shí)間內(nèi),讀取光電傳感器發(fā)生的脈沖個(gè)數(shù)(即頻率),從而算出實(shí)際轉(zhuǎn)速。設(shè)測(cè)量時(shí)間T(MIN),計(jì)數(shù)器計(jì)取的脈沖個(gè)數(shù)M,假定脈沖發(fā)生器每轉(zhuǎn)一圈輸出P個(gè)脈沖,對(duì)應(yīng)被測(cè)轉(zhuǎn)速為N(R/MIN),風(fēng)葉半徑為R(M),就可算出實(shí)際轉(zhuǎn)速值N60M/PT,實(shí)際風(fēng)速VNR。主控芯片顯示模塊指南針模塊報(bào)警模塊光電傳感器模塊時(shí)鐘模塊鍵盤模塊西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)4圖22系統(tǒng)硬件電路圖西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)522風(fēng)向測(cè)量原理風(fēng)向測(cè)量是采用風(fēng)帶動(dòng)風(fēng)向標(biāo)旋轉(zhuǎn)進(jìn)而帶動(dòng)主軸的,而風(fēng)向測(cè)量的一般方法則是采用角度來(lái)確定風(fēng)向,我選用指南針模塊測(cè)量風(fēng)向變化角度。三維電子羅盤由三維磁阻傳感器、雙軸傾角傳感器和MCU構(gòu)成。三維磁阻傳感器用來(lái)測(cè)量地球磁場(chǎng)。該磁力儀是采用三個(gè)互相垂直的磁阻傳感器,每個(gè)軸向上的傳感器檢測(cè)在該方向上的地磁場(chǎng)強(qiáng)度。向前的方向稱為X方向的傳感器檢測(cè)地磁場(chǎng)在X方向的矢量值;向左或Y方向的傳感器檢測(cè)地磁場(chǎng)在Y方向的矢量值;向下或Z方向的傳感器檢測(cè)地磁場(chǎng)在Z方向的矢量值。僅用地磁場(chǎng)在X和Y的兩個(gè)分矢量值便可確定方位值A(chǔ)RCTANXYA21該關(guān)系式是在測(cè)量?jī)x與地面平行時(shí)才成立。當(dāng)測(cè)量?jī)x發(fā)生傾斜時(shí),方位值的準(zhǔn)確性就受到很大的影響,測(cè)量?jī)x所處的位置和傾斜角的大小決定了誤差的大小。23風(fēng)力測(cè)量原理風(fēng)力測(cè)量要將風(fēng)力轉(zhuǎn)換為脈沖信號(hào)從而確定其大小,我選擇用光電傳感器的方式獲得脈沖信號(hào)。光電傳感器是應(yīng)用非常廣泛的一種器件,其基本的原理就是當(dāng)發(fā)射管光照射到接收管時(shí),接收管導(dǎo)通,當(dāng)發(fā)射管照射不到接收管時(shí)接收管關(guān)斷。下滿主要介紹我所使用的透射式光電傳感器,如圖23所示,當(dāng)有物體擋在發(fā)射與接收管之間的間隙時(shí),接收?qǐng)D23光電傳感器的原理圖管關(guān)斷,如若發(fā)射與接收管的間隙之間沒(méi)有遮擋物時(shí)開(kāi)關(guān)管打開(kāi)。根據(jù)此原理,制作一個(gè)遮光葉片如圖24所示,將其安裝在轉(zhuǎn)軸上,當(dāng)扇葉經(jīng)過(guò)時(shí),產(chǎn)生脈沖信號(hào)。當(dāng)葉片數(shù)較多時(shí),旋轉(zhuǎn)一周可以獲得多個(gè)脈沖信號(hào)。這里我們采用有20西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)6個(gè)孔的遮光片來(lái)獲得脈沖信號(hào)。風(fēng)葉的半徑為002M,假如在一分鐘的時(shí)間內(nèi),產(chǎn)生了2000脈沖,則風(fēng)葉的轉(zhuǎn)速就為100R/MIN即1002RAD/MIN,風(fēng)速即為4M/MIN。本次畢設(shè)我選的是光電傳感器,采用穿透法測(cè)量電機(jī)轉(zhuǎn)速。光電傳感器的原理上面有詳細(xì)的介紹。圖24遮光葉片西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)7第3章系統(tǒng)軟件設(shè)計(jì)軟件設(shè)計(jì)是基于硬件基礎(chǔ)上的,首先必須對(duì)系統(tǒng)有充分的了解,熟悉各種所用的芯片的時(shí)序以及各管腳的具體功能,還有硬件要實(shí)現(xiàn)的具體功能。合理的分配單片機(jī)的硬件資源。然后給出程序的流程圖,并通過(guò)他進(jìn)行軟件的設(shè)計(jì)和調(diào)試。為了充分發(fā)揮單片機(jī)的智能化作用及降低成本,對(duì)于那些可用軟件完成又可用硬件完成的功能,盡量用軟件來(lái)完成。同時(shí)軟件設(shè)計(jì)要盡可能實(shí)現(xiàn)功能模塊化,這樣既方便于調(diào)試、鏈接,又便于移植和修改。本文設(shè)計(jì)的系統(tǒng)的初始化,數(shù)據(jù)的采集數(shù)據(jù)的處理都是靠軟件來(lái)運(yùn)行的,考慮到系統(tǒng)要對(duì)采集的數(shù)據(jù)進(jìn)行處理時(shí)所用的方法,這里我們采用C語(yǔ)言編寫軟件。軟件的開(kāi)發(fā)工具我們用KEILC。KEILC軟件是眾多單片機(jī)應(yīng)用開(kāi)發(fā)的優(yōu)秀軟件之一,它支持匯編語(yǔ)言,C語(yǔ)言等,它集合了編輯,編譯,仿真于一體。再利用KEILC進(jìn)行編程時(shí),先建立一個(gè)工程項(xiàng)目,然后在項(xiàng)目中新建空白文檔,在空白文檔處輸入程序并保存,保存時(shí)后綴名為C。然后編譯并生成HEX文件。將HEX文件導(dǎo)入到單片機(jī)里,用PROTEUS與KEILC聯(lián)調(diào),就完成了。31主程序設(shè)計(jì)本次軟件設(shè)計(jì)實(shí)現(xiàn)功能模塊化,主要用到的功能模塊有風(fēng)向子程序、風(fēng)速子程序、鍵盤子程序、報(bào)警輸出子程序、時(shí)鐘子程序、顯示子程序、信號(hào)輸出子程序等。主程序流程圖如圖31所示。當(dāng)系統(tǒng)上電后,風(fēng)向子程序檢測(cè)當(dāng)前的風(fēng)向數(shù)據(jù),風(fēng)速子程序檢測(cè)當(dāng)前的風(fēng)力數(shù)據(jù),信號(hào)輸出子程序通過(guò)串口實(shí)時(shí)的將測(cè)得的風(fēng)向風(fēng)力數(shù)據(jù)傳輸給其它設(shè)備,當(dāng)檢測(cè)到的風(fēng)力數(shù)據(jù)高于預(yù)先設(shè)定的風(fēng)力值時(shí),就會(huì)執(zhí)行報(bào)警輸出子程序,通過(guò)調(diào)用鍵盤子程序來(lái)檢測(cè)當(dāng)前的按鍵值,使系統(tǒng)回復(fù)相應(yīng)的操作,時(shí)鐘子程序主要是記錄當(dāng)前系統(tǒng)工作的時(shí)間,顯示子程序就是將測(cè)得的風(fēng)向風(fēng)力數(shù)據(jù)和當(dāng)前時(shí)間顯示出來(lái)。為了能測(cè)得多個(gè)風(fēng)向風(fēng)力數(shù)據(jù),整個(gè)系統(tǒng)處于一直循環(huán)檢測(cè)數(shù)據(jù)的狀態(tài)。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)8圖31主程序流程圖32風(fēng)向子程序設(shè)計(jì)本設(shè)計(jì)采用磁阻傳感器HMC5883L芯片對(duì)風(fēng)向進(jìn)行檢測(cè),指南針模塊通過(guò)端口P23和P24將地磁場(chǎng)在X和Y的兩個(gè)分矢量值傳給單片機(jī),并通過(guò)公式AARCTANY/X計(jì)算出當(dāng)前的角度。HMC5883L引腳位值如圖32所示,HMC5883L管腳描述如表31所示。圖32HMC5883L引腳位置西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)9表31HMC5883L管腳描述管腳號(hào)管腳名稱功能1SCL串行時(shí)鐘IIC主從時(shí)鐘2VDD供電端216V36V3NC空引腳4S1與電源供電引腳相連5NC空引腳6NC空引腳7NC空引腳8SETP與S/R電容器C2相連,連驅(qū)動(dòng)端9GND接地10C1與儲(chǔ)能電容器C1相連11GND接地12SETC與S/R電容器C2相連驅(qū)動(dòng)端13VDDIDI/O口供電14NC空引腳15DRDY數(shù)據(jù)準(zhǔn)備中斷引腳。內(nèi)部拉高??蛇x的連接。保持250秒時(shí),數(shù)據(jù)被放置在數(shù)據(jù)輸出寄存器。16SDA串行數(shù)據(jù)IIC主從數(shù)據(jù)當(dāng)主程序運(yùn)行至此模塊時(shí),首先對(duì)風(fēng)向子程序的各個(gè)變量進(jìn)行初始化,然后給復(fù)位端一個(gè)高電平,使HMC5883L具有寫入功能。然后向HMC5883L寫入需要讀取的數(shù)據(jù)的地址,延時(shí)一段時(shí)間后讀取改地址的數(shù)據(jù),地址增加并判斷數(shù)據(jù)是否已經(jīng)讀取完成,對(duì)數(shù)據(jù)進(jìn)行處理后,將角度信息返回給主函數(shù)。在程序中通過(guò)XBUF08|BUF1和YBUF48|BUF5語(yǔ)句,將HMC5883L測(cè)量得到的X和Y方向上力的分量傳給X,Y寄存器,再通過(guò)ANGLEATAN2DOUBLEY,DOUBLEX180/314159265180(31)計(jì)算出角度,就得到了當(dāng)前系統(tǒng)的風(fēng)向數(shù)據(jù)。風(fēng)向子程序流程圖如圖33。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)10風(fēng)向子程序入口變量初始化復(fù)位端產(chǎn)生一個(gè)高電平寫HMC5883L地址讀取該地址數(shù)據(jù)地址增加數(shù)據(jù)是否讀完延時(shí)數(shù)據(jù)處理Y返回主程序N圖33風(fēng)向子程序流程圖西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)1133風(fēng)速子程序設(shè)計(jì)本設(shè)計(jì)采用光電傳感器通過(guò)測(cè)速碼盤就能得到一系列的脈沖信號(hào),并從引腳P32中斷INT0端輸入,每20次中斷代表車輪轉(zhuǎn)動(dòng)一圈,中斷數(shù)N/20就得到風(fēng)葉轉(zhuǎn)動(dòng)的圈數(shù),風(fēng)葉的角度/定時(shí)器時(shí)長(zhǎng)就是風(fēng)葉轉(zhuǎn)動(dòng)的速度,風(fēng)葉角速度X風(fēng)葉半徑就得到風(fēng)速。風(fēng)葉的半徑為002M,假如在一分鐘的時(shí)間內(nèi),產(chǎn)生了2000脈沖,則風(fēng)葉的轉(zhuǎn)速就為100R/MIN即1002RAD/MIN,風(fēng)速即為4M/MIN。風(fēng)速子程序流程圖如圖34所示。圖34風(fēng)速子程序流程圖西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)1234鍵盤子程序設(shè)計(jì)鍵盤子程序的運(yùn)行結(jié)果將決定程序運(yùn)行的下一個(gè)方向,決定程序的不同操作,所以此程序段在整個(gè)程序中顯得尤為重要。由于鍵盤通常進(jìn)行排列成矩陣格式,因此可以用硬件或軟件方法對(duì)行列分別進(jìn)行掃描查找按動(dòng)的鍵。我選擇線反轉(zhuǎn)法進(jìn)行按鍵檢測(cè)。線反轉(zhuǎn)法很簡(jiǎn)練,無(wú)論被按鍵處于第一列或是最后一列,均只需兩步便能獲得按鍵的行列值。第一步將行線編程為輸入線,列線編程為輸出線,并使輸出線輸出為全零電平,則行線中電平由高到低所在行為按鍵所在行。第二步與第一步相反,將行線編程為輸出線,列線編程為輸入線,并使輸出線輸出為全零電平,則列線中電平由高到低所在行為按鍵所在列。綜合一、二兩步的結(jié)果,可確定按鍵所0在行和列,從而識(shí)別所按的鍵。該方法的優(yōu)點(diǎn)是非常簡(jiǎn)單適用。綜上兩種方法的介紹,選擇線反轉(zhuǎn)法。鍵盤子程序流程圖如圖35所示。鍵盤是使用排成3行2列的6點(diǎn)陣;把這兩組3位和2位的行列線分別連到主機(jī)單片機(jī)的控制引腳上(其中行線接在P11P13上,列線接在P14P15上)。點(diǎn)陣上的鍵一旦被按動(dòng),該點(diǎn)行列的信號(hào)就可以被接通。首先向行送全1,再對(duì)列送全0。如果行線上有鍵按下的位置,原來(lái)的1被列送來(lái)的0所代替,記表32按鍵功能表按鍵功能描述KEY1設(shè)置時(shí)間按鍵。按一下設(shè)置年,按兩下設(shè)置月,按三下設(shè)置日,按四下設(shè)置時(shí),按五下設(shè)置分KEY2記錄調(diào)取按鍵KEY3功能加按鍵KEY4功能減按鍵KEY5確認(rèn)按鍵KEY6取消按鍵西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)13錄下相對(duì)應(yīng)信息的到行寄存器。反過(guò)來(lái),把列送全1,再對(duì)行送全0,于是對(duì)應(yīng)列上有鍵按下的線便變?yōu)?,再把列上的信息送到列寄存器并記錄下來(lái)。此時(shí)我們就能得到具體是哪個(gè)按鍵按下,然后執(zhí)行相應(yīng)的功能。按鍵功能如表32。圖35鍵盤子程序流程圖西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)1435報(bào)警輸出子程序設(shè)計(jì)本設(shè)計(jì)的主要功能是監(jiān)控風(fēng)速大小是否超過(guò)預(yù)定值,主控機(jī)P17端口外接蜂鳴器,P16端口外接LED燈,當(dāng)風(fēng)速過(guò)高時(shí),蜂鳴器響起的同時(shí)LED燈也會(huì)發(fā)光,以提醒操作人員風(fēng)速過(guò)高。報(bào)警輸出子程序流程圖如圖36所示。圖36報(bào)警輸出子程序流程圖36時(shí)鐘子程序設(shè)計(jì)時(shí)鐘子程序的記錄了系統(tǒng)當(dāng)前運(yùn)行的時(shí)間,系統(tǒng)時(shí)鐘的核心部分就是定時(shí),通過(guò)DS1302完成定時(shí)。本方案采用DALLAS公司的專用時(shí)鐘芯片DS1302。該芯片是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為25V55V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。該芯片內(nèi)部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器。該芯片內(nèi)部采用石英晶體振蕩器,其芯片是一款高精度實(shí)時(shí)時(shí)鐘芯片,24小時(shí)誤差不超過(guò)2妙。D1302是一種高性能、低功耗、帶RAM的實(shí)時(shí)時(shí)鐘電路,它可以對(duì)年、月、日、周日、時(shí)、分、秒進(jìn)行計(jì)時(shí),具有閏年補(bǔ)償功能,工作電壓為25V55V。采用三線接口與CPU進(jìn)行同步通信,并可采用突發(fā)方式一次傳送多個(gè)字節(jié)的時(shí)鐘信號(hào)或RAM數(shù)據(jù)。DS1302內(nèi)部有一個(gè)318的用于臨時(shí)性存放數(shù)據(jù)的RAM寄存器,因此,可直接對(duì)其以用于顯示或設(shè)置,使得軟件編程相對(duì)簡(jiǎn)單。為保證時(shí)鐘在電網(wǎng)電壓不足或突然掉電等突發(fā)情況下,備用電源也能保持時(shí)鐘的連續(xù)運(yùn)行。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)15當(dāng)電網(wǎng)電壓不足或突然掉電時(shí),系統(tǒng)自動(dòng)轉(zhuǎn)換到備用電源供電系統(tǒng)。而且即使系統(tǒng)不上電,程序不執(zhí)行時(shí),備用電源也能保證芯片的正常運(yùn)行,以備隨時(shí)提供正確的時(shí)間。DS1302管腳描述如表33所示。時(shí)鐘子程序流程圖如圖37所示。表33DS1302管腳描述管腳號(hào)管腳名稱功能1VCC2雙供電配置中的主電源供應(yīng)管腳,VCC1連接到備用電源,在主電源失效時(shí)保持時(shí)間和日期數(shù)據(jù)。DS1302工作于VCC1和VCC2中較大者。當(dāng)VCC2比VCC1高02V時(shí),VCC2給DS1302供電。當(dāng)VCC1比VCC2高時(shí),VCC1給DS1302供電。2X1與標(biāo)準(zhǔn)的32768KHZ石英晶體相連。內(nèi)部振蕩器被設(shè)計(jì)與指定的6PF裝載電容的晶體一起工作。3X24GND電源地5CE輸入CE信號(hào)在讀寫時(shí)必須保持高電平。此管腳內(nèi)部有一個(gè)40K(典型值)的下拉電阻連接到地。6I/O輸入/推挽輸出。I/O管腳是三線接口的雙向數(shù)據(jù)管腳。此管腳內(nèi)部有一個(gè)40K(典型值)的下拉電阻連接到地。7SCLK輸入SCLK用來(lái)同步串行接口上的數(shù)據(jù)動(dòng)作。此管腳內(nèi)部有一個(gè)40K(典型值)的下拉電阻連接到地。8VCC1低功率工作在單電源和電池工作系統(tǒng)和低功率備用電池。在使用涓流充電的系統(tǒng)中,這個(gè)管腳連接到可再充能量源。UL認(rèn)證在使用鋰電池時(shí)確保避免反向充電電流。當(dāng)系統(tǒng)上電運(yùn)行時(shí),時(shí)鐘模塊就開(kāi)始運(yùn)行,首先對(duì)時(shí)鐘模塊使用的變量進(jìn)行初始化,給DS1302寫數(shù)據(jù)DS1302WRITE(0X8E,0X00),使元器件不具備寫保護(hù),使復(fù)位端產(chǎn)生一個(gè)高電平,令RST1,傳輸開(kāi)始,DS1302WRITEBYTE(CMD);向DS1302寫入需要寫入數(shù)據(jù)的地址,然后向該地址寫入數(shù)據(jù)DS1302WRITEBYTE(DAT),地址增加并判斷要寫入的數(shù)據(jù)是否已經(jīng)寫入完成。使復(fù)位端產(chǎn)生一個(gè)高西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)16電平,令RST1,傳輸開(kāi)始,DS1302WRITEBYTE(CMD);向DS1302寫入需要讀取數(shù)據(jù)的地址,然后讀取該地址的數(shù)據(jù)DS1302WRITEBYTE(DAT),地址增加并判斷要讀出的數(shù)據(jù)是否已經(jīng)讀出完成。讀出完成之后返回主程序。圖37時(shí)鐘子程序流程圖西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)1737顯示子程序設(shè)計(jì)本設(shè)計(jì)中采用LCD1602帶字庫(kù)的液晶屏進(jìn)行顯示。1602字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,分為上下2行,每行顯示16個(gè)字符。而本功能也是本設(shè)計(jì)系統(tǒng)中的核心部分,在設(shè)計(jì)、調(diào)試是都是通過(guò)本模塊的顯示來(lái)判斷所需的功能是否實(shí)現(xiàn)。同時(shí)本模塊的時(shí)隙,指令都有特別的要求。所以在下面做詳細(xì)的介紹,如表34所示為1602的引腳,在連接到單片機(jī)是特別要注意數(shù)據(jù)口的順序以便操作。表34管腳功能說(shuō)明引腳符號(hào)管腳功能說(shuō)明1VSS一般接地2VDD接電源(5V)3V0液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高(對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度)。4RSRS為寄存器選擇,高電平1時(shí)選擇數(shù)據(jù)寄存器、低電平0時(shí)選擇指令寄存器。5R/WR/W為讀寫信號(hào)線,高電平1時(shí)進(jìn)行讀操作,低電平0時(shí)進(jìn)行寫操作。6EE或EN端為使能ENABLE端,下降沿使能。7DB0底4位三態(tài)、雙向數(shù)據(jù)總線0位(最低位)8DB1底4位三態(tài)、雙向數(shù)據(jù)總線1位9DB2底4位三態(tài)、雙向數(shù)據(jù)總線2位10DB3底4位三態(tài)、雙向數(shù)據(jù)總線3位11DB4高4位三態(tài)、雙向數(shù)據(jù)總線4位12DB5高4位三態(tài)、雙向數(shù)據(jù)總線5位13DB6高4位三態(tài)、雙向數(shù)據(jù)總線6位14DB7高4位三態(tài)、雙向數(shù)據(jù)總線7位(最高位)(也是BUSYFLANG)15BLA背光電源正極16BLK背光電源負(fù)極西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)18如表35所示為不同指令的設(shè)置。即1602的主要11條指令對(duì)應(yīng)的命令字。表351602液晶顯示器內(nèi)部共有11條控制指令序號(hào)指令RSR/WDB7DB6DB5DB4DB3DB2DB1DB01清顯示00000000012光標(biāo)返回0000000013置輸入模式00000001I/DS4顯示開(kāi)/關(guān)控制0000001DCB5光標(biāo)獲字符移位000001S/CR/L6功能設(shè)置00001DLNF7設(shè)置字符發(fā)生存儲(chǔ)器地址0001字符發(fā)生存儲(chǔ)器地址8設(shè)置數(shù)據(jù)存儲(chǔ)器地址001顯示數(shù)據(jù)存儲(chǔ)器地址9讀忙標(biāo)志或地址01BF計(jì)數(shù)器地址10寫數(shù)據(jù)到CGROM或DDRAM10要寫的數(shù)據(jù)內(nèi)容11從CGROM或DDRAM讀數(shù)據(jù)11讀出的數(shù)據(jù)內(nèi)容西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)191602液晶顯示器的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的,下面對(duì)表35中的一些包含不同位指令的說(shuō)明指令3,光標(biāo)和顯示模式設(shè)置。I/D為光標(biāo)移動(dòng)方向,高電平右移,低電平左移;S為屏幕上所有文字是否左移或者右移標(biāo)志,高電平表示有效,低電平則無(wú)效。指令4,顯示開(kāi)/關(guān)控制。D為控制整體顯示的開(kāi)與關(guān)設(shè)置,高電平表示開(kāi)顯示,低電平表示關(guān)顯示;C為控制光標(biāo)的開(kāi)與關(guān)設(shè)置,高電平表示有光標(biāo),低電平表示無(wú)光標(biāo);B為控制光標(biāo)是否閃爍設(shè)置,高電平閃爍,低電平不閃爍。指令5,光標(biāo)或字符移位。S/C為高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。指令6,功能設(shè)置指令。D、L取高電平時(shí)為4位總線,低電平時(shí)為8位總線;N取低電平時(shí)為單行顯示,高電平時(shí)雙行顯示;F為低電平時(shí)顯示57的點(diǎn)陣字符,高電平時(shí)顯示510的點(diǎn)陣字符。指令9,讀忙信號(hào)和光標(biāo)地址。BF為忙標(biāo)志位,高電平表示忙,此時(shí)顯示器不能接收指令或者數(shù)據(jù),如果為低電平表示不忙。1602LCD的讀寫操作時(shí)序分別如圖38和圖39所示,根據(jù)這兩個(gè)圖歸納出的基本操作時(shí)序表,見(jiàn)寄存器選擇控制表37。1602的內(nèi)部顯示地址如圖310所示,圖311為顯示子程序流程圖。圖381602LCD的讀操作時(shí)序西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)20圖391602LCD的寫操作時(shí)序如表36所示為引腳RS、RW不同的組合時(shí)對(duì)應(yīng)的功能。表36寄存器選擇控制表RSRW操作說(shuō)明00寫入指令寄存器(清除屏等)01讀BUSYFLAG(DB7),以及讀取位址計(jì)數(shù)器(DB0DB6)值10寫入數(shù)據(jù)寄存器(顯示各字型等)11從數(shù)據(jù)寄存器讀取數(shù)據(jù)注關(guān)于EH脈沖開(kāi)始時(shí)初始化E為0,然后置E為1,再清0。BUSYFLAG(DB7)在此位未被清除為0時(shí),LCD將無(wú)法再處理其他的指令要求。注數(shù)據(jù)指針設(shè)置數(shù)據(jù)首地址為80H,所以數(shù)據(jù)地址為80H地址碼027H,4067H。圖3101602的內(nèi)部顯示地址LCD1602初始化過(guò)程如下LCDRS0;LCDEN0;WRITE_COM0X01顯示清屏WRITE_COM0X38顯示模式設(shè)置西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)21圖311顯示子程序流程圖WRITE_COM0X0C顯示開(kāi),開(kāi)游標(biāo),不閃爍WRITE_COM0X06字符整體移動(dòng)38信號(hào)輸出子程序設(shè)計(jì)當(dāng)風(fēng)向風(fēng)力數(shù)據(jù)通過(guò)單片機(jī)處理后,就需要及時(shí)的告知工作人員,使用串口可以將檢測(cè)到的風(fēng)向風(fēng)力數(shù)據(jù)傳輸給外接設(shè)備。信號(hào)輸出子程序流程圖如圖312所示。串口的初始化程序?yàn)镾CON0X50;REN1,允許接收狀態(tài),串口工作模式1TMOD0X20;定時(shí)器1工作方式2PCON0X80;SMOD1,波特率加倍TH10XFD;波特率為19200TL10XFD;TR11;開(kāi)定時(shí)器1中斷西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)22圖312信號(hào)輸出子程序流程圖ES1;開(kāi)串口中斷EA1;當(dāng)串口中斷打開(kāi)時(shí),先檢測(cè)接收標(biāo)志是否被拉高,將接收標(biāo)志程序置零,主機(jī)讀取之前存入SBUF中的數(shù)據(jù),將數(shù)據(jù)保存到RDATA,將置REC拉高結(jié)束中斷。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)23第4章軟件仿真與調(diào)試41軟件環(huán)境的介紹411KEILUVISION42009年2月發(fā)布KEILUVISION4,KEILUVISION4引入靈活的窗口管理系統(tǒng),使開(kāi)發(fā)人員能夠使用多臺(tái)監(jiān)視器。新的用戶界面可以更好地利用屏幕空間和更有效地組織多個(gè)窗口,提供一個(gè)整潔,高效的環(huán)境來(lái)開(kāi)發(fā)應(yīng)用程序。新版本支持更多最新的ARM芯片,還添加了一些其他新功能。KEILUVISION4特征A系統(tǒng)瀏覽器窗口的顯示設(shè)備外設(shè)寄存器信息。B多項(xiàng)目工作區(qū)簡(jiǎn)化與眾多的項(xiàng)目。C調(diào)試還原視圖創(chuàng)建并保存多個(gè)調(diào)試窗口布局。D多顯示器和靈活的窗口管理系統(tǒng)。新建一個(gè)工程打開(kāi)KEIL軟件后,點(diǎn)擊PROJECTNEWUVISIONPROJECT,出現(xiàn)一個(gè)新建工程界面,如圖41。圖41新建工程西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)24新建一個(gè)該工程的目錄,然后給這個(gè)工程起一個(gè)名字,比如溫濕度傳感器,軟件會(huì)自動(dòng)添加擴(kuò)展名UVPROJ,如圖42。圖42新建工程目錄保存之后會(huì)彈出一個(gè)對(duì)話框,用來(lái)選擇單片機(jī)型號(hào)。STC89C52選擇ATMEL公司名下的AT89C52,如圖43。圖43芯片選擇西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)25工程建立好之后,建立編寫代碼的文件,單擊FILENEW,然后點(diǎn)擊SAVE,可以保存文件,因?yàn)槭遣捎肅語(yǔ)言編寫,因此這塊文件名的后綴一定要加C,如圖44。圖44代碼文件然后將創(chuàng)建的文件添加到所建立的工程中去,右擊SOURCEGROUP1,單擊ADDFILESTOGROUPSOURCEGROUP1,將剛剛創(chuàng)建的溫濕度傳感器C文件添加進(jìn)去,如圖45。圖45工程添加西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)26程序編寫好后,對(duì)其進(jìn)行編譯,生成HEX文件,就可以下載到單片機(jī)里了,首先點(diǎn)擊如圖46所示快捷按鍵。圖46編譯生產(chǎn)HEX在彈出的對(duì)話框中,單機(jī)OUTPUT選項(xiàng),選中其中的CREATEHEXFILE,然后點(diǎn)擊確認(rèn),如圖47。圖47HEX設(shè)置設(shè)置完成后,點(diǎn)擊PROJECTREBUILDALLTARGETFILES,或者單擊如圖48所示快捷按鍵。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)27圖48編譯編譯完成后,在KEIL軟件下方,會(huì)出現(xiàn)相應(yīng)提示,DATA指的是程序使用了單片機(jī)內(nèi)部256字節(jié)RAM的多少,CODE指的是使用了8K代碼FLASH資源中的多少,當(dāng)提示“0ERROR,0WARNING”表示程序無(wú)錯(cuò)誤和警告,此時(shí)就會(huì)生成HEX文件,如圖49所示。圖49資源占用與警告412STC_ISP_V480將硬件與電腦連接好之后,查看設(shè)備管理器所使用的COM口,然后打開(kāi)STC系列單片機(jī)下載軟件STC_ISP_V480,如圖410。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)28圖410下載軟件STC_ISP_V480下載步驟第1步選擇單片機(jī)型號(hào),如圖411。圖411選擇單片機(jī)型號(hào)第2步單機(jī)“打開(kāi)程序文件”,找到剛才建立工程編譯生成的HEX文件,西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)29如圖412。圖412打開(kāi)程序文件第3步選擇剛才查到的COM口,如圖413。第4步由于STC單片機(jī)需要冷啟動(dòng),先點(diǎn)下載,等待軟件提示上電的時(shí)候,再上電,如圖414和圖415所示。圖413選擇COM口西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)30圖414冷啟動(dòng)圖415下載完成42KEIL軟件及其調(diào)試功能簡(jiǎn)介成功編譯/匯編、連接后,選擇菜單DEBUGSTART/STOPDEBUGSESSION(或按CTRLF5鍵)進(jìn)入程序調(diào)試狀態(tài),KEIL提供對(duì)程序的模擬調(diào)試功能,內(nèi)建一個(gè)功能強(qiáng)大的仿真CPU以模擬執(zhí)行程序,如圖416所示。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)31圖416開(kāi)始程序調(diào)試KEIL能以單步執(zhí)行(按F11或選擇DEBUGSTEP)、過(guò)程單步執(zhí)行(按F10或選擇DEBUGSTEPOVER)、全速執(zhí)行等多種運(yùn)行方式進(jìn)行程序調(diào)試,如圖417和418所示。圖417單步執(zhí)行圖418過(guò)程單步執(zhí)行如果發(fā)現(xiàn)程序有錯(cuò),可采用在線匯編功能對(duì)程序進(jìn)行在線修改(DEBUGINLINEASSAMBLY),不必執(zhí)行先退出調(diào)試環(huán)境、修改源程序、對(duì)工程重新進(jìn)行編譯/匯編和連接、然后再次進(jìn)入調(diào)試狀態(tài)的步驟,如圖419所示。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)32圖419在線修改對(duì)于一些必須滿足一定條件(如按鍵被按下等)才能被執(zhí)行的、難以用單步執(zhí)行方式進(jìn)行調(diào)試的程序行,可采用斷點(diǎn)設(shè)置的方法處理(DEBUGINSERT/REMOVEBREAKPOINT或DEBUGBREAKPOINTS等),如圖420所示。圖420斷點(diǎn)設(shè)置在模擬調(diào)試程序后,還須通過(guò)編程器將HEX目標(biāo)文件燒寫入單片機(jī)中才能觀察目標(biāo)樣機(jī)真實(shí)的運(yùn)行狀況。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)33第5章總結(jié)與討論本次設(shè)計(jì)中,本人學(xué)習(xí)到了許多以前沒(méi)有接觸過(guò)的硬件、軟件知識(shí),畢業(yè)設(shè)計(jì)之前只是偶爾有機(jī)會(huì)能接觸到電子制作,對(duì)電子制作相關(guān)的知識(shí)要求和電子制作的過(guò)程沒(méi)有深刻的了解。兩個(gè)多月的畢業(yè)設(shè)計(jì),是一個(gè)學(xué)習(xí)電子制作的絕好機(jī)會(huì)。在本次設(shè)計(jì)中,首先學(xué)會(huì)了查閱資料和利用工具書。平時(shí)課堂上所學(xué)習(xí)的知識(shí)大多比較陳舊,作為一名電子專業(yè)的學(xué)生,由于本專業(yè)的特點(diǎn)自己更要積極查閱當(dāng)前的最新動(dòng)態(tài)資料及其應(yīng)用技巧等等。當(dāng)在設(shè)計(jì)過(guò)程中需要用一些不曾學(xué)過(guò)的東西時(shí),就要去有針對(duì)性地查找資料,然后加以吸收利用,以提高自己的應(yīng)用能力,而且還能增長(zhǎng)自己見(jiàn)識(shí),補(bǔ)充最新的專業(yè)知識(shí)。并且,在這次畢業(yè)設(shè)計(jì)中,在網(wǎng)絡(luò)上的資料查閱也是很重要的環(huán)節(jié),網(wǎng)絡(luò)上的資源極其豐富,通過(guò)檢索工具的使用,使得本人對(duì)本次設(shè)計(jì)中的各方面都有了清楚的了解,從而順利的完成了本次畢業(yè)設(shè)計(jì)。不過(guò)由于對(duì)所采用的設(shè)計(jì)語(yǔ)言的不確定性,再加上對(duì)曾經(jīng)學(xué)過(guò)的C語(yǔ)言和匯編語(yǔ)言的極少利用和對(duì)這兩門語(yǔ)言掌握不是很精通,結(jié)果在設(shè)計(jì)的過(guò)程中出現(xiàn)了不少軟件設(shè)計(jì)上的思路障礙,也出現(xiàn)了不少語(yǔ)法錯(cuò)誤和程序代碼的高冗雜度,為此吃了不少苦頭。其中最大的教訓(xùn)就是語(yǔ)言嵌套程序思想的不精通帶來(lái)的程序高度冗雜,由于所設(shè)計(jì)的程序中需要大量重復(fù)地多層調(diào)用同樣的子函數(shù),而開(kāi)始對(duì)程序嵌套設(shè)計(jì)這部分的了解還相當(dāng)膚淺,結(jié)果設(shè)計(jì)出來(lái)的程序是沒(méi)有可讀性的代碼組合,不是可以完成目的功能的優(yōu)良架構(gòu)的程序。后來(lái)又花了大量時(shí)間重新閱讀理解嵌套程序設(shè)計(jì)思想,重新設(shè)計(jì)系統(tǒng)程序,教訓(xùn)相當(dāng)深刻??傊?,本次設(shè)計(jì)使本人的實(shí)踐能力得到了進(jìn)一步提高,在調(diào)試過(guò)程中還積累了一些經(jīng)驗(yàn)。特別是培養(yǎng)了做事要嚴(yán)謹(jǐn)、認(rèn)真的作風(fēng),受苦耐勞的精神以及相對(duì)應(yīng)的工程意識(shí)。還對(duì)以前學(xué)過(guò)的理論知識(shí)起到了回顧作用,并對(duì)其加以進(jìn)一步的消化和鞏固。本次設(shè)計(jì)具備的主要功能有1、帶鍵盤輸入,必要的參數(shù)設(shè)定,測(cè)量修正,記錄的調(diào)取。2、帶顯示器件,顯示當(dāng)前時(shí)間、風(fēng)向、風(fēng)速等信息。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)343、帶有信號(hào)輸出接口,實(shí)時(shí)輸出風(fēng)向數(shù)據(jù)和風(fēng)速數(shù)據(jù)。西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)35參考文獻(xiàn)1徐明,朱慶春風(fēng)向風(fēng)速測(cè)量?jī)x設(shè)計(jì)J氣象水文海洋儀器,2008,045102凌六一,伍龍基于軟件模擬的51單片機(jī)IIC總線的實(shí)現(xiàn)J電子技術(shù),2004,0513163葛磊蛟,毛一之,李歧,高婧嬙基于C語(yǔ)言的RS232串行接口通信實(shí)現(xiàn)J河北工業(yè)大學(xué)學(xué)報(bào),2008,0611164胡寧博,李劍,趙櫸云基于HMC5883的電子羅盤設(shè)計(jì)J傳感器世界,2011,0635385劉靜,王計(jì)元24C系列串行EEPROM與單片機(jī)的接口設(shè)計(jì)及應(yīng)用J上海電力學(xué)院學(xué)報(bào),2011,043533586宋德杰AT24C02在單片機(jī)中的應(yīng)用J電子制作,2005,0417197盧旭錦基于KEILC的AT24C02串行E2PROM的編程J現(xiàn)代電子技術(shù),2007,081541578KANGSHUNLI,YANCHEN,HEZUANLIUANEWMETHODOFEVOLVINGHARDWAREDESIGNBASEDONIICBUSANDAT24C02JINTELLIGENTCONTROLANDAUTOMATIONWCICA,201210THWORLDCONGRESSON20121041079馮大捷基于DS1302電子時(shí)鐘的設(shè)計(jì)J科技視界,2012,0211812010崔惠柳串行實(shí)時(shí)時(shí)鐘芯片DS1302及其應(yīng)用J廣西工學(xué)院學(xué)報(bào),1998,01626611姚德法,張洪林串行時(shí)鐘芯片DS1302的原理與使用J信息技術(shù)與信息化,2006,01929412張寧丹,金桂基于STC89C52單片機(jī)DS1302時(shí)鐘芯片定時(shí)開(kāi)關(guān)的設(shè)計(jì)與仿真J現(xiàn)代電子技術(shù),2013,084613趙亮跟我學(xué)51單片機(jī)七LCD1602液晶顯示模塊J電子制作,2011,07747714張亞峰KEILC51軟件使用方法J電子制作,2011,01616515邵子揚(yáng),黃保明,劉海濤KEIL軟件仿真的串口調(diào)試技巧J單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2006,077678西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)36附錄附錄1風(fēng)向子程序UCHARGE,SHI,BAI,QIAN,WAN;/顯示變量UCHARCODETABLE0,1,2,3,4,5,6,7,8,9;INTX,Y,Z;BYTEBUF8;DOUBLEANGLE;VOIDCONVERSIONUINTTEMP_DATAWANTEMP_DATA/10000;TEMP_DATATEMP_DATA10000;/取余運(yùn)算QIANTEMP_DATA/1000;TEMP_DATATEMP_DATA1000;/取余運(yùn)算BAITEMP_DATA/100;TEMP_DATATEMP_DATA100;/取余運(yùn)算SHITEMP_DATA/10;TEMP_DATATEMP_DATA10;/取余運(yùn)算GETEMP_DATA;VOIDHMC5883_STARTF_SDA1;/拉高數(shù)據(jù)線F_SCL1;/拉高時(shí)鐘線DELAY5US;/延時(shí)西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)37F_SDA0;/產(chǎn)生下降沿DELAY5US;/延時(shí)F_SCL0;/拉低時(shí)鐘線VOIDHMC5883_STOPF_SDA0;/拉低數(shù)據(jù)線F_SCL1;/拉高時(shí)鐘線DELAY5US;/延時(shí)F_SDA1;/產(chǎn)生上升沿DELAY5US;/延時(shí)VOIDHMC5883_SENDACKBITACKF_SDAACK;/寫應(yīng)答信號(hào)F_SCL1;/拉高時(shí)鐘線DELAY5US;/延時(shí)F_SCL0;/拉低時(shí)鐘線DELAY5US;/延時(shí)BITHMC5883_RECVACKF_SCL1;/拉高時(shí)鐘線DELAY5US;/延時(shí)CYF_SDA;/讀應(yīng)答信號(hào)F_SCL0;/拉低時(shí)鐘線西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)38DELAY5US;/延時(shí)RETURNCY;VOIDHMC5883_SENDBYTEBYTEDATBYTEI;FORI0;I8;I/8位計(jì)數(shù)器DAT1;/移出數(shù)據(jù)的最高位F_SDACY;/送數(shù)據(jù)口F_SCL1;/拉高時(shí)鐘線DELAY5US;/延時(shí)F_SCL0;/拉低時(shí)鐘線DELAY5US;/延時(shí)HMC5883_RECVACK;BYTEHMC5883_RECVBYTEBYTEI;BYTEDAT0;F_SDA1;/使能內(nèi)部上拉,準(zhǔn)備讀取數(shù)據(jù),F(xiàn)ORI0;I8;I/8位計(jì)數(shù)器DAT1;F_SCL1;/拉高時(shí)鐘線西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)39DELAY5US;/延時(shí)DAT|F_SDA;/讀數(shù)據(jù)F_SCL0;/拉低時(shí)鐘線DELAY5US;/延時(shí)RETURNDAT;VOIDSINGLE_WRITE_HMC5883UCHARREG_ADDRESS,UCHARREG_DATAHMC5883_START;/起始信號(hào)HMC5883_SENDBYTESLAVEADDRESS;/發(fā)送設(shè)備地址寫信號(hào)HMC5883_SENDBYTEREG_ADDRESS;/內(nèi)部寄存器地址,請(qǐng)參考中文PDFHMC5883_SENDBYTEREG_DATA;/內(nèi)部寄存器數(shù)據(jù),請(qǐng)參考中文PDFHMC5883_STOP;/發(fā)送停止信號(hào)VOIDMULTIPLE_READ_HMC5883VOIDUCHARI;BYTEBUF8;HMC5883_START;/起始信號(hào)HMC5883_SENDBYTESLAVEADDRESS;/發(fā)送設(shè)備地址寫信號(hào)HMC5883_SENDBYTE0X03;/發(fā)送存儲(chǔ)單元地址,從0X3開(kāi)始HMC5883_START;/起始信號(hào)HMC5883_SENDBYTESLAVEADDRESS1;/發(fā)送設(shè)備地址讀信號(hào)FORI0;I6;I/連續(xù)讀取6個(gè)地址數(shù)據(jù),存儲(chǔ)中BUF西安工程大學(xué)本科畢業(yè)設(shè)計(jì)(論文)40BUFIHMC5883_RECVBYTE;/BUF0存儲(chǔ)數(shù)據(jù)IFI5HMC5883_SENDACK1;/最后一個(gè)數(shù)據(jù)需要回NOACKELSEHMC5883_SENDACK0;/回應(yīng)ACKHMC5883_STOP;/停止信號(hào)DELAY5;XBUF08|BUF1;/COMBINEMSBANDLSBOFXDATAOUTPUTREGISTERZBUF28|BUF3;/COMBINEMSBANDLSBOFZDATAOUTPUTREGISTERYBUF48|BUF5;/COMBINEMSBANDLSBOFYDATAOUTPUTREGISTERANGLEATAN2DOUBLEX,DOUBLEZ180/314159265180;/角度計(jì)算ANGLE10;CONVERSIONANGLE;VOIDINIT_HMC5883SINGLE_WRITE_HMC58830X02,0X00
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年黑龍江八一農(nóng)墾大學(xué)公開(kāi)招聘輔導(dǎo)員和教師22人備考題庫(kù)及答案詳解一套
- 2025年華中農(nóng)業(yè)大學(xué)生命科學(xué)技術(shù)學(xué)院公共平臺(tái)管理和儀器應(yīng)用崗位招聘?jìng)淇碱}庫(kù)及1套參考答案詳解
- 未來(lái)五年平板玻璃橫切機(jī)行業(yè)跨境出海戰(zhàn)略分析研究報(bào)告
- 2025年個(gè)人年終工作總結(jié)述職報(bào)告報(bào)告
- 未來(lái)五年VCD機(jī)芯企業(yè)ESG實(shí)踐與創(chuàng)新戰(zhàn)略分析研究報(bào)告
- 未來(lái)五年噴水織機(jī)企業(yè)制定與實(shí)施新質(zhì)生產(chǎn)力戰(zhàn)略分析研究報(bào)告
- 團(tuán)隊(duì)管理中的考核專員工作要點(diǎn)
- 兵裝集團(tuán)物流專員筆試題庫(kù)含答案
- 供應(yīng)鏈經(jīng)理面試題及成本控制方法含答案
- 計(jì)算機(jī)等級(jí)考試二級(jí)筆試試題教案
- 股權(quán)轉(zhuǎn)讓-個(gè)人所得稅自行納稅申報(bào)表(A表)
- DB15T 435-2020 公路風(fēng)吹雪雪害防治技術(shù)規(guī)程
- 備考2024四川省家庭教育指導(dǎo)師試題及答案三
- (正式版)CB∕T 4550-2024 船舶行業(yè)企業(yè)安全設(shè)備設(shè)施管理規(guī)定
- 全套管全回轉(zhuǎn)鉆機(jī)鉆孔咬合樁施工工藝
- 2024年春季學(xué)期中國(guó)文學(xué)基礎(chǔ)#期末綜合試卷-國(guó)開(kāi)(XJ)-參考資料
- 軍隊(duì)物資工程服務(wù)采購(gòu)產(chǎn)品分類目錄
- 《天文教學(xué)設(shè)計(jì)》教學(xué)設(shè)計(jì)
- 大學(xué)通用俄語(yǔ)1
- GB/T 24002.1-2023環(huán)境管理體系針對(duì)環(huán)境主題領(lǐng)域應(yīng)用GB/T 24001管理環(huán)境因素和應(yīng)對(duì)環(huán)境狀況的指南第1部分:通則
- GB/T 16938-2008緊固件螺栓、螺釘、螺柱和螺母通用技術(shù)條件
評(píng)論
0/150
提交評(píng)論