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