




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
中南大學微機應用系統(tǒng)設計與綜合實驗設計報告設計題目多路溫度采集系統(tǒng)編程設計指導老師設計者目錄第一章微機應用系統(tǒng)課程設計的目的意義1.1設計目的1.2課程在教學方案中的地位和作用第二章溫度采集系統(tǒng)軟硬件設計任務2.1設計內容及要求2.2實驗設備2.3課程設計的內容及要求第三章總體設計方案3.1設計思想3.2總體設計流程圖第四章硬件設計4.1硬件設計概要4.2硬件設計接線圖4.3所用到的芯片及其各自功能說明4.3.1芯片列表4.3.28086的功能簡介4.3.38254的功能簡介4.3.4AD0809的功能簡介第五章實驗結果5.1匯編程序結果5.2C語言程序結果第六章源程序代碼6.1匯編程序代碼6.2C語言程序代碼第七章系統(tǒng)的調試與使用第八章收獲、體會參考文獻微機應用系統(tǒng)課程設計的目的意義1.1設計目的《微機原理與接口技術》是一門實踐性和實用性都很強的課程,學習的目的在于應用。本課程設計是配合課堂教學的一個重要的實踐教學環(huán)節(jié),它能起到穩(wěn)固課堂和書本上的知識,加強綜合能力,提高系統(tǒng)設計水平,啟發(fā)創(chuàng)新思想的效果。通過本課程設計希望到達以下目地:培養(yǎng)資料搜集和匯總的能力。培養(yǎng)總體設計和方案論證的意識。提高硬件,軟件設計與開發(fā)的綜合能力。提高軟件和硬件聯(lián)合調試的能力。熟練掌握相關測量儀器的使用方法。掌握相關開發(fā)軟件,仿真軟件的使用方法。1.2課程在教學方案中的地位和作用現(xiàn)在計算機科學在應用上得到飛速開展,因此,學習這方面的知識必須緊跟實際連接。掌握這方面的知識更重要強調解決實際問題的能力。該課程設計給我們提供了一個很好的時機,它要求我們結合課堂上和書本中學到的知識去獨立設計一個硬件系統(tǒng),它是我們邁向實踐和應用的橋梁,我們學習書本上的知識是一個不斷積累的過程,而該課程設計卻使得我們能夠盡情發(fā)揮他們,讓我們更了解計算機的結構,工作原理以及軟硬件的結合使用,雖然課程設計的時間比擬短,但它卻在整個教學方案中占據了及其重要的位置。第二章溫度采集系統(tǒng)軟硬件設計任務2.1實驗目的為了實現(xiàn)計算機對生產過程及對象的控制,需要將對象的各種測量參數按照要求轉換成數字信號送入計算機。經計算機運算處理后再再轉換成適合于對生產過程進行控制的量。所以在微機和生產過程之間,必須設置信息的變換和傳遞通道。而我們所做的模擬輸入通道,主要功能就是隨時間變化的模擬輸入信號變成數字信號送入計算機,主要有多路轉換器,采樣保持器和A/D轉換器等組成。本實驗通過設計一個微機控制的溫度采集系統(tǒng),旨在使學生能做到以下幾點:1.了解微機控制的溫度采集系統(tǒng)軟硬件設計原理和方法。2.進一步掌握定時/計數器、并行接口芯片和中斷控制器的工作原理與使用方法。3.學會利用A/D轉換芯片實現(xiàn)信號的A/D轉換。2.2實驗設備l.80X86系列微機一臺。2.微機硬件實驗平臺。3.定時/計數器82544.ADC0809。2.3實驗內容及要求〔1〕、分別用C語言和匯編語言編程完成硬件接口功能設計;〔2〕、基于80x86微機接口的控制器硬件電路設計與調試;〔3〕、功能要求:具有報警功能〔如:聲、光、電形式〕,系統(tǒng)可實現(xiàn)6路溫度信號的巡回采集檢測、各路巡回檢測的溫度范圍0~1020CO〔溫度信號用電位器可調電壓模擬〕;4、指標要求4CO對應數字量為01H〕、每隔2s檢測一次,每一路連續(xù)檢測5次,取其中值,當前溫度用4位數顯示在計算機顯示屏幕上,6路同時顯示,每2s刷新一次顯示。顯示方式為:例:1號爐溫度:0800CO2號爐溫度:1000CO3號爐溫度:0700CO4號爐溫度:0800CO5號爐溫度:0650CO6號爐溫度:0870C第三章總體設計方案3.1設計思想在許多傳統(tǒng)行業(yè)中,多路高溫度采集系統(tǒng)是不可或缺的。電廠,石化行業(yè)及制藥廠等企業(yè)生產過程中,普遍存在著需要進行溫度測量的場合。因為溫度是生產過程和科學實驗中普遍且重要的物理參數。在工業(yè)生產中,為了高效生產,必須對生產過程的主要參數,如溫度,壓力,速度等進行有效的檢測并控制。其中溫度檢測在生產過程中占有相當大的比例。而我們所做的課題正是以8086cpu為核心設計一個溫度巡回監(jiān)測系統(tǒng)〔A/D采用ADC0809〕.系統(tǒng)可實現(xiàn)溫度信號的采集,在顯示器上顯示當前的溫度和通道號。模擬現(xiàn)場六路溫度巡回檢測,溫度范圍0-1020攝氏度。每隔兩秒檢測一次,每一次檢測六路信號,每路信號連續(xù)檢測五次,并取這五個數據的中值經標度變換后送顯示器顯示,6路同時顯示,每次顯示持續(xù)兩秒。在采集完某一路信號時,將采集到的信號與給定值比擬,如果超出給定范圍那么進行報警。該系統(tǒng)主要用于溫度檢測,是一個狀態(tài)反應系統(tǒng),并非動態(tài)控制系統(tǒng)。他可以利用放大器實現(xiàn)多個點的溫度巡回檢測,并在屏幕上顯示當前的溫度值和通道號。當溫度信號改變時,顯示的值也隨之改變,并且實現(xiàn)當溫度超出給定范圍時進行報警的功能。3.2程序設計流程圖端口號加端口號加1開始啟動IN0端口的轉換采集5次信號取中值與給定值比擬小于60℃報警對數據進行調整顯示6路信號是否采集完成是否有鍵按下退出結束YNNYNY第四章硬件設計4.1硬件設計概要系統(tǒng)的主要功能是實現(xiàn)溫度信號的采集,在顯示器上顯示當前的溫度和通道號。模擬現(xiàn)場六路溫度的溫度巡回檢測,溫度范圍0-1020攝氏度。每隔兩秒檢測一次,經標度變換后送顯示器顯示,六路同時顯示,每次顯示持續(xù)兩秒。實驗步驟如下:確認從PC機引出的兩根扁平電纜已經連接在試驗平臺上。編寫程序然后編譯連接。參考接線圖連接試驗線路。運行參考程序,觀察顯示器上的通道號和溫度值。改變溫度的值觀察是否實現(xiàn)報警功能。4.2硬件接線圖4.3所用到的芯片及其各自功能說明芯片列表可編程定時器/計數器8254,ADC08098086的功能簡介Intel8086CPU是16位微處理器,它采用N—溝道,耗盡型負載的硅棧工藝制造,外型為雙列直插式,有40個引腳。8086CPU有16根數據線和20根地址線,直接尋址空間為1MB。能夠完成微型計算機的根本操作數的讀取,指令的執(zhí)行,中斷控制等根本功能。8254的功能簡介8254的內部結構8254采用NMOS工藝制成,有24個引腳,所有輸入、輸出端均TTL電平兼容,單一電源〔Vcc=+5V〕供電,最高計數速率為2.6MHz。它包括3個計數器〔即計數器0、1、2〕、數據總路線緩沖器、讀/寫邏輯以及控制存放器等4個局部。②8254的外部引腳圖3.38254引腳圖A1、A0:地址輸入線,用來址8254內部的4個端口,即3個計數器和1個控制字存放器與CPU系統(tǒng)地址線相連。CLK0、CLK1、CLK2:時鐘脈沖輸入端,用于輸入定時脈沖或計數脈沖信號。CLK可以是系統(tǒng)的時鐘脈沖,也可以由系統(tǒng)時鐘分頻或者其他脈沖源提供。當用于定時時,這個脈沖必須是均勻的、連續(xù)的、周期精確的,而用于計數時,這個脈沖可以是不均勻的、斷續(xù)的、周期不定的。GATE0、GATE1、GATE3:門控輸入端,用于外部控制計數器的啟動計數和停止計數的操作。兩個或兩個以上計數器連用時,可用此信號同步,也可用于與外部某信號的同步。OUT0、OUT1、OUT2:計數輸出,當計數器從初值開始完成計數操作進,OUT引腳輸出相應的信號。③8254的工作方式方式0:減1計數到0,產生中斷請求信號。方式1:減1計數到0,產生可重復觸發(fā)的單穩(wěn)態(tài)負脈沖信號。方式2:減1計數到1,分頻器〔速率信號發(fā)生器〕。方式3:減1計數到初值的1/2,方波發(fā)生器。方式4:減1計數到0,軟件觸發(fā)產生選通負脈沖信號。方式5:減1計數到0,硬件觸發(fā)產生選通負脈沖信號。④8254方式控制字格式D7D6D5D4D3D2D1D000選計數器001選計數器110選計數器200計數器鎖存01只讀寫低8位10先讀寫高8位11先讀寫低8位再讀寫高8位000方式0001方式1X10方式2X11方式3100方式4101方式50二進制計數1BCD計數的功能簡介ADC0809包括一個8位的逐次逼近型的ADC局部,并提供一個8通道的模擬多路開關和聯(lián)合尋址邏輯,用它可直接輸入8個單端的模擬信號,分別進行A/D轉換,在多點巡回檢測、過程控制等應用領域中使用非常廣泛,ADC的主要技術指標為分辨率:8位單電源:+5V總的不可調誤差:1LSB轉換時間:取決于時鐘頻率模擬輸入范圍:單極性0~5V時鐘頻率范圍:10KHZ~1280KHZADC0809的外部管腳如以下圖所示ADC0809的外部管腳圖第五章實驗結果5.1匯編程序結果1haoluwenduú║1020degree2haoluwenduú║1020degree3haoluwenduú║0720degree4haoluwenduú║0608degree5haoluwenduú║0248degree6haoluwenduú║0248degree六路溫度都在指定的溫度范圍內,不產生報警時的結果顯示1haoluwenduú║1020degree2haoluwenduú║1020degree3haoluwenduú║0000degreeThetemperatureisbelowthan60degree4haoluwenduú║0000degreeThetemperatureisbelowthan60degree5haoluwenduú║0248degree6haoluwenduú║0248degree程序設計為當溫度低于60攝氏度時蜂鳴器報警,并且在屏幕上產生相應的提示3號爐和4號爐溫度低于60攝氏度報警5.2C語言程序結果1haoluwendu:1020degree2haoluwendu:1020degree3haoluwendu:688degree4haoluwendu:592degree5haoluwendu:248degree6haoluwendu:248degree六路溫度都在指定的溫度范圍內,不產生報警時的結果顯示1haoluwendu:1020degree2haoluwendu:1020degree3haoluwendu:804degree4haoluwendu:676degree5haoluwendu:12degreeThetempetureisbelowthan60degree6haoluwendu:12degreeThetempetureisbelowthan60degree程序設計為當溫度低于60攝氏度時蜂鳴器報警,并且在屏幕上產生相應的提示3號爐和4號爐溫度低于60攝氏度報警第六章源程序代碼6.1匯編語言程序;***************根據CHECK配置信息修改以下符號值*******************IOY0EQU3000H;片選IOY0對應的端口始地址IOY1EQU3040H;片選IOY1對應的端口始地址;*****************************************************************MY8254_COUNT0EQUIOY0+00H*4;8254計數器0端口地址MY8254_COUNT1EQUIOY0+01H*4;8254計數器1端口地址MY8254_COUNT2EQUIOY0+02H*4;8254計數器2端口地址MY8254_MODEEQUIOY0+03H*4;8254控制存放器端口地址AD0809EQUIOY1+00H;AD0809的端口地址AD0809_MODEEQUIOY1+08H*4;AD0809的狀態(tài)口地址DATASEGMENT;數據段DBUFDB100DUP(?);數據區(qū)STR1DB'linetemperature$';顯示的字符串STR2DB'Thetemperatureisbelowthan60degree$';顯示提示信息STR3DB'degree$'FREQ_LISTDW400,800,556,495,556,0;頻率表TIME_LISTDB1,3,2,1,4,0;時間表ALARMDBDB0DATAENDSSTACK1SEGMENTSTACK'STACK';堆棧段ST1DB100DUP(?)STACK1ENDSCODESEGMENT;代碼段ASSUMECS:CODE,DS:DATA,SS:STACK1START:MOVAX,STACK1MOVSS,AXMOVAX,DATAMOVDS,AX;DS指向數據區(qū)段址CLD;清方向標志MOVAX,0000HMOVES,AXMOVAL,50H;保存原中斷向量入口地址MOVAH,35HINT21HPUSHESPUSHBXPUSHDSMOVAX,SEGADINT;設置中斷向量入口地址MOVDS,AXMOVDX,OFFSETADINTMOVAL,50HMOVAH,25HINT21HPOPDSWAIT1:INT50H;中斷調用CMPALARMDB,0JZSDDCALLALARMSDD:movALARMDB,0PUSHCX;延時PUSHAXPUSHDXPUSHBXMOVCX,0FFFFHD1:MOVAX,0FFFFHD2:DECAXJNZD2LOOPD1MOVAH,6;清屏MOVAL,0MOVCX,0MOVDH,24MOVDL,79MOVBH,7INT10HMOVAH,2;置光標到頁面左上角MOVDH,0MOVDL,0MOVBH,0INT10HPOPBXPOPDXPOPAXPOPCXMOVAH,1;判斷是否有按鍵按下INT16HJZWAIT1;無按鍵那么跳回繼續(xù)等待,有那么退出QUIT:POPDX;退出POPDSMOVAL,50HMOVAH,25HINT21HMOVAX,4C00H;返回到DOSINT21H;中斷效勞程序,對每個通道均采集一個數據,存進DBUFADINTPROCNEAR;調用子程序STARTA:MOVCX,0006H;設置通道計數器初值MOVDX,AD0809;DX指向ADC通道TRANS2:CALLNEXT;調用轉換子程序LOOPTRANS2;循環(huán)采集六路信號IRET;自中斷返回ADINTENDPDALLY1PROCNEAR;軟件延時子程序,用于ADC轉換時延時保證轉換完成PUSHCXPUSHAXPUSHDXMOVCX,4000HD5:MOVAX,0600HD6:DECAXJNZD6LOOPD5POPDXPOPAXPOPCXRETDALLY1ENDPDALLY2PROC;延時子程序,用于8254產生方波時延時,為揚聲器發(fā)生報警提供信號延時PUSHCXPUSHAXD10:MOVCX,0F00HD9:MOVAX,0FFFFHD8:DECAXJNZD8LOOPD9DECDLJNZD10POPAXPOPCXRETDALLY2ENDPALARMTITLEPROCPUSHDXMOVDX,OFFSETSTR2;顯示溫度低于某一值MOVAH,9INT21HPOPDXRETALARMTITLEENDPALARMPROC;報警子程序PUSHDXPUSHAXPUSHSIPUSHDIMOVDX,MY8254_MODE;初始化8254工作方式MOVAL,36H;定時器0、方式3OUTDX,ALBEGIN:MOVSI,OFFSETFREQ_LIST;裝入頻率表起始地址MOVDI,OFFSETTIME_LIST;裝入時間表起始地址PLAY:MOVDX,0FH;輸入時鐘為1.0416667MHz,1.0416667M=0FE502HMOVAX,0E502HDIVWORDPTR[SI];取出頻率值計算計數初值,0F4240H/輸出頻率MOVDX,MY8254_COUNT0OUTDX,AL;裝入計數初值MOVAL,AHOUTDX,ALMOVDL,[DI];取出演奏相對時間,調用延時子程序CALLDALLY2ADDSI,2INCDICMPWORDPTR[SI],0;判斷是否到曲末?JEsrrMOVAH,1;判斷是否有按鍵按下?INT16HJZPLAYsrr:MOVDX,MY8254_MODE;退出時設置8254為方式2,OUT0置0MOVAL,10HOUTDX,ALPOPDIPOPSIPOPAXPOPDXRETALARMENDPNEXTPROC;信號巡回采集子程序NEXT1:MOVSI,OFFSETDBUF;SI指向WENDU偏移地址MOVBL,05H;為采集提供計數依據NEXT2:MOVAH,0000HOUTDX,AL;啟動一次轉換CALLDALLY1;延時保證轉換完成MOVAL,00HINAL,DX;讀取結果TRANS:MOV[SI],AL;將采集的5個數據保存INCSIDECBLJNZNEXT2PUSHCX;選中值MOVCL,04H;選出五個數中的最大值MOVSI,OFFSETDBUF;SI指向WENDU偏移地址MOVBX,SIC1:MOVAL,[BX]INCSICMPAL,[SI]JAF1MOVBX,SIF1:LOOPC1MOVAL,00H;將最大值置零MOV[BX],ALMOVCX,04H;再一次選擇五個數的最大值MOVSI,OFFSETDBUF;SI指向WENDU偏移地址MOVBX,SIC2:MOVAL,[BX]INCSICMPAL,[SI]JAF2MOVBX,SIF2:LOOPC2MOVAL,00H;將新的最大值置零MOV[BX],ALMOVCX,04H;第三次選擇最大值MOVSI,OFFSETDBUF;SI指向WENDU偏移地址MOVBX,SIC3:MOVAL,[BX]INCSICMPAL,[SI]JAF3MOVBX,SIF3:LOOPC3MOVAL,[BX];第三次選出的最大值即為原數據的中值POPCXSUBAH,AHMOVSI,AX;將中值保存到SI存放器PUSHDX;保存通道號PUSHAXMOVDL,07H;顯示爐號數SUBDL,CLADDDL,30HMOVAH,02HINT21HMOVDX,OFFSETSTR1;顯示字符串號爐溫度MOVAH,9INT21HPOPAXPOPDXMOVBL,04H;將采集的數據進行數值轉換MULBLPUSHCXPUSHDXSUBDX,DXMOVCX,1000;別離出千位數并顯示DIVCXXCHGAX,DXPUSHAXADDDL,30HMOVAH,02HINT21HPOPAXMOVCL,100;別離出百位數并顯示DIVCLPUSHAXADDAL,30HMOVDL,ALMOVAH,02HINT21HPOPAXXCHGAL,AHSUBAH,AHMOVCL,10;別離出十位數并顯示DIVCLPUSHAXADDAL,30HMOVDL,ALMOVAH,02HINT21HPOPAXADDAH,30H;顯示個位數MOVDL,AHMOVAH,02HINT21HMOVDX,OFFSETSTR3;顯示degreeMOVAH,9INT21HCMPSI,0FH;與60攝氏度比擬JAS;假設在指定范圍內那么繼續(xù)轉換MOVALARMDB,1CALLALARMTITLE;假設不在指定范圍那么報警S:MOVDL,0AH;換行MOVAH,02HINT21HMOVDL,0DH;將光標置行首MOVAH,02HINT21HPOPDXPOPCXADDDL,04H;DX指向下一個通道RETNEXTENDPCODEENDSENDSTART6.2C語言源程序#include<stdio.h>#include<stdlib.h>#include<conio.h>#include<bios.h>#include<ctype.h>#include<process.h>voidkey(void);//判斷是否右鍵按下,有那么退出voiddelay1(inttime);//延時函數voidalarm(void);//報警函數voiddelay2(inttime);//延時函數//****************根據查看配置信息修改以下符號值*******************#defineIOY00xE400//8254端口地址#defineIOY10xE440//ADC0809端口地址//*****************************************************************#defineMY8254_COUNT0IOY0+0x00*4#defineMY8254_COUNT1IOY0+0x01*4#defineMY8254_COUNT2IOY0+0x02*4#defineMY8254_MODEIOY0+0x03*4#defineAD0809IOY1+0x00*4chara[]={"degree"};intb[5];intFREQ_LIST[]={556,495,556,624,495};//頻率表intTIME_LIST[]={6,2,4,4,6};//時間表voidmain(){ while(6)//循環(huán)采集 {inti,j,k,temp; for(k=1;k<=6;k++) {for(i=0;i<=4;i++) {intAD08091;//設置采集的端口號 AD08091=AD0809+0x04*(k-1);outp(AD08091,0x00);//啟動轉換 delay1(0x100);//延時保證轉換完成 b[i]=inp(AD08091);//將采集的5個數據存入數組 } for(i=0;i<4;i++)//將采集的5個數據排序 for(j=i+1;j<5;j++) if(b[i]>b[j]) { temp=a[i]; a[i]=a[j]; a[j]=temp; }printf("%d",k); b[2]=b[2]*4;printf("haoluwendu:%d",b[2]);printf("degree"); if(b[2]<0x3C)//判斷數據是否在指定范圍內 alarm();//超出范圍那么報警printf("\n");//換行 } for(k=0;k<=0x09;k++)//在進行第二次轉換時的延時 {for(i=0;i<=0x4fff;i++) { for(j=0;j<=0x4fff;j++) {} } }clrscr(); key();//判斷是否右鍵按下 }}voidkey(void)//判斷是否右鍵按下,有那么退出{ if(bioskey(1)!=0) { exit(0); }}voiddelay1(inttime)//提供AD轉換過程中的延時,保證抓換完成{inti;intj; for(i=0;i<=time;i++) { for(j=0;j<=0x7000;j++) {} } return;}voidalarm
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中國汽車空調用風機行業(yè)市場發(fā)展前景及發(fā)展趨勢與投資戰(zhàn)略研究報告
- 中國遠紅外光譜儀行業(yè)發(fā)展?jié)摿︻A測及投資戰(zhàn)略規(guī)劃報告
- 智慧海洋科學技術學院085500機械報錄數據分析報告初試+復試+調劑
- 2025年度數據中心機房裝修施工與能耗優(yōu)化合同
- 辦公樓改造工程施工資源配備計劃方案
- 2025年工廠食堂承包管理合同規(guī)范
- 2025商務酒店用品銷售合同示范文本
- 2025年中歐技術秘密轉讓合同范文
- 2025年井筒施工合同模板
- 2025年高層鋼結構大廈施工合同范本
- 《認識人民幣》完整版
- 工程施工風險研判報告及安全風險管控防范應對措施
- 科普作家協(xié)會會員
- ptmeg生產工藝技術
- 高中英語定語從句之哪吒-Attributive Clause 課件
- 仁愛版八年級英語下冊全冊教案
- 醫(yī)療安全不良事件警示教育課件
- 《幼兒園健康》課件
- 醫(yī)保物價培訓課件
- 2024年國新國際投資有限公司招聘筆試參考題庫含答案解析
- 心肌梗死心律失常的機制和處置
評論
0/150
提交評論