




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、畢業(yè)論文(設計)誠信聲明本人聲明:所呈交的畢業(yè)論文(設計)是在導師指導下進行的研究工作及取得的研究成果,論文中引用他人的文獻、數據、圖表、資料均已作明確標注,論文中的結論和成果為本人獨立完成,真實可靠,不包含他人成果及已獲得青島農業(yè)大學或其他教育機構的學位或證書使用過的材料。與我一同工作的同志對本研究所做的任何貢獻均已在論文中作了明確的說明并表示了謝意。論文(設計)作者簽名: 日期: 年 月 日 畢業(yè)論文(設計)版權使用授權書本畢業(yè)論文(設計)作者同意學校保留并向國家有關部門或機構送交論文(設計)的復印件和電子版,允許論文(設計)被查閱和借閱。本人授權青島農業(yè)大學可以將本畢業(yè)論文(設計)全部或
2、部分內容編入有關數據庫進行檢索,可以采用影印、縮印或掃描等復制手段保存和匯編本畢業(yè)論文(設計)。本人離校后發(fā)表或使用該畢業(yè)論文(設計)或與該論文(設計)直接相關的學術論文或成果時,單位署名為青島農業(yè)大學。論文(設計)作者簽名: 日期: 年 月 日 指 導 教 師 簽 名: 日期: 年 月 日目 錄摘 要IAbstractII1 緒論11.1 引言11.2 甲醛檢測儀的種類12 整體設計方案32.1 系統(tǒng)設計的基本要求32.2 系統(tǒng)設計的思想32.3 系統(tǒng)設計方案的對比選擇33 設計開發(fā)工具介紹53.1 單片機的概念和特點53.2 單片機的發(fā)展和趨勢63.3 STC12C5A60S2單片機63.
3、4 LTC1049CN8運算放大器73.5 LCD1602液晶顯示屏83.6 甲醛傳感器94 系統(tǒng)硬件設計114.1 系統(tǒng)整體電路的原理114.2 系統(tǒng)晶振電路的設計124.3 系統(tǒng)復位電路的設計124.4 系統(tǒng)放大電路的設計144.5 系統(tǒng)單片機及顯示電路的設計144.6 系統(tǒng)報警電路設計155 系統(tǒng)軟件設計175.1 程序編寫語言介紹175.2 編譯軟件介紹175.3 主程序模塊225.4 模數轉換225.5 按鍵模塊245.6 液晶顯示模塊266 設計總結306.1 全文總結306.2 心得體會30參考文獻32致謝33附錄34基于單片機的室內甲醛檢測儀的設計摘 要 眾所周知,甲醛對人體的
4、危害很大, 在當今的社會中甲醛通過各種途徑侵入人們的生活,特別是在房屋裝修的過程中,裝修材料中殘留大量的甲醛,所以應如何快速高效的檢測室內甲醛的含量是否超標就顯得尤為重要。傳統(tǒng)的檢測方法操作麻煩,而且精度不夠高,于此本研究設計了一種在室內具有檢測和超限報警功能的智能甲醛檢測儀。本設計具有顯示報警功能,并且具有功耗低、精度高、便于攜帶等特點。關鍵詞:甲醛;STC12C5A60S2;傳感器;A / D;LCDDesign of Indoor Formaldehyde Detector Based on SCM AbstractAs is known to all, formaldehyde doe
5、s great harm to human body. Nowadays, people's life is influence by formaldehyde through different ways, especially when buildings have been decorated. There are amount of the residual formaldehyde in the room. Thus, it is important to detect accurately that if the content of indoor formaldehyde
6、 is out of limits. The operation of traditional test methods is troublesome and of low accuracy. Compared with which, an intelligent formaldehyde analyzer which can test the content of indoor formaldehyde and alarm when the formaldehyde is out of limits is designed This design has the function of sh
7、owing alarms and has lots of advantages such as low power consumption, high precision, easy to carry, etc.Keywords: formaldehyde; STC12C5A60S2; Sensors; A/D; LCD1 緒論1.1 引言甲醛是一種無色有強刺激性氣味的氣體。溶于水、醇類和醚。甲醛在室溫下是氣體,通常以水溶液的形式存在。37%的水溶液稱為福爾馬林,醫(yī)療和科研部門通常用來做標本的防腐保存。在我們國家有毒化學物質優(yōu)先控制名單中甲醛位居第二。甲醛一直是世界衛(wèi)生組織確定為癌癥和導致畸形
8、的物質材料1。甲醛可以和蛋白質結合,吸入高濃度甲醛會引起呼吸道嚴重的刺激和水腫、眼痛、頭痛,也可能發(fā)生支氣管哮喘,人的皮膚直接接觸甲醛,可能會引起皮炎、皮膚色斑、皮膚壞死。經常吸入甲醛,也能導致慢性中毒,出現黏膜充血、皮膚刺激疾病、過敏性皮炎、指甲角化以及脆弱等。全身癥狀有頭痛、疲勞、心悸、失眠、體重減輕和植物神經紊亂等2。甲醛的來源途徑一般有這個方面:1室內裝飾材料里面的合成板材,如膠合板、細木工板、高密度板、刨花板。甲醛在這些板材中起膠合劑、防腐劑的角色,主要用于加強材料的硬度、防蟲、腐蝕。板材里的殘余和未參與反應的甲醛向周圍生態(tài)環(huán)境逐步釋放甲醛,是室內空氣中甲醛的主要來源。2使用合成板制
9、造家具,廠家為追求利潤的不惜使用不合格的木料板材,再粘貼材料表面時使用不合格的膠水,導致家具的甲醛含量超標。3含有甲醛并且可能會向周圍環(huán)境發(fā)出的各種裝飾材料,如墻紙、地毯、油漆等。1.2 甲醛檢測儀的種類目前,市場的甲醛檢測器有許多不同的種類,其中比較常見的是使用試驗紙光電光度法,當甲醛吹到浸有發(fā)色劑的試紙上時,浸有發(fā)色劑的TAB組合就會發(fā)生化學反應使標簽顏色發(fā)生變化。在接觸甲醛后溶解在試紙里的試藥就會和甲醛發(fā)生化學反應產生化合物,試紙的顏色會從白色變成黃色。顏色改變的程度可以反映出所受光的反射光量,反射光量的強度變化率強度可以作為被測氣體的甲醛含量的預測值。預先設定檢測線,可以通過測量反應率
10、來檢測甲醛濃度的含量。在收集氣體的方法上有的是使用自動吸引方式(內置微型空氣泵),一些使用擴散式。用測試紙光電光度法分析甲醛的濃度,它的優(yōu)點是靈敏度高,操作簡單,快速測定。但是這種方法在分析甲醛濃度時,往往是目視比色法,它的缺點是:(1)因為許多有色溶液是不夠穩(wěn)定的,不能長久保存,經常需要在測定的時候現配制溶液,比較費時費力費事。(2)目視比色法的精度低,準確率不高,一般相對誤差為±520。本文設計的便攜式甲醛檢測儀所使用的甲醛傳感器是電化學傳感器。它可以使甲醛的濃度轉換成微弱的電流信號。這樣可以通過電流電壓變換電路使微弱的電流信號轉換為可以測量的穩(wěn)定的電壓信號,增強了該電信號的穩(wěn)定
11、性。2 整體設計方案2.1 系統(tǒng)設計的基本要求本次設計的主要內容是設計一種基于單片機的室內甲醛檢測儀,主要利用單片機和放大電路對甲醛傳感器的輸出信號進行采集處理。設計基本要求:(1)快速檢測功能:當將儀器至于封閉環(huán)境時能快速測出甲醛濃度并顯示。(2)超標報警功能:當甲醛濃度超出國標時給予報警提示。2.2 系統(tǒng)設計的思想隨著現代電子技術的迅速發(fā)展,傳感技術已形成一個獨立的新興的高科技領域。傳感器的高度自動化、微型化與集成化,減少了對使用者環(huán)境和技術的要求,其便攜式的特點尤其適合于野外、現場分析的需要。本設計擬采用英國達特公司生產的CH20甲醛傳感器,傳感器的貴金屬電極與揮發(fā)的甲醛氣體發(fā)生反應,產
12、生與揮發(fā)的甲醛濃度成正比的電信號。由于甲醛傳感器產生的電信號十分微弱,不能直接與控制電路相連接使用,我們將其首先經過一個放大電路,將信號放大,再經過模數轉換器將模擬信號轉換成數字信號,在單片機電路的作用下,通過LCD將空氣中甲醛含量的濃度用數字顯示出來3。創(chuàng)新點:(1)使化學檢測轉化為電信號檢測。(2)應用單片機來顯示最后結果,成本低。(3)設備便于攜帶,操作簡單。(4)實現單片機控制的智能化。2.3 系統(tǒng)設計方案的對比選擇方案一:基于普通51單片機和國產MQ138傳感器的設計方案國產MQ138傳感器中能基本實現甲醛測量需要,其信號可以經過放大電路,在經過AD轉換芯片后送給單片機進行處理最后顯
13、示。其工作模塊可以分為:傳感器、放大電路、AD電路、單片機、顯示電路。通過這幾個部分的結合可以基本實現設計的功能,但是由于MQ138傳感器的線性度極其不理想,而且其測量范圍為1ppm10ppm,最低測量值已經遠遠超過國家標準的最低值0.8ppm。系統(tǒng)所采用的單片機只能進行數據處理,仍需要另外購買AD芯片,給系統(tǒng)造成成本增加,且對電路的性能會造成影響。方案二:基于增強型單片機和進口傳感器的設計方案英國達特(DART)公司的甲醛傳感器雖然價格為MQ138的兩倍,但其擁有穩(wěn)定的線性度,且靈敏度達到0.01ppm,可以滿足測量國家標準。系統(tǒng)工作模塊也分為傳感器、放大電路、AD電路、單片機、顯示電路。系
14、統(tǒng)才用的是增強型51單片機即STC12C5A60S2單片機,不但擁有超高的執(zhí)行速度而且內置了10位的AD轉換,可以簡單化電路,更可以節(jié)約一定的成本,對整體電路的穩(wěn)定性能更有保障。兩個方案的比較:方案一,雖然基本滿足測量需求,但是01ppm的范圍為盲區(qū),無法測量更無法在超過國標時及時提醒,系統(tǒng)整體穩(wěn)定性不高。方案二,完全能夠滿足測量需求,精度高,功耗更低,電路設計簡單,穩(wěn)定性高,更加可靠,所以選用方案二。3 設計開發(fā)工具介紹3.1 單片機的概念和特點現代社會中,盡管PC機的應用已經相當普遍,但是,在工控領域,在日益追求小而精、輕而薄的自動化控制器、自動化儀器儀表、家電產品等方面,PC機仍有所不相
15、適宜的地方。而工業(yè)控制、儀器儀表、家電產品等市場廣闊,要求PC機技術與之相適應。在這種情況下,單片機應運而生了(也稱作微型計算機)。微型計算機的基本機構是由中央處理器、儲存器、和I/O設備構成的。所謂的單片機是指將微型計算機3個單元的多個分體中的主要功能用1個集成電路芯片來實現,該芯片具有一個微型計算機的基本功能。這種超大規(guī)模集成電路芯片即稱為單片微型計算機,通常簡稱單片機。單片機具有以下特點:(1) 受集成度限制,片內存儲容量較小,一般8位單片機的ROM小于8/16K字節(jié),RAM小于256字節(jié),但可在外部擴展,通常ROM、RAM可分別擴展至64K字節(jié)。(2) 可靠性好。芯片本身是按工業(yè)測控環(huán)
16、境要求設計的,其抗工業(yè)噪聲干擾優(yōu)于一般通用CPU;程序指令及常數、表格固化在ROM中不易破壞;許多信號通道均在一個芯片內,故可靠性高。(3) 易擴展。片內具有計算機正常運行所必需的部件。芯片外部有許多供擴展用的三總線及并行、串行輸入/輸出管腳,很容易構成各種規(guī)模的計算機應用系統(tǒng)。(4) 控制功能強。為了滿足工業(yè)控制要求,一般單片機的指令系統(tǒng)中具有極豐富的條件分支轉移指令、I/O口的邏輯操作以及位處理功能。一般說來,單片機的邏輯控制功能及運行速度均高于同一檔次的微處理器。(5) 一般單片機內無監(jiān)控程序或系統(tǒng)通用管理軟件,只放置有用戶調試好的應用程序。但近年來也開始出現了在片內固化有BASIC解釋
17、程序的單片機。3.2 單片機的發(fā)展和趨勢由于單片機具有以上特點,因此在工業(yè)控制、數據采集、智能儀器儀表、智能化設備和各種家用電器等領域得到廣泛的應用。隨著微電子工藝水平的提高,近十年來單片微型計算機有了飛速的發(fā)展。歸納起來,它是沿著兩條路發(fā)展的:1.改進集成電路制造工藝,提高芯片的工作速度,降低工作電壓和降低功耗:2.在保留共同的CPU體系結構,最基本的外設裝置(如異步串行口,定時器等)和一套公用的指令系統(tǒng)的基礎上,根據不同的應用領域,把不同的外設裝置集成到芯片內,在同一個家族內繁衍滋生出各種型號的單片機。另外在單片機的應用中,可靠性是首要因素,為了擴大單片機的應用范圍和領域,提高單片機自身的
18、可靠性是一種有效方法。近年來,單片機的生產廠家在單片機設計上采用了各種提高可靠性的新技術,主要表現在一下幾點:(1)EFT(Electrical Fast Transient)技術(2)低噪音布線技術及驅動技術(3)采用低頻時鐘總之,單片機在目前的發(fā)展形勢下,表現出幾大趨勢:(1)可靠性及應用水平越來越高,和internet連接已是一種明顯的走向;(2)所集成的部件越來越多;(3)功耗越來越低;(4)和模擬電路結合越來越多。3.3 STC12C5A60S2單片機STC12C5A60S2單片機(引腳如圖3-1)是宏晶科技生產的一種能夠與傳統(tǒng)8051完全兼容的新型單片機,它執(zhí)行速度是傳統(tǒng)51單片機
19、的812倍,內部集成MAX810專用復位電路,2路PWM,8路高速10位A/D轉換(即P1口),因此具有很強大的數據處理能力,本身自帶的10位A/D轉換更是為本設計節(jié)約了成本。其基本參數如下4:1.與MCS-51產品指令和引腳完全兼容。2.60K字節(jié)可重擦寫FLASH閃存存儲器。3.100000次寫/擦循環(huán)。4.時鐘頻率:0Hz35MHz相當于普通單片機的0420M。5.三級加密存儲器。6.1280字節(jié)內部RAM。7.36/40/44個可編程I/O口線。 8.4個16位定時/計數器,7個中斷源。9.2路PWM。 10.低功耗的空閑和掉電模式。 11.片內振蕩器和時鐘電路。圖3-1 STC12C
20、5A60S2 規(guī)范引腳3.4 LTC1049CN8運算放大器LTC1049(引腳如圖3-2)是一種高性能,低功耗的零漂移運算放大器。此外,LTC1049提供優(yōu)越的DC和AC性能,其理論供應電流僅為200µA。LTC1049擁有典型失調電壓漂移0.02µV/°C, 0.1Hz到10Hz輸入噪聲電壓的3µV。轉換速度電壓增益為與典型的160dB與增益帶寬產品的0.8MHz。超載從飽和狀態(tài)的恢復時間6ms,比削波器放大器顯著改善使用外部電容器,可以在LTC1049是一個插件替換與大多數標準運算amps大幅度提高DC性能和降低功耗。其基本參數如下:1.低電源電流
21、:200µA2.無需外部元件3.最大失調電壓:10µV4.最大偏移電壓漂移:0.1µV/°C5.單電源供電:4.75V到16V6.輸入共模范圍包括地面8.典型的過載恢復時間:6ms9.在8-Pin可用,以便和PDIP軟件包兼容圖3-2 LTC1049CN8 的引腳圖3.5 LCD1602液晶顯示屏LCD顯示有很多種,常用的有1602和12864兩種,由于本設計中顯示的甲醛含量屬于較簡單的字符,可以考慮使用1602,LCD1602具有顯示內容豐富,接口電路簡單,人機交流性強等特點,適合本次設計的研究。其具體參數如表3-1,接口信號參數如表3-24。具體參數
22、:表3-1 LCD1602技術參數顯示容量:16×2個字符芯片工作量:4.55.5V工作電流:2.0Ma(5.0V)模塊最佳工作電壓:5.0V字符尺寸:2.95×4.35(W×H)mm接口信號參數:表3-2 LCD1602接口信號表格編號符號引腳說明編號符號引腳說明1VSS電源地9D2Data I/O2VSS電源正極10D3Data I/O3VL液晶顯示偏壓信號11D4Data I/O4RS數據/命令選擇端12D5Data I/O5R/W讀/寫選擇端13D6Data I/O6E使能信號14D7Data I/O7D0Data I/O15BLA背光源正極8D1Data
23、 I/O16BLK背光源負極3.6 甲醛傳感器本甲醛檢測儀采用英國達特(DART)公司生產的甲醛傳感器如圖3。該傳感器是兩電極電化學型的傳感器,通過擴散原理實現,因此不需要外部采樣硬件。當有甲醛氣體存在的時候,將會有一個很小的直流產生;傳感器本身不需要電源供應,但是產生的這個電流需要外部的數據采集將其變?yōu)榭勺x的信號。主要參數如下6:1.正常檢測0一10ppm,最大值50ppm;2.輸出信號250300nAppm;3.分辨率001ppm;4.響應時間<30s;5.最大零點沮度漂移(+20一+40"C)lppm;6.工作溫度-10一40;7.基線飄移<0.03/ppm;8.壽
24、命3年。圖3-3 甲醛傳感器的實物圖4 系統(tǒng)硬件設計4.1 系統(tǒng)整體電路的原理基于上述的首選設備,提出了硬件設計功能框圖如圖4-1所示:傳感器CH2O放大電路STC12C5A60S2單片機(A/D轉換及數據處理)LCD1602按鍵圖4-1 硬件功能框圖報警電路圖4-1 硬件功能框圖通過查閱資料提出整體的設計框架(如下3點),通過電腦仿真來完成功率放大電路和傳感器的研究工作,通過單片機開發(fā)板軟件和硬件的結合設計出A/D轉換程序及LCD顯示模塊,最后綜合在一起,通過實驗室進行各項技術指標的測量不斷改進、完善。1.信號轉換部分:該部分由氣體傳感器組成,其功能是將被測物濃度變成電信號。2.信號處理部分
25、:該部分由信號變換組成。 信號變換由氣體傳感器產生的電信號較小且和要求輸出的信號不成比例關系,必須經放大后才能得到標準輸出信號及控制信號。信號經處理后,輸出模擬信號。通過A/D轉化為數字信號進入單片機,最后LCD顯示,溫度信號經變換后供控制和計算用。 3.輸出部分:該部分由模擬信號輸出和LCD 數字輸出兩部分組成(通過單片機來實現),由傳感器出來的信號經過放大電路進行放大后由單片機經過A/D轉換并經過數字濾波和進制轉換后送到LCD1602顯示,由按鍵來控制其它功能,當檢測到得甲醛含量超過上限值則發(fā)出報警。4.2 系統(tǒng)晶振電路的設計單片機在工作時的每個指令的微操作在時間上都有嚴格的秩序,這樣的微
26、操作時間順序稱為時序,單片機時鐘信號用于給單片機芯片里的各種微操作提供了一個時間基準, STC12C5A60S2的時鐘生產方式分為兩種,一種是內部時鐘方式,一是外部時鐘方式10。內部時鐘的方式就是在單片機外部連接一個晶振電路和單片機內部的振蕩器發(fā)生作用產生時鐘脈沖信號。外部時鐘形式是把現有的外部時鐘信號引入到控制器在里面,這種方法通常被用于多片STC12C5A60S2單片機同時工作時,為了方便單片機系統(tǒng)的同步,一般要求外部信號的高電平的持續(xù)時間超過20 ns,且為頻率低于12MHz的方波11。該系統(tǒng)以盡量降低功耗的原則使用了內部時鐘模式。圖4-2 晶振電路圖在STC12C5A60S2單片機內部
27、有一個震蕩電路,只要在單片機的處理器的XTAL1和XTAL2引腳外接石英晶體(簡稱晶振)就構成了自激振蕩器并且在單片機內部產生時鐘脈沖信號,圖中的電容器C2和C3穩(wěn)定頻率和快速起振,電容值在530pF,典型值是22 pF,晶振CYS選擇的是12 MHz。4.3 系統(tǒng)復位電路的設計復位的含義:單片機開始工作的時候,必須處于一種確定的狀態(tài),否則,不知哪是第一條程序和如何開始運行程序。端口線電平和輸入輸出狀態(tài)不確定可能使外圍設備誤動作,導致嚴重事故的發(fā)生;內部一些控制寄存器(專用寄存器)內容不確定可能導致定時器溢出、程序尚未開始就要中斷及串口亂傳向外設發(fā)送數據。因此,任何單片機在開始工作前,都必須進
28、行一次復位過程,使單片機處于一種確定的狀態(tài) 12。復位電路原理:當在STC12C5A60S2單片機的RST引腳接入高電平并且保持2個機器周期時,單片機內部就執(zhí)行復位操作(若該引腳持續(xù)保持高電平,單片機就處于循環(huán)復位狀態(tài))。實際的應用中,復位操作有兩種基本類型:一種是上電復位,另一種是上電和按鍵都有效的復位,要求接通電源后,單片機自動實現復位操作。本次設計中的復位電路采用的是開關復位電路,開關S9沒有按下時是上電復位電路,上電復位電路在上電的瞬間,由于電容上的電壓不能突變,電容充電(導通)狀態(tài),所以RST引腳的電壓和VCC相同。隨著電容的充電,RST引腳上的電壓會逐漸降低。選擇合理的充電常數,就
29、可以保證開關按下時RST端有兩個機器周期以上的高電平,從而使STC12C5A60S2內部復位。開關按下時是手動復位電路,RST端口通過電阻與VCC電源相接通,通過電阻的分壓來可以實現單片機的復位。電路圖見圖4-3。圖4-3 復位電路圖4.4 系統(tǒng)放大電路的設計由于傳感器的輸出信號非常微弱,因此放大器需要選擇高放大倍數的運放。電路設計和元器件的選擇因此顯得非常關鍵。校準可以通過調整電路的放大倍數,從而在軟件中實現校準。具體放大電路如圖4-4,其中電流源模擬甲醛傳感器輸出電流,放大器對其進行轉換放大,其放大電路的具體參數及轉換放大原理圖如圖5所示。在系統(tǒng)中的高精度測量放大電路設計中,反饋電阻選為4
30、70 k,同時并聯一個4.7F的鉭電容在沒有反向響應時間的情況下降噪7。圖4-4 放大電路原理圖4.5 系統(tǒng)單片機及顯示電路的設計因為STC12C5A60S2單片機和普通51單片機的引腳相同并且完全兼容,因此在該電路設計時,可采用普通的單片機最小系統(tǒng)板來布局就可以了,放大電路的信號可以在經過P1口進入單片機進行A/D轉換和數據處理后經過連接P0口的LCD1062從而來進行顯示。具體電路如圖4-5所示。圖4-5 顯示電路和STC12C5A60S24.6 系統(tǒng)報警電路設計當電路測試到甲醛濃度超過國家標準的限制性時,將產生一個信號給報警電路。讓報警電路報警以此來提醒工作人員查看解決,超限報警電路如下
31、圖4-6所示。這是由STC12C5A60S2的P2.6口來進行控制,當超過設置的數值0.08 PPM時,通過預設的程序使P2.6口值變?yōu)楦唠娖?從而使三極管導通,報警電路接通,使蜂鳴器發(fā)出警號聲。這個任務的實現主要依靠程序來完成。圖4-6 報警電路5 系統(tǒng)軟件設計5.1 程序編寫語言介紹對于單片機的開發(fā)應用中,逐漸引入了高級語言,C語言就是其中的一種。匯編語言的可控性較高級語言來說更具優(yōu)越性。程序編寫語言比較常見的有C語言、匯編語言。匯編語言的機器代碼生成效率高,控制性好,但就是移植性不高。C語言編寫的程序比用匯編編寫的程序更符合人們的思考習慣。還有很多處理器都支持C編譯器,這樣意味著處理器也
32、能很快上手。且具有良好的模塊化、容易閱讀、維護等優(yōu)點,且編寫的模塊程序易于移植8?;贑語言和匯編語言的優(yōu)缺點,本系統(tǒng)采用C語言編寫方法。 編寫軟件的主要思想是把要實現的系統(tǒng)功能按照不同的模塊進行劃分,然后再根據每個模塊最終要實現的功能逐個的編寫程序。本設計是采用查詢的方式來編寫整個程序的。5.2 編譯軟件介紹Keil軟件簡介:在單片機的開發(fā)利用的過程中軟件同硬件一樣都是離不開的,人們編寫的匯編語言源程序要成為一個CPU可以執(zhí)行的機器代碼有兩種方法手工匯編和機器匯編,現在手工匯編基本上不用了。機器匯編是用匯編軟件把源程序編寫成機器代碼,隨著單片機的發(fā)展越來越趨向成熟,,單片機的相關軟件開發(fā)也在
33、不斷地發(fā)展,使用最普遍的匯編軟件就是Keil軟件。本設計就采用了Keil軟件。1.系統(tǒng)概述Keil C51是美國Keil Software公司出品的51系列兼容單片機C語言軟件開發(fā)系統(tǒng),與匯編相比,C語言在功能上、結構性、可讀性、可維護性上有明顯的優(yōu)勢,因而易學易用。用過匯編語言后再使用C來開發(fā),體會更加深刻。 Keil C51軟件提供豐富的庫函數和功能強大的集成開發(fā)調試工具,全Windows界面。另外重要的一點,只要看一下編譯后生成的匯編代碼,就能體會到Keil C51生成的目標代碼效率非常之高,多數語句生成的匯編代碼很緊湊,容易理解。在開發(fā)大型軟件時更能體現高級語言的優(yōu)勢。2. Keil
34、C51單片機軟件開發(fā)系統(tǒng)的整體結構C51工具包整體結構,如圖5-1所示, 其中的Ishell和uVision分別是C51 for Dos和for Windows的集成開發(fā)環(huán)境,能夠完成編輯、編譯、連接、調試和仿真等整個開發(fā)過程。開發(fā)人員可以使用IDE本身或者其他編輯器編輯C語言或者匯編源文件。然后分別通過A51和C51編譯器編譯生成目標文件。 目標文件可以通過LIB51來生成庫文件, 也可以與庫文件一起經L51連接定位生成絕對目標文件。絕對目標文件由OH51轉換成標準的Hex文件,以供調試器dScope51或tScope51使用進行源代碼級調試,也可由仿真器使用直接對目標板進行調試,也可以直接
35、寫入程序存貯器如EPROM中17。 圖5-1 C51工具包的整體結構圖3. 運行KEIL51軟件見圖5-2 圖 5-2 軟件運行圖4.建立項目(1)單擊Project菜單,再單擊下拉菜單的New Project,接著彈出一個Windows文件的對話框,在“文件名”輸入你的第一個C程序項目的名稱,“保存”文件擴展名為uv2,然后可以通過點擊這個文件來打開以前做的項目。(2)選擇需要的單片機,本設計用的是宏晶的STC12C5A60S2單片機。完成以上的步驟,現在可以寫程序了。(3)首先我們要在項目中創(chuàng)建新的程序文件或加入舊程序文件。如果你沒有現成的程序,那么就要新建一個程序文件。(4)點擊保存新建
36、的程序,也可以用菜單FileSave或快捷鍵Ctrl+S進行保存。我們把第一個程序命名為test1.c,保存在項目所在的目錄中,這時你會發(fā)現程序單詞有了不同的顏色,說明KEIL的C語法檢查生效了。鼠標在屏幕左邊的Source Group1文件夾圖標上右擊彈出菜單,在這里可以做在項目中增加減少文件等操作。然后點擊“quot;Add File to Group 'Source Group 1'”彈出文件窗口,選擇剛剛保存的文件,按ADD按鈕,關閉文件窗,程序文件已加到項目中了。這時在Source Group1文件夾圖標左邊出現了一個小+號說明,文件組中有了文件,點擊它可以展開查看。
37、(5) C程序文件已被我們加到了項目中了,下面就剩下編譯運行了。如圖5-3,圖中1、2、3都是編譯按鈕,不同是1是用于編譯單個文件。2是編譯當前項目,如果先前編譯過一次之后文件沒有做動編輯改動,這時再點擊是不會再次重新編譯的。3是重新編譯,每點擊一次均會再次編譯鏈接一次,不管程序是否有改動。在3右邊的是停止編譯按鈕,只有點擊了前三個中的任一個,停止按鈕才會生效。在4中可以看到編譯的錯誤信息和使用的系統(tǒng)資源情況等,以后我們要查錯就靠它了。6是有一個小放大鏡的按鈕,這就是開啟關閉調試模式的按鈕,它也存在于菜單DebugStartStop Debug Session,快捷鍵為Ctrl+F5。(6)進
38、入調試模式,軟件窗口樣式大致如圖所示。圖中5-4為運行,當程序處于停止狀態(tài)時才有效,2為停止,程序處于運行狀態(tài)時才有效。3是復位,模擬芯片的復位,程序回到最開頭處執(zhí)行。按4我們可以打開5中的串行調試窗口,這個窗口我們可以看到從51芯片的串行口輸入輸出的字符,這里的第一個項目也正是在這里看運行結果。首先按4打開串行調試窗口,再按運行按鈕。要停止程序運行回到文件編輯模式中,就要先按停止按鈕再按開啟關閉調試模式按鈕。然后我們就可以進行關閉KEIL等相關操作了。 圖5-3 編譯運行圖 圖5-4 調試窗口圖(7)HEX文件的生成HEX文件格式是英特爾公司提出的把數據信息按照地址進行排列的數據信息,數據寬
39、度為字節(jié) ,所有的數據使用16進制數字表示。右擊圖 5-5上的1項目文件夾,彈出項目功能菜單, 選Options for Target'Target1 ,出現項目選項設置窗口,選擇項目文件夾圖標。打開項目選項窗口,轉向頁面輸出選項頁,如圖5-6所示,1是選擇編譯輸出途徑,2設置編譯輸出生成的文件名,3是決定要不要再創(chuàng)建HEX文件。圖5-5 項目窗口圖圖5-6 項目窗口圖5.3 主程序模塊主程序實現的功能: 圖5-7 主程序流程圖5.4 模數轉換 (1)模數轉換模塊的主要功能就是把經放大器放大的模擬電壓信號轉化為單片機能夠處理的數字信號,并傳送給單片機。(2)STC12C5A60S2轉換
40、的流程圖見下圖5-8所示。 圖5-8 數模轉換流程圖#define uint unsigned int /常量/變量定義/uchar k,i,j;float xdata lv;sbit ADCS =P31; /ADC0832 chip seclect /接口定義/ /其它引腳略uchar xdata dsw20; /存放sprintf轉換字符uchar xdata value149; /點陣字符儲存uchar code table= /字符查表unsigned int Adc0832(unsigned char channel) /AD轉換,返回結果 uchar i=0; ADCS=0;/拉低
41、CS端 _nop_(); _nop_(); ADCLK=1;/拉高CLK端 _nop_(); _nop_(); ADCLK=0;/拉低CLK端,形成下降沿1 _nop_();_nop_();ADCLK=1;/拉高CLK端 ADDI=1;/控制命令結束 _nop_(); _nop_(); dat=0; for(i=0;i<8;i+) dat|=ADDO;/收數據 j=0; j=j|ADDO;/收數據 ADCLK=1; _nop_(); _nop_(); ADCLK=0;/形成一次時鐘脈沖5.5 按鍵模塊(1)按鍵是顯示人機對話的一個控制按鈕,通過對按鍵的操作,對系統(tǒng)進行發(fā)送操作指令,后經與
42、單片機串行通信,然后在液晶上顯示。(2)按鍵查詢式的流程圖見下圖 圖5-9 按鍵流程圖uchar get_key() /讀鍵 uchar pass,kcodebuf;static uchar lastkcode,keytime=0; /定義為靜態(tài)變量,外部不可見,但需要常駐內存.static uchar havekey=0;static uchar keylock=0;kcodebuf=P1 & 0xff;keytime+;if (kcodebuf!=lastkcode) keytime=0;if (kcodebuf=0xff) havekey=0;keylock=0;keytime=
43、0;pass=0;else pass=nusekey;lastkcode=kcodebuf;return(pass);5.6 液晶顯示模塊本系統(tǒng)使用1602液晶顯示??刂瞥绦蛑饕腥糠郑合蛞壕е袑懭胫噶?;向液晶中寫入數據;液晶測試忙碌狀態(tài)。寫命令時,首先測液晶是否忙碌,液晶忙碌信號消失后,置RS及RW引腳低電平,然后使能端EN為高電平,下一條指令EN為低電平,有一定延時。之后液晶將開始處理這條指令,置位忙碌信號,在指令處理期間將不再響應其他指令或數據請求;寫數據,先測是否忙碌,液晶忙碌信號消失后;置RS=1,RW=0,然后使能端EN=1;下一條指令EN=0,之后液晶將開始處理這條指令,置位忙
44、碌信號,在指令處理期間將不再響應其他指令或數據請求。圖5-10 液晶顯示的操作流程圖液晶的程序主要由初始化函數、寫入函數、清RAM函數,其中初始化液晶的工作狀態(tài),包括光標歸位,顯示設置,顯示移位等,屏幕清空等命令,是使用液晶前必須要執(zhí)行的函數。子程序流程圖如下圖所示。圖5-11 液晶顯示的操作流程圖sbit RS=P20; /寄存器選擇位,將RS位定義為P2.0引腳sbit RW=P21; /讀寫選擇位,將RW位定義為P2.1引腳sbit E=P22; /使能信號位,將E位定義為P2.2引腳sbit BF=P07; /忙碌標志位,將BF位定義為P0.7引腳函數功能:判斷液晶模塊的忙碌狀態(tài)返回值
45、:result。result=1,忙碌;result=0,不忙unsigned char BusyTest(void) bit result;RS=0; /根據規(guī)定,RS為低電平,RW為高電平時,可以讀狀態(tài) RW=1; E=1; /E=1,才允許讀寫 _nop_(); /空操作 _nop_(); _nop_(); _nop_(); /空操作四個機器周期,給硬件反應時間 result=BF; /將忙碌標志電平賦給result E=0; /將E恢復低電平 return result; void WriteInstruction (unsigned char dictate) while(BusyT
46、est()=1); /如果忙就等待 RS=0; /根據規(guī)定,RS和R/W同時為低電平時,可以寫入指令 RW=0; E=0; /E置低電平(根據表8-6,寫指令時,E為高脈沖, / 就是讓E從0到1發(fā)生正跳變,所以應先置"0" Delay(1); /空操作兩個機器周期,給硬件反應時間 P0=dictate; /將數據送入P0口,即寫入指令或地址 Delay(1); /空操作四個機器周期,給硬件反應時間 E=1; /E置高電平 Delay(1); /空操作四個機器周期,給硬件反應時間 E=0; /當E由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令 void WriteAddres
47、s(unsigned char x) WriteInstruction(x|0x80); /顯示位置的確定方法規(guī)定為"80H+地址碼x" void WriteData(unsigned char y) while(BusyTest()=1); RS=1; /RS為高電平,RW為低電平時,可以寫入數據 RW=0; E=0; /E置低電平(根據表8-6,寫指令時,E為高脈沖, / 就是讓E從0到1發(fā)生正跳變,所以應先置"0" P0=y; /將數據送入P0口,即將數據寫入液晶模塊 Delay(1); /空操作四個機器周期,給硬件反應時間 E=1; /E置高電平
48、 Delay(1); /空操作四個機器周期,給硬件反應時間 E=0; /當E由高電平跳變成低電平時,液晶模塊開始執(zhí)行命令 void LcdInitiate(void) delay(15); /延時15ms,首次寫指令時應給LCD一段較長的反應時間 WriteInstruction(0x38); /顯示模式設置:16×2顯示,5×7點陣,8位數據接口delay(5); /延時5ms,給硬件一點反應時間 WriteInstruction(0x38);delay(5);WriteInstruction(0x38); /連續(xù)三次,確保初始化成功delay(5);WriteInstr
49、uction(0x0c); /顯示模式設置:顯示開,無光標,光標不閃爍delay(5);WriteInstruction(0x06); /顯示模式設置:光標右移,字符不移delay(5);WriteInstruction(0x01); /清屏幕指令,將以前的顯示內容清除delay(5);6 設計總結6.1 全文總結本文就基于單片機的室內甲醛檢測儀進行了整體的研究和設計,總結此設計的課題結果,可以大致歸結為以下幾個方面:(1)學習了單片機的發(fā)展路程、硬件結構及其特點,深入學習了STC12C5A60S2單片機的硬件和軟件編程及調試方法,深入學習了相關系統(tǒng)電路的分類作用及其特點,以及一些與之相關的程
50、序編寫方法。(2)了解了傳感器的相關知識,并且對又英國達特公司生產的甲醛傳感器做了深入的對比認知,認識了傳感器的整體結構及其在國內外的發(fā)展情況。(3)對匯編語言在整體上做了了解和認知,深入學習了C語言的優(yōu)缺點,同時掌握了基本的C語言編程。 (4)對于系統(tǒng)的編譯有一個全新的認識,了解了在Windows環(huán)境下利用Keil軟件進行程序編譯的基本方法。 通過以上所做的內容為課題的進一步研究奠定了一定的基礎,但本人的水平有限,在研究上的程度不夠深入,論文中存在諸多不足,這需要在以后的學習研究中進一步提高,概括起來有以下幾點:(1)對單片機的理論知識方面的學習還需要進一步的加強,同時要結合實際情況對單片機
51、系統(tǒng)的整體設計進行改進,使之更加符合工業(yè)和實際需要。(2)在匯編語言的運用上還需要進一步的加強,完善程序編輯,使之更加簡潔有效,使語言更加符合設計標準。(3)在硬件系統(tǒng)的整體設計上還需要進一步的完善,根據不同的現場情況進一步改善,使之更加的安全方便。6.2 心得體會畢業(yè)的腳步越來越近,畢業(yè)設計也接近了尾聲,經過3個多月的學習研究,在老師的悉心指導和同學的熱心幫助下,自己的理論水平和動手能力都有了很大的提高,但同時也發(fā)現了一些問題。首先來說,意識到自己現在所學的知識還是有太多的欠缺,對于單片機的運用和設計還有許多知識需要學習,特別是理論研究和實踐相結合的部分需要重點提高;其次,由于在本次設計中遇
52、到許多電路設計上的困難,在老師的悉心指導下,明白了其中一些系統(tǒng)功能的實現方法,但是自己還需要進一步學習;最后,在設計和學習中要多向別人學習,多進行溝通交流,只有那樣才能快速的提高自己。以上是我在本次畢業(yè)設計過程中的一些心得。參考文獻1潘政華.甲醛對人體健康的影響及治理措施J.現代農業(yè),2011,38(6):24-27.3田清華.基于電化學敏感電極的甲醛測試儀的研究D.河北:燕山大學,2007:29-31.4宏晶科技.STC12C5A60S2系列單片機.數據手冊S.2010.5長沙太陽人電子有限公司.SMC1602A.數據手冊S.2006.6DART公司.甲醛傳感器.數據手冊S.2004.葛化敏,葉小嶺.基于MSP430F449的甲醛檢測儀設計J .工業(yè)儀表與自動化裝置,2009, 45(8):34-40.8 Behzad Razavi .Design of Analog CMOS Integrated CircuitsM.2001:21-23.9 李維提,郭強.液晶顯示應用技術M.北京:電子工業(yè)出版社,2000:41-45
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鋼鐵廠違章計分心得體會模版
- 浙江省衢州市五校聯盟2024-2025學年高二下學期期中聯考化學試卷(PDF版含答案)
- 新概念121-130短語總結模版
- 《語文園地三》教學設計十二
- 科創(chuàng)集團與物業(yè)合作協議
- 包裝工藝學第10章
- 學前兒童發(fā)展 課件 第4章 學前兒童感知覺的發(fā)展
- 運營管理:運營流程(課件)
- 新聞培訓材料
- 藥物性肝病的臨床護理
- 山西靈石紅杏廣進寶煤業(yè)有限公司新建煤矸石綜合治理及土地復墾項目環(huán)評報告
- 睡蓮花卉欣賞與養(yǎng)護
- 出生證明英語翻譯模板
- 歷史中考熱點專題
- 中國石油大學(華東)宣講
- 游泳運動比賽宣傳PPT模板
- 武漢市房屋拆遷補償方案實施細則
- SPC八大控制圖自動生成器
- 石膏幾何體組合素描課件
- 河堤防工程施工組織設計方案
- 猴痘科普課件
評論
0/150
提交評論