基于單片機的多路數(shù)據(jù)采集系統(tǒng)設(shè)計說明_第1頁
基于單片機的多路數(shù)據(jù)采集系統(tǒng)設(shè)計說明_第2頁
基于單片機的多路數(shù)據(jù)采集系統(tǒng)設(shè)計說明_第3頁
基于單片機的多路數(shù)據(jù)采集系統(tǒng)設(shè)計說明_第4頁
基于單片機的多路數(shù)據(jù)采集系統(tǒng)設(shè)計說明_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

..引言近年來,數(shù)據(jù)采集及其應(yīng)用受到了人們越來越廣泛的關(guān)注,數(shù)據(jù)采集系統(tǒng)也有了迅速的發(fā)展,它可以廣泛的應(yīng)用于各種領(lǐng)域。單片機作為微型計算機的一個重要分支,應(yīng)用廣泛,對人類社會產(chǎn)生了巨大的影響。Intel公司生產(chǎn)的51系列單片機,由于具有集成度高、處理功能強、可靠性好、系統(tǒng)結(jié)構(gòu)簡單、價格低廉、易于使用等優(yōu)點。在我國已經(jīng)得到了廣泛的應(yīng)用。特別是在智能儀器儀表、工業(yè)檢測控制等一些領(lǐng)域取得了令人矚目的成就?;趩纹瑱C的數(shù)據(jù)采集系統(tǒng)完全能夠滿足各種測控系統(tǒng)需要,實時性好,應(yīng)用前景廣闊。對于本設(shè)計而言,其主要任務(wù)就是將0~5V的直流電壓進行測量并送到數(shù)碼管去顯示?;诠δ芘c價格的考慮,在這里選用了比較常見的逼近型ADC0809芯片,其在精度、速度和價格上都適中,可以滿足我們在這個設(shè)計的要求??紤]到本系統(tǒng)是由單片機供電,選用了低功耗的數(shù)碼管,以滿足顯示結(jié)果的要求。軟件設(shè)計方面,采用了功能模塊化的設(shè)計思想;鍵盤模數(shù)轉(zhuǎn)換控制采用了單片機外部中斷0與外部中斷1結(jié)合的方式來實現(xiàn),大大提高了單片機的效率,實時處理能力。由于對匯編語言較為了解,所以采用匯編語言來編程。1設(shè)計任務(wù)及總體設(shè)計方案在本次課程設(shè)計中,要求設(shè)計一個基于單片機的的多路數(shù)據(jù)采集系統(tǒng),這個課題和我們所學的課程聯(lián)系緊密、息息相關(guān),涉及到很多的知識,是對我們所學知識的一次考察,利于我們對學過的知識復習一遍,加深理解。1.1設(shè)計任務(wù)與要求在本次設(shè)計中要求我們達到以下三點要求:〔1單片機控制A/D轉(zhuǎn)換器檢測多路電壓〔2檢測的結(jié)果送單片機處理并顯示〔3數(shù)碼管輪流顯示各路電壓或顯示指定的通道電壓1.2總體設(shè)計方案〔1選擇89S52作為主芯片,ISP下載線編程、方便靈活、功能強大,完全可以滿足本設(shè)計的性能要求,而且89S52是51系列中比較常用的芯片,好用〔2選擇ADC0809作為模數(shù)轉(zhuǎn)換器,就本設(shè)計的要求而言,ADC0809性價比相當?shù)母?而且在很多的課程都學習過,比如:智能儀器、單片機等課程,對它的性能、結(jié)構(gòu)都比較了解。〔3選擇74LS74作為分頻器,從單片機的ALE輸出2MHZ的頻率,經(jīng)過74LS74的4分頻作用,最終產(chǎn)生一個500KHZ的時鐘頻率給ADC0809,使ADC0809正常工作。〔4還有一些外圍電路,比如:ISP下載電路、單片機復位電路、數(shù)碼管顯示電路等,這樣才能組成一個完整的多路數(shù)據(jù)采集系統(tǒng)。其系統(tǒng)框圖如圖1-2-1所示74LS74分頻器ALE74LS74分頻器ALE89S52單片機數(shù)碼管顯示數(shù)碼管顯示CLKCLKADC0809圖1-2-1系統(tǒng)框圖2硬件設(shè)計數(shù)據(jù)采集,又稱數(shù)據(jù)獲取,是利用一種裝置,從系統(tǒng)外部采集數(shù)據(jù)并輸入到系統(tǒng)內(nèi)部的一個接口。數(shù)據(jù)采集技術(shù)廣泛引用在各個領(lǐng)域。在該系統(tǒng)中需要將模擬量轉(zhuǎn)換為數(shù)據(jù)量,而A/D是將模擬量轉(zhuǎn)換為數(shù)字量的器件,需要考慮的指標有:分辨率、轉(zhuǎn)換時間、轉(zhuǎn)換誤差等等。而單片機是該系統(tǒng)的基本的微處理系統(tǒng),它完成數(shù)據(jù)讀取、處理及邏輯控制,數(shù)據(jù)傳輸?shù)纫幌盗械娜蝿?wù)。數(shù)據(jù)采集系統(tǒng)一般由信號調(diào)理電路,多路切換電路,采樣保持電路,A/D,單片機等組成。但是在本設(shè)計中直接就對輸入電壓進行A/D轉(zhuǎn)換,著重在模數(shù)轉(zhuǎn)換器的選擇和使用上。2.1單片機的選擇 單片機是一種面向大規(guī)模的集成電路芯片,是微型計算機中的一個重要的分支。此系統(tǒng)是由CPU、隨即存取數(shù)據(jù)存儲器、只讀程序存儲器、輸入輸出電路〔I/O口,還有可能包括定時/計數(shù)器、串行通信口、顯示驅(qū)動電路〔LCD和LED驅(qū)動電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器及A/D轉(zhuǎn)換器等電路集成到一個單塊芯片上,構(gòu)成了一個最小但完善的計算機任務(wù)。單片機要使用特定的組譯和編譯軟件編譯程序,在用keiluvision4把程序下載到單片機內(nèi)。 而本設(shè)計選用的是AT89S52.AT89S52是一種低功耗、高性能CMOS8位微控制器,具有8K在系統(tǒng)可編程Flash存儲器,使用Atmel公司高密度非易失性存儲器技術(shù)制造,與工業(yè)80C51產(chǎn)品指令和引腳完全兼容。片上Flash允許程序存儲器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的8位CPU和在系統(tǒng)可編程Flash,使得AT89S52為眾多嵌入式控制應(yīng)用系統(tǒng)提供高靈活、超有效的解決方案。其結(jié)構(gòu)圖如下圖2-1-1所示圖2-1-189S52結(jié)構(gòu)2.2模數(shù)轉(zhuǎn)換器的選擇A/D轉(zhuǎn)換器的種類很多,就位數(shù)來說,可以分為8位、10位、12位和16位等。位數(shù)越高其分辨率就越高,價格也就越貴。A/D轉(zhuǎn)換器型號很多,而其轉(zhuǎn)換時間和轉(zhuǎn)換誤差也各不相同。 <1>逐漸逼近式A/D轉(zhuǎn)換器:它是一種速度快、精度較高、成本較低的直接式轉(zhuǎn)換器,其轉(zhuǎn)換時間在幾微秒到幾百微秒之間。 <2>雙積分A/D轉(zhuǎn)換器:它是一種間接式的A/D轉(zhuǎn)換器,優(yōu)點是抗干擾能力強,精度比較高,缺點是數(shù)度很慢,適用于對轉(zhuǎn)換數(shù)度要求不高的系統(tǒng)。 <3>并行式A/D轉(zhuǎn)換器:它又被稱為flash〔快速型,它的轉(zhuǎn)換數(shù)度很高,但她采用了很多個比較器,而n位的轉(zhuǎn)換就需要2n-1個比較器,因此電路規(guī)模也極大,價格也很貴,只適用于視頻A/D轉(zhuǎn)換器等數(shù)度特別高的領(lǐng)域。 鑒于上面三種方案,在價格、轉(zhuǎn)換速度等多種標準考量下,在本設(shè)計選用的是逐漸逼近式A/D轉(zhuǎn)換器——ADC0809.2.3顯示部分LED數(shù)碼顯示管是一種由LED發(fā)光二極管組合顯示字符的顯示器件。它使用了8個LED顯示管,其中7個用于顯示字符,1個用來顯示小數(shù)點,故通常稱之為八段發(fā)光二極管數(shù)碼顯示器。對LED數(shù)碼顯示器的控制可以采用按時間向它提供具有一定驅(qū)動能力的位選和段選信號。LED數(shù)碼顯示有動態(tài)掃描顯示法和靜態(tài)顯示。在單片機中,為了節(jié)省硬件資源,多采用動態(tài)掃描顯示法。為了布線和做板的簡單,采用一個4位的共陰數(shù)碼管。2.4按鍵部分為實現(xiàn)顯示指定的通道電壓,需要用到單片機的外部中斷0和外部中斷1來實現(xiàn)跳轉(zhuǎn),其原理圖如下圖2-4-1所示,Q11接到外部中斷0〔P3.2,Q12接到外部中斷1<P3.3>。當按下按鍵S3時,給P3.2低電平,啟動外部中斷0;當按下按鍵S3時,給P3.3低電平,啟動外部中斷1,編寫相應(yīng)的中斷服務(wù)程序就可以實現(xiàn)功能。圖2-4-1按鍵原理圖3軟件設(shè)計3.1主程序設(shè)計主程序的設(shè)計的思路是:當沒有中斷的時候,就按順序從1通道輪流顯示到8通道。在外部中斷0<INTER0>的中斷服務(wù)程序中對寄存器R2加1,即進入外部中斷0時,R2就加1;在外部中斷1<INTER1>的中斷服務(wù)程序中對寄存器R0加1,即進入外部中斷0時,R0就加1。在主程序中對R2進行比較,當R2=1時就停止輪流顯示,即當外部中斷0第一次響應(yīng)后,停止輪流顯示;當R2=2是將R0的值賦給R3,〔R3是通道輪流顯示的條件寄存器然后調(diào)用顯示子程序。其程序流程圖如下圖3-1-1所示開始P3.7=0?初始化開始P3.7=0?初始化 N開中斷 Y開中斷調(diào)用調(diào)用通道選擇子程序LPINCR3INCR3MOVR3,#01HR3=9?MOVR3,#01HR3=9? YR2=1? NR2=1?YR2=2? NR2=2?N將R0的值賦給R3將R0的值賦給R3 Y圖3-1-1程序流程圖3.2子程序設(shè)計子程序有4個,分別是通道選擇子程序LP,顯示子程序DISPLAY,延遲子程序D10ms,數(shù)據(jù)處理子程序CAI。<1>通道選擇子程序LP:LP: CJNER3,#01H,LP1;根據(jù)R3來選擇通道CLRP2.7 ;開通道CLRP2.6 CLRP2.5AJMPQIDLP1:...;有8個通道,格式一樣的,...LP7:SETBP2.7 ;8通道SETBP2.6 SETBP2.5QID:CLRP2.0;啟動ADC0809,給P2.0輸入一個正脈沖NOPNOPNOPSETBP2.0 NOP NOP NOP CLRP2.0 P2.1,$ ;判斷是否開始轉(zhuǎn)換 JNBP2.1,$ ;判斷轉(zhuǎn)換是否結(jié)束ACALLD10ms1 MOV44H,P0 ;將P0口的給44H ACALLCAI ;調(diào)用數(shù)據(jù)處理子程序YAN1:ACALLDISPLAY1 ;顯示通道數(shù) ACALLDISPLAY ;顯示轉(zhuǎn)換結(jié)果DJNZR4,YAN1 ;延遲RET這個子程序的作用是根據(jù)R3的值來選擇通道,實現(xiàn)8路數(shù)據(jù)順序采集、輪流顯示,當這個子程序調(diào)用結(jié)束后,就會返回主程序,實行INCR3操作,并將R3與#09H比較?!?顯示子程序DISPLAY:DISPLAY: ;數(shù)碼顯示子程序MOVDPTR,#TAB MOVA,40HMOVCA,A+DPTR CLRP2.2 SETBP2.3 CLRP2.4 ADDA,#80HMOVP1,A ACALLD10ms1MOVDPTR,#TAB MOVA,41HMOVCA,A+DPTRCLRP2.2 CLRP2.3 SETBP2.4 MOVP1,AACALLD10ms1 RETDISPLAY1:MOVDPTR,#TAB MOVA,R3MOVCA,A+DPTR SETBP2.2CLRP2.4 CLRP2.3 MOVP1,A ACALLD10ms1 RET這個子程序的作用是:根據(jù)P2.2、P2.3、P2.4的不同賦值來選擇數(shù)碼管顯示,顯示的段碼分別存儲在40H,41H,而通道數(shù)段碼存儲在R3?!?延遲子程序D10ms:D10ms:MOVR5,#14HDL:MOVR6,#0FFHDL0:DJNZR6,DL0DJNZR5,DLRET這個子程序起到延遲的作用,因為在顯示的時候可能要用到延遲才能夠讓數(shù)碼管上的值顯示的清晰明了,這個是必不可少的?!?數(shù)據(jù)處理子程序CAI:CAI:MOVA,44H;數(shù)據(jù)處理子程序MOVB,#51DIVAB ;B為余數(shù)MOV40H,A;整數(shù)存入40HMOVA,B ;余數(shù)大于19H〔25時F0為1CLRF0SUBBA,#1AH ;判斷余數(shù)是否大于19〔25?MOVF0,C ;判斷溢出MOVA,#10MULAB ;余數(shù)擴大10倍MOVB,#51DIVABF0,LOOP7ADDA,#5;余數(shù)大于19H〔25時,結(jié)果加5LOOP7:MOV41H,A MOVA,BCLRF0SUBBA,#1AHMOVF0,CMOVA,#10MULABMOVB,#51DIVABF0,LOOP8ADDA,#5LOOP8:MOV42H,ARET因為A/D轉(zhuǎn)換輸出為2位16進制數(shù),電壓顯示方式為十進制數(shù),所以應(yīng)進行數(shù)據(jù)轉(zhuǎn)換,所以需要調(diào)用這個數(shù)據(jù)處理子程序CAI,其轉(zhuǎn)換公式為:VCC[A/D轉(zhuǎn)換輸出〔十六進制]=FF〔十六進制X〔轉(zhuǎn)換后顯示為十進制值5V〔最大電壓值4硬件制作與調(diào)試當硬件制作完成后,在檢測沒有發(fā)生短路和斷路的情況下,就可以編寫程序進行調(diào)試可分成一下幾個步驟:〔1編寫一個小程序,然后燒寫到芯片里,有可能燒不進去,這可能是ISP下載口接反了或者是芯片的問題,一步一步的檢查?!?當小程序能夠燒寫進去并且能夠?qū)崿F(xiàn)程序的功能以后,說明硬件應(yīng)該沒什么問題,接著再編寫能夠?qū)崿F(xiàn)更多功能的程序,并且能過實現(xiàn)為止,這樣循序漸進,由小到大,這樣編寫出來的程序就可以實現(xiàn)〔3可能存在這樣的問題:每個模塊的程序都能實現(xiàn),但是當把它們集合在一起的時候就不行了,這就要檢查每個模塊之間的調(diào)用有沒有問題了,下面是具體的流程:4.1硬件制作硬件制作的流程如下:<1>畫出電路草稿圖,經(jīng)過修改選擇,確定好方案。<2>根據(jù)電路圖,利用DXP2004,畫出原理圖。<3>編譯原理圖,確定無誤后導入PCB圖。<4>排版PCB圖,考慮好用單面還是雙面板來制板,然后連線。<5>據(jù)原理圖生成元件清單,買好所用器件及銅板。<6>打印PCB,進行印板腐蝕,打孔、焊接。<7>完成焊接之后,檢查電路,最后上電觀察電路是否正常。4.2調(diào)試在電腦上裝好keil編程軟件及下載器軟件progisp1.66,將編好的程序生成可執(zhí)行文件,文件名以.HEX為后綴。通過下載器,將仿真好的程序燒入單片機芯片。給電路上電,看硬件是否正常工作。以下是我調(diào)試的遇到的問題:<1>板子制作出來,發(fā)現(xiàn)下載器畫錯了,管腳接得不對。所以要燒入程序必須借助單片機最小系統(tǒng)版。<2>電路板上電,燒入程序,發(fā)現(xiàn)數(shù)碼管不亮。按下任何鍵都沒有反應(yīng),能確定的是板子復位電路不起作用。<3>上電檢查單片機每個管腳的電壓,沒有發(fā)現(xiàn)異常。再檢查各塊芯片,也能顯示正常。說明硬件部分沒有問題,只需考慮軟件部分了。<4>仔細的研究程序,覺得可能按鍵去抖沒有做好。在程序中添加了延時去抖,再次燒入單片機,電路能正常工作了,調(diào)試成功。調(diào)試儀器:數(shù)字萬用表〔1個,電源〔1個,下載器〔1個測量結(jié)果及誤差表如下:通道數(shù)Int1Int2Int3Int4Int5Int6Int7Int8萬用表測量電壓值2.8v0.0v5.0v3.9v3.0v2.0v1.0v0.0v數(shù)碼顯示值2.8v0.0v5.0v4.0v3.0v1.9v1.0v0.0v誤差0.0v0.0v0.0v0.1v0.0v0.1v0.0v0.0v從上表來對比看,采集到的電壓值很接近實際電壓。證明電路是對的,軟件程序處理沒有錯誤,硬件做得比較成功。5分析設(shè)計方案優(yōu)缺點5.1優(yōu)點本次課程設(shè)計,設(shè)計方案優(yōu)點有以下幾個:〔1硬件簡單,器件少,制作容易?!?所用器件都是常用的,易買,而且價格便宜。〔3采集各個通道的電壓因為電阻值不一致,在調(diào)試時易辨別是否為所采集通道的電壓值?!?顯示部分用一個四位共陰數(shù)碼管。首先,采用集成數(shù)碼管最大的好處是減少了PCB制作的困難。第二,采用NPN9014三極管驅(qū)動而不使用芯片,節(jié)約了成本。5.2缺點方案設(shè)計存在的不足之處如下:硬件電路中采用了74LS74進行分頻出500KHz送至ADC0809的時鐘端。原則上ADC0809確實需要500KHz來驅(qū)動,不過正常情況下,1MHz是也是可以的。即采用6MHz的晶振,經(jīng)單片機分頻從ALE端輸出的頻率為1MHz來驅(qū)動即可。所以分頻顯得多此一舉了。但為了保證ADC0809一定能正常工作,才會采取分頻?!?輸出數(shù)據(jù)沒有采取鎖存,顯示時數(shù)碼管雖然能顯示,但數(shù)據(jù)不夠穩(wěn)定。本次課程設(shè)計的目的是培養(yǎng)和鍛煉學生的實踐能力,同時希望學生能把所學到的東西應(yīng)用至實際生活中。雖然之前的實驗做過多通道采集,但那只是軟件部分,根本不涉及硬件的設(shè)計,所以對硬件的組成原理是不深入了解的。另外,這次課題也能加強學生的自學能力。就像本次課程設(shè)計,用到了74LS74才自己上網(wǎng)去查資料,通過仿真確信可行才用于實踐中。還有單片機C語言編程,之前是有一定的基礎(chǔ),可畢竟還不足,仍需要自己花時間去學習,邊學便用。為以后的工作做了一定的準備。6總結(jié)在本次設(shè)計中發(fā)現(xiàn)了不少的問題,也解決了很多的問題,學會了如何去發(fā)現(xiàn)問題、分析問題進而解決問題。特別是在調(diào)試的時候,在我制作完成硬件后,在將程序燒到芯片里的時候,沒有燒進去,不知道原因在哪里,我把電路檢測了一遍,沒有發(fā)生短路或斷路的情況,于是我懷疑是不是芯片的問題,把別人的芯片拿來試了一下,但還是燒不進去,只好再檢查一下電路,最后在檢查PCB的時候發(fā)現(xiàn)是ISP下載口接反了,將其重新焊接,再試接成功了。當然在程序調(diào)試的過程中不止這些問題,比如:燒寫程序進去后,數(shù)碼管沒有反映,檢查一下程序的邏輯有沒有錯,有時會陷入某個語句的死循環(huán),跳不出來;顯示的數(shù)字不同步,那有可能是在顯示時的延遲不夠,達不到要求等等一些問題。程序的調(diào)試是一件枯燥而持久的事情,所以要保持耐心和熱情,有的問題一時間找不到原因,那不妨換個思路,也許就會豁然開朗了。這不僅是在調(diào)試的時候需要,在編程的時候,乃至做什么事情的時候,在看似陷入絕境的時候,不妨換個思路、換個角度,當看問題的角度不同的時候,可能就會有一些新的想法。在這次設(shè)計中鍛煉了我將軟件和硬件結(jié)合起來的能力,加深了對以前學過的知識的記憶和理解。同時讓我站在一個新的角度去看問題,想實現(xiàn)某種功能并不只有一條途徑,切不可陷入固定的思維,認為只有這樣做才行,這樣可能到最后也解決不了問題。問題是多種多樣的,答案也不只有一種。謝辭在完成課程設(shè)計的時候,衷心的感謝我的指導老師黃源老師。在我遇到問題和困難的時候,他給了我很大的幫助,有了他的幫助,我的課程設(shè)計才能少走一點彎路,在這里道一聲真摯的感謝。當然也要感謝幫助過我的其他老師們,每當有問題去求教她們的時候,她們總是不厭其煩、耐心的給我指導。當有一些學過的知識記不起來時,她們總是慢慢的引導,直到將知識點記起來,最終把問題解決。在這里真的要謝謝她們,謝謝!8參考文獻[1]白駒珩、雷曉平.單片計算機及其應(yīng)用〔二.高等教育出版社,2005.9[2]閻石.數(shù)字電子技術(shù)基礎(chǔ)[M].北京:高等教育出版社,2006.5[3]王選民.智能儀器原理及設(shè)計[M].北京:清華大學出版社,2008.2附錄元件清單:序號名稱數(shù)量單價備注1單片機89C521+1個DIP40底座2A/D轉(zhuǎn)換08091+1個DIP28底座34位共陰數(shù)碼管1410K精密電位器25按鍵3小61*40圓針插座27三極管32N30948電阻710K9電阻333010電阻1100K11電容227pf12電容110413晶振112MHZ141*40排針2151*8排線216ISP下載口12*517單面板1180mm*85mm程序:ORG0000HAJMPMAINORG0003HAJMPINTER0 ORG0013H AJMPINTER1 ORG0030H;----------------------------------------------------------MAIN:MOVR0,#01H ;初始化MOVR1,#00H MOVR3,#00H MOVR4,#02HMOV40H,#00HMOV41H,#00HJNBP3.7,LOOP ;P3.7作為開始鍵AJMPMAINLOOP:ACALLD10msJNBP3.7,START AJMPMAIN;----------------------------------------------------------START: SETBEA ;開中斷 SETBIT0 SETBIT1 SETBEX0 SETBEX1ACALLLPINCR3 CJNER3,#09H,ST1MOVR3,#01H;----------------------------------------------------------ST1:CJNER1,#01H,NEXT2 ;進行中斷變量的比較AJMPST1NEXT2:CJNER1,#02H,NEXT3MOVR1,#00H MOVA,R0 MOVR0,#00H MOVR3,A NEXT3:AJMPSTART;----------------------------------------------------------INTER0: ;中斷服務(wù)程序0 MOVR1,#01H CJNER0,#00H,N1 ACALLD10ms1 AJMPN2N1:MOVR1,#02HN2:RETIINTER1: ;中斷服務(wù)程序1INCR0 RETI;----------------------------------------------------------LP: CJNER3,#01H,LP1;根據(jù)R3來選擇通道CLRP2.7 ;開通道CLRP2.6 CLRP2.5AJMPQID ;LP1:CJNER3,#02H,LP2;2通道CLRP2.7CLRP2.6 SETBP2.5 AJMPQIDLP2:CJNER3,#03H,LP3;3通道CLRP2.7SETBP2.6 CLRP2.5 AJMPQIDLP3:CJNER3,#04H,LP4;4通道CLRP2.7SETBP2.6 SETBP2.5 AJMPQIDLP4:CJNER3,#05H,LP5;5通道SETBP2.7CLRP2.6 CLRP2.5 AJMPQIDLP5:CJNER3,#06H,LP6;6通道SETBP2.7CLRP2.6 SETBP2.5 AJMPQIDLP6:CJNER3,#07H,LP7;7通道SETBP2.7SETBP2.6 CLRP2.5 AJMPQIDLP7:SETBP2.7 ;8通道SETBP2.6 SETBP2.5QID:CLRP2.0;啟動ADC0809,給P2.0輸入一個正脈沖NOPNOPNOPSETBP2.0 NOP NOP NOP CLRP2.0 P2.1,$ ;判斷是否開始轉(zhuǎn)換 JNBP2.1,$ ;判斷轉(zhuǎn)換是否結(jié)束ACALLD10ms1 MOV44H,P0 ;將P0口的給44H ACALLCAI ;調(diào)用數(shù)據(jù)處理子程序YAN1:ACALLDISPLAY1 ;顯示通道數(shù) ACALLDISPLAY ;顯示轉(zhuǎn)換結(jié)果DJNZR4,YAN1 ;延遲RET;----------------------------------------------------------CAI:MOVA,44H;數(shù)據(jù)處理子程序MOVB,#51DIVAB ;B為余數(shù)MOV40H,A;整數(shù)存入40HMOVA,B ;余數(shù)大于19H〔25時F0為1CLRF0SUBBA,#1AH ;判斷余數(shù)是否大于19〔25?MOV

溫馨提示

  • 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

提交評論