版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、目 錄第一章 自動(dòng)化工程訓(xùn)練設(shè)計(jì)的目的意義11.1 設(shè)計(jì)目的11.2 課程在教學(xué)計(jì)劃中的地位和作用1第二章 空氣濕度測(cè)量與報(bào)警系統(tǒng)軟硬件設(shè)計(jì)任務(wù)32.1 設(shè)計(jì)內(nèi)容及要求32.2 課程設(shè)計(jì)的要求3第三章 總體設(shè)計(jì)方案53.1 總體設(shè)計(jì)思想5 3.2 總體設(shè)計(jì)流程圖6第四章 硬件設(shè)計(jì)7 4.1 硬件設(shè)計(jì)概要7 4.1.1濕度采樣電路7 4.1.2 驅(qū)動(dòng)器接線84.2 所用到的芯片及其各自功能說明8 4.2.1 芯片列表84.2.2 8032的功能簡(jiǎn)介9 4.2.3 adc0809的功能簡(jiǎn)介94.2.4 8279的功能簡(jiǎn)介114.2.5 lcd的功能簡(jiǎn)介124.2.6 濕度傳感器12第五章 軟件設(shè)計(jì)
2、145.1 系統(tǒng)模塊145.2 各模塊介紹14第六章 系統(tǒng)調(diào)試及使用說明18 6.1 系統(tǒng)調(diào)試18 6.2 使用說明18第七章 收獲、體會(huì)19參考文獻(xiàn)20附錄21第一章 課程設(shè)計(jì)的目的、意義1.1 設(shè)計(jì)目的通過微控制器的硬件和軟件的學(xué)習(xí),使學(xué)生對(duì)單片機(jī)系統(tǒng)有一個(gè)全面、深刻的了解,能夠熟練掌握芯片的工作原理和使用方法,從硬件和軟件兩方面的基礎(chǔ)上對(duì)所學(xué)知識(shí)進(jìn)行應(yīng)用,對(duì)在課程設(shè)計(jì)過程中遇到的問題進(jìn)行相關(guān)處理并分析結(jié)果,使學(xué)生能夠在實(shí)際應(yīng)用的過程中掌握軟、硬件應(yīng)用的精華部分,能夠進(jìn)行相對(duì)獨(dú)立的程序設(shè)計(jì)和硬件設(shè)計(jì),本質(zhì)上實(shí)現(xiàn)了微控制器技術(shù)課程的教學(xué)目的。此次設(shè)計(jì)主要能夠完成對(duì)空氣濕度的測(cè)量監(jiān)控和數(shù)據(jù)處理
3、以及顯示報(bào)警功能的實(shí)現(xiàn),可以通過鍵盤輸入?yún)?shù)來設(shè)置系統(tǒng)得目標(biāo)值和報(bào)警值,通過lcd來顯示當(dāng)前相對(duì)濕度值和鍵盤輸入的目標(biāo)值、報(bào)警值。當(dāng)當(dāng)前相對(duì)濕度值達(dá)到某種程度時(shí),作出對(duì)應(yīng)得驅(qū)動(dòng)和報(bào)警。1.2 課程在教學(xué)計(jì)劃中的地位和作用 計(jì)算機(jī)是當(dāng)今發(fā)展最快的領(lǐng)域,隨著計(jì)算機(jī)技術(shù)的發(fā)展,與其遙相呼應(yīng)的微控制器的發(fā)展也是驚天地泣鬼神,正是這種軟、硬件的更新?lián)Q代,對(duì)學(xué)生學(xué)習(xí)微控制器技術(shù)這門課程和掌握相關(guān)的硬件知識(shí)變得更加重要,做到學(xué)以致用,使所學(xué)習(xí)的知識(shí)有助于今后的工作和學(xué)習(xí),有必要將課堂上學(xué)習(xí)的理論和實(shí)踐的結(jié)合,使學(xué)生能夠真正的獨(dú)立完成一項(xiàng)有一定知識(shí)架構(gòu)的課程設(shè)計(jì),如何自己思考相關(guān)的問題,如何去查資料并通過資料
4、匯總得出相關(guān)結(jié)論,如何去學(xué)習(xí)新的東西,如何去了解我們生活中智能儀器的相關(guān)知識(shí),以及在應(yīng)用的過程中制定相應(yīng)的問題的解決方案并通過不斷實(shí)踐來提高學(xué)生分析問題和解決問題的能力。 因?yàn)閱纹瑱C(jī)在日常生活中的可見性和普遍性,使得這次課程設(shè)計(jì)主要是以生活中常見的電子電器為參考作出設(shè)計(jì),例如:空調(diào)系統(tǒng),洗衣機(jī)系統(tǒng),溫度監(jiān)控系統(tǒng),濕度監(jiān)控系統(tǒng)。這些在日常生活中使用十分普遍的電器,在課程設(shè)計(jì)中我們可以從原理上,從內(nèi)在的運(yùn)算認(rèn)識(shí)到理論對(duì)實(shí)踐的重要性以及實(shí)踐來源于理論的意義。對(duì)一個(gè)系統(tǒng)成功的設(shè)計(jì)出來后的喜悅感讓我們對(duì)微控制器的積極性充分的調(diào)動(dòng)起來了。 所以說在這個(gè)經(jīng)世致用的中南大學(xué)和創(chuàng)新型社會(huì)下,課程設(shè)計(jì)是必不可少,
5、更是重中之重,意義重大性是不可忽視的。第二章 空氣濕度測(cè)量與報(bào)警系統(tǒng)軟 硬件設(shè)計(jì)任務(wù)2.1 設(shè)計(jì)內(nèi)容及要求設(shè)計(jì)出具有a/d采樣、鍵盤輸入?yún)?shù)設(shè)置的空氣濕度檢測(cè)、處理、顯示和報(bào)警,并且可在線鍵盤參數(shù)設(shè)置、定時(shí)檢測(cè)、顯示和喇叭與燈光報(bào)警的空氣濕度測(cè)量與報(bào)警系統(tǒng)。2.2 課程設(shè)計(jì)的要求2.2.1 課程設(shè)計(jì)的基本要求如下:1)掌握單片微控制器硬件結(jié)構(gòu)和工作原理、中斷與定時(shí)系統(tǒng)等基本概念和原理;2)熟悉8/16位單片微控制器(8x51/196系列)的主要功能單元和指令系統(tǒng);3)利用微控制器的接口技術(shù)進(jìn)行簡(jiǎn)單的測(cè)控及自動(dòng)化應(yīng)用系統(tǒng)設(shè)計(jì);2.2.2 課程設(shè)計(jì)的具體要求如下1) 濕度采樣 由于濕度傳感器的濕度
6、檢測(cè)轉(zhuǎn)換并提供0-5v的信號(hào)輸入,因此課程設(shè)計(jì)要求a/d多路采樣電位器的輸入電壓,0-5v轉(zhuǎn)換為00-0ffh數(shù)字信號(hào),并存儲(chǔ)計(jì)算顯示.同時(shí)通過雙通道采樣同一個(gè)電位器的輸入求平均值來保證采樣的精度和顯示值的穩(wěn)定性.在此同時(shí),增加第三通道獨(dú)立采集,比較兩種情況。2) 報(bào)警處理 鍵盤輸入濕度的目標(biāo)值和報(bào)警值,對(duì)采樣進(jìn)來的當(dāng)前信號(hào)轉(zhuǎn)換成數(shù)字信號(hào)后,與目標(biāo)值和報(bào)警值做比較:(1)若當(dāng)前值低與目標(biāo)值,則屬于干燥狀態(tài),亮綠燈燈;此時(shí),應(yīng)啟動(dòng)加濕器。(2)若當(dāng)前值高于目標(biāo)值同時(shí)低于報(bào)警值,則屬于正常狀態(tài),亮黃燈;(3)若當(dāng)前值高于報(bào)警值,則屬于高濕度危險(xiǎn)狀態(tài),兩紅燈,同時(shí)喇叭報(bào)警,并啟動(dòng)干燥器。(3) 鍵盤
7、輸入和顯示 通過鍵盤輸入的參數(shù)(目標(biāo)值和報(bào)警值)同時(shí)進(jìn)行顯示,對(duì)當(dāng)前采樣值進(jìn)行動(dòng)態(tài)顯示,并可在線修改參數(shù)。第三章 總體設(shè)計(jì)方案3.1 總體設(shè)計(jì)思想總體設(shè)計(jì)思想分為以下六點(diǎn): 1) 定義53h,63h,73h分別為目標(biāo)值,報(bào)警值,當(dāng)前值的存儲(chǔ)區(qū).首先調(diào)用一次顯示程序,靜態(tài)顯示”請(qǐng)同時(shí)輸入目標(biāo)值和報(bào)警值,按功能鍵確定”,將輸入的十進(jìn)制值分別送到53h和63h,在p3.2有一個(gè)脈沖輸入時(shí),重新進(jìn)入鍵盤掃描程序,否則完成鍵盤輸入功能,并可在線修改參數(shù);2) 通過ad轉(zhuǎn)換將輸入的電壓信號(hào)轉(zhuǎn)換為數(shù)字信號(hào)并調(diào)用數(shù)制轉(zhuǎn)換程序,將16進(jìn)制的當(dāng)前值轉(zhuǎn)換為十進(jìn)制的三位數(shù),同時(shí)存儲(chǔ)在73h,完成信號(hào)檢測(cè)和數(shù)制轉(zhuǎn)換功能
8、; 3) 對(duì)轉(zhuǎn)換后的當(dāng)前值和輸入的目標(biāo)值,報(bào)警值做比較,運(yùn)算后,根據(jù)不同的比較結(jié)果,改變,p1.1,p1.2,p1.3,p1.4,p1.5的狀態(tài),完成比較功能; 4) 將當(dāng)前采樣值,鍵盤輸入的目標(biāo)值和報(bào)警值分別顯示在lcd對(duì)應(yīng)的位置上,完成顯示功能; 5) 根據(jù)3)中的改變情況,分別驅(qū)動(dòng)紅黃綠燈以及喇叭,p1.4,p1.5分別接干燥器和加濕的驅(qū)動(dòng)器,完成報(bào)警功能. 6) 作適當(dāng)延時(shí),在返回到ad轉(zhuǎn)換階段 之前,判斷p3.2的電位,若收到一脈沖,則此時(shí)開始重新初始化,進(jìn)入鍵盤掃描程序,若沒檢測(cè)到,則繼續(xù)采樣重新掃描完成定時(shí)檢測(cè)功能.總體設(shè)計(jì)思想就為這樣的不斷循環(huán),其中因?yàn)閜1.4,p1.5的存在
9、有一定的反饋控制,但是由于實(shí)驗(yàn)要求中并沒作要求,因此,軟件程序中對(duì)p1.4,p1.5的改變,以及硬件電路中對(duì)p1.4,p1.5的驅(qū)動(dòng)接線并沒有在實(shí)驗(yàn)室實(shí)現(xiàn)。 3.2 總體設(shè)計(jì)流程圖程序流程圖如圖3.1開始初始化及初始顯示掃描鍵盤,鍵盤輸入程序啟動(dòng)ad雙通道采樣采樣值轉(zhuǎn)換采樣值與設(shè)定值比較輸出顯示程序報(bào)警驅(qū)動(dòng)處理程序需要修改參數(shù)?是否圖3.1 程序流程圖第四章 硬件設(shè)計(jì)4.1 硬件設(shè)計(jì)概要4.1.1:濕度采樣電路:濕度采樣電路用高分子濕度傳感器chr01為復(fù)合型電阻型濕度敏感部件,其復(fù)阻抗與空氣相對(duì)濕度成指數(shù)關(guān)系,直流阻抗(普通數(shù)字萬用表測(cè)量)幾乎為無窮大,與傳統(tǒng)意義上的電阻有空氣中水分子參與膜
10、感濕中的離子導(dǎo)電,由于水分子為極性分子,在直流電存在的情況下,會(huì)電離,分解,從而影響導(dǎo)電與元件的壽命,所以要求采用交流電路對(duì)傳感器進(jìn)行供電。濕度傳感器由于其必須的激勵(lì)通過交流電來實(shí)現(xiàn),及不同溫度特性下阻抗不同的特性,決定了其在ad采樣電路中必須采用動(dòng)態(tài)采樣的方法,并同時(shí)采樣溫度信號(hào)。具體電路示意圖4.1如下: 圖4.1濕度采樣電路參數(shù)設(shè)計(jì): r0采樣電阻的阻值通常建議在3050k,側(cè)重高濕測(cè)量,采樣電阻阻值可降低到20k,低濕阻值可提高到100k。 在信號(hào)的正周期內(nèi)的中間段進(jìn)行采樣,直接通過分壓法采集,注意采樣時(shí)間,通過電壓采樣后得到v0,計(jì)算如下:rx=r0*(v-v0)/v0同時(shí)檢測(cè)當(dāng)前溫
11、度t,通過查閱濕度傳感器z/rh/t數(shù)據(jù)表,在不同溫度下rx的值推算出當(dāng)前的相對(duì)濕度rh%。不同單片機(jī)可能得到的數(shù)據(jù)會(huì)有所不同,可通過軟件進(jìn)行矯正。4.1.2 報(bào)警驅(qū)動(dòng)接線p1.1接紅燈p1.2接黃燈p1.3接綠燈p1.4可同時(shí)接喇叭和干燥驅(qū)動(dòng)器p1.5接加濕驅(qū)動(dòng)器4.2 所用到的芯片及其各自功能說明4.2.1 芯片列表(如表4.1)表4.1芯片列表芯片名稱規(guī)格數(shù)量備注8032 1片八位單片機(jī)adc08091片八位模數(shù)轉(zhuǎn)換芯片74ls1641片74ls022片四2輸入或非門82791片可編程鍵盤/顯示接口lcd1片液晶顯示器濕度傳感器chr011片4.2.2 8032的功能簡(jiǎn)介8031單片機(jī)采
12、用40腳雙列直插式封裝結(jié)構(gòu),引腳配置如圖4.3所示。圖4.3 80c32引腳圖4.2.3 adc0809的功能簡(jiǎn)介 圖4.4 ad0809芯片圖adc0809是采樣頻率為8位的、以逐次逼近原理進(jìn)行模數(shù)轉(zhuǎn)換的器件。其內(nèi)部有一個(gè)8通道多路開關(guān),它可以根據(jù)地址碼鎖存譯碼后的信號(hào),只選通8個(gè)單斷模擬輸入信號(hào)中的一個(gè)進(jìn)行a/d轉(zhuǎn)換。1主要特性1)8路8位ad轉(zhuǎn)換器,即分辨率8位。 2)具有轉(zhuǎn)換起??刂贫?。 3)轉(zhuǎn)換時(shí)間為100s4)單個(gè)5v電源供電 5)模擬輸入電壓范圍05v,不需零點(diǎn)和滿刻度校準(zhǔn)。 6)工作溫度范圍為-4085攝氏度 7)低功耗,約15mw。 2內(nèi)部結(jié)構(gòu) adc0809是cmos單片型
13、逐次逼近式ad轉(zhuǎn)換器,內(nèi)部結(jié)構(gòu)如圖1322所示,它由8路模擬開關(guān)、地址鎖存與譯碼器、比較器、8位開關(guān)樹型da轉(zhuǎn)換器、逐次逼近 3外部特性(引腳功能) adc0809芯片有28條引腳,采用雙列直插式封裝,如圖1323所示。下面說明各引腳功能。 in0in7:8路模擬量輸入端。2-12-8:8位數(shù)字量輸出端。adda、addb、addc:3位地址輸入線,用于選通8路模擬輸入中的一路ale:地址鎖存允許信號(hào),輸入,高電平有效。 start: ad轉(zhuǎn)換啟動(dòng)信號(hào),輸入,高電平有效。eoc: ad轉(zhuǎn)換結(jié)束信號(hào),輸出,當(dāng)ad轉(zhuǎn)換結(jié)束時(shí),此端輸出一個(gè)高電平(轉(zhuǎn)換期間一直為低電平)。 oe:數(shù)據(jù)輸出允許信號(hào),輸
14、入,高電平有效。當(dāng)ad轉(zhuǎn)換結(jié)束時(shí),此端輸入一個(gè)高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。clk:時(shí)鐘脈沖輸入端。要求時(shí)鐘頻率不高于640khz。 ref(+)、ref(-):基準(zhǔn)電壓。 vcc:電源,單一5v。gnd:地。adc0809的工作過程是:首先輸入3位地址,并使ale=1,將地址存入地址鎖存器中。此地址經(jīng)譯碼選通8路模擬輸入之一到比較器。start上升沿將逐次逼近寄存器復(fù)位。下降沿啟動(dòng) ad轉(zhuǎn)換,之后eoc輸出信號(hào)變低,指示轉(zhuǎn)換正在進(jìn)行。直到ad轉(zhuǎn)換完成,eoc變?yōu)楦唠娖?,指示ad轉(zhuǎn)換結(jié)束,結(jié)果數(shù)據(jù)已存入鎖存器,這個(gè)信號(hào)可用作中斷申請(qǐng)。當(dāng)oe輸入高電平 時(shí),輸出三態(tài)門打開,轉(zhuǎn)換結(jié)果的數(shù)
15、字量輸出到數(shù)據(jù)總線上。4.2.4 8279的功能簡(jiǎn)介8279可按其功能分為:鍵盤功能塊;顯示功能塊;控制功能塊;與cpu接口功能塊控制功能塊包括 控制和定時(shí)寄存器,定時(shí)和控制,掃描計(jì)數(shù)器三部分,它主要用來控制鍵盤和顯示功能塊工作.控制和定時(shí)寄存器:用于存貯來自cpu的編程命令,cpu對(duì)8279編程以確定鍵盤與顯示器工作方式和其它工作條件時(shí),先把命令控制數(shù)據(jù)放到數(shù)據(jù)總線上,然后使a0=1,wr=0cs=0,并在wr上升沿把命令鍵存在控制和定時(shí)寄存器中,并經(jīng)譯碼,建立適當(dāng)?shù)墓δ?定時(shí)和控制:它含基本的定時(shí)計(jì)數(shù)器,第一個(gè)計(jì)數(shù)器是一個(gè)分頻系數(shù)為2-31的前置定時(shí)器,分頻系數(shù)可由程序預(yù)置,使內(nèi)部頻率為1
16、00khz,從而能給出5.1ms鍵盤掃描時(shí)間和10.3ms反跳時(shí)間,其它計(jì)數(shù)器將此基本頻率分頻后,提供適當(dāng)?shù)陌存I掃描.行掃描.鍵盤陣列掃描.以及顯示器掃描次數(shù). 掃描計(jì)數(shù)器:掃描計(jì)數(shù)器有兩種工作方式,在編碼工作方式時(shí),計(jì)數(shù)器提供一種二進(jìn)制計(jì)數(shù),通過管腳sl0-sl3輸出后經(jīng)外部譯碼才能提供給鍵盤和顯示器的掃描作用,在譯碼工作方式時(shí),掃描計(jì)數(shù)器對(duì)最低二位進(jìn)行譯碼,sl0-sl3輸出4選1的譯碼信號(hào),作為顯示器和鍵盤的譯碼掃描. 鍵盤功能塊包括:返回緩沖器,鍵盤反跳及控制,8x8 fifo傳感器ram,fifo/傳感器ram狀態(tài).4.2.5 lcd的功能簡(jiǎn)介 圖4.5 lcd連線圖4.2.6 濕度
17、傳感器高分子濕度傳感器chr01、02系列為新一代復(fù)合型電阻型濕度敏感部件,其復(fù)阻抗與空氣相對(duì)濕度成指數(shù)關(guān)系,直流阻抗(普通數(shù)字萬用表測(cè)量)幾乎為無窮大,與傳統(tǒng)意義上的電阻有空氣中水分子參與膜感濕中的離子導(dǎo)電,由于水分子為極性分子,在直流電存在的情況下,會(huì)電離,分解,從而影響導(dǎo)電與元件的壽命,所以要求采用交流電路對(duì)傳感器進(jìn)行供電。對(duì)濕度傳感器而言,頻率與阻抗之間存在一定的關(guān)系,對(duì)于測(cè)量30%-80%rh范圍,頻率的變化對(duì)傳感器影響并不明顯,在單片機(jī)軟件編程的實(shí)際應(yīng)用時(shí),需要通過將傳感器置于濕度發(fā)生裝置中(例如恒溫恒濕箱)進(jìn)行實(shí)測(cè),通過軟件對(duì)最終的誤差進(jìn)行修正,此項(xiàng)修正基本上可以彌補(bǔ)頻率變化所產(chǎn)
18、生的誤差以及其他誤差。濕度傳感器阻抗變化與溫度的關(guān)系見規(guī)格書中的數(shù)據(jù)表,先檢測(cè)溫度,然后按查表法對(duì)進(jìn)行濕度檢測(cè)。如果濕度精度要求不是特別嚴(yán)格的情況,(從數(shù)據(jù)處理簡(jiǎn)易的法則來說),可以推算濕度傳感器溫度系數(shù)為-0.4%rh/,公式為: h(t)=h (25) - 0.4*(t 25)例如,以實(shí)測(cè)阻抗按25的數(shù)據(jù)表讀數(shù),例如在35時(shí)讀到的阻抗為30k,按25表格,相對(duì)濕度為60%rh,此時(shí)按公式計(jì)算的實(shí)際濕度應(yīng)為56%rh。最后的問題是在生產(chǎn)過程中,由于濕度傳感器的原因或其他原因,總會(huì)遇到實(shí)際值與測(cè)量值之間存在誤差的情況,在單片機(jī)功能允許的情況下,建議通過軟件做最后的修正,主要采用跳線(jump)
19、的方法對(duì)示值進(jìn)行修正,安排一個(gè)io,做加/減運(yùn)算符號(hào)定義,其余2-4個(gè)io,用于定義加/減的值,例如1,2,3,可以修正正負(fù)6%rh的示值偏差。第五章 軟件設(shè)計(jì)5.1 系統(tǒng)模塊5.1.1模塊初始顯示output2鍵盤掃描及鍵盤輸入inputad采集 adstart進(jìn)制轉(zhuǎn)換 conver輸入數(shù)據(jù)比較 compare采樣輸出 output報(bào)警以及相應(yīng)控制 control延時(shí) delay5.2 模塊介紹 5.2.1 初始靜態(tài)顯示 每個(gè)字的大小設(shè)置為1616,因次可顯示四行,每行顯示8個(gè)字。第一行為“ 歡迎使用 ”;第二行為“請(qǐng)連續(xù)輸入目標(biāo)濕”;第三行為“度值和報(bào)警濕度值”;第四行不顯示,為空白。5.
20、2.2 8279鍵盤輸入連續(xù)輸入2組十進(jìn)制數(shù),第一組目標(biāo)值,低于目標(biāo)值則環(huán)境干燥,第二組為報(bào)警值,高于報(bào)警值則環(huán)境潮濕,在兩數(shù)之間范圍內(nèi)適度正常。5.2.3 ad數(shù)據(jù)采集 由于0809是采樣頻率為8位的、以逐次逼近原理進(jìn)行模數(shù)轉(zhuǎn)換的器件,所采集的數(shù)為00至ff,要轉(zhuǎn)換為10進(jìn)制時(shí)需要采集結(jié)果經(jīng)過數(shù)制轉(zhuǎn)換。需要采集結(jié)果與0.4相乘,此時(shí)出現(xiàn)較小誤差。在出現(xiàn)余數(shù)時(shí)在對(duì)余數(shù)成0.4,至小數(shù)點(diǎn)后一位截至。子程序adstsradstar: ;ad轉(zhuǎn)換lcall delaymov a,#00h ; 0通道 mov dptr,#9000hmovx dptr,alcall delaymovx a,dptrlc
21、all delaymov b,#02hdiv abmov 70h,amov a,#01h ;1通道m(xù)ov dptr,#9000hmovx dptr,alcall delaymovx a,dptrlcall delaymov b,#02hdiv abmov 71h,amov b,70hadd a,bmov 72h,a ;取二者平均值mov b,#5div abmov 79h,bmov b,#2mul abmov 73h,a ;100(64h)mov a,79hmov b,#4mul abmov b,#10div abadd a,73h;100+1mov 73h,amov 7ah,bmov b,#
22、100div abmov 74h,a ;百位mov a,bmov b,#10div abmov 75h,a ;十位mov a,bmov 76h,a ;個(gè)位mov a,7ahmov 78h,aret5.2.4輸入數(shù)據(jù)比較 compare compare: mov b,53h 目標(biāo)值儲(chǔ)存區(qū) mov a,#100 clr c subb a,b jnc comp1 mov a,#15h mov 50h,a mov a,#22h mov 51h,a mov 52h,acomp1: mov b,63h 報(bào)警值儲(chǔ)存區(qū) mov a,#100 clr c subb a,b jnc comp2 mov a,#15
23、h mov 60h,a mov a,#22h mov 61h,a mov 62h,acomp2: mov b,73h 當(dāng)前值儲(chǔ)存區(qū) mov a,#100 clr c subb a,b jnc comp3 mov a,#01h mov 74h,a mov a,#0h mov 75h,a mov 76h,a mov 78h,acomp3: mov b,53h mov a,63h clr c subb a,b jnc comp4 mov a,#15h mov 50h,a mov a,#22h mov 51h,a mov 52h,acomp4:ret此子程序是用來檢測(cè)輸入格式是否正確,比如目標(biāo)值不能超
24、過報(bào)警值,而這都不能超過100,如果出現(xiàn)這幾種情況,出錯(cuò)的地方會(huì)有error顯示在lcd上。5.2.5采樣輸出 output 此輸出就是把當(dāng)前值實(shí)時(shí)顯示出來,因?yàn)槌绦蚴沁M(jìn)入的一個(gè)循環(huán),ad不停的采樣,這樣數(shù)據(jù)實(shí)時(shí)更新。需要修改參數(shù)時(shí)只需至p3.2一個(gè)脈沖,程序跳轉(zhuǎn)到8279初始化那,往下運(yùn)行。5.2.6報(bào)警以及相應(yīng)控制 control (1)若當(dāng)前值低與目標(biāo)值(下限),則屬于干燥狀態(tài),亮綠(黃)燈燈;此時(shí),應(yīng)啟動(dòng)加濕器。(2)若當(dāng)前值高于目標(biāo)值(下限)同時(shí)低于報(bào)警值,則屬于正常狀態(tài),亮黃(綠)燈;(3)若當(dāng)前值高于報(bào)警值,則屬于高濕度危險(xiǎn)狀態(tài),兩紅燈,同時(shí)喇叭報(bào)警,并啟動(dòng)干燥器。第六章 系統(tǒng)調(diào)
25、試及使用說明6.1 系統(tǒng)調(diào)試經(jīng)過三周的不斷調(diào)試更改再調(diào)試,最終得到了完整的成功的一個(gè)濕度測(cè)量控制系統(tǒng)。在次過程中遇到了各種各樣的問題,也采取了不同的處理方法。例如:根據(jù)要求的在線鍵盤輸入,我們一開始將input作為子程序放入循環(huán)中,結(jié)果出現(xiàn)每次循環(huán)都得進(jìn)行一次鍵盤輸入才能夠繼續(xù)下面的ad采樣以及其他的顯示報(bào)警子程序,顯然這樣不符合要求和不符合現(xiàn)實(shí)。經(jīng)過討論調(diào)試,修改為鍵盤輸入放在主程序中,在開始初始化顯示好進(jìn)行一次鍵盤輸入,然后通過p3.2的開關(guān)脈沖量的判斷,若p3.2有一個(gè)脈沖輸入,則跳到主程序最開始重新進(jìn)行鍵盤輸入,否則只進(jìn)行ad采樣轉(zhuǎn)換顯示和報(bào)警處理。 我們最終完成后出現(xiàn)一個(gè)問題,當(dāng)ad
26、0809采集通道什么都不接時(shí),指示燈會(huì)紅黃綠等一直不停地閃爍,開始我以為是自己開始并未給存儲(chǔ)地址初始化,當(dāng)我們給那個(gè)地址(43h)分別賦值為00h,0ffh時(shí)還會(huì)出現(xiàn)這種情況,最后在與老師的討論中了解到,由于手拿接線來回?fù)u晃時(shí),會(huì)產(chǎn)生感應(yīng)電壓,是采集的數(shù)不穩(wěn)定。6.2 使用說明1) 運(yùn)行程序進(jìn)入系統(tǒng)監(jiān)測(cè)狀態(tài)后,lcd液晶顯示“歡迎使用 請(qǐng)連續(xù)輸入濕度目標(biāo)值和報(bào)警值(按f2確認(rèn)并退出)”。2) 通過鍵盤進(jìn)行參數(shù)設(shè)置,例如輸入050、080后按f2功能鍵確認(rèn)。3) 進(jìn)行ad采樣、轉(zhuǎn)換、比較、顯示、報(bào)警處理。lcd畫面顯示:濕度檢測(cè)系統(tǒng),當(dāng)前濕度值為xx.xx%,目標(biāo)值為 50%,報(bào)警值為100%。
27、xx.xx%為當(dāng)前濕度相對(duì)值。并隨濕度變化而改變。4) 若xx.xx50,則亮綠燈;50xx.xx100,亮紅燈并喇叭報(bào)警。當(dāng)當(dāng)前值xx.xx改變時(shí),以上處理狀態(tài)跟隨而變。5) 需要參數(shù)重新設(shè)置,則給予開關(guān)p3.2一個(gè)脈沖(課程設(shè)計(jì)中以開關(guān)的一次1和一次0的給予),重新返回到1)步。 第七章 收獲、體會(huì)這次課程設(shè)計(jì)在周周內(nèi)完成一個(gè)系統(tǒng)的設(shè)計(jì),時(shí)間還是比較充裕的。在這段時(shí)間里,我解決很多在課堂上在老師那發(fā)現(xiàn)不了的問題,學(xué)習(xí)到了一個(gè)系統(tǒng)的成功不僅僅是需要會(huì)編程,更需要的是怎么樣從一堆錯(cuò)誤一堆問題中逐一排除,找到解決的辦法。這一點(diǎn)我體會(huì)是十分深刻。例如:前面提到的鍵盤輸入導(dǎo)致每次循環(huán)都得進(jìn)行一次參數(shù)
28、設(shè)置的問題,經(jīng)過每一個(gè)子程序的單獨(dú)運(yùn)行,發(fā)現(xiàn)都可以正常運(yùn)行,但融合到一起就出現(xiàn)問題了。單步運(yùn)行,也沒發(fā)現(xiàn)問題,一個(gè)一個(gè)子程序的屏蔽,找到了鍵盤輸入的問題。于是解決辦法就如前說產(chǎn)生出來了。此外,對(duì)于lcd顯示,鍵盤輸入和ad采樣的模塊組合,以及雙通道采樣保證精度也讓我了解到,理論上的東西不經(jīng)過實(shí)踐自己是很難理解透的,“知道并不等于會(huì)用”這句話正是最好的說明。參考文獻(xiàn)1 王秋爽 曾昭龍.單片機(jī)開發(fā)基礎(chǔ)與經(jīng)典設(shè)計(jì)實(shí)例.北京:機(jī)械工業(yè)出版社,2008.12 林伸茂.8051單片機(jī).北京:人民郵電出版社,2004.5附錄(附源程序)源程序如下:org 0100hmain: ;主程序output2: ;初
29、始靜態(tài)顯示mov dptr,#8000hmov a,#00hmovx dptr,a ;寫數(shù)據(jù)mov a,#00hmovx dptr,ainc dptrmov a,#42hmovx dptr,a ;寫指令lcall dy;設(shè)置圖形顯示起始地址mov dptr,#8000hmov a,#10hmovx dptr,amov a,#00hmovx dptr,ainc dptrmov a,#43hmovx dptr,alcall dymov a,#0a7h ;設(shè)置圖形顯示范圍movx dptr,alcall dymov a,#80hmovx dptr,alcall dy;選擇or模式mov a,#9bh
30、movx dptr,alcall dy;文本關(guān),圖形開mov dptr,#8000hmov a,#00hmovx dptr,amov a,#00hmovx dptr,amov a,#24hinc dptrmovx dptr,alcall dy;設(shè)置起始地址mov a,#0b0hmovx dptr,amov r0,#00h;開始數(shù)據(jù)自動(dòng)寫qss0: ;顯示歡迎使用mov a,r2mov dptr,#chi5movc a,a+dptrmov dptr,#8000hmovx dptr,ainc r2djnz r0,qss0mov r0,#00hmov r2,#00hqss1: ;顯示請(qǐng)連續(xù)輸入設(shè)置值
31、mov a,r2mov dptr,#chi6movc a,a+dptrmov dptr,#8000hmovx dptr,ainc r2djnz r0,qss1mov r0,#00hmov r2,#00hqss2: ;顯示度值和報(bào)警濕度值mov a,r2mov dptr,#chi7movc a,a+dptrmov dptr,#8000hmovx dptr,ainc r2djnz r0,qss2mov r0,#00hmov r2,#00hqss3: ;空白mov a,r2mov dptr,#chi8movc a,a+dptrmov dptr,#8000hmovx dptr,ainc r2djnz
32、r0,qss3;取數(shù)據(jù)mov dptr,#8001hmov a,#0b2hmovx dptr,alcall dyinput:ha7s: mov sp,#53h ;初始化8279 mov dptr,#0b001h mov a,#00h movx dptr,a mov a,#32h movx dptr,a mov a,#0dfh movx dptr,aha7s1: movx a,dptr ;顯示p jb acc.7,ha7s1 mov dptr,#0b000h mov a,#0c8h movx dptr,a inc dptr mov a,#80h movx dptr,aha7s2: mov 30h
33、,#80h ;鍵掃程序 mov 31h,#40h mov r1,#50hha7s3: mov dptr,#0b001h ;數(shù)字鍵連續(xù)輸入六位及顯示 movx a,dptr anl a,#07h cjne a,#00h,ha7s4 ajmp ha7s3ha7s4: mov dptr,#0b000h movx a,dptr mov b,a mov r3,#00h mov dptr,#keytabha7s5: mov a,#00h movc a,a+dptr cjne a,b,ha7s6 ajmp ha7saha7s6: inc dptr inc r3 mov a,r3 jb acc.4,ha7s3
34、 ajmp ha7s5ha7sa: mov a,30h mov dptr,#0b001h movx dptr,a mov a,r3 mov r1,a mov r0,31h mov r0,a inc 31h mov dptr,#cdata movc a,a+dptr mov dptr,#0b000h movx dptr,a inc 30h inc r1 cjne r1,#53h,con mov r1,#60hcon: mov a,30h cjne a,#86h,ha7sb ljmp jiaha7sb: ajmp ha7s3jia: mov dptr,#0b001h ;功能鍵掃描 movx a,d
35、ptr anl a,#07h cjne a,#00h,jia3 ajmp jiajia3: mov dptr,#0b000h movx a,dptr mov b,aha7s7: mov dptr,#keytab1ha7s8: mov a,#00h movc a,a+dptr cjne a,b,ha7s9 ajmp kha7s9: inc dptr ajmp ha7s8k: ljmp loop0keytab: db 0c1h,0c8h,0c9h,0d0h,0d8h,0e0h,0c2h,0cah,0d1h,0d9h db 0dah,0c3h,0cbh,0d2h,0d3h,0dbhkeytab1:d
36、b 0e3h,0e2h,0e1hcdata:db 0ch,9fh,4ah,0bh,99h,29h,28h,8fh,08h,09h,88h,38h db 6ch,1ah,68h,0e8hloop0: mov 40h,#80h ;清顯示程序q1: mov a,40h mov dptr,#0b001h movx dptr,a mov a,#0ffh mov dptr,#0b000h movx dptr,a inc 40h mov a,40h cjne a,#86h,q1 ajmp main1q2: jb p3.2,q3 ajmp main1q3: ljmp inputmain1: lcall ads
37、tar ;啟動(dòng)ad轉(zhuǎn)換 lcall conver ; 十進(jìn)制轉(zhuǎn)換 lcall compare ; 采樣值與設(shè)置值做比較 lcall output ; 采樣值輸出 lcall delay ; 延時(shí) lcall delay lcall delay lcall delay lcall delaycontrol:mov a,73h ;根據(jù)比較結(jié)果作出判斷 mov b,63h clr c subb a,b laba: setb p1.0 jc okgetbaojing: ;紅燈亮(高于報(bào)警值,處于危險(xiǎn)狀態(tài)) setb p1.1 clr p1.2 clr p1.3 setb p1.4 lcall dela
38、y clr p1.4 lcall delay lcall delay djnz 20h,laba ajmp man1okget: mov a,73h mov b,53h clr c subb a,b jc lowerhigher: clr p1.1 setb p1.2 clr p1.3 ;黃燈亮(高于目標(biāo)值低于報(bào)警值) ajmp man1lower: clr p1.1 clr p1.2 ;綠燈亮(低于目標(biāo)值) setb p1.3man1: mov a,43h mov b,63h clr c subb a,b setb p1.0 jc okbaojin: ;紅燈亮(高于報(bào)警值,處于危險(xiǎn)狀態(tài)) s
39、etb p1.5 clr p1.6 clr p1.7 ajmp man2ok: mov a,43h mov b,53h clr c subb a,b jc q4 clr p1.5 setb p1.6 clr p1.7 ;黃燈亮(高于目標(biāo)值低于報(bào)警值) ajmp man2q4: clr p1.5 clr p1.6 ;綠燈亮(低于目標(biāo)值) setb p1.7man2: ljmp q2compare: mov b,53h mov a,#100 clr c subb a,b jnc comp1 mov a,#15h mov 50h,a mov a,#22h mov 51h,a mov 52h,acom
40、p1: mov b,63h mov a,#100 clr c subb a,b jnc comp2 mov a,#15h mov 60h,a mov a,#22h mov 61h,a mov 62h,acomp2: mov b,73h mov a,#100 clr c subb a,b jnc comp3 mov a,#01h mov 74h,a mov a,#0h mov 75h,a mov 76h,a mov 78h,acomp3: mov b,53h mov a,63h clr c subb a,b jnc comp4 mov a,#15h mov 50h,a mov a,#22h mo
41、v 51h,a mov 52h,acomp4:retadstar: ;ad開始轉(zhuǎn)換lcall delaymov a,#00hmov dptr,#9000hmovx dptr,alcall delaymovx a,dptrlcall delaymov b,#02hdiv abmov 70h,amov a,#01hmov dptr,#9000hmovx dptr,alcall delaymovx a,dptrlcall delaymov b,#02hdiv abmov 71h,amov b,70hadd a,bmov 72h,a ;平均值mov b,#5div abmov 79h,bmov b,#
42、2mul abmov 73h,a ;100(64h) mov a,79hmov b,#4mul ab mov b,#10 div abadd a,73h;100+1mov 73h,amov 7ah,bmov b,#100div abmov 74h,a ;百位mov a,bmov b,#10div abmov 75h,a ;十位mov a,bmov 76h,a ;個(gè)位mov a,7ahmov 78h,a mov a,#02h 多加通道,用來觀察比較 mov dptr,#9000h movx dptr,a lcall delay movx a,dptr lcall delay mov b,#5 d
43、iv ab mov b,#2 mul ab mov 43h,a retdelay:mov r6,#02hdelay2:mov r7,#0ffhdelay1:djnz r7,delay1 djnz r6,delay2 retconver: ;做調(diào)整mov 53h,52hmov a,51hmov b,#10mul abadd a,53hmov 53h,amov a,50hmov b,#100mul abadd a,53hmov 53h,amov 63h,62hmov a,61hmov b,#10mul abadd a,63hmov 63h,amov a,60hmov b,#100mul abadd
44、 a,63hmov 63h,a retoutput: ;輸出程序mov dptr,#8000hmov a,#80hmovx dptr,a ;寫數(shù)據(jù)mov a,#00hmovx dptr,ainc dptrmov a,#42hmovx dptr,a ;寫指令lcall dy;設(shè)置圖形顯示起始地址mov dptr,#8000hmov a,#00hmovx dptr,a ;寫數(shù)據(jù)mov a,#00hmovx dptr,ainc dptrmov a,#40hmovx dptr,a;寫指令lcall dy;設(shè)置文本顯示起始地址mov dptr,#8000hmov a,#10hmovx dptr,amov
45、 a,#00hmovx dptr,ainc dptrmov a,#41hmovx dptr,alcall dymov dptr,#8000hmov a,#10hmovx dptr,amov a,#00hmovx dptr,ainc dptrmov a,#43hmovx dptr,alcall dy;設(shè)置圖形顯示范圍mov a,#0a7hmovx dptr,alcall dy mov a,#80hmovx dptr,alcall dy;選擇or模式mov a,#9chmovx dptr,alcall dy; 文本開,圖形開mov dptr,#8000hmov a,#00hmovx dptr,amov a,#00hmovx dptr,amov a,#24hinc dptrmovx dptr,alcall dy;設(shè)置文本區(qū)指
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商用電腦購(gòu)買合同
- 酒店租房協(xié)議合同范本
- 建筑幕墻勞務(wù)分包合同
- 舊房拆除補(bǔ)償合同樣本
- 解除采購(gòu)合同約定
- 權(quán)威版勞務(wù)分包合同范本
- 洗車服務(wù)加盟合同模板
- 擠塑板購(gòu)銷合同書
- 汽車質(zhì)押貸款合同范本
- 集裝箱物流成本分析服務(wù)合同
- 電力系統(tǒng)光纖通信運(yùn)行管理規(guī)程
- 奇門遁甲在現(xiàn)代商業(yè)競(jìng)爭(zhēng)中的應(yīng)用
- 獨(dú)輪車校本教材
- 超高層建筑的造價(jià)含國(guó)內(nèi)著名超高層建筑成本數(shù)據(jù)
- 高速公路公路養(yǎng)護(hù)維修作業(yè)交通標(biāo)志設(shè)置示意圖(國(guó)標(biāo)2015)
- 護(hù)士排班表(月表)
- 華為產(chǎn)品測(cè)試策略及驗(yàn)證計(jì)劃模板
- 東華大學(xué)對(duì)硝基苯胺的制備實(shí)驗(yàn)報(bào)告doc
- 水利水電工程單位分部工程施工質(zhì)量評(píng)定表(完整版)
- 往復(fù)壓縮機(jī)填料函結(jié)構(gòu)及原理課件講解
- 干線鐵路牽引變電所設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論