壓力檢測系統(tǒng)設(shè)計_第1頁
壓力檢測系統(tǒng)設(shè)計_第2頁
壓力檢測系統(tǒng)設(shè)計_第3頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、.單片機(jī)系統(tǒng)課程設(shè)計成績評定表設(shè)計課題:壓力檢測系統(tǒng)設(shè)計學(xué)院名稱: 電氣工程學(xué)院專業(yè)班級:自動1304 學(xué)生XX:趙博 學(xué)號: 7指導(dǎo)教師:王黎 周剛 李攀峰設(shè)計地點 :31-505 設(shè)計時間 :2015-12-282016-01-08指導(dǎo)教師意見:成績: 簽名: 年 月 日. v.單片機(jī)系統(tǒng)課程設(shè)計課程設(shè)計名稱:壓力檢測系統(tǒng)設(shè)計專業(yè)班級:自動1304學(xué)生XX:趙博學(xué)號:7指導(dǎo)教師: 王黎周剛李攀峰課程設(shè)計地點:31-505課程設(shè)計時間:2015-12-282016-01-08 單片機(jī)系統(tǒng) 課程設(shè)計任務(wù)書學(xué)生XX趙博專業(yè)班級自動1304學(xué)號7題目壓力檢測系統(tǒng)設(shè)計課題性質(zhì)工程設(shè)計課題來源自擬指導(dǎo)

2、教師王黎周剛 李攀峰主要內(nèi)容(參數(shù))利用89C51單片機(jī)設(shè)計一個壓力檢測系統(tǒng)設(shè)計,實現(xiàn)功能如下:通過壓力傳感器將壓力轉(zhuǎn)換成電信號,再經(jīng)過運算放大器進(jìn)行信號放大,送至8位AD轉(zhuǎn)換器,然后將模擬信號轉(zhuǎn)換成單片機(jī)可以識別的數(shù)字信號,再經(jīng)單片機(jī)轉(zhuǎn)換成LED顯示器可以識別的信息,最后顯示輸出。而在顯示的過程中通過鍵盤,向計算機(jī)系統(tǒng)輸入各種數(shù)據(jù)和命令,讓單片機(jī)系統(tǒng)處于預(yù)定的功能狀態(tài),顯示需要的值。任務(wù)要求(進(jìn)度)第1-2天:熟悉課程設(shè)計任務(wù)及要求,查閱技術(shù)資料,確定設(shè)計方案。第3-4天:按照確定的方案設(shè)計單元電路。要求畫出單元電路圖,元件及元件參數(shù)選擇要有依據(jù),各單元電路的設(shè)計要有詳細(xì)論述。第5-6天:軟

3、件設(shè)計,編寫程序。第7-8天:實驗室調(diào)試。第9-10天:撰寫課程設(shè)計報告。要求內(nèi)容完整、圖表清晰、文理流暢、格式規(guī)X、方案合理、設(shè)計正確,篇幅合理。主要參考資料1 X迎新單片微型計算機(jī)原理、應(yīng)用及接口技術(shù)(第2版)M:國防工業(yè),20042偉福LAB6000系列單片機(jī)仿真實驗系統(tǒng)使用說明書3 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版):高等教育,2006審查意見系(教研室)主任簽字: 年 月 日 目錄1緒論41.1壓力檢測系統(tǒng)概述42總體方案設(shè)計原理42.1 基于單片機(jī)的智能壓力檢測的原理42.2 壓力傳感器52.2.1 壓力傳感器的選擇52.2.2金屬電阻應(yīng)變片的工作原理52.3 A/D轉(zhuǎn)換器62.3.1

4、 A/D轉(zhuǎn)換模塊器件選擇62.3.2 A/D轉(zhuǎn)換器的簡介62.4單片機(jī)72.4.1 AT89C51單片機(jī)簡介72.4.2主要特性82.4.3 管腳說明92.5單片機(jī)于鍵盤的接口技術(shù)92.5.1 鍵盤功能及結(jié)構(gòu)概述92.5.2 單片機(jī)與鍵盤的連接102.6 LED顯示接口122.6.1 LED顯示器122.6.2七段數(shù)碼顯示器132.6.3LED數(shù)碼管靜態(tài)顯示接口143軟件設(shè)計153.1 A/D轉(zhuǎn)換器的軟件設(shè)計153.1.1 ADC0832芯片接口程序的編寫153.2 單片機(jī)與鍵盤的接口程序設(shè)計173.3 LED數(shù)碼管顯示程序設(shè)計18總結(jié)21參考文獻(xiàn)21附錄A22附錄B231緒論1.1壓力檢測系

5、統(tǒng)概述壓力是工業(yè)生產(chǎn)過程中的重要參數(shù)之一。壓力的檢測或控制是保證生產(chǎn)和設(shè)備安全運行必不可少的條件。實現(xiàn)智能化壓力檢測系統(tǒng)對工業(yè)過程的控制具有非常重要的意義。本設(shè)計主要通過單片機(jī)及專用芯片對傳感器所測得的模擬信號進(jìn)行處理,使其完成智能化功能。介紹了智能壓力傳感器外圍電路的硬件設(shè)計,并根據(jù)硬件進(jìn)行了軟件編程。本次設(shè)計是基于AT89C51單片機(jī)的測量與顯示。是通過壓力傳感器將壓力轉(zhuǎn)換成電信號,再經(jīng)過運算放大器進(jìn)行信號放大,送至8位AD轉(zhuǎn)換器,然后將模擬信號轉(zhuǎn)換成單片機(jī)可以識別的數(shù)字信號,再經(jīng)單片機(jī)轉(zhuǎn)換成LED顯示器可以識別的信息,最后顯示輸出。而在顯示的過程中通過鍵盤,向計算機(jī)系統(tǒng)輸入各種數(shù)據(jù)和命令

6、,讓單片機(jī)系統(tǒng)處于預(yù)定的功能狀態(tài),顯示需要的值。本設(shè)計的最終結(jié)果是,將軟件下載到硬件上調(diào)試出來了需要顯示的數(shù)據(jù),當(dāng)輸入的模擬信號發(fā)生變化的時候,通過A/D轉(zhuǎn)換后,LED將顯示不同的數(shù)值。2總體方案設(shè)計原理2.1基于單片機(jī)的智能壓力檢測的原理本次設(shè)計是以單片機(jī)組成的壓力測量,系統(tǒng)中必須有前向通道作為電信號的輸入通道,用來采集輸入信息。壓力的測量,需要傳感器,利用傳感器將壓力轉(zhuǎn)換成電信號后,再經(jīng)放大并經(jīng)A/D轉(zhuǎn)換為數(shù)字量后才能由計算機(jī)進(jìn)行有效處理。然后用LED進(jìn)行顯示,而鍵盤的作用是改變輸入量的系數(shù)的。它的原理圖如圖1.1所示。壓力傳感器放大器顯示單片機(jī)A/D轉(zhuǎn)換鍵盤圖1.1 壓力測量儀表原理方框

7、圖我們這次主要做的是A/D轉(zhuǎn)換,單片機(jī)鍵盤和顯示,我們選用的A/D轉(zhuǎn)換器是ADC0832,單片機(jī)為AT89C51,鍵盤為4乘4的鍵盤,顯示為4位數(shù)碼管顯示。根據(jù)硬件電路編程,調(diào)試出來并顯示結(jié)果。2.2 壓力傳感器2.2.1 壓力傳感器的選擇壓力傳感器是壓力檢測系統(tǒng)中的重要組成部分,由各種壓力敏感元件將被測壓力信號轉(zhuǎn)換成容易測量的電信號作輸出,給顯示儀表顯示壓力值,或供控制和報警使用。力學(xué)傳感器的種類繁多,如電阻應(yīng)變片壓力傳感器、半導(dǎo)體應(yīng)變片壓力傳感器、壓阻式壓力傳感器、電感式壓力傳感器、電容式壓力傳感器諧振式壓力傳感器及電容式加速度傳感器等。 而電阻應(yīng)變式傳感器具有悠久的歷史。由于它具有結(jié)構(gòu)簡

8、單、體積小、使用方便、性能穩(wěn)定、可靠、靈敏度高動態(tài)響應(yīng)快、適合靜態(tài)及動態(tài)測量、測量精度高等諸多優(yōu)點,因此是目前應(yīng)用最廣泛的傳感器之一。電阻應(yīng)變式傳感器由彈性元件和電阻應(yīng)變片構(gòu)成,當(dāng)彈性元件感受到物理量時,其表面產(chǎn)生應(yīng)變,粘貼在彈性元件表面的電阻應(yīng)變片的電阻值將隨著彈性元件的應(yīng)變而相應(yīng)變化。通過測量電阻應(yīng)變片的電阻值變化,可以用來測量位移加速度、力、力矩、壓力等各種參數(shù)。2.2.2金屬電阻應(yīng)變片的工作原理應(yīng)變式壓力傳感器是把壓力的變化轉(zhuǎn)換成電阻值的變化來進(jìn)行測量的,應(yīng)變片是由金屬導(dǎo)體或半導(dǎo)體制成的電阻體,是一種將被測件上的應(yīng)變變化轉(zhuǎn)換成為一種電信號的敏感器件。它是壓阻式應(yīng)變傳感器的主要組成部分之

9、一。當(dāng)金屬絲受外力作用時,其長度和截面積都會發(fā)生變化,從上式中可很容易看出,其電阻值即會發(fā)生改變,假如金屬絲受外力作用而伸長時,其長度增加,而截面積減少,電阻值便會增大。當(dāng)金屬絲受外力作用而壓縮時,長度減小而截面增加,電阻值則會減小。只要測出加在電阻的變化(通常是測量電阻兩端的電壓),即可獲得應(yīng)變金屬絲的應(yīng)變情。2.3A/D轉(zhuǎn)換器模擬量輸入通道的任務(wù)是將模擬量轉(zhuǎn)換成數(shù)字量。能夠完成這一任務(wù)的器件稱之為模數(shù)轉(zhuǎn)換器,簡稱A/D轉(zhuǎn)換器。本次設(shè)計的中A/D轉(zhuǎn)換器的任務(wù)是將放大器輸出的模擬信號轉(zhuǎn)換位數(shù)字量進(jìn)行輸出。2.3.1A/D轉(zhuǎn)換模塊器件選擇目前單片機(jī)在電子產(chǎn)品中已得到廣泛應(yīng)用,許多類型的單片機(jī)內(nèi)部

10、已帶有A/D轉(zhuǎn)換電路,但此類單片機(jī)會比無A/D轉(zhuǎn)換功能的單片機(jī)在價格上高幾元甚至很多,我們采用一個普通的單片機(jī)加上一個A/D轉(zhuǎn)換器,實現(xiàn)A/D轉(zhuǎn)換的功能,這里A/D轉(zhuǎn)換器可選ADC0832、ADC0809等;串行和并行接口模式是A/D轉(zhuǎn)換器諸多分類中的一種,但卻是應(yīng)用中器件選擇的一個重要指標(biāo)。在同樣的轉(zhuǎn)換分辨率及轉(zhuǎn)換速度的前提下,不同的接口方式會對電路結(jié)構(gòu)及采用周期產(chǎn)生影響。對A/D轉(zhuǎn)換器的選擇我們通過比較ADC0809和ADC0832來決定。這兩個轉(zhuǎn)換器都是常見的A/D轉(zhuǎn)換器,其中ADC0809的并行接口A/D轉(zhuǎn)換器,ADC0832是串行接口A/D轉(zhuǎn)換器。我們所做的設(shè)計選擇ADC0832,A

11、/D轉(zhuǎn)換在單片機(jī)接口中應(yīng)用廣泛 ,串行 A/D轉(zhuǎn)換器具有功耗低、性價比較高、芯片引腳少等特點。2.3.2 A/D轉(zhuǎn)換器的簡介在這次設(shè)計中我們A/D轉(zhuǎn)換器選用兩通道輸入的八位ADC0832,ADC08323是美國國家半導(dǎo)體公司生產(chǎn)的一種8 位分辨率、雙通道A/D轉(zhuǎn)換芯片。由于它體積小,兼容性強(qiáng),性價比高而深受單片機(jī)愛好者及企業(yè)歡迎,其目前已經(jīng)有很高的普及率。ADC0832 為8位分辨率A/D轉(zhuǎn)換芯片,其最高分辨可達(dá)256級,可以適應(yīng)一般的模擬量轉(zhuǎn)換要求。其內(nèi)部電源輸入與參考電壓的復(fù)用,使得芯片的模擬電壓輸入在05V之間。芯片轉(zhuǎn)換時間僅為32S,據(jù)有雙數(shù)據(jù)輸出可作為數(shù)據(jù)校驗,以減少數(shù)據(jù)誤差,轉(zhuǎn)換速

12、度快且穩(wěn)定性能強(qiáng)。獨立的芯片使能輸入,使多器件掛接和處理器控制變得更加方便。通過DI 數(shù)據(jù)輸入端,可以輕易的實現(xiàn)通道功能的選擇。有關(guān)引腳說明如下: CS 片選使能,低電平芯片使能。 CH0 模擬輸入通道0,或作為IN+/-使用。 CH1 模擬輸入通道1,或作為IN+/-使用。 GND 芯片參考0電位(地)。 DI 數(shù)據(jù)信號輸入,選擇通道控制。 DO 數(shù)據(jù)信號輸出,轉(zhuǎn)換數(shù)據(jù)輸出。 CLK 芯片時鐘輸入。 Vcc/REF 電源輸入及參考電壓輸入(復(fù)用)。正常情況下ADC0832 與單片機(jī)的接口應(yīng)為4條數(shù)據(jù)線,分別是CS、CLK、DO、DI。它的結(jié)構(gòu)示意圖如圖2.6所示。圖2.3 ADC0832結(jié)構(gòu)

13、示意圖2.4單片機(jī)隨著電子技術(shù)的發(fā)展,單片機(jī)的功能將更加完善,因而單片機(jī)的應(yīng)用將更加普及。它們將在智能化儀器、家電產(chǎn)品、工業(yè)過程控制等方面得到更廣泛的應(yīng)用。單片機(jī)將是智能化儀器和中、小型控制系統(tǒng)中應(yīng)用最多的有種微型計算機(jī)。2.4.1 AT89C51單片機(jī)簡介AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲的低電壓,高性能CMOS8位微處理器,俗稱單片機(jī)。單片機(jī)的可擦除只讀存儲器可以反復(fù)擦除100次。該器件采用ATMEL高密度非易失存儲器制造技術(shù)制造,與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中,ATMEL的AT89C51是一種高效微控

14、制器,AT89C2051是它的一種精簡版本,如圖2.9所示。AT89C51單機(jī)為很多嵌入式控制系統(tǒng)提供靈活性高且廉價的方案。圖2.4AT89C51單片機(jī)的結(jié)構(gòu)示意圖2.4.2主要特性·與MCS-51 兼容 ·4K字節(jié)可編程閃爍存儲器 壽命:1000寫/擦循環(huán)數(shù)據(jù)保留時間:10年·全靜態(tài)工作:0Hz-24Hz·三級程序存儲器鎖定·128*8位內(nèi)部RAM·32可編程I/O線·兩個16位定時器/計數(shù)器·5個中斷源 ·可編程串行通道·低功耗的閑置和掉電模式·片內(nèi)振蕩器和時鐘電路2.4.3管腳說

15、明VCC:供電電壓。GND:接地。P0口:P0口為一個8位漏級開路雙向I/O口,每腳可吸收8TTL門電流。當(dāng)P1口的管腳第一次寫1時,被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲器,它可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,P0 口作為原碼輸入口,當(dāng)FIASH進(jìn)行校驗時,P0輸出原碼,此時P0外部必須被拉高。P1口:P1口是一個內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門電流。P1口管腳寫入1后,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接收。 P2口:P2口為

16、一個內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個TTL門電流,當(dāng)P2口被寫“1”時,其管腳被內(nèi)部上拉電阻拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉低,將輸出電流。這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲器或16位地址外部數(shù)據(jù)存儲器進(jìn)行存取時,P2口輸出地址的高八位。在給出地址“1”時,它利用內(nèi)部上拉優(yōu)勢,當(dāng)對外部八位地址數(shù)據(jù)存儲器進(jìn)行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接收高八位地址信號和控制信號。P3口:P3口管腳是8個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當(dāng)P3口寫入“1”后,它們被內(nèi)部上拉為高電

17、平,并用作輸入。作為輸入,由于外部下拉為低電平,P3口將輸出電流(ILL)這是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口。2.5單片機(jī)于鍵盤的接口技術(shù)2.5.1 鍵盤功能及結(jié)構(gòu)概述鍵盤是單片機(jī)系統(tǒng)實現(xiàn)人機(jī)對話的常用輸入設(shè)備。操作員通過鍵盤,向計算機(jī)系統(tǒng)輸入各種數(shù)據(jù)和命令,亦可通過使用鍵盤,讓單片機(jī)系統(tǒng)處于預(yù)定的功能狀態(tài)。鍵盤按照其內(nèi)部不同電路結(jié)構(gòu),可分為編碼鍵盤和非編碼鍵盤二種。編碼鍵盤本身除了帶有普通按鍵之外,還包括產(chǎn)生鍵碼的硬件電路。使用時,只要按下編碼鍵盤的某一個鍵,硬件邏輯會自動提供被按下的鍵的鍵碼,使用十分方便,但價格較貴。由非編碼鍵盤組成的簡單硬件電路,僅提供各個

18、鍵被按下的信息,其他工作由軟件來實現(xiàn)。由于價格便宜,而且使用靈活,因此廣泛應(yīng)用在單片機(jī)應(yīng)用系統(tǒng)中。 非編碼鍵盤按照其鍵盤排列的結(jié)構(gòu),又可分為獨立式按鍵和行列式按鍵兩種類型。2.5.2 單片機(jī)與鍵盤的連接鍵盤與單片機(jī)的連接在單片機(jī)系統(tǒng)中鍵盤中按鈕數(shù)量較多時,為了減少I/O口的占用,常常將按鈕排列成矩陣形式,如2.13圖所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鈕加以連接。這樣,一個端口(如P1口)就能組成4*4=16個按鈕,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就能組成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此

19、可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。在實際應(yīng)用中,4×4鍵盤主要由數(shù)字09和功能鍵組成。這里給出一個比較常用的鍵盤排列方式,如表2.5所示。表2.5 按鍵表123命令456功能789確認(rèn)0上移下移退出按照鍵盤與單片機(jī)的連接方式可分為獨立式鍵盤與矩陣式鍵盤。獨立式鍵盤相互獨立,每個按鍵占用一根I/O口線,每根I/O口線上的按鍵工作狀態(tài)不會影響其他按鍵的工作狀態(tài)。如圖2.12所示這種按鍵軟件程序簡單,但占用I/O口線較多(一根口線只能接一個鍵),適用于鍵盤應(yīng)用數(shù)量較少的系統(tǒng)中。 圖2.5.1獨立式按鍵接口電路于獨立是按鍵接口電路要比較矩陣式結(jié)構(gòu)的鍵盤顯然比直接法要復(fù)雜

20、一些,識別也要復(fù)雜一些如圖2.13所示。圖2.5.2單片機(jī)矩陣式鍵盤接口電路上圖中列線通過電阻接正電源,并將行線所接的單片機(jī)的I/O口作為輸出端,而列線所接的I/O口則作為輸入。這樣,當(dāng)按鈕沒有按下時,所有的輸出端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。具體的識別及編程辦法如下所述。矩陣式鍵盤的按鈕識別辦法 確定矩陣式鍵盤上何鍵被按下介紹一種“行掃描法”。行掃描法 行掃描法又稱為逐行(或列)掃描查詢法,是一種最常用的按鈕識別辦法,如上圖所示鍵盤,介紹過程如下。判斷鍵盤中有無鍵按下 將全部行線Y0-Y3置低電

21、平,然后檢測列線的狀態(tài)。只要有一列的電平為低,則表示鍵盤中有鍵被按下,而且閉合的鍵位于低電平線與4根行線相交叉的4個按鈕之中。若所有列線均為高電平,則鍵盤中無鍵按下。 判斷閉合鍵所在的位置 在確認(rèn)有鍵按下后,即可進(jìn)入確定具體閉合鍵的過程。其辦法是:依次將行線置為低電平,即在置某根行線為低電平時,其它線為高電平。在確定某根行線位置為低電平后,再逐行檢測各列線的電平狀態(tài)。若某列為低,則該列線與置為低電平的行線交叉處的按鈕就是閉合的按鈕。 2.6LED顯示接口本次設(shè)計是利用89C51單片機(jī)串行口和74LS164移位寄存器實現(xiàn)多個LED顯示的一種方法,利用該方法設(shè)計的多路LED顯示系統(tǒng)具有硬件結(jié)構(gòu)簡單

22、、軟件編程容易和價格低廉等特點.2.6.1LED顯示器LED顯示器中的發(fā)光二極管共有兩種連接方法:·共陽極接法把發(fā)光二極管的陽極連在一起構(gòu)成公共陽極。使用時公共陽極接5V。陰極端輸入低電平的段發(fā)光二極管導(dǎo)通點亮,輸入高電平的則不點亮。·共陰極接法把發(fā)光二極管的陰極連在一起構(gòu)成公共陰極。使用時會共陰極接地,陽極端輸入高電平的段發(fā)光二極管導(dǎo)通點亮,輸入低電平的則不點亮。圖2.6.1 LED顯示用LED顯示器顯示十六進(jìn)制數(shù)的字型代碼如下表所示:表2.6 十六進(jìn)制數(shù)字形代碼2.6.2七段數(shù)碼顯示器七段LED顯示器需要由驅(qū)動電路驅(qū)動。在七段LED顯示器中,共陽極顯示器,用低電平驅(qū)動;

23、共陰極顯示器,用高電平驅(qū)動。點亮顯示器有靜態(tài)和動態(tài)兩種方式。2.6.3動態(tài)顯示所謂動態(tài)顯示就是一位一位地輪流點亮各位顯示器(掃描),對于顯示器的每一位而言,每隔一段時間點亮一次。在同一時刻只有一位顯示器在工作(點亮),利用人眼的視覺暫留效應(yīng)和發(fā)光二極管熄滅時的余輝效應(yīng),看到的卻是多個字符“同時”顯示如圖2.17所示。圖2.6.1四位動態(tài)顯示的電路顯示器亮度既與點亮?xí)r的導(dǎo)通電流有關(guān),也與點亮?xí)r間和間隔時間的比例有關(guān)。調(diào)整電流和時間參數(shù),可實現(xiàn)亮度較高較穩(wěn)定的顯示。動態(tài)顯示器的優(yōu)點是節(jié)省硬件資源,成本較低。但在控制系統(tǒng)運行過程中,要保證顯示器正常顯示,CPU必需每隔一段時間執(zhí)行一次顯示子程序,占用

24、CPU大量時間,降低了CPU的工作效率,同時顯示亮度較靜態(tài)顯示器低。若顯示器的位數(shù)不大于8位,則控制顯示器公共極電位只需一個8位I/O口(稱為掃描口或字位口),控制各位LED顯示器所顯示的字形也需要一個8位口(稱為數(shù)據(jù))。2.6.4 LED數(shù)碼管靜態(tài)顯示接口在單片機(jī)應(yīng)用系統(tǒng)中,數(shù)碼管顯示器顯示常用兩種辦法:靜態(tài)顯示和動態(tài)掃描顯示。基于LED的優(yōu)點在本次設(shè)計中采用了數(shù)碼管的靜態(tài)顯示。所謂靜態(tài)顯示,就是每一個數(shù)碼管顯示器都要占用單獨的具有鎖存功能的I/O接口用于筆劃段字形代碼。這樣單片機(jī)只要把要顯示的字形代碼發(fā)送到接口電路,就不用管它了,直到要顯示新的數(shù)據(jù)時,再發(fā)送新的字形碼,因此,使用這種辦法單

25、片機(jī)中CPU的開銷小。能供給單獨鎖存的I/O接口電路很多,常用的串并轉(zhuǎn)換電路74LS164,他的電路如圖2.18所示。圖2.6.2 靜態(tài)LED顯示電路MCS-51單片機(jī)串行口方式為移們寄存器方式,外接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端時,移位寄存器移

26、一位,8個時鐘脈沖過后,8位二進(jìn)制數(shù)全部移入74LS164中。R(第9腳)為復(fù)位端,當(dāng)R=0時,移位寄存器各位復(fù)0,只有當(dāng)R=1時,時鐘脈沖才起作用。Q1Q8(第3-6和10-13管腳)并行輸出端分別接LED數(shù)碼管顯示器的hg-a各段對應(yīng)的管腳上。在74LS164獲得時鐘脈沖的瞬間(是在脈沖的下降沿),如果數(shù)據(jù)輸入端(第1,2管腳)是高電平,則就會有一個1進(jìn)入到74LS164的內(nèi)部,如果數(shù)據(jù)輸入端是低電平,則就會有一個0進(jìn)入其內(nèi)部。在給出了8個脈沖后,最先進(jìn)入74LS164的第一個數(shù)據(jù)到達(dá)了最高位,再來一個脈沖,第一個脈沖就會從最高位移出。 6片7LS164首尾相串,而時鐘端則接在一起,這樣,

27、當(dāng)輸入8個脈沖時,從單片機(jī)RXD端輸出的數(shù)據(jù)就進(jìn)入到了第一片74LS164中了,而當(dāng)?shù)诙€8個脈沖到來后,這個數(shù)據(jù)就進(jìn)入了第二片74LS164,而新的數(shù)據(jù)則進(jìn)入了第一片74LS164,這樣,當(dāng)?shù)诹鶄€8個脈沖完成后,首次送出的數(shù)據(jù)被送到了最左面的74LS164中,其他數(shù)據(jù)依次出現(xiàn)在第一、二、三、四、五片74LS164中。3軟件設(shè)計3.1 A/D轉(zhuǎn)換器的軟件設(shè)計單片機(jī)控制系統(tǒng)中通常要用到AD轉(zhuǎn)換,根據(jù)輸出格式,常用的AD轉(zhuǎn)換方式可分為并行AD和串行AD。并行方式一般在轉(zhuǎn)換后可直接接收,但芯片的引腳比較多;串行方式所用芯片引腳少,封裝小,但需要軟件處理才能得到所需要的數(shù)據(jù)??墒菃纹瑱C(jī)I/O引腳本來就

28、不多,使用串行器件可以節(jié)省I/O資源。ADC0832是位逐次逼近模數(shù)轉(zhuǎn)換器,可支持兩個單端輸入通道和一個差分輸入通道。相同功能的器件還有ADC0834,ADC0838,ADC0831。所不同的是它們的輸入通道數(shù)量不同。它們的通道選擇和配置都是通過軟件設(shè)置。3.1.1 ADC0832芯片接口程序的編寫單片機(jī)串行工作方式時 ,串行口是作為同步移位寄存器使用。這時以 P3.3端作為數(shù)據(jù)移位的入口和出口 ,而由P3.6端提供移位時鐘脈沖。單片機(jī)串行口方式 0與 ADC0832的接口,單片機(jī)P2.0接ADC0832的CS,P3.6接0832的CLK作為時鐘信號輸出端 ,P3.7 接 0832的 DO和D

29、I作為啟動位、配置位的發(fā)送端以及 A/D轉(zhuǎn)換后輸出數(shù)據(jù)的接收端。由于 ADC0832在 CS變低后的前 3個周期內(nèi),DO端為高阻態(tài);轉(zhuǎn)換開始后 ,DI線禁止 ,因此 ,DI端和 DO端可連接在一起。ADC0832的時鐘頻率最高為 400kHz,單片機(jī)晶振可選用 4MHz,在 TXD的輸出頻率為 4MHz/12 =333. 3kHz,符合要求。ADC0832輸出的串行數(shù)據(jù)共 15位 ,由兩段 8位數(shù)據(jù)組成 ,前一段是最高位在先 ,后一段是最高在后 ,兩段數(shù)據(jù)的最低位共用。只有在時鐘的下降沿 ,ADC0832的串行數(shù)據(jù)才移出一位。由單片機(jī)控制時鐘信號的發(fā)送 ,并由P3.6發(fā)出 ,以達(dá)到控制 ADC

30、0832輸出數(shù)據(jù)位的目的。為了得到一列完整的 8位數(shù)據(jù) ,單片機(jī)分兩次采集含有不同位的數(shù)據(jù) ,再合成一列完整的 8位數(shù)據(jù)。 ADC0832通過內(nèi)部多路器來控制選擇通道,處理器的控制命令通過DI引腳輸入。如下流程圖所示,當(dāng)模擬信號輸入開始后,首先是CS使能信號也就是片選信號有效,這時是低電平有效,如果片選是高電平時停止轉(zhuǎn)換。當(dāng)時鐘信號有效時輸入通道的控制字來確定所選擇的通道,讀取數(shù)據(jù)后就開始將模擬量轉(zhuǎn)換位數(shù)字量,A/D轉(zhuǎn)換結(jié)束后,單片機(jī)讀取數(shù)值,如果沒轉(zhuǎn)換完,又回到使能開始。圖3.1 ADC0832數(shù)據(jù)讀取程序流程3.2 單片機(jī)與鍵盤的接口程序設(shè)計AT89C51單片機(jī)的P1口用作鍵盤I/O口,鍵

31、盤的列線接到P1口的低4位,鍵盤的行線接到P1口的高4位。列線P1.0-P1.3分別接有4個上拉電阻到正電源+5V,并把列線P1.0-P1.3設(shè)置為輸入線,行線P1.4-P.17設(shè)置為輸出線。4根行線和4根列線形成16個相交點。檢測當(dāng)前是否有鍵被按下。檢測的辦法是P1.4-P1.7輸出全“0”,讀取P1.0-P1.3的狀態(tài),若P1.0-P1.3為全“1”,則無鍵閉合,不然有鍵閉合。 去除鍵抖動。當(dāng)檢測到有鍵按下后,延時一段時間再做下一步的檢測判斷。 若有鍵被按下,應(yīng)識別出是哪一個鍵閉合。辦法是對鍵盤的行線進(jìn)行掃描。P1.4-P1.7按下述4種組合依次輸出: P1.7 1 1 1 0P1.6 1

32、 1 0 1P1.5 1 0 1 1P1.4 0 1 1 1在每組行輸出時讀取P1.0-P1.3,若全為“1”,則表示為“0”這一行沒有鍵閉合,不然有鍵閉合。由此得到閉合鍵的行值和列值,然后可采用計算法或查表法將閉合鍵的行值和列值轉(zhuǎn)換成所定義的鍵值。為了保證鍵每閉合一次CPU僅作一次處理,必須卻除鍵釋放時的抖動。從以上分析得到單片機(jī)鍵盤掃描程序的流程圖如圖3.2所示。程序如下圖3.2單片機(jī)矩陣式鍵盤接口流程圖3.3 LED數(shù)碼管顯示程序設(shè)計利用單片機(jī)內(nèi)部的串行接口,可以實現(xiàn)靜態(tài)的顯示處理。這樣不僅可以節(jié)省單片機(jī)的并行接口資源,而且在大多數(shù)不使用串行接口的情況下,可以減少或是免去擴(kuò)展接口。在這種

33、設(shè)計中,串行口工作于方式0,數(shù)據(jù)的輸入輸出都通過RxD實現(xiàn),移位脈沖則由TxD發(fā)出。每次傳送一個字節(jié)數(shù)據(jù)。每輸出一個字節(jié)數(shù)據(jù),單片機(jī)自動使串行中斷請求標(biāo)志TI置。通過測試該狀態(tài),即可確定該字節(jié)是否發(fā)送完畢。由硬件電路圖可知,74LS164是串行輸入并行輸出的移位寄存器。它具有兩個串行輸入端和8位并行輸出端(QAQH)。當(dāng)顯示數(shù)據(jù)從RxD端輸出到移位寄存器74LS164的輸入端AB時,74LS164將串行數(shù)據(jù)轉(zhuǎn)換成8位輸出碼QAQH,然后加到共陽極LED顯示器上。究竟在哪一位上顯示,還要P1口的狀態(tài)而定。當(dāng)某一位為低電平時,該位LED顯示,其他位不顯示。由于接口電路中顯示模型輸出地址和位選信號可

34、一次選中,故只要一次輸出即可顯示一位。開始初始化取待顯示的字符查筆段碼送顯示緩沖區(qū)修改緩沖區(qū)指針4位顯示結(jié)束結(jié)束圖3.3 LED的顯示流程圖4.系統(tǒng)調(diào)試按照實驗原理圖連線,連接好線路后,打開電源,一個砝碼一個砝碼放,觀察萬能表示數(shù)與數(shù)碼示數(shù)是否一致,并觀察電壓示數(shù)變化是否為定值。通過實驗發(fā)現(xiàn)兩者示數(shù)基本一致,誤差為0.01,在誤差允許X圍內(nèi),非常準(zhǔn)確。 (實驗?zāi)0澹?(所焊板子及電壓顯示)總結(jié)在設(shè)計中遇到不少困難,這對自己是一個考驗,剛開始拿到題目的時候頭緒并不是很多,通過查閱資料對整個系統(tǒng)有了一定的認(rèn)識。在設(shè)計前我重新學(xué)習(xí)了一遍單片機(jī)的知識,包括芯片接口和51系列單片機(jī)的指令等。串行A/D轉(zhuǎn)

35、換器ADC0832是新接觸的一種芯片,除學(xué)習(xí)芯片功能外,主要了解了對芯片串行輸出的控制,這里的軟件設(shè)計是一個難點,我們這次用的是用PROTEI99繪圖軟件,我們以前學(xué)過但是學(xué)的不深這對我來說是個難點,但是通過看書和同學(xué)老師的幫忙,使得我畫好了原理圖和PCB版的出圖。還有就是焊版,焊不好就無法顯示要的數(shù)據(jù),調(diào)試是最關(guān)鍵的時候,剛開始的時候沒有顯示,在修改程序的時候花了不少時間最后,終于顯示可以想要的結(jié)果。當(dāng)程序下載到焊版的時候,首先是顯示0000,如果改變滑動變阻器時,通過ADC0832就可以顯示不同的數(shù)據(jù),我做的首先是采集模擬量,然后顯示需要的數(shù)據(jù)。我認(rèn)為我們專業(yè)學(xué)習(xí)硬件知識相對比軟件多,所以

36、在軟件設(shè)計方面我還有很大不足。程序的設(shè)計經(jīng)過“學(xué)習(xí)模仿編寫修改再修改定型”等階段,在軟件的學(xué)習(xí)上我也花了比較多的時間和精力,讓我欣慰的是收獲也很大。參考文獻(xiàn)1 X迎新單片微型計算機(jī)原理、應(yīng)用及接口技術(shù)(第2版)M:國防工業(yè),20042 keil軟件單片機(jī)仿真實驗系統(tǒng)使用說明書3 嚴(yán)天峰.單片機(jī)應(yīng)用系統(tǒng)設(shè)計與仿真調(diào)試.:航空航天大學(xué),20054 閻石數(shù)字電路技術(shù)基礎(chǔ)(第五版):高等教育,20065 夏路易,石宗義.電路原理圖與電路板設(shè)計教程Protel 99se.:希望電子,2002附錄A硬件原理圖附錄B*include<reg51.h>*include<stdio.h>

37、*include<math.h>*include <intrins.h>*define uint unsigned int*define uchar unsigned char*define ADC0832CH0 channel;/*定義變量區(qū)*sbit clk_adc0832=P36; /定義各個控制引腳sbit cs_adc0832=P20;sbit di_adc0832=P37;sbit do_adc0832=P37;sbit LED0_CS=P10;sbit LED1_CS=P11;sbit LED2_CS=P12;sbit LED3_CS=P13;sbit a

38、darm=P22;uchar code table11=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90, 0xff;/0,1,2,3,4,5,6,7,8,9,off /共陽極筆端碼uchar ch; /采樣返回數(shù)據(jù)/*函數(shù)聲明區(qū)* void tkey(void); /鍵盤函數(shù)unsigned runADC0832(bit); /A/D轉(zhuǎn)換void Delayms(uint x); /延時顯示函數(shù)void Update_LED(); /LED顯示函數(shù)void LED_analyze();/*主函數(shù)開始*void main()P0=0X

39、FF; 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)void tkey(void);runADC0832(); if(Change_Flag=1) Update_LED(); if(ch>9999) ch=0; printf("counter refreshed %d n",ch); delay(); /*矩鍵查尋鍵值4*4程序*/按鍵為P1.0-P1.7void Tke

40、y(void)  uchar readkey;/rereadkey;  uchar x_temp,y_temp;  P1=0x0f;  x_temp=P1&0x0f;  if(x_temp=0x0f) goto keyout;  P1=0xf0;  y_temp=P1&0xf0;  readkey=x_temp|y_temp;  readkey=readkey;switch(readkey)case

41、0x11:key=0; break;case 0x21:key=1; break;  case 0x41:key=2; break;  case 0x81:key=3; break;  case 0x12:key=4; break;  case 0x22:key=5; break;  case 0x42:key=6; break;  case 0x82:key=7; break;  case 0x14:key=8; break;  case 0x24:key=9; break;  case 0x44:key=10;break;  case 0x84:key=11;break;  case 0x18:key=12;break;  case 0x28:key=13;break;  case 0x48:key=14;break;  

溫馨提示

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

最新文檔

評論

0/150

提交評論