數(shù)據(jù)采集系統(tǒng)設(shè)計.doc_第1頁
數(shù)據(jù)采集系統(tǒng)設(shè)計.doc_第2頁
數(shù)據(jù)采集系統(tǒng)設(shè)計.doc_第3頁
數(shù)據(jù)采集系統(tǒng)設(shè)計.doc_第4頁
數(shù)據(jù)采集系統(tǒng)設(shè)計.doc_第5頁
免費預(yù)覽已結(jié)束,剩余21頁可下載查看

下載本文檔

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

文檔簡介

中北大學(xué)計算機控制課程設(shè)計說明書目錄摘要11 引言21.1 數(shù)據(jù)采集系統(tǒng)的簡介.21.2 課程設(shè)計內(nèi)容和要求31.3 設(shè)計工作任務(wù)及工作量的要求32 內(nèi)容提要33 系統(tǒng)總體方案33.1 系統(tǒng)設(shè)計思路33.2 系統(tǒng)總體框圖44 硬件電路設(shè)計及描述44.1 8253芯片及工作原理44.1.1 基本組成及工作原理44.1.2 8253與系統(tǒng)連接54.2 ADC0809內(nèi)部功能與引腳介紹54.2.1 引腳排列及各引腳的功能64.2.2 ADC0809工作方式74.2.3 ADC0809與系統(tǒng)連接84.3 單片機89C51的引腳與功能介紹84.4 8255并行口芯片基本組成及工作原理104.4.1 8255的內(nèi)部結(jié)構(gòu)114.4.2 8255的工作方式124.2.3 8255與系統(tǒng)連接124.5 LED顯示部分接線及工作原理134.5.1 LED顯示工作原理134.5.2 LED顯示部分接線144.6 總體電路圖145 軟件設(shè)計流程及描述155.1 主程序設(shè)計思路155.2 部分程序設(shè)計流程圖165.2.1 8253程序流程圖165.2.2 8255程序流程圖175.2.3 數(shù)據(jù)處理流程圖175.2.4 LED顯示流程圖175.3 匯編語言程序清單185.4 仿真結(jié)果216 課程設(shè)計體會21參考文獻23第II頁 共頁摘要數(shù)據(jù)采集是從一個或多個信號獲取對象信息的過程。隨著微型計算機技術(shù)的飛速發(fā)展和普及,數(shù)據(jù)采集監(jiān)測已成為日益重要的檢測技術(shù),廣泛應(yīng)用于工農(nóng)業(yè)等需要同時監(jiān)控溫度、濕度和壓力等場合。數(shù)據(jù)采集是工業(yè)控制等系統(tǒng)中的重要環(huán)節(jié),通常采用一些功能相對獨立的單片機系統(tǒng)來實現(xiàn),作為測控系統(tǒng)不可缺少的部分,數(shù)據(jù)采集的性能特點直接影響到整個系統(tǒng)。本課程設(shè)計采用89C51系列單片機,89C51系列單片機基于簡化的嵌入式控制系統(tǒng)結(jié)構(gòu), 具有體積小、重量輕,具有很強的靈活性。設(shè)計的系統(tǒng)由硬件和軟件兩部分構(gòu)成,硬件部分主要完成數(shù)據(jù)采集,軟件部分完成數(shù)據(jù)處理和顯示。數(shù)據(jù)采集采用AD0809模數(shù)轉(zhuǎn)換芯片,具有很高的穩(wěn)定性,采樣的周期由可編程定時/計數(shù)器8253控制。完成采樣的數(shù)據(jù)后輸入單片機內(nèi)部進行處理,并送到LED顯示。軟件部分用Keil軟件編程,操作簡單,具有良好的人機交互界面。程序部分負責對整個系統(tǒng)控制和管理,采用了匯編語言進行了判別通道、數(shù)據(jù)采集處理、數(shù)據(jù)顯示、數(shù)據(jù)通信等程序設(shè)計,具有較好的可讀性。隨著計算機在工業(yè)控制領(lǐng)域的不斷推廣應(yīng)用,將模擬信號轉(zhuǎn)換成數(shù)字信號已經(jīng)成為計算機控制系統(tǒng)中不可缺少的重要環(huán)節(jié),因此數(shù)據(jù)采集系統(tǒng)有著重要的意義。1 引言1.1 數(shù)據(jù)采集系統(tǒng)的簡介數(shù)據(jù)采集系統(tǒng)一般包括模擬信號的輸入輸出通道和數(shù)字信號的輸入輸出通道。數(shù)據(jù)采集系統(tǒng)的輸入又稱為數(shù)據(jù)的收集;數(shù)據(jù)采集系統(tǒng)的輸出又稱為數(shù)據(jù)的分配。數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)形式多種多樣,用途和功能也各不相同,常見的分類方法有以下幾種,根據(jù)數(shù)據(jù)采集系統(tǒng)的功能分類:數(shù)據(jù)收集和數(shù)據(jù)分配;根據(jù)數(shù)據(jù)采集系統(tǒng)適應(yīng)環(huán)境分類:隔離型和非隔離型,集中式和分布式,高速、中速和低速型;根據(jù)數(shù)據(jù)采集系統(tǒng)的控制功能分類:智能化數(shù)據(jù)采集系統(tǒng),非智能化數(shù)據(jù)采集系統(tǒng);根據(jù)模擬信號的性質(zhì)分類:電壓信號和電流信號,高電平信號和低電平信號,單端輸入(SE)和差動輸入(DE),單極性和雙極性;根據(jù)信號通道的結(jié)構(gòu)方式分類:單通道方式,多通道方式。數(shù)據(jù)采集系統(tǒng)的任務(wù),具體地說,就是采集傳感器輸出的模擬信號并轉(zhuǎn)換成計算機能識別的數(shù)字信號,然后送入計算機,根據(jù)不同的需要由計算機進行相應(yīng)的計算和處理,得出所需的數(shù)據(jù)。與此同時,將計算得到的數(shù)根進行顯示或打印,以便實現(xiàn)對某些物理量的監(jiān)視從硬件力向來看,白前數(shù)據(jù)采集系統(tǒng)的結(jié)構(gòu)形式主要有兩種:一種是微型計算機數(shù)據(jù)采集系統(tǒng);另一種是集散型數(shù)據(jù)采集系統(tǒng)。微型計算機數(shù)據(jù)采集系統(tǒng)是由傳感器、模擬多路開關(guān)、程控放大器、采樣/保持器、AD轉(zhuǎn)換器、計算機及外設(shè)等部分組成。集散型數(shù)據(jù)采集系統(tǒng)是計算機網(wǎng)絡(luò)技術(shù)的產(chǎn)物,它由若干個“數(shù)據(jù)采集站”和一臺上位機及通信線路組成。數(shù)據(jù)采集站一般是由單片機數(shù)據(jù)采集裝置組成。位于生產(chǎn)設(shè)備附近,可獨立完成數(shù)據(jù)采集和預(yù)處理任務(wù),還可將數(shù)據(jù)以數(shù)字信號的形式傳送給上位機。微電子技術(shù)的一系列成就以及微型計算機的廣泛應(yīng)用,不僅為數(shù)據(jù)采集系統(tǒng)的應(yīng)用開拓了廣闊的前景,也對數(shù)據(jù)采集技術(shù)的發(fā)展產(chǎn)生了深刻的影響。數(shù)據(jù)采集系統(tǒng)的發(fā)展趨勢主要表現(xiàn)在以下幾個方面。(1)新型快速、高分辨率的數(shù)據(jù)轉(zhuǎn)換部件不斷涌現(xiàn),大大提高了數(shù)據(jù)采集系統(tǒng)的性能。(2)高性能單片機的問世和各種數(shù)字信號處理器的涌現(xiàn),進一步推動了數(shù)據(jù)采集系統(tǒng)的廣泛應(yīng)用。(3)智能化傳感器(Smarts nor)的發(fā)展,必將對今后數(shù)據(jù)采集系統(tǒng)的發(fā)展產(chǎn)生深遠的影響。(4)與微型機配套的數(shù)據(jù)采集部件的大量問世,大大方便了數(shù)據(jù)采集系統(tǒng)在各個領(lǐng)域里應(yīng)用并有利于促進數(shù)據(jù)采集系統(tǒng)技術(shù)的進一步發(fā)展。(5)分布式數(shù)據(jù)采集是數(shù)據(jù)采集系統(tǒng)發(fā)展的一個重要趨勢。1.2 課程設(shè)計內(nèi)容和要求通過一個A/D轉(zhuǎn)換器采樣一個模擬電壓,每隔一定時間去采樣一次,每次相隔的時間由定時器/計數(shù)器芯片8253控制,采樣的結(jié)果送入A/D轉(zhuǎn)換器芯片0809,轉(zhuǎn)換完成后,把轉(zhuǎn)換好的數(shù)字信號送入并行接口芯片8255,然后由中斷控制器向CPU發(fā)出中斷請求,在CPU控制下把8225中的數(shù)字送入外設(shè)即CRT/LED顯示。1.3 設(shè)計工作任務(wù)及工作量的要求(1)據(jù)題目要求的指標,通過查閱有關(guān)資料,確定系統(tǒng)設(shè)計方案,并設(shè)計其硬件電路圖。(2)畫出電路原理圖,分析主要模塊功能及他們之間的數(shù)據(jù)傳輸和控制關(guān)系。(3)用protel或proteus軟件繪制電路原理圖。(4)軟件設(shè)計,給出流程圖及源代碼并加注釋。2 設(shè)計內(nèi)容提要通過一個A/D轉(zhuǎn)換器采樣一個模擬電壓,每隔一定時間去采樣一次,每次相隔的時間由定時器/計數(shù)器芯片8253控制,采樣的結(jié)果送入A/D轉(zhuǎn)換器芯片0809,轉(zhuǎn)換完成后,把轉(zhuǎn)換好的數(shù)字信號送入并行接口芯片8255,然后由中斷控制器向CPU發(fā)出中斷請求,在CPU控制下把8225中的數(shù)字送入外設(shè)即CRT/LED顯示。3 系統(tǒng)總體方案3.1 系統(tǒng)設(shè)計思路本設(shè)計的基本思路是:根據(jù)設(shè)計指標,首先從整體上規(guī)劃好整個系統(tǒng)的功能和性能,然后再對系統(tǒng)進行劃分,將比較復(fù)雜的系統(tǒng)分解為多個相對獨立的子系統(tǒng),特別注意對各個子系統(tǒng)與系統(tǒng)、子系統(tǒng)與子系統(tǒng)之間的接口關(guān)系進行精心設(shè)計以及技術(shù)指標的合理分解。然后再由子系統(tǒng)到部件、部件到具體元器件的選擇和調(diào)試。各部件或子系統(tǒng)各自完成后再進行系統(tǒng)聯(lián)調(diào),直到完成總體目標。3.2 系統(tǒng)總體框圖圖3-1 系統(tǒng)總體框圖4 硬件電路設(shè)計及描述4.1 8253芯片及工作原理4.1.1 基本組成及工作原理8253內(nèi)部有三個計數(shù)器,分別成為計數(shù)器0、計數(shù)器1和計數(shù)器2,他們的機構(gòu)完全相同。每個計數(shù)器的輸入和輸出都決定于設(shè)置在控制寄存器中的控制字,互相之間工作完全獨立。每個計數(shù)器通過三個引腳和外部聯(lián)系,一個為時鐘輸入端CLK,一個為門控信號輸入端GATE,另一個為輸出端OUT。每個計數(shù)器內(nèi)部有一個8位的控制寄存器,還有一個16位的計數(shù)初值寄存器CR、一個計數(shù)執(zhí)行部件CE和一個輸出鎖存器OL。執(zhí)行部件實際上是一個16位的減法計數(shù)器,它的起始值就是初值寄存器的值,而初始值寄存器的值是通過程序設(shè)置的。輸出鎖存器的值是通過程序設(shè)置的。輸出鎖存器OL用來鎖存計數(shù)執(zhí)行部件CE的內(nèi)容,從而使CPU可以對此進行讀操作。CR、CE和OL都是16位寄存器,但是也可以作8位寄存器來用。8253具有3個獨立的計數(shù)通道,采用減1計數(shù)方式。在門控信號有效時,每輸入1個計數(shù)脈沖,通道作1次計數(shù)操作。當計數(shù)脈沖是已知周期的時鐘信號時,計數(shù)就成為定時。本次課程設(shè)計主要使用8253的循環(huán)計時功能,采用8253的方式2,進入這種工作方式 OUT輸出高電平,裝入計數(shù)值n后如果GATE為高電平,則立即開始計數(shù),OUT保持為高電平不變; 待計數(shù)值減到“1”和“0”之間, OUT將輸出寬度為一個CLK周期的負脈沖,計數(shù)值為“0”時,自動重新裝入計數(shù)初值n,實現(xiàn)循環(huán)計數(shù),OUT將輸出一定頻率的負脈沖序列, 其脈沖寬度固定為一個CLK周期, 重復(fù)周期為CLK周期的n倍。如果在減“1”計數(shù)過程中,GATE變?yōu)闊o效(輸入0電平),則暫停減“1”計數(shù),待GATE恢復(fù)有效后,從初值n開始重新計數(shù)。這樣會改變輸出脈沖的速率。如果在操作過程中要求改變輸出脈沖的速率,CPU可在任何時候,重新寫人新的計數(shù)值, 它不會影響正在進行的減“1”計數(shù)過程,而是從下一個計數(shù)操作用期開始按新的計數(shù)值改變輸出脈沖的速率。第24頁 共23頁4.1.2 8253與系統(tǒng)連接8253的數(shù)據(jù)線與單片機89C51的P0口連接,片選端CS經(jīng)過反相器后和單片機的P2.1管腳連接,輸出端口ADC0809的START及ALE管腳連接,控制著ADC0809的采樣速度,與系統(tǒng)連接圖圖4-3圖4-3 8253與單片機連接圖4.2 ADC0809內(nèi)部功能與引腳介紹ADC0809八位逐次逼近式AD轉(zhuǎn)換器是一種單片CMOS器件,包括8位模擬轉(zhuǎn)換器、8通道轉(zhuǎn)換開關(guān)和與微處理器兼容的控制邏輯。8路轉(zhuǎn)換開關(guān)能直接連通8個單端模擬信號中的任何一個。其內(nèi)部結(jié)構(gòu)如圖4-4所示圖4-4 ADC0809內(nèi)部結(jié)構(gòu)4.2.1 引腳排列及各引腳的功能圖4-5 ADC0809芯片管腳圖各引腳的功能如下:(1) IN0IN7:8個通道的模擬量輸入端。可輸入05V待轉(zhuǎn)換的模擬電壓。(2) D0D7:8位轉(zhuǎn)換結(jié)果輸出端。三態(tài)輸出,D7是最高位,D0是最低位。(3) A、B、C:通道選擇端。當CBA=000時,IN0輸入;當CBA=111時,IN7輸入。(4) ALE:地址鎖存信號輸入端。該信號在上升沿處把A、B、C的狀態(tài)鎖存到內(nèi)部的多路開關(guān)的地址鎖存器中,從而選通8路模擬信號中的某一路。(5) START:啟動轉(zhuǎn)換信號輸入端。從START端輸入一個正脈沖,其下降沿啟動ADC0809開始轉(zhuǎn)換。脈沖寬度應(yīng)不小于100200ns。(6) EOC:轉(zhuǎn)換結(jié)束信號輸出端。啟動A/D轉(zhuǎn)換時它自動變?yōu)榈碗娖健?7) OE:輸出允許端。高電平允許輸出(8) CLK:時鐘輸入端。ADC0809的典型時鐘頻率為640kHz,轉(zhuǎn)換時間約為100s。(9) REF(-)、REF(+):參考電壓輸入端。ADC0809的參考電壓為5V。(10)VCC:供電電源端。ADC0809使用5V單一電源供電。當ALE為高電平時,通道地址輸入到地址鎖存器中,下降沿將地址鎖存,并譯碼。在START上升沿時,所有的內(nèi)部寄存器清零,在下降沿時,開始進行A/D轉(zhuǎn)換,此期間START應(yīng)保持低電平。在START下降沿后10us左右,轉(zhuǎn)換結(jié)束信號變?yōu)榈碗娖?,EOC為低電平時,表示正在轉(zhuǎn)換,為高電平時,表示轉(zhuǎn)換結(jié)束。OE為低電平時,D0D7為高阻狀態(tài),OE為高電平時,允許轉(zhuǎn)換結(jié)果輸出。4.2.2 ADC0809工作方式 (1)定時傳送方式:對于一種A/D轉(zhuǎn)換器來說,轉(zhuǎn)換時間作為一項技術(shù)指標是已知的和固定的。例如ADC0809轉(zhuǎn)換時間為128s,相當于6MHz的MCS-51單片機共64個機器周期??蓳?jù)此設(shè)計一個延時子程序,A/D轉(zhuǎn)換啟動后即調(diào)用此子程序,延遲時間一到,轉(zhuǎn)換肯定已經(jīng)完成了,接著就可進行數(shù)據(jù)傳送。 (2)查詢方式:A/D轉(zhuǎn)換芯片由表明轉(zhuǎn)換完成的狀態(tài)信號,例如ADC0809的EOC端。因此可以用查詢方式,測試EOC的狀態(tài),即可確認轉(zhuǎn)換是否完成,并接著進行數(shù)據(jù)傳送。 (3)中斷方式:把表明轉(zhuǎn)換完成的狀態(tài)信號(EOC)作為中斷請求信號,以中斷方式進行數(shù)據(jù)傳送。 不管使用上述哪種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進行數(shù)據(jù)傳送。首先送出口地址并以信號有效時,OE信號即有效,把轉(zhuǎn)換數(shù)據(jù)送上數(shù)據(jù)總線,供單片機接受。4.2.3 ADC0809與系統(tǒng)連接模擬量輸入通道選擇通道0,即ADD-A、ADD-B、ADD-C引腳直接接地。參考電平和供電電源選擇5V。ALE和START引腳連接在一起,接到8253的OUT0引腳,在8253工作方式2下,控制這0809的采樣間隔時間。EOC和OE及單片機的外部中斷0P3.2引腳相連,模數(shù)轉(zhuǎn)換完成后,EOC引腳變成高電平,OE端允許輸出,把轉(zhuǎn)換結(jié)果通過D0-D7數(shù)據(jù)輸出端和8255的PA口相連,與系統(tǒng)連接如圖4-6圖4-6 0809與系統(tǒng)連接圖4.3 單片機89C51的引腳圖與功能介紹圖4-7 單片機89C51引腳圖引腳說明: VCC:電源電壓 GND:地 P0口:P0口是一組8位漏極開路型雙向I/O口,作為輸出口用時,每個引腳能驅(qū)動8個TTL邏輯門電路。當對0端口寫入1時,可以作為高阻抗輸入端使用。當P0口訪問外部程序存儲器或數(shù)據(jù)存儲器時,它還可設(shè)定成地址數(shù)據(jù)總線復(fù)用的形式。在這種模式下,P0口具有內(nèi)部上拉電阻。在Flash編程時,P0口接收指令字節(jié),同時輸出指令字節(jié)在程序校驗時。程序校驗時需要外接上拉電阻。 P1口:P1口是一帶有內(nèi)部上拉電阻的8位雙向I/O口。P1口的輸出緩沖能接受或輸出4個TTL邏輯門電路。當對P1口寫1時,它們被內(nèi)部的上拉電阻拉升為高電平,此時可以作為輸入端使用。當作為輸入端使用時,P1口因為內(nèi)部存在上拉電阻,所以當外部被拉低時會輸出一個低電流(IIL)。 P2口:P2是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P2口的輸出緩沖能驅(qū)動4個TTL邏輯門電路。當向P2口寫1時,通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P2口在訪問外部程序存儲器或16位地址的外部數(shù)據(jù)存儲器(例如MOVX DPTR)時,P2口送出高8位地址數(shù)據(jù)。在這種情況下,P2口使用強大的內(nèi)部上拉電阻功能當輸出1時。當利用8位地址線訪問外部數(shù)據(jù)存儲器時(例MOVX R1),P2口輸出特殊功能寄存器的內(nèi)容。當Flash編程或校驗時,P2口同時接收高8位地址和一些控制信號。 P3口:P3是一帶有內(nèi)部上拉電阻的8位雙向的I/O端口。P3口的輸出緩沖能驅(qū)動4個TTL邏輯門電路。當向P3口寫1時,通過內(nèi)部上拉電阻把端口拉到高電平,此時可以用作輸入口。作為輸入口,因為內(nèi)部存在上拉電阻,某個引腳被外部信號拉低時會輸出電流(IIL)。P3口同時具有AT89C51的多種特殊功能,具體如下表3-1所示。表4-1 P3口的第二功能端口引腳第二功能P3.0RXD (串行輸入口)P3.1TXD(串行輸出口)P3.2 (外部中斷0)P3.3(外部中斷1)P3.4T0(定時器0)P3.5T1(定時器1)P3.6(外部數(shù)據(jù)存儲器寫選通)P3.7(外部數(shù)據(jù)存儲器都選通) RST:復(fù)位輸入。當振蕩器工作時,RST引腳出現(xiàn)兩個機器周期的高電平將使單片機復(fù)位。 ALE/:當訪問外部存儲器時,地址鎖存允許是一輸出脈沖,用以鎖存地址的低8位字節(jié)。當在Flash編程時還可以作為編程脈沖輸出()。一般情況下,ALE是以晶振頻率的1/6輸出,可以用作外部時鐘或定時目的。但也要注意,每當訪問外部數(shù)據(jù)存儲器時將跳過一個ALE脈沖。 :程序存儲允許時外部程序存儲器的讀選通信號。當AT89C52執(zhí)行外部程序存儲器的指令時,每個機器周期兩次有效,除了當訪問外部數(shù)據(jù)存儲器時,將跳過兩個信號。 /VPP:外部訪問允許。為了使單片機能夠有效的傳送外部數(shù)據(jù)存儲器從0000H到FFFH單元的指令,必須同GND相連接。需要主要的是,如果加密位1被編程,復(fù)位時EA端會自動內(nèi)部鎖存。當執(zhí)行內(nèi)部編程指令時,應(yīng)該接到VCC端。 XTAL1:振蕩器反相放大器以及內(nèi)部時鐘電路的輸入端。 XTAL2:振蕩器反相放大器的輸出端。4.4 8255并行口芯片基本組成及工作原理8255是Intel公司生產(chǎn)的可編程并行I/O接口芯片,有3個8位并行I/O口。具有3個通道3種工作方式的可編程并行接口芯片(40引腳)。 其各口功能可由軟件選擇,使用靈活,通用性強。8255可作為單片機與多種外設(shè)連接時的中間接口電路。8255作為主機與外設(shè)的連接芯片,必須提供與主機相連的3個總線接口,即數(shù)據(jù)線、地址線、控制線接口。同時必須具有與外設(shè)連接的接口A、B、C口。由于8255可編程,所以必須具有邏輯控制部分。圖4-8 8255芯片管腳圖4.4.1 8255的內(nèi)部結(jié)構(gòu) 數(shù)據(jù)總線緩沖器:這是一個雙向三態(tài)的8位數(shù)據(jù)緩沖器,它是8255A與微機系統(tǒng)數(shù)據(jù)總線的接口。輸入輸?shù)臄?shù)據(jù)、CPU輸出的控制字以及CPU輸入的狀態(tài)信息都是通過這個緩沖器傳送的。 三個端口A,B和C:A端口包含一個8位數(shù)據(jù)輸出鎖存器和緩沖器,一個8位數(shù)據(jù)輸入鎖存器。B端口包含一個8位數(shù)據(jù)輸入/輸出鎖存器和緩沖器,一個8位數(shù)據(jù)輸入緩沖器。C端口包含一個8位數(shù)據(jù)輸出鎖存器及緩沖器,一個8位數(shù)據(jù)輸入緩沖器(輸入沒有鎖存器)。 A組和B組控制電路:這是兩組根據(jù)CPU輸出的控制字控制8255工作方式的電路,它們對于CPU而言,共用一個端口地址相同的控制字寄存器,接收CPU輸出的一字節(jié)方式控制字或?qū)口按位復(fù)位字命令。方式控制字的高5位決定A組工作方式,低3位決定B組的工作方式。對C口按位復(fù)位命令字可對C口的每一位實現(xiàn)置位或復(fù)位。A組控制電路控制A口和C口上半部,B組控制電路控制B口和C口下半部。 讀寫控制邏輯:用來控制把CPU輸出的控制字或數(shù)據(jù)送至相應(yīng)端口,也由它來控制把狀態(tài)信息或輸入數(shù)據(jù)通過相應(yīng)的端口送到CPU。4.4.2 8255的工作方式8255有三種工作方式:方式0基本輸入輸出方式;方式1選通輸入輸出方式;方式2雙向選通輸入輸出方式。8255只有一個控制寄存器可以寫入兩個控制字:一個為方式選擇控制字,決定8255的端口工作方式;另一個為C口按位置位/復(fù)位控制字,控制C口某一位的狀態(tài)。這兩個控制字共用一個地址,具體控制如下表表4-2 8255A方式控制字D7D6D5D4D3D2D1D0特征位1A組方式00=方式01=方式11X=方式2A口0=輸出1=輸入C口高4位0=輸出1=輸入B組方式0=方式01=方式1B口0=輸出1=輸入C口低4位0=輸出1=輸入表4-3 C口按位置位/復(fù)位控制字表D7D6D5D4D3D2D1D0特征位0不用位選擇000=C口0位111=C口7位0=復(fù)位1=置位4.2.3 8255與系統(tǒng)連接8255PA口和ADC0809連接,作為ADC0809數(shù)字量的輸入通道,數(shù)據(jù)輸出口D0-D7和單片機的P0口連接,PB口和顯示電路LED連接,顯示模擬量的大小。圖4-9 8255和系統(tǒng)連接及顯示電路4.5 LED顯示部分接線及工作原理4.5.1 LED顯示工作原理現(xiàn)在一般把顯示圖形或文字的LED顯示屏成為圖文屏,其實LED圖文顯示屏并沒有一個公認的嚴格的定義,這里所謂的圖形,是由單色固定亮度的點陣線條組成的任意圖形,其中LED點陣發(fā)光器件或發(fā)光或熄滅,即只有這兩種狀態(tài)。單個LED數(shù)碼管又叫七段數(shù)碼管,分為共陰極和共陽級兩種,多位七段LED數(shù)碼顯示器結(jié)構(gòu)利用人的視覺延遲的特點,采用掃描的方式驅(qū)動多位七段LED數(shù)碼管,節(jié)省驅(qū)動電路,降低功耗。保證一定的掃描循環(huán)頻率,得到較好的顯示質(zhì)量。各位七段LED數(shù)碼管公用一個段驅(qū)動器、一個段碼鎖存器,為段驅(qū)動器提供邏輯輸入。每位七段LED數(shù)碼管的公共端連接一個位驅(qū)動器,控制各位數(shù)碼管的點亮。位驅(qū)動器由一個位碼鎖存器提供。單片機系統(tǒng)中常用的顯示器有:發(fā)光二極管LED(Light Emitting Diode)、顯示器、液晶LCD(Liquid Crystal Display)顯示器、CRT顯示器等。LED、LCD顯示器有兩種顯示結(jié)構(gòu):段顯示(7段、米字型等)和點陣顯示(58、88點陣等)。 圖4-10 數(shù)碼管原理圖使用LED顯示器時,要注意區(qū)分這兩種不同的接法。為了顯示數(shù)字或字符,必須對數(shù)字或字符進行編碼。七段數(shù)碼管加上一個小數(shù)點,共計8段。因此為LED顯示器提供的編碼正好是一個字節(jié)。本實驗采用的是共陽接法,共陽數(shù)碼管碼編碼如下:0-9:0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90F:0x88,0x83,0xc6,0xa1,0x86,0x8e4.5.2 LED顯示部分接線LED數(shù)碼管采用共陽極接法,段選端由8255的PA口控制,位選由P1.0、P1.1決定。采用NPN的三極管作為數(shù)碼管的驅(qū)動放大電路,詳圖如4-9。4.6 總體電路圖圖4-11 總體電路圖5 軟件設(shè)計流程及描述5.1 主程序設(shè)計思路圖5-1主程序設(shè)計思路5.2 部分程序設(shè)計流程圖5.2.1 8253程序流程圖圖5-2 8253程序流程圖5.2.2 8255程序流程圖圖5-3 8255程序流程圖5.2.3 數(shù)據(jù)處理流程圖 圖5-4數(shù)據(jù)處理流程圖5.2.4 LED顯示流程圖圖5-5 LED顯示流程圖5.3 匯編語言程序清單ORG 000H ;8253三個CLK頻率均為0.5MH ,計數(shù)器0工作方式AJMP START ;為頻率發(fā)生器,每510us產(chǎn)生一個負脈沖ORG 0003HJMP E8255ORG 0030HSTART: MOV DPTR,F(xiàn)FFFH ;(8253控制器地址) MOV A,14H ;計數(shù)器0,低8位單字節(jié)計數(shù),方式2,二進制數(shù)OUT DPTR, A ;控制字寫入控制寄存器MOV DPTR,E6FFH ;計數(shù)器0地址MOV A,F(xiàn)FH ;計數(shù)器0的計數(shù)初值OUT DPTR, A ;計數(shù)值寫入計數(shù)器0INTTUR:STEB ITO ;選擇邊沿觸發(fā)方式SETB EA ;CPU開中斷SETB EX0 ;允許外部中斷0中斷HERE:SJMP HERE ;等待中斷;數(shù)據(jù)處理程序乘法數(shù)據(jù)處理程序,得到數(shù)字量的標度變換 ;除法處理程序,分離標度變換值的高位和地位ORG 0100HDATA PROCE: MOV B,5H ; MOV A,R0MUL ABMOV B,100MUL ABMOV R6,BMOV R5,AMOV R4,F(xiàn)FHDV: MOV R7,#08H ;移位次數(shù)裝入R7SO: CLR C ;清CMOV A, R5 ;被除數(shù)低位存入ARLC A ;連同進位位循環(huán)左移1位MOV R5,A ;左移后回存AMOV A, R6 ;被除數(shù)高位存ARLC A ;連同進位位循環(huán)左移,被除數(shù)R6R5整數(shù)左移1位MOV 07H,C ;保留最高位CLR C ;清進位標志SUBB A,R4 ;余數(shù)高位減去除數(shù)JB 07H,SI ;最高位為1轉(zhuǎn)S1JNC SI ;沒有借位轉(zhuǎn)S1ADD A,R4 ;產(chǎn)生借位,恢復(fù)余數(shù)SJMP S2 ;轉(zhuǎn)S2S1: INC R5 ;產(chǎn)生商S2: MOV R6,A ;保留余數(shù)高位DJNZ R7,S0 ;循環(huán)AJMP LEDSHOWORG 0200H ;用兩位七段數(shù)碼管顯示采集量LEDSHOW: SETB P0.7 MOV R2,F(xiàn)EHMOV A,R2MOV DPTR,#TABLOPO: MOV P1,AMOV A,R6 ;取出數(shù)據(jù)MOVC A, A+DPTR ;取出字型碼MOV DPTR,F(xiàn)AFFH ;取8255B口地址MOV DPTR,A;將字型碼從B口輸出顯示 ACALL D1MS;調(diào)用延時程序MOV A,R2JB P1.1,LP1RL AMOV R2,AAJMP LP0LP1: RETTAB: DB C0H,F(xiàn)9H, A4H,B0H,99H,92HDB 82H,F(xiàn)8H,80H,90H,88H,83HDB C6H,A1H,86H,8EHD1MS: MOV 7,#02HDL: MOV R6,#0

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論