通道數(shù)據(jù)采集器(課程設(shè)計)_第1頁
通道數(shù)據(jù)采集器(課程設(shè)計)_第2頁
通道數(shù)據(jù)采集器(課程設(shè)計)_第3頁
通道數(shù)據(jù)采集器(課程設(shè)計)_第4頁
通道數(shù)據(jù)采集器(課程設(shè)計)_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上摘要:本次課程設(shè)計采用的是單片機AT89C51和模數(shù)轉(zhuǎn)換芯片ADC0808的溫度采集系統(tǒng)。用電位器模擬輸入電壓,經(jīng)過AT89C51控制ADC0808將輸入模擬電壓轉(zhuǎn)換成數(shù)字信號,再按給定的公式將電壓值轉(zhuǎn)換成溫度值,并通過顯示模塊4位顯示數(shù)碼管顯示出來。本論文主要描述了硬件設(shè)計部分和軟件設(shè)計部分,硬件部分更是詳細分析了本模擬采集器的各個部分的電路原理,以及各個模塊之間的線路連接。并列出了所有的元器件,以及實現(xiàn)數(shù)據(jù)采集功能的相應程序。該設(shè)計出了一個簡單實用的數(shù)據(jù)采集器,具有成本低,可靠性高,擴展功能強等優(yōu)點。關(guān)鍵詞:AT89C51 ADC0808 數(shù)據(jù)采集目錄1. 概述.

2、1 1.設(shè)計數(shù)據(jù)采集器的意義.1 2.數(shù)據(jù)采集器的主要功能.12. 硬件電路設(shè)計及描述.1 1.方案選擇及設(shè)計思想.2 2.設(shè)計方案的框圖.3 3.工作原理.3 4.電路中主要芯片的引腳對應的功能.3 4.1主控芯片AT89C51.3 5.原理圖及連接關(guān)系.35.1數(shù)據(jù)輸入模塊.35.2模數(shù)轉(zhuǎn)換模塊.45.3主控電路.45.4顯示模塊.6 6.元件清單.73. 軟件設(shè)計流程.7 1.系統(tǒng)模塊層次圖.7 2.程序流程圖.7 3.程序源代碼.84. 測試.115. 總結(jié).116. 參考文獻.111. 概述1. 設(shè)計數(shù)據(jù)采集器的意義 數(shù)據(jù)采集器是一種具有現(xiàn)場實時數(shù)據(jù)采集、處理功能的自動化設(shè)備。具備實

3、時采集、自動存儲、實時顯示、即時反饋、自動處理、自動傳輸功能。為現(xiàn)場數(shù)據(jù)的真實性、有效性、實時性、可用性提供了保證。 數(shù)據(jù)采集器在各個領(lǐng)域中都有廣泛的運用,以后有可能接觸到這些設(shè)備,有必要深入地分析其工作原理、電路原理,同時設(shè)計一個簡單、實用的數(shù)據(jù)采集器。完成這個課程設(shè)計也是讓我們在學習了模擬電路、數(shù)字電路、微機原理、單片機等相關(guān)課程理論知識有一個融會貫通的過程。加深對理論知識的理解,以及學會理論知識實際應用的處理方法。為設(shè)計一個電子系統(tǒng)吸取經(jīng)驗,為今后的自動化(電氣工程)綜合設(shè)計和畢業(yè)設(shè)計打下堅固的基礎(chǔ)。 同時也是為了培養(yǎng)我們的動手能力,我們在即將畢業(yè)的前期積累寶貴的實踐經(jīng)驗。為以后工作培養(yǎng)

4、良好的工作態(tài)度。以分組的形式,更是讓的我們深入理解了團隊合作的重要性。3 數(shù)據(jù)采集器的主要功能 我們的數(shù)據(jù)采集器采用的主要元件是AT89C51和ADC0808模數(shù)轉(zhuǎn)換芯片。其主要功能是模擬采集信號,并對信號進行處理,最終顯示出來采集結(jié)果。本次設(shè)計的要求是采集溫度的信號。通過對電壓信號的采集,按公式計算出對應的溫度。 首先我們的模擬信號采用電位器產(chǎn)生,供給ADC0808,ADC0808有8路數(shù)據(jù)輸入,也就是8路模擬電壓信號。在AT89C51的控制下,實現(xiàn)按鍵轉(zhuǎn)換要求通道的電壓值。溫度值 T(C)與電壓 U(V)對應關(guān)系:T=15.4V。通過AT89C51的計算輸出結(jié)果,顯示在4位共陽極數(shù)碼管上。

5、2. 硬件電路設(shè)計及描述1. 方案選擇及設(shè)計思想 在查閱資料的時候,我們重點查閱了兩個方案的資料。 方案一:在AT89C51的控制下,指定某通道將電壓信號發(fā)生器產(chǎn)生的輸入電壓信號輸入ADC0808轉(zhuǎn)換器,轉(zhuǎn)換成數(shù)值信號輸入到AT89C51進行數(shù)據(jù)處理,然后輸出并行信號,通過MAX232將并行信號轉(zhuǎn)換成串行信號,再經(jīng)過串口RS232輸入到上位計算機。通過計算機顯示出采集模擬穩(wěn)定信號的數(shù)值。 方案二:在AT89C51的控制下,指定某通道將電位器產(chǎn)生的輸入電壓信號輸入ADC0808轉(zhuǎn)換器,轉(zhuǎn)換成數(shù)值信號后輸入AT89C51進行數(shù)據(jù)處理,然后輸出并行信號。使用四位數(shù)碼顯示管來做獨立的顯示設(shè)備將輸出信號

6、顯示出來。兩套方案的比較,在模擬信號部分,兩套方案均產(chǎn)生0-5V的可調(diào)電壓,方案一采用的是電壓信號發(fā)生器,方案采用電位器產(chǎn)生可變電壓(0-5v),我個人認為和小組成員都覺得用電位器較電壓信號更加簡單,具有很強的可操作性,可在后期工作中將電位器集成在電路板上,使模擬信號有良好的可移動性。在控制器和模數(shù)轉(zhuǎn)換芯片上,兩套方案均采用相同的設(shè)計思想。兩套方案最大的區(qū)別在于顯示電路上,方案一采用計算機作為上位機,將單片機輸出的并行好通過通信芯片MAX232轉(zhuǎn)換成串行信號后,顯示在計算機上。方案二則采用獨立的顯示設(shè)備四位數(shù)碼顯示管??梢圆捎貌⑿袆討B(tài)掃描的方式接入單片機直接讀取并行信號。方案一中的需要設(shè)計單獨

7、的通信模塊,使得電路較方案二更加復雜,而且需要在計算機上編寫相應的程序,工作量之大。不符合我們簡單實用的設(shè)計思想。綜上所述,我們選擇了方案二。在本次課程設(shè)計中,根據(jù)設(shè)計要求,我們組的出發(fā)點是設(shè)計簡單實用的數(shù)據(jù)采集器,將各個部分模塊化,以此為設(shè)計思想,盡可能的簡化電路設(shè)計,使其具有很強的可操作性和可移動性。方案二電路簡單實用,成本低,完全符合我們的設(shè)計初衷。因此我們選擇了方案二。2.設(shè)計方案的框圖完成信號顯示電路主控電路AT89C51采集電路AD0809 按鍵部分啟動信號模擬信號3.工作原理 模擬信號有電位器產(chǎn)生0-5V的可調(diào)電壓。上電以后,AT89C51輸出啟動信號給ADC0808,ADC08

8、08開始轉(zhuǎn)換第一通道的模擬信號。轉(zhuǎn)換完成以后發(fā)出完成信號給AT89C51,轉(zhuǎn)換后的并行數(shù)據(jù)由P1口輸入單片機,單片機接收數(shù)據(jù)后由程序按溫度值 T(C)與電壓 U(V)對應關(guān)系:T=15.4V完成換算,最后由P0口輸出顯示數(shù)據(jù),由四位數(shù)碼顯示管顯示。ADC0808內(nèi)部自帶8路數(shù)據(jù)選擇器,由單片機控制片選信號,完成按鍵選擇信號的功能。4.電路中主要芯片的引腳對應的功能4.1主控芯片AT89C51 AT89C51與AT89S52相仿,具有如下特點:40個引腳,8k Bytes Flash片內(nèi)程序存儲器,256 bytes的隨機存取數(shù)據(jù)存儲器(RAM),32個外部雙向輸入/輸出(I/O)口,5個中斷優(yōu)

9、先級2層中斷嵌套中斷,2個16位可編程定時計數(shù)器,2個全雙工串行通信口,看門狗(WDT)電路,片內(nèi)時鐘振蕩器。 此外,AT89S52設(shè)計和配置了振蕩頻率可為0Hz并可通過軟件設(shè)置省電模式。空閑模式下,CPU暫停工作,而RAM定時計數(shù)器,串行口,外中斷系統(tǒng)可繼續(xù)工作,掉電模式凍結(jié)振蕩器而保存RAM的數(shù)據(jù),停止芯片其它功能直至外中斷激活或硬件復位。同時該芯片還具有PDIP、TQFP和PLCC等三種封裝形式,以適應不同產(chǎn)品的需求。 VCC: 供電電壓。GND:接地。PO口:PO口為一個8位漏極開路雙向I/O口,每腳可吸收8TTL門流。當PI口的管腳第一次寫入1時,被定義為高祖輸入。PO能夠用于外部程

10、序數(shù)據(jù)存儲器,他可以被定義為數(shù)據(jù)/地址的第八位。在FIASH編程時,PO作為原碼輸入口,當FIASH進行校驗時,PO輸出原碼,此時PO外部必須被拉高。 P1口:P1口是一個內(nèi)部提供上拉電阻的八位雙向I/O口,P1口緩沖器能接受輸出4TTL門電流。P1口管教寫入1時,被內(nèi)部上拉為高,可用作輸入,P1口被外部下拉為低電平時,將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗時,P1口作為第八位地址接受。 P2口:P2口為一個內(nèi)部上拉電阻的8為雙向I/O口,P2口緩沖器可接受,輸出4個TTL門電流,當P2口被寫1時,其管腳內(nèi)部上拉電阻被拉高,且作為輸入。并因此作為輸入時,P2口的管腳被外部拉

11、低,并輸出電流,這是由于內(nèi)部上拉的緣故,P2口作為外部程序存儲器或16位地址外部存儲器進行存取時,P2口輸出地址的高八位。在給出地址1時,他利用內(nèi)部上拉優(yōu)勢,當對外部8位存儲器進行讀寫時,P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗時接受高八位地址信號和控制信號。 P3口:P3口管腳時八個帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個TTL門電流。當P3口寫入1后,他們被內(nèi)部上拉為高電平,并用做輸入,作為輸入由于外部下拉位低電平,P3口將輸出電流這是由于上拉的緣故。P3口也可作為AT89S52的一些特殊功能口,P3口同時為閃爍編程和編程校驗接受一些控制信號。 RST:復位輸入。

12、當振蕩器復位器件時,要保持RST腳兩個機器周期的高電平時間。 ALE/PROG:當訪問外部存儲器時,地址鎖存允許的輸出電平用于鎖存地址的低位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時,ALE端以不變的頻率周期輸出正脈沖信號,此頻率為振蕩頻率的1/6.因此它可用作對外部輸出地脈沖或用于定時目的。然而要注意的是:每當用做外部數(shù)據(jù)存儲器時,將跳一個ALE脈沖。而想禁止ALE脈沖的輸出可在SFR8EH地址上置0.此時ALE只有執(zhí)行MOVX,MOVC指令是ALE才起作用。另外該引腳被略微拉高。如果微處理器在外部執(zhí)行狀態(tài)ALE禁止,置位無效。 PSEN:外部程序存儲器的選通信號,再由外部程

13、序存儲器取值期間,每個機器周期兩次/PSEN有效。但在訪問外部存儲器時,這兩次有效地/PSEN信號將不出現(xiàn)。EA/VPP:當EA低電平時,則在此期間外部存儲器(0000H-FFFFH),不管是否有內(nèi)部程序存儲器。注意加密方式1時,/EA將內(nèi)部鎖定為RESET;當/EA保持高電平時,此間內(nèi)部程序存儲器,在FLASH編程器件,此引腳也用于施加12v編程電源(VPP)。XTAL1:反向振蕩放大器的輸入及內(nèi)部時鐘工作電路的輸入。XTAL2:來自反向振蕩器輸出。5.原理圖及連接關(guān)系 5.1數(shù)據(jù)輸入模塊 本次采集器設(shè)計的輸入的模擬信號比較簡單,采用滑動變阻器,外接+5V電壓作為輸入模擬信號,標示為RV1分

14、別接入模數(shù)轉(zhuǎn)換芯片ADC0808的IN0-IN7(26,27,28,1,2,3,4,5號管腳)。完全符合輸入模擬信號0-5V的調(diào)節(jié)范圍,有效可靠的模擬電壓信號。 5.2模數(shù)轉(zhuǎn)換模塊模擬信號通過輸入端IN0IN7:8路模擬量輸入端。ADDA,ADDB,ADDC三個是數(shù)據(jù)選擇控制端輸入片選信號與P3.1,P3.2,P3.3連在一起,由A,B,C和IN0-IN7構(gòu)成3-8數(shù)據(jù)器,通過AT89C51中的按鍵程序控制片選信號。START是 AD轉(zhuǎn)換啟動脈沖輸入端,輸入一個正脈沖(至少100ns寬)使其啟動(脈沖上升沿使0808復位,下降沿啟動A/D轉(zhuǎn)換)。ALE是地址鎖存允許信號,輸入,高電平有效。將A

15、LE和START連在一起與P3.4相連,在A/D轉(zhuǎn)換完成后正脈沖的處于高電平,即可控制地址鎖存器。該脈沖依靠編寫的單片機中斷程序模擬一個正脈沖控制。OE端口是數(shù)據(jù)輸出允許信號,由單片機輸入高電平控制。當AD轉(zhuǎn)換結(jié)束時,此端輸入一個高電平,才能打開輸出三態(tài)門,輸出數(shù)字量。OUT1-OUT8是A/D轉(zhuǎn)換的輸出數(shù)字端口,與P1口相連。連接方式是OUT1-OUT2和P1.7-P1.0。12和16號管腳是接基準電壓分別接VCC和GND。另外10號端口是時鐘頻率大小不得超過640KHZ。本次設(shè)計中我們采用終端輸出脈沖來模擬這個時鐘脈沖,但是效果不好,所以采用外接500KHZ的信號。5.3 主控電路 這是單

16、片機部分的復位電路和時鐘脈沖電路。復位電路采用電平復位的方式,晶振的頻率為11.0592MHZ。連接方式如圖分別連到單片機的19,18,9好腳。這是AT89C51單片機主控部分的接法,其中P3.1到P3.7與A/D轉(zhuǎn)換芯片相連,做控制口。在A/D部分已經(jīng)詳細介紹了連法。P2.0-P2.3是四位數(shù)碼顯示管的控制端。P2.5和P2.6是按鍵的控制端。P0.0-P0.7是顯示的數(shù)據(jù)輸出端與四位數(shù)碼管的A-G相連。 這個是簡單的按鍵部分,P2.4按鍵選通轉(zhuǎn)換那一路,執(zhí)行的方式是按一下顯示下一路,按0-7路的方式循環(huán)。5.4顯示模塊溫度顯示部分,我們使用的是四位數(shù)碼管(共陽極),其中標示的是P0.0-P

17、0.7和A-DP的連接方式,是數(shù)據(jù)輸出端。P2.0-P2.3與1-4相連,做控制端口,控制那一位顯示。RP1是排阻,阻值單個是1K。因為PO口是用來做數(shù)據(jù)端的,必須串上拉電阻。通道標號顯示部分,通過4511與P3.1-P3.3連接譯碼,驅(qū)動數(shù)碼管(共陰極)顯示通道標號。6.元件清單 本次課程設(shè)計所用元件清單如下:元器件名稱數(shù)量(個)ADC08081AT89C51145111單個數(shù)碼顯示管174HC24511K排阻11K滑動變阻器810uF電容133P電容2按鍵開關(guān)2510電阻110K電阻112M晶振14位一體數(shù)碼顯示管1三軟件設(shè)計流程 1.系統(tǒng)模塊層次圖按鍵模塊顯示模塊主控制器A/D模塊模擬信

18、號2. 程序流程圖 開始 If(K!)調(diào)用數(shù)據(jù)處理子程序 初始化 開始A/D轉(zhuǎn)換調(diào)用顯示子程序 否 地址+ 是地址小于8 結(jié)束3 程序源代碼#include<reg51.h>#include<intrins.h>#define uchar unsigned char#define uint unsigned int/#define input P1/#define TT P0sbit START=P34;sbit CLK=P35;sbit OE=P36;sbit EOC=P37;sbit E=P30;sbit AA=P31;sbit BB=P32;sbit CC=P33

19、;sbit K1=P24;sbit P07=P07;uchar t1=0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90;uchar a,b;/void delay1(); void display(uint temp1);/*延時1 */void delay1(void) for(a=248;a>0;a-); for(b=248;b>0;b-);/*延時2*/void delay2() int i; for(i=5000;i>0;i-);/*A/D轉(zhuǎn)換程序*/uchar AD()uchar dat;if(!EOC) START

20、=1; START=0; while(!EOC); START=1; START=0; dat=input; return dat;/*加地址,選擇模擬通道*/void get_add(uchar add) CC=add/4; BB=add%4/2; AA=add%2; delay2();/*動態(tài)掃描程序*/void display(uint temp1) uint aa,bb,cc,dd; aa=temp1%10; temp1/=10; bb=temp1%10; temp1/=10; cc=temp1%10; dd=temp1/10; P2=0xf1; P0=t1dd; delay1();

21、P2=0xf2; P0=t1cc; delay1(); P2=0xf4; P0=t1bb&0X7F; delay1(); P2=0xf8; P0=t1aa; delay1();/*電壓顯示轉(zhuǎn)溫度顯示函數(shù)*/void c_u(int aa) aa=aa*15.4*5*10/255; display(aa);/*主程序*/void main(void) uchar rr,tt; TMOD=0x02; TR0=1; ET0=1; IT0=1; EX0=1; EA=1; tt=0; while(1) get_add(tt); AD(); rr=input; c_u(rr); if(!K1) w

22、hile(!K1); tt+;tt=tt%8; /*中斷時鐘脈沖*/void timer() interrupt 1 CLK=CLK;4. 測試 在仿真成功以后,我們開始進行對電路板開始布線,并檢查元器件時候有損壞。完成了檢查工作之后,便開始焊接元件。在電路焊接完成后,在沒有加電的情況下對電路進行測試,對照電路原理圖檢查電路中是否有虛焊和漏焊。在完成了上述基本的檢查之后,給電路上電,對各個部分的電路進行了檢查。1 模擬信號的測試 模擬信號采用的是8個電位器,電源接0-5V,輸出的電壓經(jīng)過電壓表的測試與設(shè)計要求中的相符合。當電位器值滿時,理論電壓為5V,用電壓表測出值為4.98V。與所要求的值誤差不大。2 單片機電路測試 在接上電源以后,首先對整個電路的核心部位AT89C51進行了測試,他的穩(wěn)定是至關(guān)重要的,因為他控制著整個電路板的運行。AT89C51的電壓輸入點測試電壓為3.44V,說明其驅(qū)動的電壓是正常的。3 數(shù)據(jù)采集電路的測試 給系統(tǒng)接上電源以后,對本次設(shè)計的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論