基于單片機的智能壓力檢測系統(tǒng)的設計_第1頁
基于單片機的智能壓力檢測系統(tǒng)的設計_第2頁
基于單片機的智能壓力檢測系統(tǒng)的設計_第3頁
基于單片機的智能壓力檢測系統(tǒng)的設計_第4頁
基于單片機的智能壓力檢測系統(tǒng)的設計_第5頁
已閱讀5頁,還剩38頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

題目:基于單片機的智能壓力檢測系統(tǒng)的設計基于單片機的智能壓力檢測系統(tǒng)的設計摘要壓力是工業(yè)生產過程中的重要參數(shù)之一。壓力的檢測或控制是保證生產和設備安全運行必不可少的條件。實現(xiàn)智能化壓力檢測系統(tǒng)對工業(yè)過程的控制具有非常重要的意義。本設計主要通過單片機及專用芯片對傳感器所測得的模擬信號進行處理,使其完成智能化功能。介紹了智能壓力傳感器外圍電路的硬件設計,并根據(jù)硬件進行了軟件編程。本次設計是基于AT89C51單片機的測量與顯示。是通過壓力傳感器將壓力轉換成電信號,再經過運算放大器進行信號放大,送至8位A/D轉換器,然后將模擬信號轉換成單片機可以識別的數(shù)字信號,再經單片機轉換成LED顯示器可以識別的信息,最后顯示輸出。而在顯示的過程中通過鍵盤,向計算機系統(tǒng)輸入各種數(shù)據(jù)和命令,讓單片機系統(tǒng)處于預定的功能狀態(tài),顯示需要的值。本設計的最終結果是,將軟件下載到硬件上調試出來了需要顯示的數(shù)據(jù),當輸入的模擬信號發(fā)生變化的時候,通過A/D轉換后,LED將顯示不同的數(shù)值。關鍵詞:壓力;AT89C51單片機;壓力傳感器;A/D轉換器;LED顯示;

Designofpressuredetectingsystembasedonsingle-chipAbstractPressureisoneoftheimportantparametersintheprocessofindustrialproduction.Pressuredetectionorcontrolisanessentialconditiontoensureproductionandtheequipmenttosafelyoperating,whichisofgreatsignificance.Thesingle-chipisinfiltratingintoallfieldsofourlives,soitisverydifficulttofindtheareainwhichthereisnotracesofsingle-chipmicrocomputer.Inthisgraduationdesign,primarilythroughbyusingsingle-chipanddedicatedchip,handlingofanalogsignalmeasuredbythesensortocompleteintelligentfunction.Thisdesignillustratesexternalhardwarecircuitdesignofintelligentpressuresensor,andconductsoftwaredevelopmenttothehardware.ThedesignisbasedonmeasurementanddisplayofAT89C51single-chip.Thisisthepressuresensorswillconvertthepressureintoelectricalsignals.Afterusingoperationalamplifier,thesignalisamplified,andtransferredtothe8-bitA/Dconverter.Thentheanalogsignalisconvertedintodigitalsignalswhichcanbeidentifiedbysingle-chipandthenconvertedbysingle-chipintotheinformationwhichcanbedisplayedonLEDmonitor,andfinallydisplayoutput.Inthecourseofshow,throughthekeyboardtoinputallkindsofdataandcommandsintothecomputer,thesingle-chipwilllocateinapredeterminedfunctionsteptodisplayrequiredvalues.Theendresultofthisdesignisthatbydownloadingsoftwaretothehardware,itwillgetthedatawhichisrequiredtodisplaybydebugging.Whentheinputanalogsignalschange,theLEDmonitorwilldisplaydifferentvaluesthroughtheA/Dconverting.Keywords:pressure;AT89C51single-chip;pressuresensor;A/Dconverter;LEDmonitor;目錄摘要IAbstract………………………..II第一章緒論…………………...11.1研究背景 11.2基于單片機的智能壓力檢測的原理 21.2.1壓力的概念 21.2.2測量壓力的意義 3第二章基于單片機的智能壓力檢測系統(tǒng)的硬件設計…….42.1壓力傳感器 42.1.1壓力傳感器的選擇 42.1.2金屬電阻應變片的工作原理 42.1.3電阻應變片的基本結構 62.1.4電阻應變片的測量電路 62.2信號放大電路 82.1.2放大器的選擇 82.2.4三運放大電路 92.3A/D轉換器 102.3.1A/D轉換模塊器件選擇 102.3.2A/D轉換器的簡介 102.3.3配置位說明 112.3.4ADC0832工作時序圖 122.3.3單片機對ADC0832的控制原理 132.4單片機 142.4.1AT89C51單片機簡介 142.4.2主要特性…. 152.4.3管腳說明 152.4.5芯片擦除 172.5單片機于鍵盤的接口技術 182.5.1鍵盤功能及結構概述 182.5.2鍵盤抖動及去除 182.5.3單片機與鍵盤的連接 192.6LED顯示接口 212.6.1發(fā)光二極管及LED顯示器 212.6.2七段數(shù)碼顯示器 222.6.3LED數(shù)碼管靜態(tài)顯示接口 24第三章軟件設計…………….263.1A/D轉換器的軟件設計 263.1.1ADC0832芯片接口程序的編寫 263.2單片機與鍵盤的接口程序設計 273.4LED數(shù)碼管顯示程序設計 28第四章總結………………….30參考文獻……………………...31附錄A………………………...32附錄B…………………………33致謝…………………………...38緒論1.1研究背景近年來,隨著微型計算機的發(fā)展,他的應用在人們的工作和日常生活中越來越普遍。工業(yè)過程控制是計算機的一個重要應用領域。其中由單片機構成的嵌入式系統(tǒng)已經越來越受到人們的關注。現(xiàn)在可以毫不夸張的說,沒有微型計算機的儀器不能稱為先進的儀器,沒有微型計算機的控制系統(tǒng)不能稱其為現(xiàn)代控制系統(tǒng)的時代已經到來。壓力測量對實時監(jiān)測和安全生產具有重要的意義。在工業(yè)生產中,為了高效、安全生產,必須有效控制生產過程中的諸如壓力、流量、溫度等主要參數(shù)。由于壓力控制在生產過程中起著決定性的安全作用,因此有必要準確測量壓力。為了測到不同位置的壓力值,本次設計為基于單片機智能壓力測量系統(tǒng)。通過壓力傳感器將需要測量的位置的壓力信號轉化為電信號,再經過運算放大器進行信號放大,送至8位A/D轉換器,然后將模擬信號轉換成單片機可以識別的數(shù)字信號,再經單片機轉換成LED顯示器可以識別的信息,最后顯示輸出?;趩纹瑱C的智能壓力檢測系統(tǒng),選擇的單片機是基于AT89C51單片機的測量與顯示,將壓力經過壓力傳感器變?yōu)殡娦盘?,再通過三運放放將電信號放大為標準信號為0-5V的電壓信號,然后進入A/D轉換器將模擬量轉換為數(shù)字量,我們所采樣的A/D轉換器為ADC0832,ADC0832為8位分辨率A/D轉換芯片,其最高分辨可達256級,可以適應一般的模擬量轉換要求。其內部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉換時間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變的更加方便。通過DI數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。正常情況下ADC0832與單片機的接口應為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設計時可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。為了提高單片機系統(tǒng)I/O口線的利用效率,利用單片機AT87C51的串行口和串行移位寄存器74LS164擴展輸出多位LED顯示.鍵盤是單片機系統(tǒng)實現(xiàn)人機對話的常用輸入設備。我們通過鍵盤,向計算機系統(tǒng)輸入各種數(shù)據(jù)和命令,亦可通過使用鍵盤,讓單片機系統(tǒng)處于預定的功能狀態(tài)。要想實現(xiàn)壓力的顯示需硬件與軟件配合,最終調試出來。1.2基于單片機的智能壓力檢測的原理本次設計是以單片機組成的壓力測量,系統(tǒng)中必須有前向通道作為電信號的輸入通道,用來采集輸入信息。壓力的測量,需要傳感器,利用傳感器將壓力轉換成電信號后,再經放大并經A/D轉換為數(shù)字量后才能由計算機進行有效處理。然后用LED進行顯示,而鍵盤的作用是改變輸入量的系數(shù)的。它的原理圖如圖1.1所示。壓力壓力傳感器放大器顯示單片機A/D轉換鍵盤圖1.1壓力測量儀表原理方框圖我們這次主要做的是A/D轉換,單片機鍵盤和顯示,我們選用的A/D轉換器是ADC0832,單片機為AT89C51,鍵盤為4乘4的鍵盤,顯示為4位數(shù)碼管顯示。根據(jù)硬件電路編程,調試出來并顯示結果。1.2.1壓力的概念壓力是工業(yè)生產中的重要參數(shù)之一,為了保證生產正常運行,必須對壓力進行測量和控制,但需說明的是,這里所說的壓力,實際上是物理概念中的壓強,即垂直作用在單位面積上的力。在壓力測量中,常用絕對壓力、表壓力、負壓力或真空度之分。所謂絕對壓力是指被測介質作用在容器單位面積上的全部壓力,用符號pj表示。用來測量絕對壓力的儀表稱為絕對壓力表。地面上的空氣柱所產生的平均壓力稱為大氣壓力,用符號pq表示。用來測量大氣氣壓力的儀表叫氣壓表。絕對壓力與大氣壓力之差。稱為表壓力,用符號pb表示。即pb=pj-pq。當絕對壓力值小于大氣壓力值時,表壓力為負值(即負壓力),此負壓力值的絕對值,稱為真空度,用符號pz表示。壓力是工業(yè)生產中的重要參數(shù),如高壓容器的壓力超過額定值時便是不安全的,必須進行測量和控制。在某些工業(yè)生產過程中,壓力還直接影響產品的質量和生產效率,如生產合成氨時,氮和氫不僅須在一定的壓力下合成,而且壓力的大小直接影響產量高低。此外,在一定的條件下,測量壓力還可間接得出溫度、流量和液位等參數(shù)。1643年,意大利人托里拆利首先測定標準的大氣壓力值為760毫米汞柱,奠定了液柱式壓力測量儀表的基礎。1847年,法國人波登制成波登管壓力表,由于結構簡單、實用,很快在工業(yè)中獲得廣泛應用,一直是常用的壓力測量儀表。二十世紀上半葉出現(xiàn)了遠傳壓力表和電接點壓力表,從而解決了壓力測量值的遠距離傳送和壓力的報警、控制等問題。60年代以后,為適應工業(yè)控制、航空工業(yè)和醫(yī)學測試等方面的要求,壓力測量儀表日益向體積輕巧、耐高溫、耐沖擊、耐振動和數(shù)字顯示等方向發(fā)展。1.2.2測量壓力的意義壓力是過程生產中四大重要參數(shù)之一,它在檢測生產過程能否完全可靠正常運行的重要參數(shù)指標,尤其在化工生產過程中壓力這一參數(shù)更顯得尤為重要。在化工生產過程中,壓力即影響物料平衡,也影響化學反應速速,是標志生產過程能否正常進行的重要參數(shù)。安全生產的需要,從確保安全生產的角度,壓力檢測也是非常重要的。如:確保壓力容器內的壓力在安全指標之內,確保易燃易爆介質的壓力不超標。在其他工業(yè)生產中壓力檢測于控制也非常重要。常可見到一些工業(yè)裝置上都有壓力表。如:汽包壓力,當壓力過高容易爆炸,壓力低動力不足;還有爐膛壓力;一般維持在0mmH2O,高了爐門縫冒煙塵,低了膛內出現(xiàn)負壓降低溫度。若維持在10mmH2O,節(jié)能20%。壓力也是間接測量物位的手段,用孔板測量流量僅能產生差壓,而這個差壓考壓力檢測的方法來測取才能最終求出流量。液面的高度可以靠測取壓力的大小來表示??傊?,壓力檢測是一般成產過程所不可缺少的環(huán)節(jié),只有按工藝要求保持壓力的穩(wěn)定,才能維持生產的正常進行。所以壓力準確測量在實際過程是非常重要的。第二章基于單片機的智能壓力檢測系統(tǒng)的硬件設計2.1壓力傳感器2.1.1壓力傳感器的選擇壓力傳感器是壓力檢測系統(tǒng)中的重要組成部分,由各種壓力敏感元件將被測壓力信號轉換成容易測量的電信號作輸出,給顯示儀表顯示壓力值,或供控制和報警使用。力學傳感器的種類繁多,如\o"電阻"電阻應變片\o"壓力傳感器"壓力傳感器、半導體應變片\o"壓力傳感器"壓力傳感器、壓阻式\o"壓力傳感器"壓力傳感器、電感式\o"壓力傳感器"壓力傳感器、\o"電容"電容式\o"壓力傳感器"壓力傳感器諧振式\o"壓力傳感器"壓力傳感器及\o"電容"電容式加速度傳感器等。而電阻應變式傳感器具有悠久的歷史。由于它具有結構簡單、體積小、使用方便、性能穩(wěn)定、可靠、靈敏度高動態(tài)響應快、適合靜態(tài)及動態(tài)測量、測量精度高等諸多優(yōu)點,因此是目前應用最廣泛的傳感器之一。電阻應變式傳感器由彈性元件和電阻應變片構成,當彈性元件感受到物理量時,其表面產生應變,粘貼在彈性元件表面的電阻應變片的電阻值將隨著彈性元件的應變而相應變化。通過測量電阻應變片的電阻值變化,可以用來測量位移加速度、力、力矩、壓力等各種參數(shù)。2.1.2金屬電阻應變片的工作原理應變式壓力傳感器是把壓力的變化轉換成電阻值的變化來進行測量的,應變片是由金屬導體或半導體制成的電阻體,是一種將被測件上的應變變化轉換成為一種電信號的敏感\(zhòng)o"器件"器件。它是壓阻式應變傳感器的主要組成部分之一。\o"電阻"電阻應變片應用最多的是金屬\o"電阻"電阻應變片和半導體應變片兩種。金屬\o"電阻"電阻應變片又有絲狀應變片和金屬箔狀應變片兩種。通常是將應變片通過特殊的粘和劑緊密的粘合在產生力學應變基體上,當基體受力發(fā)生應力變化時,\o"電阻"電阻應變片也一起產生形變,使應變片的阻值發(fā)生改變,從而使加在\o"電阻"電阻上的電壓發(fā)生變化。這種應變片在受力時產生的阻值變化通常較小,一般這種應變片都組成應變電橋,并通過后續(xù)的儀表放大器進行放大,再傳輸給處理電路(通常是A/D轉換和CPU)顯示或執(zhí)行機構。其阻值隨壓力所產生的應變而變化。金屬\o"電阻"電阻應變片的工作原理是吸附在基體材料上應變\o"電阻"電阻隨機械形變而產生阻值變化的現(xiàn)象,俗稱為\o"電阻"電阻應變效應。對于金屬導體,如圖2.1所示,一段圓截面的導線的金屬絲,設其長為L,截面積為A(直徑為D),原始電阻為R,金屬導體的\o"電阻"電阻值可用下式表示:R=ρL∕A(2.1)式中:ρ——金屬導體的\o"電阻"電阻率(Ω·cm2/m)S——導體的截面積(cm2)L——導體的長度(m)圖2.1金屬電阻絲應變效應當金屬絲受到軸向力F而被拉伸或壓縮產生形變,其電阻值會隨之變化,通過對(2.1)式兩邊取對數(shù)后再取全微分得:(2.2)式中為材料軸向線應變,且跟據(jù)材料力學,在金屬絲單向受力狀態(tài)下,有(2.3)式中μ為導體材料的泊松比。因此,有(2.4)試驗發(fā)現(xiàn),金屬材料電阻率的相對變化與其體的相對變化間的關系為(2.5)式中,c為常數(shù)(由一定的材料和加工方式決定)將式(2.5)代入(2.4),且當ΔR=R時,可得(2.6)式中,k=(1+2μ)+c(1-2μ)為金屬絲材料的應變靈敏系數(shù)。上式表明,金屬材料電阻的相對變化與其線應變成正比。這就是金屬材料的應變電阻效應。電阻變化率△R/R的表達式為:K=ΔR/Rμ/ε,式中μ—材料的泊松系數(shù);ε—應變量。當金屬絲受外力作用時,其長度和截面積都會發(fā)生變化,從上式中可很容易看出,其\o"電阻"電阻值即會發(fā)生改變,假如金屬絲受外力作用而伸長時,其長度增加,而截面積減少,\o"電阻"電阻值便會增大。當金屬絲受外力作用而壓縮時,長度減小而截面增加,\o"電阻"電阻值則會減小。只要測出加在\o"電阻"電阻的變化(通常是測量\o"電阻"電阻兩端的電壓),即可獲得應變金屬絲的應變情。2.1.3電阻應變片的基本結構電阻應變片主要由四部分組成。如圖2.2所示,電阻絲是應變片敏感元件;基片、覆蓋片起定位和保護電阻絲的作用,并使電阻絲和被測試件之間絕緣;引出線用以連接測量導線。圖2.2電阻應變片的基本結構2.1.4電阻應變片的測量電路應變片可以將應變轉換為電阻的變化,為了顯示于記錄應變的大小,還要將電阻的變化再轉換為電壓或電流的變化,因此需要有專用的測量電路,通常采用直流電橋和交流電橋。2.1.4由于應變片的電橋電路的輸出信號一般比較微弱,所以目前大部分電阻應變式傳感器的電橋輸出端與直流放大器相連,如圖2.3所示。圖2.3直流電橋設電橋的各臂的電阻分別為R1R3R2R4它們可以全部或部分是應變片。由于直流放大器的輸入電阻比電橋電阻大的多,因此可將電橋輸出端看成開路,這種電橋成為電壓輸出橋,輸出電壓U0為U0=(2.7)由上式可見:若R1R3=R2R4,則輸出電壓必為零,此時電橋處于平衡狀態(tài),稱為平衡電橋。平衡電橋的平衡條件為:R1R3=R2R4應變片工作時,其電阻變化ΔR,此時有不平衡電壓輸出。(2.8)由式(2.8)表明:ΔR《R1時,電橋的輸出電壓于應變成線性關系。若相鄰兩橋臂的應變極性一致,即同為拉應變活壓應變時,輸出電壓為兩者之差,若不同時,則輸出電壓為兩者之和。若相對兩橋臂的極性一直,輸出電壓為兩者之和,反之則為兩者之差。電橋供電電壓U越高,輸出電壓U0越大,但是,當U大時,電阻應變片通過的電流也大,若超過電阻應變片所允許通過的最大工作電流,傳感器就會出現(xiàn)蠕變和零漂。基于這些原因可以合理的進行溫度補償和提高傳感器的測量靈敏度。由式(2.8)的線性關系是在應變片的參數(shù)變化很小,極ΔR《R1的情況下得出的,若應變片承受的壓力太大,則上述假設不成立,電橋的輸出電壓應變之間成非線性關系。在在這種情況下,用按線性關系刻度的儀表進行測量必然帶來非線性誤差。為了消除非線性誤差,在實際應用中,常采用半橋差動或全橋差動電路,如圖2.4所示,以改善非線性誤差和提高輸出靈敏度。UU(a)半橋差動電路(b)全橋差動電路圖2.4差動電橋圖2.4(a)為半橋差動電路,在傳感器這中經常使用這種方法。粘貼應變片時,使兩個應變片一個受壓,一個受拉。應變符號相反,工作時將兩個應變片接入電橋的相鄰兩臂。設電橋在初始時所示平衡的,且為等臂電橋,考慮到ΔR=ΔR1=ΔR2則得半橋差動電路的輸出電壓為(2.9)由上式可見,半橋差動電路不僅可以消除非線性誤差,而且還使電橋的輸出靈敏度提高了一倍,同時還能起到溫度補償?shù)淖饔谩H绻磮D2.4(b)所示構成全橋差動電路同樣考慮到ΔR=ΔR1=ΔR2=ΔR3=ΔR4時得全橋差動電路的輸出電壓為(2.10)可見,全橋的電壓靈敏度比單臂工作時的靈敏度提高了4倍非線性誤差也得到了消除,同時還具有溫度補償?shù)淖饔?,該電路也得到了廣泛的應用。2.2信號放大電路2.1.2放大器的選擇被測的非電量經傳感器得到的電信號幅度很小,無法進行A/D轉換,必須對這些模擬電信號進行放大處理。為使電路簡單便于調試,本設計采用三運算放大器,因為在具有較大共模電壓的條件下,儀表放大器能夠對很微弱的差分電壓信號進行放大,并且具有很高的輸入阻抗。這些特性使其受到眾多應用的歡迎,廣泛用于測量壓力和溫度的應變儀電橋接口、熱電耦溫度檢測和各種低邊、高邊電流檢測。2.2.4三運放大電路本次設計的放大器采用了三運放,因為它具有高共模抑制比的放大電路。它由三個集成運算放大器組成,如圖2.5所示。2.5三運放高共摸抑制比放大電路其中A1和A2為兩個性能一致(主要指輸入阻抗,共模抑制比和增益)的同相輸入通用集成運算放大器,構成平衡對稱差動放大輸入級,A3構成雙端輸入單端輸出的輸出級,用來進一步抑制A1和A2的共模信號,并適應接地負載的需要。由于每個放大器求和點的電壓等于施加在各自正輸入端的電壓,因此,整個差分輸入電壓現(xiàn)在都呈現(xiàn)在RG兩端。因為輸入電壓經過放大后(在A1和A2的輸出端)的差分電壓呈現(xiàn)在R5,RG和R6這三只電阻上,所以差分增益可以通過僅改變RG進行調整。這種連接有另外一個優(yōu)點:一旦這個減法器電路的增益用比率匹配的電阻器設定后,在改變增益時不再對電阻匹配有任何要求。如果R5=R6,R1=R3和R2=R4,則VOUT=(VIN2-VIN1)(1+2R5/RG)(R2/R1)。由于RG兩端的電壓等于VIN,所以流過RG的電流等于VIN/RG,因此輸入信號將通過A1和A2獲得增益并得到放大。然而須注意的是對加到放大器輸入端的共模電壓在RG兩端具有相同的電位,從而不會在RG上產生電流。由于沒有電流流過RG(也就無電流流過R5和R6),放大器A1和A2將作為單位增益跟隨器而工作。因此,共模信號將以單位增益通過輸入緩沖器,而差分電壓將按〔1+(2RF/RG)〕的增益系數(shù)被放大。這也就意味著該電路的共模抑制比相比與原來的差分電路增大了〔1+(2RF/RG)〕倍。

在理論上表明,得到所要求的前端增益(由RG來決定),而不增加共模增益和誤差,即差分信號將按增益成比例增加,而共模誤差則不然,所以比率〔增益(差分輸入電壓)/(共模誤差電壓)〕將增大。因此CMR理論上直接與增益成比例增加,這是一個非常有用的特性。

最后,由于結構上的對稱性,輸入放大器的共模誤差,如果它們跟蹤,將被輸出級的減法器消除。這包括諸如共模抑制隨頻率變換的誤差。2.3A/D轉換器模擬量輸入通道的任務是將模擬量轉換成數(shù)字量。能夠完成這一任務的器件稱之為模數(shù)轉換器,簡稱A/D轉換器。本次設計的中A/D轉換器的任務是將放大器輸出的模擬信號轉換位數(shù)字量進行輸出。2.3.1A/D轉換模塊器件選擇目前單片機在電子產品中已得到廣泛應用,許多類型的單片機內部已帶有A/D轉換電路,但此類單片機會比無A/D轉換功能的單片機在價格上高幾元甚至很多,我們采用一個普通的單片機加上一個A/D轉換器,實現(xiàn)A/D轉換的功能,這里A/D轉換器可選ADC0832、ADC0809等;串行和并行接口模式是A/D轉換器諸多分類中的一種,但卻是應用中器件選擇的一個重要指標。在同樣的轉換分辨率及轉換速度的前提下,不同的接口方式會對電路結構及采用周期產生影響。對A/D轉換器的選擇我們通過比較ADC0809和ADC0832來決定。這兩個轉換器都是常見的A/D轉換器,其中ADC0809的并行接口A/D轉換器,ADC0832是串行接口A/D轉換器。我們所做的設計選擇ADC0832,A/D轉換在單片機接口中應用廣泛,串行A/D轉換器具有功耗低、性價比較高、芯片引腳少等特點。2.3.2A/D轉換器的簡介在這次設計中我們A/D轉換器選用兩通道輸入的八位ADC0832,ADC0832[3]是美國國家半導體公司生產的一種8位分辨率、雙通道A/D轉換芯片。由于它體積小,兼容性強,性價比高而深受單片機愛好者及企業(yè)歡迎,其目前已經有很高的普及率。ADC0832為8位分辨率A/D轉換芯片,其最高分辨可達256級,可以適應一般的模擬量轉換要求。其內部電源輸入與參考電壓的復用,使得芯片的模擬電壓輸入在0~5V之間。芯片轉換時間僅為32μS,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉換速度快且穩(wěn)定性能強。獨立的芯片使能輸入,使多器件掛接和處理器控制變得更加方便。通過DI數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。有關引腳說明如下:?CS片選使能,低電平芯片使能。?CH0模擬輸入通道0,或作為IN+/-使用。?CH1模擬輸入通道1,或作為IN+/-使用。?GND芯片參考0電位(地)。?DI數(shù)據(jù)信號輸入,選擇通道控制。?DO數(shù)據(jù)信號輸出,轉換數(shù)據(jù)輸出。?CLK芯片時鐘輸入。?Vcc/REF電源輸入及參考電壓輸入(復用)。正常情況下ADC0832與單片機的接口應為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。它的結構示意圖如圖2.6所示。圖2.6ADC0832結構示意圖2.3.3配置位說明ADC0832工作時,模擬通道的選擇及單端輸入和差分輸入的選擇,都取決于輸入時序的配置位。當差輸入時,要分配輸入通道的極性,兩個輸入通道的任何一個通道都可作為正極或負極。ADC0832的配置位邏輯表如表2.1所示。表2.1的配置位邏輯表表中“+”表示輸入通道的端點為正極性;“-”表示輸入端點為負極性H或L表示高、低電平。輸入配置位時,高位(CH0)在前,低位(CH1)在后。2.3.4ADC0832工作時序圖當CS由高變低時,選中ADC0832。在時鐘的上升沿,DI端的數(shù)據(jù)移入ADC0832內部的多路地址移位寄存器。在第一個時鐘期間,DI為高,表示啟動位,緊接著輸入兩位配置位。當輸入啟動位和配置位后,選通輸入模擬通道,轉換開始。轉換開始后,經過一個時鐘周期延接著在第一個時鐘周期延遲,以使選定的通道穩(wěn)定。ADC0832緊接著在第4個時鐘下降沿輸出轉換數(shù)據(jù)。數(shù)據(jù)輸出時先輸出最高位(D7~D0)輸出完轉換結果后,又以最低位開始重新遍數(shù)據(jù)(D7~D0),兩次發(fā)送的最低位共用。當片選CS為高時,內部所有寄存器清,輸出變?yōu)楦咦钁B(tài)。如果要再進行一次模數(shù)轉換,片選必須再次從高向低跳變,后面再輸入啟動位和配置位。圖2.7ADC083工作時序圖2.3.3單片機對ADC0832的控制原理圖2.8ADC0832與單片機的接口電路正常情況下ADC0832與單片機的接口應為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。但由于DO端與DI端在通信時并未同時有效并與單片機的接口是雙向的,所以電路設計時可以將DO和DI并聯(lián)在一根數(shù)據(jù)線上使用。當ADC0832未工作時其CS輸入端應為高電平,此時芯片禁用,CLK和DO/DI的電平可任意。當要進行A/D轉換時,須先將CS使能端置于低電平并且保持低電平直到轉換完全結束。此時芯片開始轉換工作,同時由處理器向芯片時鐘輸入端CLK輸入時鐘脈沖,DO/DI端則使用DI端輸入通道功能選擇的數(shù)據(jù)信號。在第1個時鐘脈沖的下沉之前DI端必須是高電平,表示啟始信號。在第2、3個脈沖下沉之前DI端應輸入2位數(shù)據(jù)用于選擇通道功能。其功能項見表2.2。表2.2ADC0832的功能表MUXAddressChannelSGL/DIFODD/SIGN0110+11+MUXAddressChannelSGL/DIFODD/SIGN0110+-11-+如表2.2所示,當此2位數(shù)據(jù)為“1”、“0”時,只對CH0進行單通道轉換。當2位數(shù)據(jù)為“1”、“1”時,只對CH1進行單通道轉換。當2位數(shù)據(jù)為“0”、“0”時,將CH0作為正輸入端IN+,CH1作為負輸入端IN-進行輸入。當2位數(shù)據(jù)為“0”、“1”時,將CH0作為負輸入端IN-,CH1作為正輸入端IN+進行輸入。到第3個脈沖的下沉之后DI端的輸入電平就失去輸入作用,此后DO/DI端則開始利用數(shù)據(jù)輸出DO進行轉換數(shù)據(jù)的讀取。從第4個脈沖下沉開始由DO端輸出轉換數(shù)據(jù)最高位DATA7,隨后每一個脈沖下沉DO端輸出下一位數(shù)據(jù)。直到第11個脈沖時發(fā)出最低位數(shù)據(jù)DATA0,一個字節(jié)的數(shù)據(jù)輸出完成。也正是從此位開始輸出下一個相反字節(jié)的數(shù)據(jù),即從第11個字節(jié)的下沉輸出DATD0。隨后輸出8位數(shù)據(jù),到第19個脈沖時數(shù)據(jù)輸出完成,也標志著一次A/D轉換的結束。最后將CS置高電平禁用芯片,直接將轉換后的數(shù)據(jù)進行處理就可以了。作為單通道模擬信號輸入時ADC0832的輸入電壓是0~5V且8位分辨率時的電壓精度為19.53mV。如果作為由IN+與IN-輸入的輸入時,可是將電壓值設定在某一個較大范圍之內,從而提高轉換的寬度。在進行IN+與IN-的輸入時,如果IN-的電壓大于IN+的電壓則轉換后的數(shù)據(jù)結果始終為00H。2.4單片機隨著電子技術的發(fā)展,單片機的功能將更加完善,因而單片機的應用將更加普及。它們將在智能化儀器、家電產品、工業(yè)過程控制等方面得到更廣泛的應用。單片機將是智能化儀器和中、小型控制系統(tǒng)中應用最多的有種微型計算機。2.4.1AT89C51單片機簡介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲(FPEROM—FalshProgrammableandErasableReadOnlyMemory)的低電壓,高性能CMOS8位微處理器,俗稱單片機。單片機的可擦除只讀存儲器可以反復擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術制造,與工業(yè)標準的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控制器,AT89C2051是它的一種精簡版本,如圖2.9所示。AT89C51單機為很多嵌入式控制系統(tǒng)提供靈活性高且廉價的方案。圖2.9AT89C51單片機的結構示意圖2.4.2主要特性·與MCS-51兼容

·4K字節(jié)可編程閃爍存儲器

壽命:1000寫/擦循環(huán)

數(shù)據(jù)保留時間:10年

·全靜態(tài)工作:0Hz-24Hz

·三級程序存儲器鎖定

·128*8位內部RAM

·32可編程I/O線

·兩個16位定時器/計數(shù)器

·5個中斷源

·可編程串行通道

·低功耗的閑置和掉電模式

·片內振蕩器和時鐘電路2.4.3管腳說明VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0口作為原碼輸入口,當FIASH進行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。P2口:P2口為一個內部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當P2口被寫“1”時,其管腳被內部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內部上拉的緣故。P2口當用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內部上拉優(yōu)勢,當對外部八位地址數(shù)據(jù)存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入“1”后,它們被內部上拉為高電平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口:P3口管腳備選功能P3.0RXD(串行輸入口)P3.1TXD(串行輸出口)P3.2/INT0(外部中斷0)P3.3/INT1(外部中斷1)P3.4T0(記時器0外部輸入)P3.5T1(記時器1外部輸入)P3.6/WR(外部數(shù)據(jù)存儲器寫選通)P3.7/RD(外部數(shù)據(jù)存儲器讀選通)P3口同時為閃爍編程和編程校驗接收一些控制信號。RST:復位輸入。當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩器頻率的1/6。因此它可用作對外部輸出的脈沖或用于定時目的。然而要注意的是:每當用作外部數(shù)據(jù)存儲器時,將跳過一個ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時,ALE只有在執(zhí)行MOVX,MOVC指令是ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。/PSEN:外部程序存儲器的選通信號。在由外部程序存儲器取指期間,每個機器周期兩次/PSEN有效。但在訪問外部數(shù)據(jù)存儲器時,這兩次有效的/PSEN信號將不出現(xiàn)。/EA/VPP:當/EA保持低電平時,則在此期間外部程序存儲器(0000H-FFFFH),不管是否有內部程序存儲器。注意加密方式1時,/EA將內部鎖定為RESET;當/EA端保持高電平時,此間內部程序存儲器。在FLASH編程期間,此引腳也用于施加12V編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內部時鐘工作電路的輸入。XTAL2:來自反向振蕩器的輸出。2.4.4振蕩器特性XTAL1和XTAL2分別為反向放大器的輸入和輸出。該反向放大器可以配置為片內振蕩器。石晶振蕩和陶瓷振蕩均可采用。如采用外部時鐘源驅動器件,XTAL2應不接。有余輸入至內部時鐘信號要通過一個二分頻觸發(fā)器,因此對外部時鐘信號的脈寬無任何要求,但必須保證脈沖的高低電平要求的寬度。2.4.5芯片擦除整個PEROM陣列和三個鎖定位的電擦除可通過正確的控制信號組合,并保持ALE管腳處于低電平10ms來完成。在芯片擦操作中,代碼陣列全被寫“1”且在任何非空存儲字節(jié)被重復編程以前,該操作必須被執(zhí)行。此外,AT89C51設有穩(wěn)態(tài)邏輯,可以在低到零頻率的條件下靜態(tài)邏輯,支持兩種軟件可選的掉電模式。在閑置模式下,CPU停止工作。但RAM,定時器,計數(shù)器,串口和中斷系統(tǒng)仍在工作。在掉電模式下,保存RAM的內容并且凍結振蕩器,禁止所用其他芯片功能,直到下一個硬件復位為止。2.5單片機于鍵盤的接口技術2.5.1鍵盤功能及結構概述鍵盤是單片機系統(tǒng)實現(xiàn)人機對話的常用輸入設備。操作員通過鍵盤,向計算機系統(tǒng)輸入各種數(shù)據(jù)和命令,亦可通過使用鍵盤,讓單片機系統(tǒng)處于預定的功能狀態(tài)。鍵盤按照其內部不同電路結構,可分為編碼鍵盤和非編碼鍵盤二種。編碼鍵盤本身除了帶有普通按鍵之外,還包括產生鍵碼的硬件電路。使用時,只要按下編碼鍵盤的某一個鍵,硬件邏輯會自動提供被按下的鍵的鍵碼,使用十分方便,但價格較貴。由非編碼鍵盤組成的簡單硬件電路,僅提供各個鍵被按下的信息,其他工作由軟件來實現(xiàn)。由于價格便宜,而且使用靈活,因此廣泛應用在單片機應用系統(tǒng)中。非編碼鍵盤按照其鍵盤排列的結構,又可分為獨立式按鍵和行列式按鍵兩種類型。2.5.2鍵盤抖動及去除目前各種結構的鍵盤,主要是利用機械觸點的合、斷作用,產生一個電壓信號,然后將這個電信號傳送給CPU。由于機械觸點的彈性作用,在閉合及斷開的瞬間均有抖動過程。抖動時間長短,與開關的機械特性有關,一般約5~10ms之間。圖2.10為閉合及斷開時的電壓抖動波形:圖2.10鍵閉合及斷開時的電壓抖動波形按鍵的穩(wěn)定閉合期,由操作人員的按鍵動作所確定,一般為十分之幾秒至幾秒時間。為保證CPU對鍵的一次操作僅作一次輸入處理,必須去除抖動影響及人為的操作時問長短的影響。通常去抖動影響的措施有硬、軟件兩種;可用基本R-S觸發(fā)器或單穩(wěn)態(tài)電路構成硬件去抖動電路如圖2.11所示。也可采用軟件延時的方法除去鍵盤抖動產生的影響。采用軟件除去抖動影響的辦法是,在檢測到有鍵按下時,執(zhí)行一個10ms左右的延時程序,然后再去判斷該鍵電平是否仍保持閉合狀態(tài)電平,如保持閉合狀態(tài)電平則可確認該鍵為按下狀態(tài),從而消除了抖動影響。圖2.11RC去抖動電路2.5.3單片機與鍵盤的連接鍵盤與單片機的連接在單片機系統(tǒng)中鍵盤中按鈕數(shù)量較多時,為了減少I/O口的占用,常常將按鈕排列成矩陣形式,如2.13圖所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鈕加以連接。這樣,一個端口(如P1口)就能組成4*4=16個按鈕,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就能組成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。在實際應用中,4×4鍵盤主要由數(shù)字0~9和功能鍵組成。這里給出一個比較常用的鍵盤排列方式,如表2.3所示。表2.3按鍵表123命令456功能789確認0上移下移退出按照鍵盤與單片機的連接方式可分為獨立式鍵盤與矩陣式鍵盤。獨立式鍵盤相互獨立,每個按鍵占用一根I/O口線,每根I/O口線上的按鍵工作狀態(tài)不會影響其他按鍵的工作狀態(tài)。如圖2.12所示這種按鍵軟件程序簡單,但占用I/O口線較多(一根口線只能接一個鍵),適用于鍵盤應用數(shù)量較少的系統(tǒng)中。圖2.12獨立式按鍵接口電路于獨立是按鍵接口電路要比較矩陣式結構的鍵盤顯然比直接法要復雜一些,識別也要復雜一些如圖2.13所示。

圖2.13單片機矩陣式鍵盤接口電路上圖中列線通過電阻接正電源,并將行線所接的單片機的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當按鈕沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。具體的識別及編程辦法如下所述。矩陣式鍵盤的按鈕識別辦法確定矩陣式鍵盤上何鍵被按下介紹一種“行掃描法”。行掃描法行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鈕識別辦法,如上圖所示鍵盤,介紹過程如下。判斷鍵盤中有無鍵按下將全部行線Y0-Y3置低電平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鈕之中。若所有列線均為高電平,則鍵盤中無鍵按下。判斷閉合鍵所在的位置在確認有鍵按下后,即可進入確定具體閉合鍵的過程。其辦法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鈕就是閉合的按鈕。2.6LED顯示接口本次設計是利用89C51單片機串行口和74LS164移位寄存器實現(xiàn)多個LED顯示的一種方法,利用該方法設計的多路LED顯示系統(tǒng)具有硬件結構簡單、軟件編程容易和價格低廉等特點.2.6.1發(fā)光二極管及LED顯示器發(fā)光二極管是由半導體發(fā)光材料做成的PN結,只要在發(fā)光二極管兩端通過正向電流5-20mA就能達到正常發(fā)光。LED的發(fā)光顏色通常有紅、綠、黃、白,其外形和電氣圖形符號如圖2.14所示。單個LED通常是通過亮、滅來指示系統(tǒng)運行狀態(tài)和用快速閃爍來報警。aa)外形b)圖形符號圖2.14LED通常所說的LED顯示器由7個發(fā)光二極管組成,因此也稱之為七段LED顯示器,其排列形狀如圖2.15所示。顯示器中還有一個圈點型發(fā)光二極管(在圖中以dp表示),用于顯示小數(shù)點。通過七個發(fā)光二極管亮暗的不同組合,可以顯示多種數(shù)字、字母以及其它符號。LED顯示器中的發(fā)光二極管共有兩種連接方法:·共陽極接法把發(fā)光二極管的陽極連在一起構成公共陽極。使用時公共陽極接+5V。陰極端輸入低電平的段發(fā)光二極管導通點亮,輸入高電平的則不點亮?!す碴帢O接法把發(fā)光二極管的陰極連在一起構成公共陰極。使用時會共陰極接地,陽極端輸入高電平的段發(fā)光二極管導通點亮,輸入低電平的則不點亮。圖2.15LED顯示用LED顯示器顯示十六進制數(shù)的字型代碼如下表所示:表2.4十六進制數(shù)字形代碼2.6.2七段數(shù)碼顯示器七段LED顯示器需要由驅動電路驅動。在七段LED顯示器中,共陽極顯示器,用低電平驅動;共陰極顯示器,用高電平驅動。點亮顯示器有靜態(tài)和動態(tài)兩種方式。靜態(tài)顯示所謂靜態(tài)顯示,就是當顯示器顯示某一字符時,相應段的發(fā)光二極管恒定地導通或截止。這種顯示方法的每一位都需要有一個8位輸出口控制。靜態(tài)顯示器的優(yōu)點是顯示穩(wěn)定,在發(fā)光二極管導通電流一定的情況下顯示器的亮度高,控制系統(tǒng)在運行過程中,僅僅在需要更新顯示內容時,CPU才執(zhí)行一次顯示更新子程序,這樣大大節(jié)省了CPU的時間,提高了CPU的工作效率;缺點是位數(shù)較多時,所需的I/O口太多,硬件開銷太大。圖2.16四位靜態(tài)顯示電路所謂動態(tài)顯示就是一位一位地輪流點亮各位顯示器(掃描),對于顯示器的每一位而言,每隔一段時間點亮一次。在同一時刻只有一位顯示器在工作(點亮),利用人眼的視覺暫留效應和發(fā)光二極管熄滅時的余輝效應,看到的卻是多個字符“同時”顯示如圖2.17所示。圖2.17四位動態(tài)顯示的電路顯示器亮度既與點亮時的導通電流有關,也與點亮時間和間隔時間的比例有關。調整電流和時間參數(shù),可實現(xiàn)亮度較高較穩(wěn)定的顯示。動態(tài)顯示器的優(yōu)點是節(jié)省硬件資源,成本較低。但在控制系統(tǒng)運行過程中,要保證顯示器正常顯示,CPU必需每隔一段時間執(zhí)行一次顯示子程序,占用CPU大量時間,降低了CPU的工作效率,同時顯示亮度較靜態(tài)顯示器低。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需一個8位I/O口(稱為掃描口或字位口),控制各位LED顯示器所顯示的字形也需要一個8位口(稱為數(shù)據(jù))。2.6.3LED數(shù)碼管靜態(tài)顯示接口在單片機應用系統(tǒng)中,數(shù)碼管顯示器顯示常用兩種辦法:靜態(tài)顯示和動態(tài)掃描顯示?;贚ED的優(yōu)點在本次設計中采用了數(shù)碼管的靜態(tài)顯示。所謂靜態(tài)顯示,就是每一個數(shù)碼管顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種辦法單片機中CPU的開銷小。能供給單獨鎖存的I/O接口電路很多,常用的串并轉換電路74LS164,他的電路如圖2.18所示。圖2.18靜態(tài)LED顯示電路MCS-51單片機串行口方式為移們寄存器方式,外接4片74LS164作為4位LED數(shù)碼管顯示器的靜態(tài)顯示接口,把AT89C51的RXD作為數(shù)據(jù)輸出線,TXD作為移位時鐘脈沖。74LS164為TTL單向8位移位寄存器,可實現(xiàn)串行輸入,并行輸出。其中A、B(第1、2腳)為串行數(shù)據(jù)輸入端,2個管腳按邏輯與運算規(guī)律輸入信號,共公一個輸入信號時可并接。CLK(第8腳)為時鐘輸入端,可連接到串行口的TXD端。每一個時鐘信號的上升沿加到CLK端時,移位寄存器移一位,8個時鐘脈沖過后,8位二進制數(shù)全部移入74LS164中。R(第9腳)為復位端,當R=0時,移位寄存器各位復0,只有當R=1時,時鐘脈沖才起作用。Q1…Q8(第3-6和10-13管腳)并行輸出端分別接LED數(shù)碼管顯示器的hga各段對應的管腳上。在74LS164獲得時鐘脈沖的瞬間(是在脈沖的下降沿),如果數(shù)據(jù)輸入端(第1,2管腳)是高電平,則就會有一個1進入到74LS164的內部,如果數(shù)據(jù)輸入端是低電平,則就會有一個0進入其內部。在給出了8個脈沖后,最先進入74LS164的第一個數(shù)據(jù)到達了最高位,再來一個脈沖,第一個脈沖就會從最高位移出。6片7LS164首尾相串,而時鐘端則接在一起,這樣,當輸入8個脈沖時,從單片機RXD端輸出的數(shù)據(jù)就進入到了第一片74LS164中了,而當?shù)诙€8個脈沖到來后,這個數(shù)據(jù)就進入了第二片74LS164,而新的數(shù)據(jù)則進入了第一片74LS164,這樣,當?shù)诹鶄€8個脈沖完成后,首次送出的數(shù)據(jù)被送到了最左面的74LS164中,其他數(shù)據(jù)依次出現(xiàn)在第一、二、三、四、五片74LS164中。第三章軟件設計3.1A/D轉換器的軟件設計單片機控制系統(tǒng)中通常要用到AD轉換,根據(jù)輸出格式,常用的AD轉換方式可分為并行AD和串行AD。并行方式一般在轉換后可直接接收,但芯片的引腳比較多;串行方式所用芯片引腳少,封裝小,但需要軟件處理才能得到所需要的數(shù)據(jù)??墒菃纹瑱CI/O引腳本來就不多,使用串行器件可以節(jié)省I/O資源。ADC0832是8位逐次逼近模數(shù)轉換器,可支持兩個單端輸入通道和一個差分輸入通道。相同功能的器件還有ADC0834,ADC0838,ADC0831。所不同的是它們的輸入通道數(shù)量不同。它們的通道選擇和配置都是通過軟件設置。3.1.1ADC0832芯片接口程序的編寫單片機串行工作方式時,串行口是作為同步移位寄存器使用。這時以P3.3端作為數(shù)據(jù)移位的入口和出口,而由P3.6端提供移位時鐘脈沖。單片機串行口方式0與ADC0832的接口,單片機P2.0接ADC0832的CS,P3.6接0832的CLK作為時鐘信號輸出端,P3.7接0832的DO和DI作為啟動位、配置位的發(fā)送端以及A/D轉換后輸出數(shù)據(jù)的接收端。由于ADC0832在CS變低后的前3個周期內,DO端為高阻態(tài);轉換開始后,DI線禁止,因此,DI端和DO端可連接在一起。ADC0832的時鐘頻率最高為400kHz,單片機晶振可選用4MHz,在TXD的輸出頻率為4MHz/12=333.3kHz,符合要求。ADC0832輸出的串行數(shù)據(jù)共15位,由兩段8位數(shù)據(jù)組成,前一段是最高位在先,后一段是最高在后,兩段數(shù)據(jù)的最低位共用。只有在時鐘的下降沿,ADC0832的串行數(shù)據(jù)才移出一位。由單片機控制時鐘信號的發(fā)送,并由P3.6發(fā)出,以達到控制ADC0832輸出數(shù)據(jù)位的目的。為了得到一列完整的8位數(shù)據(jù),單片機分兩次采集含有不同位的數(shù)據(jù),再合成一列完整的8位數(shù)據(jù)。ADC0832通過內部多路器來控制選擇通道,處理器的控制命令通過DI引腳輸入。如下流程圖所示,當模擬信號輸入開始后,首先是CS使能信號也就是片選信號有效,這時是低電平有效,如果片選是高電平時停止轉換。當時鐘信號有效時輸入通道的控制字來確定所選擇的通道,讀取數(shù)據(jù)后就開始將模擬量轉換位數(shù)字量,A/D轉換結束后,單片機讀取數(shù)值,如果沒轉換完,又回到使能開始。圖3.1ADC0832數(shù)據(jù)讀取程序流程3.2單片機與鍵盤的接口程序設計AT89C51單片機的P1口用作鍵盤I/O口,鍵盤的列線接到P1口的低4位,鍵盤的行線接到P1口的高4位。列線P1.0-P1.3分別接有4個上拉電阻到正電源+5V,并把列線P1.0-P1.3設置為輸入線,行線P1.4-P.17設置為輸出線。4根行線和4根列線形成16個相交點。檢測當前是否有鍵被按下。檢測的辦法是P1.4-P1.7輸出全“0”,讀取P1.0-P1.3的狀態(tài),若P1.0-P1.3為全“1”,則無鍵閉合,不然有鍵閉合。去除鍵抖動。當檢測到有鍵按下后,延時一段時間再做下一步的檢測判斷。若有鍵被按下,應識別出是哪一個鍵閉合。辦法是對鍵盤的行線進行掃描。P1.4-P1.7按下述4種組合依次輸出:P1.71110P1.61101P1.51011P1.40111在每組行輸出時讀取P1.0-P1.3,若全為“1”,則表示為“0”這一行沒有鍵閉合,不然有鍵閉合。由此得到閉合鍵的行值和列值,然后可采用計算法或查表法將閉合鍵的行值和列值轉換成所定義的鍵值。為了保證鍵每閉合一次CPU僅作一次處理,必須卻除鍵釋放時的抖動。從以上分析得到單片機鍵盤掃描程序的流程圖如圖3.2所示。程序如下圖3.2單片機矩陣式鍵盤接口流程圖3.4LED數(shù)碼管顯示程序設計利用單片機內部的串行接口,可以實現(xiàn)靜態(tài)的顯示處理。這樣不僅可以節(jié)省單片機的并行接口資源,而且在大多數(shù)不使用串行接口的情況下,可以減少或是免去擴展接口。在這種設計中,串行口工作于方式0,數(shù)據(jù)的輸入輸出都通過RxD實現(xiàn),移位脈沖則由TxD發(fā)出。每次傳送一個字節(jié)數(shù)據(jù)。每輸出一個字節(jié)數(shù)據(jù),單片機自動使串行中斷請求標志TI置。通過測試該狀態(tài),即可確定該字節(jié)是否發(fā)送完畢。由硬件電路圖可知,74LS164是串行輸入并行輸出的移位寄存器。它具有兩個串行輸入端和8位并行輸出端(QA~QH)。當顯示數(shù)據(jù)從RxD端輸出到移位寄存器74LS164的輸入端AB時,74LS164將串行數(shù)據(jù)轉換成8位輸出碼QA~QH,然后加到共陽極LED顯示器上。究竟在哪一位上顯示,還要P1口的狀態(tài)而定。當某一位為低電平時,該位LED顯示,其他位不顯示。由于接口電路中顯示模型輸出地址和位選信號可一次選中,故只要一次輸出即可顯示一位。開始初始化開始初始化取待顯示的字符查筆段碼送顯示緩沖區(qū)修改緩沖區(qū)指針4位顯示結束結束圖3.3LED的顯示流程圖第四章總結在設計中遇到不少困難,這對自己是一個考驗,剛開始拿到題目的時候頭緒并不是很多,通過查閱資料對整個系統(tǒng)有了一定的認識。單片機的相關內容在大三的課程學過,但是學得并不是很深,在設計前我重新學習了一遍單片機的知識,包括芯片接口和51系列單片機的指令等。串行A/D轉換器ADC0832是新接觸的一種芯片,除學習芯片功能外,主要了解了對芯片串行輸出的控制,這里的軟件設計是一個難點,我們這次用的是用PROTEI99繪圖軟件,我們以前學過但是學的不深這對我來說是個難點,但是通過看書和同學老師的幫忙,使得我畫好了原理圖和PCB版的出圖。還有就是焊版,焊不好就無法顯示要的數(shù)據(jù),調試是最關鍵的時候,剛開始的時候沒有顯示,在修改程序的時候花了不少時間最后,終于顯示可以想要的結果。當程序下載到焊版的時候,首先是顯示0000,如果改變滑動變阻器時,通過ADC0832就可以顯示不同的數(shù)據(jù),我做的首先是采集模擬量,然后顯示需要的數(shù)據(jù)。我認為我們專業(yè)學習硬件知識相對比軟件多,所以在軟件設計方面我還有很大不足。程序的設計經過“學習–模仿–編寫–修改–再修改–定型”等階段,在軟件的學習上我也花了比較多的時間和精力,讓我欣慰的是收獲也很大。參考文獻【1】李朝青編著.單片機原理及接口技術.北京[M]:北京航天航空大學出版社,1994【2】何立民編著.單片機應用系統(tǒng)設計.北京[M]:北京航天航空大學出版社,1994【3】潘新民,王燕芳編著.微型計算機與傳感器.北京[M]:人民郵電出版社,1998【4】徐愛卿,孫涵芳編著MCS-51單片機原理及應用.北京[M]:北京航天航空大學出版社,1993【5】于時亮,張友德編著.單片微機控制技術.上海[M]:復旦大學出版社,1994【6】李華主編.MCS-51系列單片機及實用接口技術.北京[M]:北京航天航空大學出版社,1993【8】吳勤勤主編,電動控制儀表及裝置.上海[M]化學工業(yè)出版社,1990【9】王化祥,張淑英,傳感器應用及原理.天津[M]:天津大學出版社,1991【10】杜維,過程檢測技術及儀表.北京[M]:中國電力出版社,1998【11】張國雄主編.測控電路.天津[M]:天津大學出版社,1996【12】王幸之,等AT89系列單片機原理與接口技術.北京[M]:北京航空航天大學出版社,2004【13】賴麒文.8051單片機C語言徹底應用.北京[M]:科學技術出版社,2002【14】王雪文,傳感器原理及應用.北京[M]:北京航空航天出版社,2004【15】金以慧.過程控制[J].北京:清華大學出版社,1993【16】楊振江等編著.智能儀器與數(shù)據(jù)采集系統(tǒng)中的新器件及應用[M].西安電子科技大學出版社.【17】8位串行A/D轉換器0832[J].電子世界,2002,【18】何立民.單片機應用技術選編[M].北京航空航天大學出版社,2003【19】朱定華.單片機原理及接口技術[M].北京:電子工業(yè)出版社,2001.6【20】王幸之,鐘愛琴,王雷等.AT89系列單片機原理與接口技術[M].北京:北京航空航天大學出版社,2004:345~346.【21】童長飛.C8051F系列單片機開發(fā)與C語言編程[M].北京:北京航空航天大學出版社,2005.38~43.【22】田捷,楊鑫.智能設計基礎[M],北京:電子工業(yè)出版社,2005附錄A硬件原理圖附錄B#include<reg51.h>#include<stdio.h>#include<math.h>#include<intrins.h>#defineuintunsignedint#defineucharunsignedchar#defineADC0832CH0channel;//*********定義變量區(qū)*******************sbitclk_adc0832=P3^6; //定義各個控制引腳sbitcs_adc0832=P2^0;sbitdi_adc0832=P3^7;sbitdo_adc0832=P3^7;sbitLED0_CS=P1^0;sbitLED1_CS=P1^1;sbitLED2_CS=P1^2;sbitLED3_CS=P1^3;sbitadarm=P2^2;ucharcodetable[11]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90,0xff};//0,1,2,3,4,5,6,7,8,9,off//共陽極筆端碼ucharch;//采樣返回數(shù)據(jù)//*********函數(shù)聲明區(qū)********************

voidtkey(void);//鍵盤函數(shù)unsignedrunADC0832(bit);//A/D轉換voidDelayms(uintx);//延時顯示函數(shù)voidUpdate_LED();//LED顯示函數(shù)voidLED_analyze();//**********主函數(shù)開始**********voidmain(){P0=0XFF;P1=0XFF;P2=0XFF;P3=0XFF;Uart_Init();TH0=0x3C;TL0=0xAF;ET0=1;//開外部中斷0EA=1;//全局中斷打開TR0=1;nCounter=0;Change_Flag=0;while(1){voidtkey(voi

溫馨提示

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

評論

0/150

提交評論