電子專業(yè)課設報告八路數(shù)據(jù)采集循環(huán)顯示_第1頁
電子專業(yè)課設報告八路數(shù)據(jù)采集循環(huán)顯示_第2頁
電子專業(yè)課設報告八路數(shù)據(jù)采集循環(huán)顯示_第3頁
電子專業(yè)課設報告八路數(shù)據(jù)采集循環(huán)顯示_第4頁
電子專業(yè)課設報告八路數(shù)據(jù)采集循環(huán)顯示_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 課程設計說明書課程設計名稱: 專業(yè)課程設計 課程設計題目: 八路數(shù)據(jù)循環(huán)采集顯示 學 院 名 稱: 信息工程學院 專業(yè): 電子信息工程 班級: 100414班 學號: 10041402 姓名: 高飛紅 評分: 教師: 徐琦 王忠 20 13 年 7 月 3 日 摘 要 數(shù)據(jù)采集是指將位移、流量、溫度、壓力等模擬量采集、轉換成數(shù)字量后,再由計算機進行存儲、處理、顯示或打印。數(shù)據(jù)采集技術是信息科學的一個重要組成部分,信號處理技術、計算機技術,傳感器技術是現(xiàn)代檢測技術的基礎。數(shù)據(jù)采集技術則正是這些技術的先導,也是信息進行可靠傳輸,正確處理的基礎。在工業(yè)生產中,對生產現(xiàn)場的工藝參數(shù)進行采集、監(jiān)視和記

2、錄,這樣能提高產品的質量、降低成本。在科學實驗中,對應用數(shù)據(jù)進行實時采集,這樣獲得大量的動態(tài)信息,是研究物理過程動態(tài)變化的有效手段,也是獲取科學奧秘的重要手段之一。數(shù)據(jù)采集系統(tǒng)性能的好壞,取決于它的精度和速度,在精度保證的條件下提高采樣速度,滿足實時采集、實時處理和實時控制的要求。 本設計待測的輸入電壓為8路,電壓范圍為05v,使用目前廣泛使用的at89c51來做控制系統(tǒng),用adc0809來進行模擬電壓的采集及模數(shù)轉換,實現(xiàn)采集8路數(shù)據(jù),并將結果在四位一體數(shù)碼管上進行顯示。該系統(tǒng)主要包括幾大模塊:數(shù)據(jù)采集模塊、ad轉換模塊、控制模塊、顯示模塊。顯示部分由數(shù)碼管顯示構成。該數(shù)字電壓表具有電路簡單

3、,成本低等優(yōu)點,可以方便地進8路ad轉換量的測量。關鍵詞:電壓采集、adc0809、a/d轉換、單片機89c51、數(shù)碼管顯示 目 錄 第一章 設計內容及要求 11.1 設計要求 11.2 提高要求1第二章 系統(tǒng)框圖與工作原理22.1 硬件組成框圖22.2 軟件系統(tǒng)框圖32.3 工作原理分析 4第三章 器件說明5 3.1 adc0809模數(shù)轉換芯片 5 3.2 at89c51單片機 6 3.3 4個共陰7段數(shù)碼管顯示器7第4章 硬件各模塊設計說明9 4.1 模擬數(shù)據(jù)輸入電路9 4.2 ad轉換電路 9 4.3 數(shù)碼管顯示電路10 4.4 方式控制電路11 第五章 軟件子程序設計說明 13 5.1

4、 adc模數(shù)轉換程序 13 5.2 數(shù)據(jù)處理子程序14 5.3 數(shù)碼管顯示程序16第六章 系統(tǒng)調試及結果分析 196.1 硬件調試及分析 196.2 軟件調試及分析206.3 調試結果20結論22參考文獻 23附錄1 八路數(shù)據(jù)采集的原理總圖 24附錄2 程序清單及注釋25第一章 設計內容及要求1.1 設計要求(1) 對8路模擬電壓信號進行采集并循環(huán)顯示(2) 模擬電壓變換范圍為:0 5v(3) 測量精度小于2%(4) 測量溫度用3位led顯示器顯示,1位顯示循環(huán)通道8路模擬量變換器單片機顯示器1.2提高要求(1)通過按鍵模塊的操作可以選擇8路循環(huán)顯示,也可以選擇某條單路顯示。(2)做出的八路采

5、集器,應該在精度和采集信號的穩(wěn)定程度方面加以強化。(3)做出的產品在實際中能夠經久耐用。 第二章 系統(tǒng)框圖與工作原理 數(shù)據(jù)采集系統(tǒng)包括模擬信號的輸入、轉換及處理。模擬信號變成數(shù)字形式后順序存儲、傳輸、處理和顯示。數(shù)據(jù)收集的基本手段是模數(shù)轉換,它是將來自各式各樣傳感器的模擬量實時地、準確地測量或匯集起來,送入計算機實時處理,并輸出相應的控制信號以實現(xiàn)對物理系統(tǒng)的控制或記錄。 2.1硬件組成框圖mcs-51單片機0809中進行ad轉換 滑動變阻器0模擬電壓采集 數(shù)碼管顯示 滑動變阻器7 圖2.1硬件系統(tǒng)框圖 如圖2.1所示,該系統(tǒng)主要包括幾大模塊:數(shù)據(jù)采集模塊、ad轉換模塊、控制模塊、顯示模塊。采

6、用at89c51作為控制模塊,adc0809作為ad轉換模塊的核心,adc0809本身具有8路模擬量輸入端口,通過c、b、a,3位地址輸入端,能從8路中選擇一路進行轉換。如每隔一段時間依次輪流改變3位地址輸入端的地址,就能依次對8路輸入電壓進行測量。數(shù)碼管的顯示采用軟件譯碼動態(tài)顯示,通過按鍵模塊的操作可以選擇8路循環(huán)顯示,也可以選擇某條單路顯示。2.2軟件程序框圖 圖2.2程序流程框圖編程思想:首先在啟動a/d轉換,因轉換需要一定的時間,所以需延時等待;然后讀取數(shù)據(jù),利用軟件編程,將二進制數(shù)轉換為十進制數(shù),送到數(shù)碼管顯示;從左到右輪流點亮顯示器各位,對于顯示器的每一位來說,每隔一段時間點亮一次

7、,利用人的視覺暫留功能可以看到整個顯示,但必須保證掃描速度足夠快,字符才不閃爍,數(shù)碼管的第四位顯示通道數(shù),前三位顯示0255的采集數(shù)據(jù)。2.3 工作原理分析 依據(jù)綜合課程設計的要求,利用adc0809設計一個單通道模擬電壓采集顯示電路,要求對所接通道變化的模擬電壓值進行采集,采集來的數(shù)字量送至數(shù)碼管指示出來,通過相關轉換在數(shù)碼管上精確顯示出來。 數(shù)據(jù)采集電路是系統(tǒng)的主要組成部分,adc0809具有8路模擬量輸入通道in0in7,通過3位地址輸入端c、b、a(引腳2325)進行選擇。引腳22為地址鎖存控制端ale,當輸入為高電平時,c、b、a引腳輸入的地址鎖存于adc0809內部鎖存器中,經內部

8、譯碼電路譯碼選中相應的模擬通道。引腳6為啟動轉換控制端start,當輸入一個2 us寬的高電平脈沖時,就啟動adc0809開始對輸入通道的模擬量進行轉換。引腳7為ad轉換器,當開始轉換時,eoc信號為低電平,經過一段時間,換結束,轉換結束信號eoc輸出高電平,轉換結果存放干adc0809內部的輸出數(shù)據(jù)寄存器中。引腳9腳為ad轉換數(shù)據(jù)輸出允許控制端oe,當0e為高電平時,存放于輸出數(shù)據(jù)鎖存器中的數(shù)據(jù)通過adc0809的數(shù)據(jù)線dod7輸出。引腳10為adc0809的時鐘信號輸人端clock。顯示數(shù)碼管分別用兩個鎖存器來控制它的位選和段選,利用軟件編程啟動ad轉換之后,采用延時的方式等待數(shù)據(jù)送至p2

9、口進行數(shù)據(jù)的處理,即將十六進制轉換為bcd格式,處理之后送至p0口進行數(shù)據(jù)的顯示,p1.5和p1.6分別控制數(shù)碼管的段選的位選信號。 第三章 器件說明 3.1 adc0809模數(shù)轉換芯片 1)adc0809內部邏輯結構 adc0809是帶有8位a/d轉換器、8路多路開關以及微處理機兼容的控制邏輯的cmos組件。它是逐次逼近式a/d轉換器,可以和單片機直接接口。 圖3.1.1adc0809內部邏輯結構 由上圖可知,adc0809由一個8路模擬開關、一個a/d轉換器和一個三態(tài)輸出鎖存器組成。多路開關可選通8個模擬通道,允許8路模擬量分時輸入,共用a/d轉換器進行轉換。三態(tài)輸出鎖器用于鎖存a/d轉換

10、完的數(shù)字量,當oe端為高電平時,才可以從三態(tài)輸出鎖存器取走轉換完的數(shù)據(jù)。2)adc引腳結構adc0809各腳功能如下:d7-d0:8位數(shù)字量輸出引腳。in0-in7:8位模擬量輸入引腳。vcc:+5v工作電壓。gnd:地。ref(+):參考電壓正端。ref(-):參考電壓負端。start:a/d轉換啟動信號輸入端。ale:地址鎖存允許信號輸入端。(以上兩種信號用于啟動a/d轉換)eoc:轉換結束信號輸出引腳,開始轉換時為低電平,當轉換結束時為高電平。oe:輸出允許控制端,用以打開三態(tài)數(shù)據(jù)輸出鎖存器。clk:時鐘信號輸入端(一般為500khz)。a、b、c:地址輸入線。 圖3.1.2adc080

11、9芯片引腳3.2 at89c51單片機 at89c52具有以下標準功能: 8k字節(jié)flash,256字節(jié)ram,32 位i/o 口線,看門狗定時器,2 個數(shù)據(jù)指針,三個16 位定時器/計數(shù)器,一個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,at89s52 可降至0hz 靜態(tài)邏輯操作,支持2種軟件可選擇節(jié)電模式。掉電保護方式下,ram內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。其引腳圖,如圖3.2所示圖3.2 80c52單片機引腳 它一共有40個引腳,引腳又分為四類。其中有四個電源引腳,用來接入單片機的工作電源。工作電源又分主電源、備用電源和編程電

12、源。還有兩個時鐘引腳xtal1、xtal2。還有由p0口、p1口、p2口、p3口的所有引腳構成的單片機的輸入/輸出(io)引腳。最后一種是控制引腳,控制引腳有四條,部分引腳具有復位功能。 綜上所述,單片機的引腳特點是: 1.單片機多功能,少引腳,使得引腳復用現(xiàn)象較多。 2.單片機具有四種總線形式:p0和p2組成的16位地址地址總線;p0分時復用為8位數(shù)據(jù)總線;ale、psen、rst、ea和p3口的int0、int1、t0、t1、wr、rd以及p1口的t2、t2ex組成控制總線;而p3的rxd、txd組成串行通信總線。3.3 4個共陰7段數(shù)碼管顯示器實驗中我們采用的是四位共陰數(shù)碼管,其管腳圖如

13、下: 圖3.3四位共陰數(shù)碼管靜態(tài)顯示驅動:靜態(tài)驅動也稱直流驅動。靜態(tài)驅動是指每個數(shù)碼管的每一個段碼都由一個單片機的i/o端口進行驅動,或者使用如bcd碼二-十進制譯碼器譯碼進行驅動。靜態(tài)驅動的優(yōu)點是編程簡單,顯示亮度高,缺點是占用i/o端口多,如驅動5個數(shù)碼管靜態(tài)顯示則需要5840根i/o端口來驅動,要知道一個89s51單片機可用的i/o端口才32個呢:),實際應用時必須增加譯碼驅動器進行驅動,增加了硬件電路的復雜性。第四章 硬件各模塊設計說明 4.1 模擬數(shù)據(jù)輸入電路為了使電路更加的直觀,增加系統(tǒng)的可讀性,將電位器的輸出電壓作為數(shù)據(jù)采集模塊的輸入,模塊圖如下圖所示。圖4.1 模擬數(shù)據(jù)輸入圖在

14、此模塊圖中,使用了八個滑動變阻器,通過改變電位器是的電阻值,從而是ini端電壓值發(fā)生改變,進而達到改變采集模塊輸入數(shù)據(jù)的目的。4.2 ad轉換電路 多路數(shù)據(jù)采集系統(tǒng),通過多路模擬開關控制多路之間的切換,實現(xiàn)單片ad芯片對多路數(shù)據(jù)信號的逐個采集。模數(shù)轉換的核心是模數(shù)轉換器(adc),即ad芯片。它將輸入的模擬信號進行量化,即把連續(xù)的模擬信號轉換為計算機能處理的離散數(shù)字信號。模塊圖如下圖所示。圖4.2 adc0809轉換模塊圖上圖所示原理圖工作過程為:ale的上升沿將a、b、c端選擇的通道地址鎖存到8位a/d轉換器的輸入端。start的下降驗啟動8位a/d轉換器進行轉換。a/d轉換開始使eoc端輸

15、出低電平。a/d轉換結束,eoc輸出高電平。該信號通常可作為中斷申請信號。oe為讀出數(shù)據(jù)允許信號。oe端為高電平時,可以讀出轉換的數(shù)字量。4.3 數(shù)碼管顯示電路 顯示部分由4個八段共陰數(shù)碼管和兩片74ls373組成,數(shù)碼管為動態(tài)掃描顯示,動態(tài)顯示的特點是將所有位數(shù)碼管的段選線并聯(lián)在一起,由位選線控制是哪一位數(shù)碼管有效。選亮數(shù)碼管采用動態(tài)掃描顯示。所謂動態(tài)掃描顯示即輪流向各位數(shù)碼管送出字形碼和相應的位選,利用發(fā)光管的余輝和人眼視覺暫留作用,使人的感覺好像各位數(shù)碼管同時都在顯示。模塊圖如下圖所示。圖4.3.1數(shù)碼管顯示電路此圖為顯示部分,其中第四個數(shù)碼管實現(xiàn)所采集的通道號,前面三個數(shù)碼管顯示此通道

16、的電壓值,上電后系統(tǒng)正常工作,顯示去最先顯示通道0以及通道0的電壓值,一秒后切換到通道1,這樣依次遞增,當通道7顯示完以后,又回到通道0,實現(xiàn)循環(huán)顯示。圖4.3.2數(shù)碼管顯示電路 此模塊為數(shù)碼管的驅動電路,兩片74ls373實現(xiàn)數(shù)碼管的動態(tài)掃描顯示,u4作為數(shù)碼管的段選驅動,u5為位選驅動。4.4 方式控制電路鍵盤模塊實現(xiàn)的功能只顯示某一通道的通道號和鈣通道電壓值。如下如所示。 圖4.4方式控制電路 此圖中,按鍵采用的連接方式為矩陣式,這種方式的優(yōu)點是,能充分利用資源,增加系統(tǒng)的可靠性。此鍵盤實現(xiàn)的功能是當按下第一個鍵是,數(shù)碼管就只顯0通道號和0通道的電壓值,當釋放按鍵,系統(tǒng)繼續(xù)循環(huán)顯示。加入

17、此模塊后,能夠更加直觀地觀察和檢測每一個通道的電壓值。矩陣鍵盤是單片機外部設備中所使用的排布類似于矩陣的鍵盤組,在鍵盤中按鍵數(shù)量較多時,為了減少i/o口的占用,通常將按鍵排列成矩陣形式,如圖1所示。在矩陣式鍵盤中,每條水平線和垂直線在交叉處不直接連通,而是通過一個按鍵加以連接。這樣,一個端口就可以構成4*4=16個按鍵,比之直接將端口線用于鍵盤多出了一倍,而且線數(shù)越多,區(qū)別越明顯,比如再多加一條線就可以構成20鍵的鍵盤,而直接用端口線則只能多出一鍵(9鍵)。由此可見,在需要的鍵數(shù)比較多時,采用矩陣法來做鍵盤是合理的。矩陣式結構的鍵盤顯然比直接法要復雜一些,識別也要復雜一些,上圖中,列線通過電阻

18、接正電源,并將行線所接的單片機的i/o口作為輸出端,而列線所接的i/o口則作為輸入。這樣,當按鍵沒有按下時,所有的輸入端都是高電平,代表無鍵按下。行線輸出是低電平,一旦有鍵按下,則輸入線就會被拉低,這樣,通過讀入輸入線的狀態(tài)就可得知是否有鍵按下了。 第五章 軟件設計與說明5.1 adc模數(shù)轉換程序模數(shù)轉換測量子程序是用來控制對0809 八路模擬輸入電壓的ad轉換,轉換后的數(shù)值存于p2口中,其流程圖如5.1.2。 圖5.1模數(shù)轉換流程圖start: clr p3.6 ;start置位低 nop nop nop nop;延時us setb p3.6;將start引腳點平拉高 nop nop nop

19、 nop ;延時us clr p3.6 ;又將start拉低re: jb p3.7,re ;檢測ad轉換是否完成 acall d10ms1 ;調用延時子程序 acall ad ;調用ad轉換程序 acall disp ;調用顯示子程序 ret5.2數(shù)據(jù)處理子程序 adc0809轉換之后輸出的結果是8位二進制數(shù)。由公式(1)可知,當adc0809輸出為(1l1l11111)時,輸入電壓值v =500v當adc0809輸出為(00000000)時,輸入電壓值為0.0o0v;當adc0809輸出為(10000000)時,輸入電壓值v =250v。由于單片機進行數(shù)學運算時結果只取整數(shù)部分,因此當輸出為

20、(10000000)時計算出的電壓值v =2oov,很不準確。為了提高精確度,必須把小數(shù)部分保留,具體運算方式如公式(2)。個位:dout*196/10000 十分位:(dout*196/1000)%10 百分位:(dout*196/100)%10 千分位:(dout*196/10)%10 由此得到較為精確的數(shù)值。 圖5.2 十六進制轉換為三位bcd碼ad: mov r0,p2 ;將才采集好的值存于r0中 mov a,r0 ;將值存于寄存器a中 mov b,#51 ;給b賦值 div ab ;a/b mov 30h,a ;將最高位存于h中 mov a,b ;將余數(shù)存于a中 clr f0 ;清f

21、0 subb a,#1ah ;將a與相減 mov f0,c ;借位存于f0 mov a,#10 ;給a賦值為 mul ab mov b,#51 div ab jb f0,loop1 add a,#5 ;此段為最高位轉化loop1: mov 31h,a mov a,b clr f0 subb a,#1ah mov f0,c mov a,#10 mul ab mov b,#51 div ab jb f0,loop2 add a,#5;此段為次高位的轉化loop2: mov 32h,a ;最低位存于h中 ret 5.3數(shù)碼管顯示程序disp: mov r4,#00h setb p1.5 setb p

22、1.6;顯示最高位loop3: mov dptr,#tab mov a,30h ;將最高位存入a中 movc a,a+dptr ;查表 add a,#80h ;顯示小數(shù)點 setb wela2 ;位選選通 mov p0,#0feh nop ;延時us clr wela2 ;清位選 setb wela1 ;置位選 mov p0,a ;將顯示值送p0口顯示 nop clr wela1 acall d10ms1;次高位顯示 mov dptr,#tab mov a,31h ;將最次位存入a中 movc a,a+dptr ;查表 setb wela2 mov p0,#0fdh nop clr wela2

23、 setb wela1 mov p0,a nop clr wela1 acall d10ms1;最低位顯示 mov dptr,#tab mov a,32h movc a,a+dptr setb wela2 mov p0,#0fbh nop clr wela2 setb wela1 mov p0,a nop clr wela1 acall d10ms1;通道號顯示 mov dptr,#tab mov a,33h movc a,a+dptr setb wela2 mov p0,#0f7h nop clr wela2 setb wela1 mov p0,a nop clr wela1 acall d

24、10ms1 djnz r4,loop3re第6章 系統(tǒng)調試及結果分析6.1 硬件調試及分析第一步 目測。檢查外部的各種元件或者是電路是否有斷點。第二步 用萬用表測試。先用萬用表復核目測中有疑問的連接點,再檢測 各種電源線與地線之間是否有短路現(xiàn)象。第三步 加電檢測。給板加電,檢測所有插座或是器件的電源端是否符合要求值 第四步 聯(lián)機檢查。因為只有用單片機開發(fā)系統(tǒng)才能完成對用戶系統(tǒng)的調試。 動態(tài)調試是在用戶系統(tǒng)工作的情況下發(fā)現(xiàn)和排除用戶系統(tǒng)硬件中存在的器件內部故障、器件連接邏輯錯誤的一種硬件檢查。動態(tài)調試的一般方法是由近及遠、由分到合。由分到合是指首先按邏輯功能將用戶系統(tǒng)硬件電路分為若干塊,當調試電

25、路時,與該元件無關的器件全部從用戶系統(tǒng)中去掉,這樣可以將故障范圍限定在某個局部的電路上。當各塊電路無故障后,將各電路逐塊加入系統(tǒng)中,在對各塊電路功能及各電路間可能存在的相互聯(lián)系進行調試。由分到合的調試既告完成。由近及遠是將信號流經的各器件按照距離單片機的邏輯距離進行由近及遠的分層,然后分層調試。調試時,仍采用去掉無關元件的方法,逐層調試下去,就會定位故障元件了。在調試過程中我們發(fā)現(xiàn)在5v量程下,標準電壓表的顯示值2.50v,而數(shù)碼管顯示2.406;標準電壓表顯示4.44v,數(shù)碼管示值為4.420。數(shù)碼管顯示結果有誤差是由于adc0809輸出的二進制碼數(shù)轉換為bcd碼數(shù)的換算方法有一定誤差導致。

26、起初我們開始用的adc時鐘電路是單片機內部ale經過d觸發(fā)器分頻得到的,但在實際電路中卻不起作用,測ale引腳無法檢測到信號,導致0809無法采集到模擬信號,得到的全為5v電壓,最后我們采用的是直接外接一個0.5m的外部時鐘電路給adc0809芯片。模擬數(shù)據(jù)采集中原本設想的的是調節(jié)其中某一電位器,其相對應的那一路電壓發(fā)生改變,但在實際運行過程中其相鄰幾路電壓也隨之變化,經過分析,可能是模擬地和數(shù)字地不能接在一起,調整之后,問題得到解決。6.2 軟件調試及分析 由于程序比較多,整體調試不容易發(fā)現(xiàn)和改正錯誤,故采取子程序調試的方法,但要明確子程序的具體功能。例如:調試顯示子程序時,只將顯示子程序進

27、行匯編,確認無誤后單步執(zhí)行,觀察cpu窗口和data窗口以及code窗口相應單元的變化是否跟預期的一樣。如果有問題找出問題所在。采取各個擊破的方法調試好各個子程序。 確定各子程序無誤后,再調試完整的程序,要注意各子程序之間的銜接以及和主程序之間的調用和返回。運行后,觀察有無鍵盤顯示功能。若運行結果不正確,首先應根據(jù)程序運行的實際現(xiàn)象分析判斷哪些因素可引起相關故障,再通過調試方法逐一認證和排除。通過反復調試,發(fā)現(xiàn)并排除軟件與硬件存在的各類問題,以滿足系統(tǒng)設計的預期目的。 在試驗中,耗時最多的是終端服務程序,程序中不但要考慮寄存器的復用問題,還要考慮在運行中斷服務程序時將改變一些值。所以在中斷程序

28、開始就將一些需要保存的值推入堆棧,在中斷程序結束時彈出堆棧。但在調試中,在判斷按了某個鍵后,跳到reti時忘了將壓入堆棧的值彈出堆棧,程序沒有報錯,但鍵值讀不出來,一直檢查,最后才發(fā)現(xiàn)了問題所在。改變位置后,程序就能夠出來,按下指定鍵后能夠實現(xiàn)試驗所要求的功能。6.3 調試結果 上電之后,程序開始從0通道開始循環(huán)采樣。數(shù)碼管顯示每一路模擬電壓采樣的值并且能夠顯示通道號。為了是功能更加完善,我們多加了一個矩陣鍵盤。在此基礎上按相應鍵號后,從特定的通道開始進行循環(huán)采樣并顯示改變輸入信號和通道值。所有功能實現(xiàn)后,將采樣值和實測值比較,誤差比較大,且實測值的小數(shù)位大于5時,第一位的小數(shù)的誤差在5之內,

29、剛開始懷疑是硬件問題,將八個通道的值都比較后發(fā)現(xiàn)都存在一樣的問題,開始懷疑是軟件問題。在檢查軟件時發(fā)現(xiàn)在判斷是否加5的標志的建立存在問題。仔細分析后將問題解決后就能夠將誤差控制在百分之二內。 表6-1實驗測量數(shù)據(jù)采集通道號012 3 4 5 67實際值(v) 2.41.43.00.42.41.32.12.4顯示值(v)2.41.32.90.42.51.42.02.4通過實際顯示值與萬用表測得的數(shù)據(jù)可知,我們的八路采集系統(tǒng)是可靠的,可以很好的采集到格各路的數(shù)據(jù)并且準確的顯示出來! 總結經過這此單片機課程設計,同學們學會了很多東西。比如,對匯編語言的理解就已經有了一個更進一步的理解,同時也對那些同

30、學們已經學過的各種計算機語言進行了一個簡單的對比。在經過大一的語言課程設計和大三的電子電路課程設計以及此次單片機課程設計。使同學們養(yǎng)成了模塊化工程設計方法的習慣,在設計功能模塊時候,得先確定是什么功能模塊,并紿模塊讀取地址或數(shù)據(jù)和存儲地址或傳出變量。只要這樣,在需要時候進行調用或中斷就可以了。經過這次經歷,同學們不僅加深了對單片機理論的理解,還熟悉和掌握了單片機的許多基礎設計語言和模擬單片機軟件程序,將理論很好地應用到實際當中去,而且同學們還學會了如何去培養(yǎng)他們的創(chuàng)新精神,從而不斷地戰(zhàn)勝自己,超越自己。創(chuàng)新,是要同學們學會將理論很好地聯(lián)系實際,并不斷地去開動自己的大腦,從為人類造福為意愿出發(fā),

31、做自己力所能及的,別人卻沒想到的事。使之不斷地戰(zhàn)勝自己,超越前人。這個設計過程中,同學們遇到過許多次失敗的考驗,就比如,自己對實際生活中的不了解給整個設計帶來的困擾,真想要就此罷休,然而,就在想要放棄的那一刻,同學們明白了,原來結果并不那么重要,更應該引起同學們重視的是創(chuàng)作的這一整個過程。這次課程設計讓同學們受益匪淺,無論從知識上還是其他的各個方面。上課的時候的學習從來沒有見過真正的單片機,只是從理論的角度去理解枯燥乏味。但在實習中見過甚至使用了單片機及其系統(tǒng),能夠理論聯(lián)系實際的學習,開闊了眼界,提高了單片機知識的理解和水平。在這次課程設計中又讓我體會到了合作與團結的力量,當遇到不會或是設計不

32、出來的地方,同學們就會在qq群里討論或者是同學之間相互幫助。團結就是力量,無論在現(xiàn)在的學習中還是在以后的工作中,團結都是至關重要的,有了團結會有更多的理念、更多的思維、更多的情感。 單片機是很重要的一門課程,老師和一些工作的朋友都曾說過,如果學好一門單片機,就憑這個技術這門手藝找一個好工作也不成問題。盡管同學們在課堂學到的內容很有限,但在以后的學習中單片機還需要好好的深入研究和學習,學好了單片機也就多了一項生存的本錢。最后感謝老師對學生的精心指導和幫助,感謝同學們對我的幫助。參考文獻1孫涵芳mcs-51系列單片機原理及應用m 北京航空航天大學出版社1996-42夏繼強. 單片機實驗與實踐教程.

33、 北京:北京航空航天大學出版社, 20013尹建華、張惠群微型計算機原理與接口技術 第2版m 北京:高等教育出版社,20084 陳黎娟. 單片機技術實踐教程. 南昌:南昌航空大學出版社, 2009-35張先庭. 單片機原理、接口與c51應用程序設計. 第1版m 北京:國防工業(yè)出版社,2011-12 附錄一 八路數(shù)據(jù)采集的原理總圖附錄二程序清單及注釋wela1 bit p1.6;位選信號接p1.6wela2 bit p1.7;位選信號接p1.7org 0000hajmp mainmain:mov r3,#00h ;r3清lk: mov p3,#00111000b ;給p3口賦值 jb p3.0,

34、an ;p3.0為高轉an jb p3.1,an ;p3.1為高轉an jb p3.2,an ;p3.2為高轉an mov p1,r3 ;p1口清 acall start ;啟動ad轉換 mov 33h,r3 ;將r3值存于h中 acall disp ;調用顯示子程序 inc r3 cjne r3,#08h,lk ;通道號顯示,當為時重新回到 ajmp main ;跳到主函數(shù)an: acall d10ms ;延時 jb p3.0,ana ;p3.0為高轉ana jb p3.1,anb ;p3.1為高轉anb jb p3.2,anc ;p3.2為高轉anc ajmp lkana: mov p3,

35、#00000001b ;p3口賦值x01 jb p3.5,an0 ;當p3.5為高,則跳到通道顯示通道的數(shù)據(jù) jb p3.4,an1 ;當p3.4為高,則跳到通道顯示通道的數(shù)據(jù) jb p3.3,an2 ;當p3.3為高,則跳到通道顯示通道的數(shù)據(jù) ajmp mainanb: mov p3,#00000010b ;p3口賦值x02 jb p3.5,an3 ;當p3.5為高,則跳到通道顯示通道的數(shù)據(jù) jb p3.4,an4 ;當p3.4為高,則跳到通道顯示通道的數(shù)據(jù) jb p3.3,an5 ;當p3.3為高,則跳到通道顯示通道的數(shù)據(jù) ajmp mainanc: mov p3,#00000100b ;

36、p3口賦值x04 jb p3.5,an6;當p3.5為高,則跳到通道顯示通道的數(shù)據(jù) jb p3.4,an7;當p3.5為高,則跳到通道顯示通道的數(shù)據(jù) ajmp mainan0:clr p1.0;通道信號采集與顯示 clr p1.1 clr p1.2;000為通道地址 mov 33h,#00hacall disp ;通道號顯示為 acall start acall disp ajmp lkan1:setb p1.0 ;通道信號采集與顯示 clr p1.1 clr p1.2 ;001為通道地址 mov 33h,#01hacall disp ;顯示通道號 acall start acall disp

37、 ajmp lkan2:clr p1.0 ;通道信號采集與顯示 setb p1.1 clr p1.2 mov 33h,#02hacall disp acall start acall disp ajmp lkan3:setb p1.0 ;通道信號采集與顯示 setb p1.1 clr p1.2 mov 33h,#03hacall disp acall start acall disp ajmp lkan4:clr p1.0 ;通道信號采集與顯示 clr p1.1 setb p1.2 mov 33h,#04hacall disp acall start acall disp ajmp lkan5

38、:setb p1.0;通道信號采集與顯示 clr p1.1 setb p1.2 mov 33h,#05hacall disp acall start acall disp ajmp lkan6:clr p1.0;通道信號采集與顯示 setb p1.1 setb p1.2 mov 33h,#06hacall disp acall start ;調用start子程序,開始ad轉換 acall disp ;調用顯示子程序,將所得的值在數(shù)碼管顯示 ajmp lkan7:setb p1.0 ;通道信號采集與顯示 setb p1.1 setb p1.2 mov 33h,#07hacall disp acall start;調用start子程序,開始ad轉換 acall disp;調用顯示子程序,將所得的值在數(shù)碼管顯示 ajmp lk;ad采集開始子程序 start: clr p3.6 ;start置位低 nop nop nop nop;延時us setb p3.6;將start引腳點平拉高 nop nop nop nop ;延時us clr p3.6 ;又將start拉低re: ; jb p3.7,re ;檢測ad轉換是否完成 acall d10ms1 ;調用延時子程序 acall ad acall disp ;調用顯示子程序 re

溫馨提示

  • 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

提交評論