基于單片機的溫度采集系統(tǒng)的設計畢業(yè)論文_第1頁
基于單片機的溫度采集系統(tǒng)的設計畢業(yè)論文_第2頁
基于單片機的溫度采集系統(tǒng)的設計畢業(yè)論文_第3頁
基于單片機的溫度采集系統(tǒng)的設計畢業(yè)論文_第4頁
基于單片機的溫度采集系統(tǒng)的設計畢業(yè)論文_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 目 錄摘 要iiabstractiii1 引言12 緒 論32.1 問題的提出32.2 設計目的及系統(tǒng)功能33 第二章 硬件電路設計43.1 硬件設計思路43.2 總體設計框圖43.3 單元電路設計43.3.1 89c51單片機43.3.2 溫度采集及調理電路53.3.3 鍵盤及數(shù)碼管顯示電路83.3.3.1 led顯示器83.3.3.2 7279可編程鍵盤顯示器接口芯片84 第三章 軟件設計94.1 程序流程圖設計94.2 程序設計154.2.1 a/d轉換154.2.2 鍵盤及數(shù)碼管顯示154.3 調試與測試195 結論206 參考文獻1附錄:程序清單3 基于單片機的溫度采集系統(tǒng)的設計

2、摘 要近年來,單片機以其功能強、體積小、使用方便、性能價格比高等優(yōu)點,在實時控制、自動測試、智能儀表、計算機終端、遙測通訊、家用電器等許多方面得到了廣泛的應用。本設計采用單片機89c51作為控制核心,對多點溫度進行采集。通過集成溫度傳感器ad590將溫度值轉換為電量輸出。由adc0809實現(xiàn)模擬信號的數(shù)字化。同時,外接可編程鍵盤顯示器接口芯片7279通過小鍵盤實現(xiàn)多點溫度值的切換顯示;可以利用小鍵盤設定溫度的最大值和最小值,對于超過最大值或低于最小值的溫度數(shù)據(jù)通過揚聲器進行報警。關鍵詞:單片機;溫度采集;報警the design of temperature gathering system

3、based on single chip micyoco electronics and information engineering grad 2003 kongxianghengabstractrecently, scm (single chip micyoco) is widely used in real-time control, automatism testing, computer terminal, remote communication, home appliances by strong function, small bulk, used convenient an

4、d high capability-price ratio.this design adopts scm89c51 by way of controlling core; it can gather several different temperature signals. through the integration temperature sensor a/d590, it converts temperature value to electricity signal; and then switches the analog signals for digital signals

5、by adc809. at the same time, the programmable keyboard/display port chip7279 can display the different temperature value. it also can enactment the maxim and minimum temperature value by the small keyboard. when the gathered temperature value exceeds the maxim and minimum value, the system will give

6、 an alarm through the speaker.key words: scm; temperature gathering; alarm1 引言自從1976年intel公司推出第一批單片機以來,80年代單片機技術進入快速發(fā)展時期,近年來,隨著大規(guī)模集成電路的發(fā)展,單片機繼續(xù)朝快速、高性能方向發(fā)展,從4位、8位單片機發(fā)展到16位、32位單片機。單片機主要用于控制,它的應用領域遍及各行各業(yè),大到航天飛機,小至日常生活中的冰箱、彩電,單片機都可以大顯其能。單片機在國內的三大領域中應用得十分廣泛:第一是家用電器業(yè),例如全自動洗衣機、智能玩具;第二是通訊業(yè),包括電話、手機和bp機等等;第三是

7、儀器儀表和計算機外設制造,例如軟盤、硬盤、收銀機、電表。除了上述傳統(tǒng)領域外,汽車、電子工業(yè)在國外也是單片機應用十分廣泛的一個領域。它成本低、集成度高、功耗低、控制功能多能靈活的組裝成各種智能控制裝置,由它構成的智能儀表解決了長期以來測量儀器中的誤差的修正、線性處理等問題。單片機將微處理器、存儲器、定時/計數(shù)器、i/o接口電路等集成在一個芯片上的大規(guī)模集成電路,本身即是一個小型化的微機系統(tǒng)。單片機技術與傳感與測量技術、信號與系統(tǒng)分析技術、電路設計技術、可編程邏輯應用技術、微機接口技術、數(shù)據(jù)庫技術以及數(shù)據(jù)結構、計算機操作系統(tǒng)、匯編語言程序設計、高級語言程序設計、軟件工程、數(shù)據(jù)網(wǎng)絡通信、數(shù)字信號處理

8、、自動控制、誤差分析、儀器儀表結構設計和制造工藝等的結合,使得單片機的應用非常廣泛。同時,單片機具有較強的管理功能。采用單片機對整個測量電路進行管理和控制,使得整個系統(tǒng)智能化、功耗低、使用電子元件較少、內部配線少、成本低,制造、安裝、調試及維修方便。溫度作為作物生長一個非常重要的參數(shù),溫度的變化影響作物的發(fā)芽、幼苗的成長、作物的開花、果實的成熟等等。對于不同的作物,其適宜的生長溫度總是在一個范圍。超過這個范圍,作物或許會活著,但是其生長的規(guī)律將發(fā)生明顯的變化。這對于我們所希望的要求作物能夠優(yōu)質、高產(chǎn)的愿望相距甚遠,所以我們必須實時獲取作物生長的環(huán)境溫度。對于,超過作物生長適宜范圍的溫度能夠報警

9、。同時,我們也希望作物的適宜溫度范圍可以由檢測人員根據(jù)實際情況加以改變。同時,由于作物分布空間的狹小,各點的溫度在同一時間上可能存在差異,所以對于溫室必須采取多點采集,以保證能夠更準確的獲知作物生長的實時溫度。本設計就是基于單片機89c51設計的實時溫度采集儀。采用adc0809最多可以采集8路溫度數(shù)據(jù)。通過小鍵盤實現(xiàn)對不同路溫度數(shù)據(jù)的切換顯示。同時,也可利用小鍵盤實現(xiàn)溫度最大最小值的設定。對于超過此限的溫度數(shù)據(jù)將產(chǎn)生報警信號。2 緒 論2.1 問題的提出 我國農(nóng)業(yè)正處于從傳統(tǒng)農(nóng)業(yè)向優(yōu)質、高效、高產(chǎn)為目的的現(xiàn)代化農(nóng)業(yè)轉化的新階段。農(nóng)業(yè)環(huán)境綜合控制作為農(nóng)作物速生、優(yōu)質、高產(chǎn)的手段是農(nóng)業(yè)現(xiàn)代化的重

10、要標志。農(nóng)業(yè)設施的自動檢測與控制是我國科研急待發(fā)展的項目。 溫度是植物生長的重要環(huán)境條件,影響植物生命周期的各個發(fā)育階段,從種子萌發(fā)、幼苗的生長、生殖直至成熟和休眠,包括了每一個酶反應、每一個代謝過程。它也影響植物細胞結構的完整性,特別是影響膜的結構和性質,直接關系到植物的生存。植物能生長的溫度比能生存的溫度范圍要小得多,在某些溫度條件下,植物也許能活著,但不一定能生長,故溫室中對于溫度的檢測很重要。此外,溫室內的作物茂密形成群體時,溫室的空間分布變得復雜。室內平均溫度顯然不同于作物冠層下的氣溫,而冠層內氣溫的分布也不會是均勻的。事實上溫度的空間分布受室外氣候因子、室內調控方式、植物群體的綜合

11、影響,以至于室內空氣溫度在水平方向和垂直方向上往往都不相同。為此,本文設計了一個能多路采集、顯示的溫度采集系統(tǒng),對于超出作物適宜生長范圍的溫度發(fā)出警報。2.2 設計目的及系統(tǒng)功能 本設計的目的是以單片機為核心設計出一個8路溫度采集系統(tǒng)。通過本課題設計,綜合運用單片機及接口技術、微機原理、微電子技術,鍛煉動手操作能力,綜合運用能力,學習論文的寫作方法和步驟。設計的溫度采集系統(tǒng)有以下功能:1. 測溫范圍:0502 測溫分辨力:0.23. 測溫準確度:0.54. 測溫點數(shù):可以擴展到8點5. 溫度顯示:采用4個7段數(shù)碼管6. 溫限可進行靈活設定7. 超限報警3 第二章 硬件電路設計3.1 硬件設計思

12、路本設計用溫度傳感器將被測溫度轉換為電量,經(jīng)過放大濾波電路處理后,由模數(shù)轉換器將模擬量轉換為數(shù)字量,再與單片機相連,通過可編程鍵盤顯示接口芯片實現(xiàn)溫度限值的設定。最后通過小鍵盤控制數(shù)碼管顯示所需要的某路溫度值。3.2 總體設計框圖總體設計框圖如圖1所示。說明如下:1.被測量經(jīng)過溫度傳感器轉換為電量,再放大后送給a/d轉換器。2.電量經(jīng)過a/d轉換為二進制數(shù)值,送給89c51單片機,89c51單片機根據(jù)設計目的完成相應的軟件處理。3.處理完畢后,送鍵盤顯示處理芯片,然后再由數(shù)碼管顯示。4.如果溫度超過所設溫度限值,轉報警處理程序。5.由小鍵盤控制所需顯示路數(shù)的溫度。鍵盤顯示電路89c51a/d轉

13、換a/d轉換溫度采集及信號調理 圖1 總體設計框圖3.3 單元電路設計3.3.1 89c51單片機89c51為字長8位的單片微型計算機,由中央處理器、內部ram、內部rom、兩個16位的定時計數(shù)器、四個8位的i/o口(p0、p1、p2、p3)、一個全雙工的串行口、五個中斷源以及時鐘等組成。它具有速度快、功能強、功耗底、抗干擾性好、價格低廉等特點。它是標準的40引腳雙列直插封裝(dip)形式。3.3.2 溫度采集及調理電路常用的溫度傳感器有:熱電偶、熱敏電阻、集成電路溫度傳感器及鉑電阻。溫度傳感器的選擇(1)傳感器的比較:熱電偶靈敏度較低,但能在很寬廣的范圍內使用。熱敏電阻的工作溫度范圍較窄,但

14、靈敏度高有利于檢測微小溫差,其輸出特點是非線性,檢測時需要線性化裝置。廉價的集成電路溫度傳感器性能離散度很大,用于高精度測量時必須進行校準。測溫鉑電阻溫度系數(shù)的離散度很小,精確度高靈敏度也較好,但價格昂貴。集成電路溫度傳感器和熱敏電阻、熱電偶相比,最大特點是輸出線性好,測溫精度較高。感溫部分、傳感器驅動電路、信號處理電路均集成化并封裝在一個小型管殼內,使用方便。ad590是一種兩端集成電路溫度傳感器,由于具有高阻抗的電流輸出,使它在長距離傳輸過程中對壓降不敏感,作為電流輸出型的溫度傳感器,具有很強的抗外界干擾能力,且價格適中。其輸出電流和絕對溫度成正比?;谝陨蟽?yōu)點,本設計采用ad590作為溫

15、度傳感器。(2)ad590的特點僅需+4v到+30v的直流工作電壓,不需要傳送器、濾波器和線性化電路。一致性非常好,當溫度為298.2k(+25)時,ad590均輸出穩(wěn)恒電流298.2a,隨溫度升高或降低以1a/1.0k增減輸出電流,因而ad590很容易互換。是電流輸出而不是電壓輸出,具有良好的干擾抑制比,只需很小的功率(1.5mw)。電源電壓漂移和波紋不敏感。電源電壓+5v變到+10v僅引起1a最大電流變化。電氣上耐用,可承受正向44v和反向20v的電壓而不損壞,不必擔心管腳接錯。測量電路設計ad590將溫度轉換成相應的電流后,需要有電流電壓轉換電路(如圖2),其中電容c起濾波作用。該電路中

16、,考慮到測溫范圍是0度到50度,而adc0809輸出電壓范圍為05v,故電阻r2取3.3k,r3取15k,其中r2是可變電阻,精度高于r3。r4取100k,r5取50k,r4是可變電阻,精度高于r5,電阻r6取33k。運放是溫度電壓變換電路,為測試方便,設計時將0度時的輸出電壓定為0v,每升高100mv,與電壓之間的關系為:u=k(t-t0)v1式中:k為比例系數(shù),k=0.98v/,t為環(huán)境溫度,單位為,t0為測溫下限0圖2 溫度采集及調理電路當t=+50和t=0時,變換電路輸出電壓上限為umax=5v,電壓下限umin=0v 時,實現(xiàn)的辦法是:首先調整r2,使得i1=273.2a,當溫度為0

17、時,通過ad590的電流i2=273.2a,此時i3=0a,r4,r5上無壓降,即輸出電壓為0v;當環(huán)境溫度為50時,流過ad590的電流為323.2a,此時i3=i2-i1=50a,調整r4,使r4+r5=98k,有(r4+r5)i3=4.9v。同樣,可以計算出其余各溫度所對應的輸出電壓。系統(tǒng)對放大電流要求低失調、低漂移、高精度,可選用高精度集成運放。op07為低失調電壓、低失調電流和低漂移的超低失調運算放大器,其增益和共模抑制比高,噪聲小,是一種通用性強的運算放大器。本設計采用它作為運放。op07電源電壓范圍為318v。模數(shù)轉換電路a/d轉換用于實現(xiàn)模擬量到數(shù)字量的轉換。按轉換原理可分為四

18、種,即:計數(shù)式a/d轉換器、雙積分式a/d轉換器、逐次逼近式a/d轉換器和并行式a/d轉換器。目前使用較多的為后三種。雙積分式a/d轉換器具有高精度、抗干擾性好、價格低廉等特點,但速度較慢,經(jīng)常應用于對速度要求不高的儀表中;逐次逼近式a/d轉換器在精度、速度和價格上都適中,是目前最常用的a/d轉換器;并行式a/d轉換器是一種用編碼技術實現(xiàn)的高速a/d轉換器其速度最快,價格也最高,使用于要求較高的場合。綜上,本設計選用逐次逼近式8位a/d轉換芯片adc0809。adc0809的主要技術特性和指標:分辨率:8位。轉換時間:取決于芯片時鐘頻率。單一電源:+5v。模擬輸入電壓范圍:單極性05v,雙極性

19、+5v或+10v。具有可控三態(tài)輸出鎖存器。啟動轉換控制脈沖式(正脈沖),上升沿使內部所有寄存器清“0”,下降沿使a/d轉換器開始。adc0809其片內有8路模擬開關,可輸入八個模擬量,單極性,量程為05v,典型的轉換度為100s。片內具有三態(tài)輸出緩沖器,可直接與cpu總線接口。設計中只使用了in0一路模擬通道,可擴展到8路。電路連接主要涉及兩個問題。一是八路模擬通道信號選擇,二是a/d轉換完成后轉換數(shù)據(jù)的傳送。解決方案如下:1.八路模擬通道選擇:adc0809有a、b、c三根地址線,分別接地址鎖存器的低三位地址,只要把三位地址寫入adc0809中的地址鎖存器,就實現(xiàn)了模擬通道選擇。對于系統(tǒng)來說

20、,地址鎖存器是一個輸入口,為了把三位地址寫入,還要提供口地址。2.轉換數(shù)據(jù)的傳送:a/d轉換后得到的是數(shù)字量的數(shù)據(jù),這些數(shù)據(jù)應傳送給單片機進行處理。數(shù)據(jù)傳送的關鍵問題是如何確認a/d轉換的完成,因為只有確認數(shù)據(jù)轉換完成后,才能進行傳送。解決此問題的方式有三種;定時傳送方式、查詢方式、中斷方式。設計中采用的是查詢方式:adc0809由eoc端發(fā)出表明轉換完成的信號,軟件測試eoc的狀態(tài),即可確知轉換是否完成,并接著進行數(shù)據(jù)傳送。(如圖3):圖3 89c51和adc0809的連接3.3.3 鍵盤及數(shù)碼管顯示電路 3.3.3.1 led顯示器顯示器中的發(fā)光二極管共有兩種接法:共陰極接法和共陽極接法。

21、一般發(fā)紅光的led每段流過5ma的平均電流,就可以有比較滿意的亮度,7ma電流會更亮些,10ma以上就不會更亮多少,但長期運行于10ma以上會縮短其壽命。小尺寸的led顯示器每段只有一個發(fā)光二極管,其正向壓降約為1.5v,一般不大于2v。在選擇led借口器件時需考慮器件的驅動能力和顯示數(shù)據(jù)的設置方式。對一般儀器儀表中使用的led顯示器而言,其驅動電流往往為515ma,因此選用普通的ttl器件即可滿足要求。對稍大電流的led驅動,選擇7407或75452等器件作為后續(xù)的驅動器件。顯示器有靜態(tài)顯示和動態(tài)顯示兩種方式。所謂靜態(tài)顯示就是顯示字符的各段連續(xù)通過電流,使所有的字段連續(xù)發(fā)光。所謂動態(tài)顯示就是

22、所需顯示字段斷續(xù)通以電流,因而其發(fā)光是不連續(xù)的。在需要多個字符同時顯示時,可以輪流給每一個字符通以電流,逐次把所需顯示的字符顯示出來。在每點亮一個字符后,必須持續(xù)通電一段時間,使之發(fā)光穩(wěn)定,然后再點亮另一個字符,如此依次掃描所有的字符。由于掃描顯示速度較快,每秒可重復多次(為了不產(chǎn)生閃爍,可每秒掃描50次左右)。雖然在同一時刻只有一個字符通電,由于人眼的視覺暫留現(xiàn)象和發(fā)光二極管的余輝效應,卻感覺每個字符都在穩(wěn)定地顯示。這種巡回掃描顯示器的操作要靠程序控制。動態(tài)顯示的亮度隨電流平均值的增大而增強,其亮度大體上等同于通過同樣大的電流的靜態(tài)顯示亮度。設計中由于有4個led,采用動態(tài)掃描的方法進行顯示

23、,即逐個地循環(huán)地點亮各位顯示器。這樣雖然在任一時刻只有一位顯示器被點亮,但是由于人眼具有視覺殘留效應,看起來與全部顯示器持續(xù)點亮效果完全一樣。3.3.3.2 7279可編程鍵盤顯示器接口芯片7279芯片是一種專用于鍵盤顯示器的接口器件,它能對顯示器自動掃描、識別鍵盤上閉合鍵的鍵號,提高cpu的工作效率。7279包括鍵盤輸入和顯示輸出兩個部分。鍵盤部分提供的掃描方式,可以和具有64個按鍵和傳感器的陣列相連,能自動消除開關抖動以及對n鍵同時按下采取保護。7279芯片有40引腳,由單一+5v電源供電。其功能有:對鍵盤進行管理控制;對led顯示器的控制及對顯示數(shù)據(jù),顯示方式的管理。其主要有以下幾部分組

24、成:i/o控制器和數(shù)據(jù)緩沖器、控制和定時寄存器及定時控制、掃描計數(shù)器、回復緩沖器及鍵盤去抖動和控制電路、fifo/傳感器ram和狀態(tài)電路、顯示器地址寄存器及顯示ram。 利用7279芯片組成鍵盤接口時,平時并不需占用cpu時間,每當按下鍵后,即向cpu申請中斷,在中斷服務程序中查詢哪個鍵按下,在轉到相應鍵的處理程序,因此這種鍵盤接口得到了廣泛的應用。鍵盤及顯示電路原理圖(如圖4):圖4 鍵盤及顯示電路原理圖4 第三章 軟件設計4.1 程序流程圖設計由于本設計程序較為復雜,所以在設計過程中對一些使用較多的程序段采用子程序進行設計,這些子程序包括:7279初始化子程序、a/d轉換子程序、顯示更新子

25、程序、讀鍵值子程序、讀當前溫度子程序、比較子程序、溫限設定子程序、報警子程序、延時子程序等。主程序流程圖如圖5所示。圖5 主程序流程圖各子程序的流程圖(如圖6,7,8,9,10,11,12,13)所示:yn取顯示數(shù)據(jù)首址向7279送顯示數(shù)據(jù)發(fā)送完?返回入口nnyy轉alarm返回進位位清零a,b相減cy為1cy為0入口 圖6 顯示子程序(disp1)流程圖 圖7 比較程序流程圖 ny保護現(xiàn)場數(shù)據(jù)讀取鍵值鍵值處理返回入口讀完否?恢復現(xiàn)場 (be)*10+(be+1)送aa/16,商存于高位余數(shù)存于低位返回入口圖8 十-十六進制轉換子程序流程圖圖9 鍵中斷處理顯示子程序key2獲取當前溫度將當前溫

26、度給a,將溫度最大值給b調用比較子程序將當前溫度給b,將溫度最小值給a調用比較子程序將當前溫度送adres3轉移返回入口 保護現(xiàn)場和斷點報警并延時時間到?恢復現(xiàn)場返回入口ny 圖10 溫度比較子程序(comp1) 圖11 報警中斷子程序將be和be+1清零調用鍵處理子程序將獲取的鍵值存于a調用十-十六進制轉換子程序輸入是c則結束并將最值給a返回入口n將a/d端口地址送給數(shù)據(jù)指針啟動a/d讀取端口數(shù)據(jù)數(shù)據(jù)處理返回入口轉換完?y圖12 鍵值處理子程序流程圖(spec) 圖13 溫度采樣及處理子程序(readtemp、readad)4.2 程序設計4.2.1 a/d轉換adc0809的start端為

27、a/d轉換啟動信號。ale端為通道選擇地址的鎖存信號。開發(fā)系統(tǒng)中已將它們相連,這樣同時鎖存通道地址并開始a/d采樣轉換,故啟動a/d轉換需如下指令:mov dptr ,#port(通道的端口地址)mov dptr,a第一條語句在本程序中是以分支程序的形式體現(xiàn)的。第二條語句a中的內容為何是不重要的,這是一次虛擬寫。4.2.2 鍵盤及數(shù)碼管顯示在數(shù)碼顯示方面,需要由軟件來置緩沖區(qū)和提供字型代碼。緩沖區(qū)在內部ran中,用于存放顯示的數(shù)字或字符,其單元個數(shù)與led顯示器位數(shù)相同。本設計程序中,緩沖區(qū)單元與顯示器的對應關系如下:動態(tài)掃描是從左向右進行的,則緩沖區(qū)首址為40h。在顯示之前,是通過查表程序得

28、到字型代碼的。表中的共陰極代碼對應的字型如下: 字型 共陰極代碼 字型 共陰極代碼 0 3fh 6 7dh 1 06h 7 07h 2 5bh 8 7fh 3 4fh 9 6fh 4 66h a 77h 5 6dh b 7ch adres3:存放待顯示的字符的代碼的首地址,adres3對應于最左邊的顯示器即led0。adres4:按下鍵的鍵值存放首地址。adres5:字型碼存放首地址。1.7279初始化子程序 7279初始化子程序包括:把0d1h寫入“清楚命令”積存器,以便把顯示ram 全部清零,把程序時鐘命令字34h(分頻系數(shù)為10)寫入“程序時鐘命令字”積存器,以便7279對clk分頻后得

29、到100khz內部時鐘,把00h寫入“鍵盤、顯示方式設置積存器”,用于規(guī)定7279工作于左輸入、8位顯示、編碼掃描;雙鍵互鎖開中斷、等待鍵盤中斷。設into為中斷輸入引腳。程序如下:init7279: clr ea clr p1.0 ;7279 cs選通 mov dptr,#100h mov a,#0d1h movx dptr,a ;清除命令字 mov dptr,#0 ;dptr 指向狀態(tài)口wait1: movx a,dptr ;查詢當前狀態(tài) jb acc.7,wait1 ;清除ram未結束則等待 mov dptr,#100h mov a,#2ah movx dptr,a ;對clk進行10分

30、頻得到100khz clr a movx dptr,a ;置8位顯示-左入-編碼掃描-雙鍵互鎖 setb p1.0 ;禁止訪問7279 setb ex0 ;允許int0中斷setb it0 ;int0為邊沿觸發(fā)setb ea ;開中斷ret2.顯示更新子程序這段程序先讀取字符代碼,把代碼與字型碼首地址相加得到將要顯示的字型碼地址,最后讀出字型碼送至7279顯示。程序如下:disp1: mov r2,#4 ;4位顯示 mov r0,#adres3 ;取顯示代碼首址 mov dptr,#100h mov a,#90h ;從0單元寫段碼,地址自動加1 clr p1.0 ;選通7279 movx dp

31、tr,a ;向7279送寫顯示ram命令loop1:mov a,r0 ;讀顯示代碼 inc dptr,#adres5 movc a,a+dptr ;轉換成字型碼 mov dptr,#0 movx dptr,a ;送出顯示 djnz r2,loop1 ;4個字符未顯示完則繼續(xù) setb p1.0 ;禁止訪問7279adres5: db 3fh,06h,5bh,4fh,66h,7dh,07h db 7fh,6fh,77h,7chret讀鍵值子程序這段程序采用查詢方式,利用7279自動掃描識別鍵盤上閉合的鍵號,同時顯示輸入鍵的鍵值。 key2: clr p1.0 mov dptr,#port+1 m

32、ov a,#0d1h movx dptr,awrep: lcall disp1 mov dptr,#port+1 movx a,dptr anl a,#07h jz wrepkeyn: mov dptr,#port movx a,dptr mov r1,a anl a,#07h mov r2,a mov a,r1 anl a,#38h rr a rr a rr a mov r3,a cjne r3,#00h,line1 mov a,r2 ljmp quitline1:cjne r3,#01h,line2 mov a,r2 add a,#04h ljmp quitline2: mov a,r2

33、add a,#08hquit: ret讀當前溫度子程序本段程序對采集到的溫度信號進行處理,獲取當前溫度值。readtemp: mov r1, #0 mov r2, #0 mov r0, #16rloop: call readad add a, r2 mov r2, a jnc gn1 inc r1gn1: djnz r0, rloop mov a, r2 swap a anl a, #0fh xch a, r1 swap a anl a, #0f0h orl a, r1 ; a = r1r2/16 mov b, #(hightemp-lowtemp) mul ab mov a, b ; /25

34、6 add a, #lowtemp mov curtemp, a ret 4.3 調試與測試在設計中使用的是匯編語言,由于它是一種面向硬件的語言,不象高級語言那樣接近于人們習慣的自然語言,比較難于理解。編好程序最基本的要求是對硬件和指令使用掌握得準確無誤。由于我的知識水平所限,加之對匯編語言的掌握不夠。在調試過程中常常出現(xiàn),程序看似合理,但就是不能出現(xiàn)正確結果。這促使我一遍又一遍的分析各個方面,仔細學習相關資料,耐心地查找原因。在調試過程中遇到的部分問題如下:1.片內ram地址不對。在剛開始編寫程序時,沒有注意給一些變量給的地址相互沖突,有的甚至不是在用戶ram區(qū)。這使得我在調試程序時,出現(xiàn)了

35、好多錯誤。2.子程序調用不對。由于本設計程序較為復雜,故子程序較多。在子程序調用的過程中出現(xiàn)了好多因標號、寄存器數(shù)據(jù)重復或者混淆的錯誤。經(jīng)調試才發(fā)現(xiàn)這些錯誤,最后逐一詳細排查,方才解決。3.功能實現(xiàn)有問題。在a/d采樣程序編制的過程中,對于數(shù)據(jù)處理開始算法有問題。在溫度最大最小值設定過程中,從鍵盤輸入的數(shù)據(jù)獲取后,我直接存到了數(shù)據(jù)存儲單元,未進行十-十六進制轉換。在調試中發(fā)現(xiàn)不對,后查看程序才發(fā)現(xiàn)了我的疏忽。4.硬件與軟件銜接有問題。由于,軟件與硬件設計分開進行。雖然,先進行硬件設計,后進行軟件設計,軟件設計也是在硬件設計完成的基礎上進行的,但是由于軟件與硬件調試無法同步完成,只能通過實驗箱模

36、擬調試。由于,實驗箱電路與設計電路有出入。所以,這部分完成的不夠。5 結論本論文立足于溫室的溫度分布特點,綜合運用單片機、接口技術、微機原理及微電子技術,將測量電路、模數(shù)轉換電路、報警電路和顯示電路整和在一起,設計了一個能實現(xiàn)多路采集、顯示的溫度采集系統(tǒng)。這次設計使我受益匪淺,初步體驗了怎樣把一個項目分成幾個子項目去做的設計過程。尤其是對程序流程和匯編語言的設計有了更進一步的認識。本設計已經(jīng)基本完成硬件設計和軟件編制工作,但由于時間和經(jīng)驗的不足,技術知識有限,該檢測系統(tǒng)真正地應用于溫室溫度采集,還需要進一步的擴展和完善,主要有以下幾方面:1. 進行數(shù)據(jù)采集的傳感器部分是用89c51實驗開發(fā)系統(tǒng)

37、中的電位器來模擬的,文中設計的溫度測量電路只停留在理論階段,在實際的各種復雜的物理和化學環(huán)境下,能否達到預期的技術指標,還有待于更深入、具體地結合實際進行研究和實踐。2. 單片機只能進行溫度的采集,不能進一步的對數(shù)據(jù)進行分析而得出結論。若把多個單片機和一臺有信息處理能力的pc機連接起來作為一個系統(tǒng),也就是將單片機作為下位機安放在各個溫室單元,進行數(shù)據(jù)的實時采集;將pc機作為上位機進行動態(tài)的顯示、存儲、打印和數(shù)據(jù)處理。經(jīng)這樣擴展后的系統(tǒng)可以發(fā)揮更大的作用。3. 影響農(nóng)作物生長的重要環(huán)境因素有多個,除溫度外還有濕度、光照、co2 濃度等,因此對于多個因素的檢測具有更為實用的價值。本設計只是向多因素

38、的檢測邁出了微小的一步。4. 作為一個完整的、可用的儀器,還需要考慮實際電壓的波動,進行電壓波動的預處理。同時,作為一個可以應用的儀器,必須考慮其抗干擾能力。在完成產(chǎn)品制作的過程中,對于電路的仿真、pcb的制作以及最終成品的完成都需要花費很大的工夫。由于時間及知識水平所限,我沒有考慮或完成這些工作。6 參考文獻1 李時惠.計算機多點溫度采集系統(tǒng)的設計與實現(xiàn).北京:計算技術與自動化,2001,20(1)-71-742 趙鋒,紀建偉,李芳,于玉真.gic-型日光溫室智能監(jiān)控系統(tǒng)的研制與應用.沈陽:沈陽農(nóng)業(yè)大學學報,2004,35(3)-253-2553 丁文彥,徐江寧.節(jié)能型日光溫室控制系統(tǒng)的研制

39、.沈陽:沈陽農(nóng)業(yè)大學學報,2001,32(2)-131-1334 薛小鈴,吳壽強.數(shù)字式溫度檢測系統(tǒng)的設計.福建:閩江學院學報,2003.24(2)-53-57.5 徐鳳霞,趙成安.at89c51單片機溫度控制系統(tǒng).齊齊哈爾:齊齊哈爾大學學報:自然科學版.2004.20(1)-64-666 國強,王淑均.高精度恒溫連續(xù)可調型穩(wěn)控器的設計.哈爾濱:應用科技,2003,30(4)-1-37 鮑亞萍.對大棚溫室控制技術的探討.現(xiàn)代化農(nóng)業(yè),2000(2)-31-318 聶毅,聶暉.植物溫室單片機控制系統(tǒng).微計算機信息,2002,18(8)-36-37,399 蘇惠蓮,陳強.單片機在農(nóng)作物溫室中的應用.

40、福建電腦,2003(7)-64-6510 郭文川.單片機原理與接口技術.西北農(nóng)林科技大學機電學院.2003.711 盧勝利主編.智能儀器設計與實現(xiàn).重慶:重慶大學出版社,2003:144-15012 王新賢主編.通用集成電路速查手冊.濟南:山東科學技術出版社,200213 何希才,伊兵,杜煜. 新型實用電子電路.北京:電子工業(yè)出版社,199814 楊寶清,宋文貴.實用電路手冊.北京:機械工業(yè)出版社,2002.515 于楓,宋占偉,李海富.電子工程師制圖與制版技術protel99se應用.北京:科學技術出版社,200416 趙保經(jīng)主編.中國集成電路大全.接口集成電路.北京:國防工業(yè)出版社,198

41、617 atmel .8-bit microcontroller with 2kbytes flash at89c2051.致 謝轉眼之間就要畢業(yè)了。我的畢業(yè)設計也完成了。通過這次做畢業(yè)設計,我重新學習了單片機、接口技術、電子技術等專業(yè)知識,同時也鍛煉了動手操作能力、綜合運用能力。這也使我認識到了自己的不足,明確了以后需要學習的地方。本文是在陳愛武老師的悉心指導下完成的。在完成畢業(yè)設計的過程中,陳老師始終給我認真的指導。陳老師嚴謹務實的治學態(tài)度和敬業(yè)精神使我終身受益。同時,我也得到了好多同學的幫助,使得我的畢業(yè)設計能夠順利完成。最后,謹此向陳愛武老師和所有關心、幫助過我的同學、朋友表示最誠摯的

42、謝意!附錄:程序清單lowtemp equ 0 ;a/d 0hightemp equ 50 ;a/d 255be equ 70h ;最大值、最小值存放lu equ 75h ;路數(shù)存放port equ 01b20h ;7279端口地址adport equ 1b000h ;a/d端口地址curtemp equ 51h ;當前溫度adres3 equ 40h ;待顯示字符的代碼首地址adres4 equ 45h ;按下鍵的鍵值存放首地址 org 4000h ljmp startinit7279: ;7279初始化子程序 clr ea clr p1.0 ;7279 cs選通 mov dptr,#100

43、h mov a,#0d1h movx dptr,a ;清除命令字 mov dptr,#0 ;dptr 指向狀態(tài)口wait1: movx a,dptr ;查詢當前狀態(tài) jb acc.7,wait1 ;清除ram未結束則等待 mov dptr,#100h mov a,#2ah movx dptr,a ;對clk進行10分頻得到100khz clr a movx dptr,a ;置8位顯示-左入-編碼掃描-雙鍵互鎖 setb p1.0 ;禁止訪問7279 retdisp1: mov r2,#4 ;4位顯示 mov r0,#adres3 ;取顯示代碼首址 mov dptr,#100h mov a,#9

44、0h ;從0單元寫段碼,地址自動加1 clr p1.0 ;選通7279 movx dptr,a ;向7279送寫顯示ram命令loop1:mov a,r0 ;讀顯示代碼 inc r0 mov a+dptr ;轉換成字型碼 mov dptr,#0 movx dptr,a ;送出顯示 djnz r2,loop1 ;4個字符未顯示完則繼續(xù) setb p1.0 ;禁止訪問7279adres5: db 3fh,06h,5bh,4fh,66h,7dh,07h db 7fh,6fh,77h,7ch retkey2: clr p1.0 mov dptr,#port+1 mov a,#0d1h movx dpt

45、r,awrep: lcall disp1 mov dptr,#port+1 movx a,#07h jz wrepkeyn: mov dptr,#port movx a,dptr mov r1,a anl a,#07h mov r2,a mov a,r1 anl a,#38h rr a rr a rr a mov r3,a cjne r3,#00h,line1 mov a,r2 ljmp quitline1:cjne r3,#01h,line2 mov a,r2 add a,#04h ljmp quitline2: mov a,r2 add a,#08hquit: retreadad: mov dptr, #adport+lu-1 clr a movx dptr, a ; start a/d mov a, #80 djnz acc, $ ; delay movx a, dptr mov b,a mov a,#0ffh clr c subb a,b retreadtemp: mov r1, #0 mov r2, #0 mov r0, #16rloop: call readad

溫馨提示

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

評論

0/150

提交評論