微機原理課程設計----電壓采集系統(tǒng).doc_第1頁
微機原理課程設計----電壓采集系統(tǒng).doc_第2頁
微機原理課程設計----電壓采集系統(tǒng).doc_第3頁
微機原理課程設計----電壓采集系統(tǒng).doc_第4頁
微機原理課程設計----電壓采集系統(tǒng).doc_第5頁
免費預覽已結束,剩余9頁可下載查看

下載本文檔

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

文檔簡介

揚州大學揚州大學信息工程學院課程設計報告 課程名稱 微機原理及應用課程設計 設計題目 電壓采集系統(tǒng) 學生姓名 班 級 計科0902 學 號 091202223 指導老師 李 云 成 績 2012年6月 21 日 目錄一、 課程任務- 2二、 總設計方案- 2三、 部分電路設計及 功能解說- 2四、 硬件接線圖- 3 五、 軟件設計流程圖- 4 1、 系統(tǒng)初始化程序 42、 A/D轉換子程序. 43、 顯示子程序跟BCD碼子程序 54、 報警子程序. 7六、 程序段功能匯總- 71、 A/D轉換子程序程序段. 72、 BCD轉換子程序程序段 83、 顯示子程序程序段. 84、 報警子程序程序段. 9七、 實驗結果及分析- 9八、 課程設計體會和總結- 9九、 程序清單- 10一、 課程設計的任務設計一個電壓采集系統(tǒng): 采集五次電壓取其平均值,并在數(shù)碼管上顯示十進制數(shù)。 當電壓值超過45V時,喇叭發(fā)聲報警。 二、總體設計方案 通過一個A/D轉換器循環(huán)采樣1路模擬電壓,采樣5次信號,然后通過計算取得平均值,平均值放在AVERAGE中。A/D轉換器芯片ADC0809將采樣到的模擬信號轉換為數(shù)字信號,轉換完成后,CPU讀取數(shù)據(jù)轉換結果,并將結果送入外設即LED顯示,顯示5個電壓數(shù)據(jù)的平均值。設計詳細思路如下:1) 1路模擬電壓信號通過電位器提供0-6V的電壓信號。2) 選擇ADC0809芯片作為A/D轉換器,電壓輸入輸入信號接到ADC0809的IN0通道,采樣5次, 5次電壓信號循環(huán)采集。3) 利用3個LED數(shù)碼管顯示數(shù)據(jù),顯示精確到小數(shù)點后兩位。 4) 延時由8254定時/計數(shù)器來實現(xiàn)。5) 實驗儀器使用微型計算機開發(fā)系統(tǒng) TD-PITE 。三、部分電路設計及功能解說 LED顯示單元的接線: A/D轉換單元: 8255 連接 LED ADC0809 連接 880386及輸入電壓 PA0 - A D0D7-XD0XD7 PA1 -B A、B、C-GND PA2-C IN0-ADJ(05V) PA3-D WR-IOW# PA4-E RD-IOR# PA5-F CS-IOY1 PA6-G CLK-CLK PA7-DP 喇叭報警器: 串行單元的接線: 8254 連接 80386、ADC0809 8255 連接 80386 D0D7-XD0XD7 D0D7-XD0XD7 A0A1-XA1XA2 PB0PB5-X1X6 CS-IOY2 CS-IOY3 CLK0-CLK A0A1-XA1XA3 WR-WR , RD-RD WR-IOW# GATE0-+5V RD-IOR# OUT0-SPK 四、硬件接線圖五、軟件設計流程圖 根據(jù)功能需求,系統(tǒng)主程序主要包括初始化程序、A/D轉換子程序、顯示子程、BCD轉換子程序和報警子程序。主程序流程圖見圖1所示。開始調用顯示子程序調用BCD轉換程序調用警報子程序調用A/D轉換子程序初始化 圖1 主程序流程圖下面分別介紹各個子程序。1系統(tǒng)初始化程序系統(tǒng)開始運行后,初始化程序將采集數(shù)據(jù)存放單元清0,將LED顯示數(shù)據(jù)存放單元清0。2A/D轉換子程序A/D轉換子程序用來控制對ADC0809對電壓數(shù)據(jù)的采樣和模擬輸入電壓的轉換,并將對應的數(shù)值存放到相應的數(shù)據(jù)段BCD字節(jié)單元,供CPU取出顯示到LED單元。數(shù)據(jù)的讀取方式可以采用延時等待、中斷讀取和查詢讀取。根據(jù)電路采用中斷讀取的方式,ADC0809的轉換控制如下:選擇通道并啟動轉換等待中斷 讀取轉換結果。A/D轉換子程序的程序流程圖如圖2所示。開始啟動轉換調用延時程序取電壓值 N判斷是否取了5次的值 Y取5次平均值結束圖2 A/D轉換子程序流程圖3顯示子程序跟BCD碼轉換子程序顯示子程序采用動態(tài)掃描法實現(xiàn)三位數(shù)碼管的數(shù)值顯示。測量所得的A/D轉換數(shù)據(jù)放在數(shù)據(jù)段BCD字節(jié)存儲單元,測量數(shù)據(jù)在顯示時需要轉換為十進制BCD碼放在TABLE1表中。由于ADC0809是將模擬信號轉換為數(shù)字信號,所以要將數(shù)字信號轉換為對應的電壓值,公式為VDATA/51。轉換時取一位整數(shù)和兩位小數(shù),再將數(shù)據(jù)轉換為顯示碼就可以輸出顯示了。三位數(shù)據(jù)顯示程序流程圖如圖3所示。顯示子程序中調用了BCD碼轉換子程序,BCD碼轉換程序是將數(shù)據(jù)轉換為BCD碼值。顯示子程序是將數(shù)據(jù)一次性輸出,主要是將對應的段碼和位碼輸出,注意小數(shù)點的處理。延時子程序利用8254計時,用8255來查詢計時是否完成。BCD碼轉換子程序流程圖見圖4所示。開始開始BCD的地址送給SI給位碼賦值0FBHTABLE地址送BXBCD的地址送給SI把AX除51判斷顯示的數(shù)據(jù)是否為第一位數(shù)查表結果送SI Y除后的余數(shù)送AX段碼小數(shù)點處理NSI+1前進輸出位碼判斷是否除了3次輸出段碼 N調用延時子程序結束判斷3為數(shù)據(jù)是否顯示完 YY 圖4 BCD轉換子程序流圖 N取下一個數(shù)位碼又移一位結束圖3 三位數(shù)據(jù)顯示程序流程圖 4報警子程序報警子程序是接受8254的信號來發(fā)出警告的。當采樣的平均值超過4.5V時,8254將會發(fā)一路信號給SPK喇叭,喇叭發(fā)出聲響警告。報警子程序流程圖如圖5所示。 開始 讀入5個數(shù)的平均值判斷平均值是否大于4.5 N Y 初始化8254為方式3調用延時程序結束 圖5 報警子程序流程圖六、程序段功能匯總1、A/D轉換子程序程序段:GET:MOV BX, 0MOV CX, 5 LOOP1:MOV DX, 0640H;啟動AD采樣 OUT DX, ALCALL DALLY;延時等待 IN AL, DX;采樣 XOR AH, AH ADD BX, AX;累加和 LOOP LOOP1 MOV AX, BX MOV DL, 5;取平均值 DIV DLMOV AVERAGE, AL;送入變量單元內2、BCD轉換子程序程序段:CHBCD:LEA BX, TABLE1LEA SI, BCDMOV CX, 3MOV AL, AVERAGEXOR AH, AH LOOP2:MOV DL, 42DIV DL;平均值除以51XLAT MOV SI, AL;求bcd碼送入對應BCD單元INC SI MOV AL, AH XOR AH, AH MOV DL, 10 MUL DL LOOP LOOP2;精確到小數(shù)點后兩位3、顯示子程序程序段:PRT:MOV DX, 06C6H;初始化8255 MOV AL, 80H OUT DX, AL MOV CX, 100HLOOP3:LEA SI, BCD MOV AH, 0FBHLOOP4:MOV AL, AH MOV DX, 06C2H OUT DX, AL MOV AL, SI CMP AH, 0FBH JNZ NEXT1 OR AL, 80HNEXT1:MOV DX, 06C0H OUT DX, AL CALL DALLYROR AH, 1INC SICMP AH, 07FHJNZ LOOP4LOOP LOOP3RET4、報警子程序程序段:JUG:PUSH CXPUSH AXMOV AL, AVERAGECMP AL, 0BDHJB NEXT2MOV DX, 0686HMOV AL, 16HOUT DX, ALMOV DX, 0680HMOV AL, 0FFHOUT DX, ALCALL DALLYMOV AL, 0OUT DX, ALNEXT2:POP AXPOP CXRET七、實驗結果及分析 實驗是通過轉動ADJ單元上的旋鈕調節(jié)輸入的電壓的。當輸入的電壓平均值在4.5v以下時喇叭沒有警告的聲音發(fā)出。當轉動旋鈕使電壓超過4.5v時,喇叭會有短促的報警的聲音發(fā)出。短促的聲音跟送入的頻率有關。實驗成功。八、課程設計體會和總結 此次的微機原理課程設計,在學期基礎實驗的基礎上提高了我們對于微機原理的實際應用要求,在不斷的深入理解理論知識的基礎上,我們這組同學通過不斷的修改和調試最終成功的運行了我們的程序,達到了老師對于此次課程設計的要求。通過這一個星期的課程設計,我對于微機原理這門課程的掌握程度以及實際的應用能力都有了一定程度上的提高。組員之間的共同合作,不同的分工,我們各司其職,默契配合,共同解決面臨的難題,共同分享成功的喜悅。在實踐的檢驗中,我們學到的知識得到了有效的鞏固,動手的能力,獨立思考的能力,團隊合作的能力都得到了有效的鍛煉。九、程序清單SSTACKSEGMENT STACKDW 64 DUP(?)SSTACKENDSPUBLIC BCDDATASEGMENTTABLE1DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FHBCDDB 0,0,0AVERAGE DB0DATAENDSCODESEGMENTASSUME CS:CODE, DS:DATASTART:MOV AX, DATAMOV DS, AXCALL GETCALL JUG;判斷是否大于4.5CALL CHBCDCALL PRT;調用顯示子程序JMP STARTCHBCD:LEA BX, TABLE1LEA SI, BCDMOV CX, 3MOV AL, AVERAGEXOR AH, AHLOOP2:MOV DL, 42DIV DL;平均值除以51XLAT MOV SI, AL;求bcd碼送入對應BCD單元INC SIMOV AL, AHXOR AH, AHMOV DL, 10MUL DLLOOP LOOP2;精確到小數(shù)點后兩位GET:MOV BX, 0MOV CX, 5LOOP1:MOV DX, 0640H;啟動AD采樣OUT DX, ALCALL DALLY;延時等待IN AL, DX;采樣XOR AH, AHADD BX, AX;累加和LOOP LOOP1MOV AX, BXMOV DL, 5;取平均值DIV DLMOV AVERAGE, AL;送入變量單元內PRT:MOV DX, 06C6H;初始化8255MOV AL, 80HOUT DX, ALMOV CX, 100HLOOP3:LEA SI, BCDMOV AH, 0FBHLOOP4:MOV AL, AHMOV DX, 06C2HOUT DX, ALMOV AL, SICMP AH, 0FBHJNZ NEXT1OR AL, 80HNEXT1:MOV DX, 06C0HOUT DX, ALCALL DALLYROR AH, 1INC SICMP AH, 07FHJNZ LOOP4LOOP LOOP3RETDALLY:PUSH CX;延時程序PUSH AXMOV CX, 10HA7:MOV AX, 20HA8:DEC A

溫馨提示

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

評論

0/150

提交評論