微機(jī)接口技術(shù)課程設(shè)計(jì)數(shù)據(jù)采集_第1頁
微機(jī)接口技術(shù)課程設(shè)計(jì)數(shù)據(jù)采集_第2頁
微機(jī)接口技術(shù)課程設(shè)計(jì)數(shù)據(jù)采集_第3頁
微機(jī)接口技術(shù)課程設(shè)計(jì)數(shù)據(jù)采集_第4頁
微機(jī)接口技術(shù)課程設(shè)計(jì)數(shù)據(jù)采集_第5頁
已閱讀5頁,還剩18頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

PAGEPAGE21湖北教育學(xué)院課程設(shè)計(jì)報(bào)告課程名稱:微機(jī)接口技術(shù)課程設(shè)計(jì)設(shè)計(jì)題目:數(shù)據(jù)采集系別:專業(yè):組別:學(xué)生姓名:學(xué)號(hào):起止日期:指導(dǎo)教師:教研室主任:目錄1需求分析 11.1引言 11.2本課程設(shè)計(jì)的題目 11.3本課程設(shè)計(jì)的目的 11.4課程設(shè)計(jì)的環(huán)境 11.5課程設(shè)計(jì)要求和任務(wù)要求 11.5.1要求 11.5.2任務(wù) 12概要設(shè)計(jì) 22.1概要 22.2實(shí)驗(yàn)原理 23.詳細(xì)設(shè)計(jì) 33.1硬件設(shè)計(jì) 33.1.18255A的外部引腳及功能特點(diǎn) 33.1.2ADC0809的外部引腳及其特點(diǎn) 53.1.3進(jìn)行設(shè)計(jì) 63.2軟件設(shè)計(jì) 73.2.1ADC0809的時(shí)序圖 73.2.2進(jìn)行編程 84.調(diào)試與操作說明 134.1實(shí)驗(yàn)調(diào)試的步驟 134.4.1檢測(cè)實(shí)驗(yàn)平臺(tái)以及配套設(shè)備 134.4.2調(diào)試自己設(shè)計(jì)的控制程序 134.4.3調(diào)試自己設(shè)計(jì)的硬件控制電路 134.4.4綜合調(diào)試 135.課程設(shè)計(jì)總結(jié)與體會(huì) 14致謝 15參考文獻(xiàn) 16附錄A程序 17老師評(píng)語 211需求分析1.1引言計(jì)算機(jī)數(shù)據(jù)采集系統(tǒng)在工業(yè)控制和測(cè)試上是必不可少的.在工業(yè)及許多應(yīng)用中更需要的就是對(duì)直流模擬信號(hào)的采集,如對(duì)溫度、濕度、水位、壓力等等物理量的采集。同時(shí),還要對(duì)某一檢測(cè)點(diǎn)任意參數(shù)能夠進(jìn)行隨機(jī)查尋,將其在某一時(shí)間段內(nèi)檢測(cè)得到的數(shù)據(jù)經(jīng)過轉(zhuǎn)換提取出來,以便進(jìn)行比較,做出決策,調(diào)整控制方案,提高產(chǎn)品的合格率,產(chǎn)生良好的經(jīng)濟(jì)效益。隨著工農(nóng)業(yè)的發(fā)展,多路數(shù)據(jù)采集勢(shì)必將得到越來越多的應(yīng)用,為適應(yīng)這一趨勢(shì),作這方面的研究就顯得十分重要。本課程設(shè)計(jì)即通過改變電阻的大小對(duì)電壓的變化進(jìn)行采集。1.2本課程設(shè)計(jì)的題目數(shù)據(jù)采集。1.3本課程設(shè)計(jì)的目的通過微機(jī)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)與制作,深入了解與掌握微機(jī)數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)方法。數(shù)據(jù)采集。1.4課程設(shè)計(jì)的環(huán)境1.PC兼容機(jī)2.Windows20003.MFID多功能微機(jī)實(shí)驗(yàn)平臺(tái)(含PCI總線驅(qū)動(dòng)板)4.MF2KI集成開發(fā)環(huán)境5.面包板或外設(shè)功能模塊板6.安裝或焊接工具1.5課程設(shè)計(jì)要求和任務(wù)要求1.5.1要求1.單通道采集數(shù)據(jù)并顯示。2.多通道循環(huán)采集數(shù)據(jù)并顯示。1.5.2任務(wù)1.進(jìn)行微機(jī)數(shù)據(jù)采集系統(tǒng)電路硬件設(shè)計(jì),畫出電路原理圖、PCB圖或元元器件布線圖。2.安裝或焊接元器件。3.進(jìn)行數(shù)據(jù)采集系統(tǒng)控制程序設(shè)計(jì)(采用ASM或CPP語言)。4.系統(tǒng)聯(lián)調(diào),提交一個(gè)滿足上述二種要求之一的微機(jī)數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)。2概要設(shè)計(jì)2.1概要首先畫出了電路原理圖,按照電路原理圖,在面包板上搭出電路,并在實(shí)驗(yàn)平臺(tái)上測(cè)試電路是否搭建正確。根據(jù)實(shí)驗(yàn)要求,又畫出了流程圖,之后依據(jù)流程圖,選用匯編語言編出程序。最后每人寫一份自己的實(shí)驗(yàn)報(bào)告,并匯總。2.2實(shí)驗(yàn)原理數(shù)據(jù)采集是將被測(cè)對(duì)象(外部現(xiàn)象,現(xiàn)場(chǎng))的各種參量(可以是物理量,也可以是化學(xué)量,生物量等)通過各種傳感元件做適當(dāng)轉(zhuǎn)換后,再經(jīng)過信號(hào)調(diào)整,采樣,量化,編碼,傳輸?shù)炔襟E,最后送到控制器進(jìn)行數(shù)據(jù)處理或數(shù)據(jù)記錄的過程,控制器一般有計(jì)算機(jī)承擔(dān),即計(jì)算機(jī)是數(shù)據(jù)采集的核心,對(duì)采集的數(shù)據(jù)進(jìn)行加工處理。圖2.1電路原理圖ADC0809以及8255A是接口電路,電位器為外設(shè)。從電位器所選擇通道把外界的模擬信號(hào)傳送給ADC0809,再由ADC0809把模擬信號(hào)轉(zhuǎn)換成數(shù)字信號(hào),實(shí)現(xiàn)數(shù)模轉(zhuǎn)換;而8255A就是可編程并行接口,作為CPU和ADC0809之間的通信設(shè)備,進(jìn)行數(shù)據(jù)的傳送。電位器改變電阻,使電壓跟著改變3.詳細(xì)設(shè)計(jì)3.1硬件設(shè)計(jì)由于實(shí)驗(yàn)中要用到MFID多功能微機(jī)實(shí)驗(yàn)平臺(tái)板上的8255A作接口控制信號(hào),所以要用兩頭帶插針的軟導(dǎo)線,通過26芯電纜的插孔將8255A的輸出信號(hào)接入面包板。最后,加入軟件控制程序,對(duì)接口進(jìn)行驅(qū)動(dòng),就組成了A/D數(shù)據(jù)采集系統(tǒng)。A/D數(shù)據(jù)采集模塊、平臺(tái)板、微機(jī)組成的數(shù)據(jù)采集系統(tǒng)框圖如圖3.1并口并口A/D數(shù)據(jù)采集模塊平臺(tái)板A/D數(shù)據(jù)采集模塊平臺(tái)板總線驅(qū)動(dòng)板微機(jī)J1J526芯50芯J1J526芯50芯(短型電纜)(短型電纜)圖3.1數(shù)據(jù)采集系統(tǒng)框圖3.1.18255A的外部引腳及功能特點(diǎn)可編程并行接口芯片8255A(1)8255A的基本特性8255A是個(gè)具有兩個(gè)8位(A口和B口)和兩個(gè)4位(C口高/低4位)并行I/O端口的接口芯片,它為Intel系列CPU與外部設(shè)備之間提供TTL電平兼容的接口,如打印機(jī)、A/D、D/A轉(zhuǎn)換器、鍵盤、步進(jìn)電機(jī)以及需要同時(shí)兩位以上信息提供傳送的一切形式的并行接口。并且它的PC口還具有按位置位/復(fù)位功能,為按位控制提供了強(qiáng)有力的支持。8255A能適應(yīng)CPU與I/O接口之間的多種數(shù)據(jù)傳送方式的要求。8255A芯片內(nèi)部主要由控制寄存器、狀態(tài)寄存器和數(shù)據(jù)寄存器組成。1234512345678910111213141516171819204039383736353433323130292827262524232221PA48255APA5PA6PA7PA3PA2PA1PA0D0D1D2D3D4D5D6D7PB7PB6PB5PB4PC3PB3PC2PB2PC1PB1PC0PB0PC7PC6PC5PC4A0A1GNDCSRDWRRESETVCC圖3.28255A引線圖8255A是一個(gè)單+5V電源引腳,40個(gè)引腳的雙列直插式組件,其外部引線如圖3.2所示:它作為接口電路,8255A具有面向CPU和面向外設(shè)兩個(gè)方向的連接能力。因此,它的引腳分成兩部分。系統(tǒng)總線的連接信號(hào)①面向數(shù)據(jù)總線的有:D0-D7:雙向數(shù)據(jù)線,用于CPU向8255A發(fā)送命令、數(shù)據(jù)和8255A向CPU回送狀態(tài)、數(shù)據(jù)。②面向地址總線的有:CS:選片信號(hào),低電平有效,由系統(tǒng)的高位地址線經(jīng)I/O端口地址譯碼電路產(chǎn)生。CS為低電平時(shí),才能對(duì)8255A進(jìn)行讀寫操作。當(dāng)CS為高電平時(shí),切斷CPU與芯片的聯(lián)系。A1,A0:芯片內(nèi)部端口地址信號(hào),與系統(tǒng)地址總線低位相連用來尋址8255A內(nèi)部寄存器。兩位地址,可形成片內(nèi)4個(gè)端口地址。③面向控制總線的有:RD:讀信號(hào),低電平有效。CPU通過執(zhí)行IN命令使RD有效,即發(fā)讀信號(hào)將數(shù)據(jù)或狀態(tài)信號(hào)從8255A讀至CPU。WR:寫信號(hào),低電平有效。CPU通過執(zhí)行OUT命令使WR有效,即發(fā)寫信號(hào),將命令代碼或數(shù)據(jù)寫入8255A。RESET:復(fù)位信號(hào)。它清除控制寄存器并將8255A的A、B、C三個(gè)端口均置為輸入方式;輸出寄存器和狀態(tài)寄存器被復(fù)位,并且屏蔽中斷請(qǐng)求;24條面向外設(shè)的信號(hào)線呈現(xiàn)高阻懸浮狀態(tài)。這種勢(shì)態(tài)一直持續(xù)到用方式命令才能改變,使其進(jìn)入用戶所需的工作方式。外部設(shè)備的連接信號(hào)PA0-PA7:端口A的輸入/輸出線。PB0-PB7:端口B的輸入/輸出線。PC0-PC7:端口C的輸入/輸出線。C口除了作數(shù)據(jù)口以外,還可以作狀態(tài)口、作專用(固定)聯(lián)絡(luò)(握手)信號(hào)線和作按位控制用。(3)方式命令字及書寫規(guī)格1D6D5D4D3D2D1D0特征位A組方式00=0方式01=1方式10=2方式11=不用PA0=輸出1=輸入PC4~70=輸出1=輸入B組方式0=0方式1=1方式PB0=輸出1=輸入PC0~30=輸出1=輸入表3.18255A方式命令字(4)按位置位/復(fù)位命令作用:指定PC口的某一位(某一個(gè)引腳)輸出高電平或低電平.表3.2PC口的方式命令字此外,再進(jìn)一步了解了實(shí)驗(yàn)平臺(tái)并行接口插座的相關(guān)知識(shí)。實(shí)驗(yàn)平臺(tái)并行接口插座并行接口插座有26根信號(hào)線,其中24根信號(hào)線是開自8255的三個(gè)端口(A口、B口和C口),輸出有鎖存功能,輸入有緩存功能??勺魅齻€(gè)獨(dú)立的8位傳送,也可作16位傳送,為用戶提供設(shè)計(jì)各種并行設(shè)備控制模塊的并行接口電路。J5還包括了+5V電源線和地線,其信號(hào)線分布如圖3.3所示。22468101214161820PA0PA2PA4PA6PB0PB2PB4PC0PC2PC4135791113151719GNDPA1PA3PA5PA7PB1PB3PB5PB72426VCC22PC62325PC3PC5PC7PC121PB6J5圖3.326芯并行輸入輸出接口插座圖3.1.2ADC0809的外部引腳及其特點(diǎn)分析ADC0809的外部引腳及其特點(diǎn)。ADC0809的外部引腳如圖3.4112345678910111213142827262524232221201918171615IN3IN4IN5IN6IN7D3IN2IN1IN0D0D1D2D4D5D6D7VREF(+)VREF(-)VCCSTARTEOCOECLOCKGNDADDAADDBADDCALEADC0809ADC0808圖3.4ADC0809引線圖從圖中可以看出,ADC0809有八個(gè)模擬量輸入端(IN0-IN7),相應(yīng)設(shè)置3根模擬量通道地址線(ADDA-ADDC),用以編碼來選擇8個(gè)模擬量輸入通道。并且還設(shè)置1根地址鎖存允許信號(hào)ALE,高電平有效。當(dāng)ALE變高,鎖存由ADDa-ADDc編碼所選中的通道號(hào),將該通道的模擬量接入A/D轉(zhuǎn)換器。ADC0809的分辨率為8位,有8根數(shù)字量輸出線(D0-D7),帶有三態(tài)輸出鎖存器。并設(shè)置了1根輸出允許信號(hào)OE,高電平有效。當(dāng)讀數(shù)據(jù)時(shí),要使OE置高,打開三態(tài)輸出鎖存器,把轉(zhuǎn)換的數(shù)字量送到數(shù)據(jù)線上。ADC0809的轉(zhuǎn)換啟動(dòng)信號(hào)是START,高電平有效。轉(zhuǎn)換結(jié)束信號(hào)EOC,轉(zhuǎn)換過程中為低電平,轉(zhuǎn)換完畢變?yōu)楦唠娖?,可利用EOC的上升沿申請(qǐng)中斷,或作查詢之用。3.1.3進(jìn)行設(shè)計(jì)A/D數(shù)據(jù)采集模塊電路采用8855A作為接口電路,其中,PA0-PA7接數(shù)據(jù)線,其低三位與通道地址線ADDA-ADDC相連,即將通道號(hào)寫入A口。另外,轉(zhuǎn)換后的數(shù)據(jù)從A口讀入CPU。PC0連接START信號(hào),高電平有效,表示啟動(dòng)轉(zhuǎn)換。PC1接地址鎖存信號(hào)ALE。PC2連接輸出允許信號(hào)OE。當(dāng)查詢方式時(shí),PC4連接EOC信號(hào),轉(zhuǎn)換過程中,PC4為0,當(dāng)轉(zhuǎn)換完畢時(shí),PC4為1??蓞⒄?qǐng)D2.1電路原理圖。然后選用所需的實(shí)驗(yàn)器材和各種元器件,按照原理圖設(shè)計(jì)面包板。最后運(yùn)用軟件Protel99SE畫PCB圖,如圖3.5圖3.5數(shù)據(jù)采集PCB圖3.2軟件設(shè)計(jì)3.2.1ADC0809的時(shí)序圖由于已經(jīng)熟悉了原理、各個(gè)芯片的外部引腳和功能、A/D數(shù)據(jù)采集模塊電路,所以一步了解ADC0809的時(shí)序圖。如圖3.6圖3.6時(shí)序圖由時(shí)序圖可看出,要先給出通道地址ADD(ABC),然后進(jìn)行地址鎖存,使ALE置高電平,接著啟動(dòng)轉(zhuǎn)換信號(hào)START,ADC0809本應(yīng)該開始進(jìn)行模/數(shù)轉(zhuǎn)換了,即EOC置底電平,但EOC為底電平需要一個(gè)穩(wěn)定期,故在START啟動(dòng)以后,應(yīng)進(jìn)行200ns的時(shí)間延時(shí)。延時(shí)后把START置為0。這時(shí)ADC0809就開始真正進(jìn)行模/數(shù)轉(zhuǎn)換了。轉(zhuǎn)換結(jié)束后,EOC會(huì)自動(dòng)返回一個(gè)低電平。又由于ADC0809的分辨率為8位,有8根數(shù)字量輸出線(D0-D7),帶有三態(tài)輸出鎖存器。并設(shè)置了1根輸出允許信號(hào)OE,高電平有效。當(dāng)讀數(shù)據(jù)時(shí),要使OE置高,打開三態(tài)輸出鎖存器,把轉(zhuǎn)換的數(shù)字量送到數(shù)據(jù)線上,送給8255A。3.2.2進(jìn)行編程ssacksegmentparastack‘stack';分配堆棧段dw200dup(?)ssackendsdatasegmentparapublic‘data';數(shù)據(jù)段message1db‘Thissourcefileiswritenbyzhangrui';定義變量message1db0dh,0ah,‘$'message2db‘Ifyouwanttoquittheconvert,pleasepress‘‘ESC'' db0dh,0ah,‘$'input_messagedb‘Pleaseinputnumberofthechannel(0~7)' db0dh,0ah,'$'error_messagedb‘inputincorrectthechannel!',0dh,0ah db‘Pleaseinputnumberofthechannelagain:' db‘$'portdb(?);定義變量port,用于存放通道號(hào)dataends開始開始重寫8255,A口輸入,B口輸入C口高4位輸入,低4位輸出重寫8255,A口輸入,B口輸入C口高4位輸入,低4位輸出顯示提示信息顯示提示信息寫PC0為1寫PC0為1提示輸入通道提示輸入通道延時(shí)延時(shí)獲取通道號(hào)獲取通道號(hào)寫PC0為0寫PC0為0將C口數(shù)據(jù)送到AL檢查通道是否正確將C口數(shù)據(jù)送到AL檢查通道是否正確N查PC4=1?查PC4=1?N寫PC2為1YY寫PC2為1初始化8255,A口輸出,B口輸入C口高4位輸入,低4位輸出初始化8255,A口輸出,B口輸入C口高4位輸入,低4位輸出讀A口內(nèi)容讀A口內(nèi)容輸出A口內(nèi)容送通道號(hào)至A口輸出A口內(nèi)容送通道號(hào)至A口是否按鍵寫PC1為1N是否按鍵寫PC1為1Y結(jié)束結(jié)束圖3.7流程圖根據(jù)圖3.6ADC0809時(shí)序圖和圖3.7流程圖進(jìn)行代碼段的編程。codesegmentparapublic'code';代碼段assumess:ssack,cs:code,ds:dataa_dpoprocfar;定義a_dpo過程main:movax,ssackmovss,axmovax,datamovds,axmovah,9;顯示第一個(gè)提示信息movdx,segmessage1;取message1的段地址movds,dxmovdx,offsetmessage1;取message1的偏移地址int21hmovah,9;顯示第二個(gè)提示信息movdx,segmessage2movds,dxmovdx,offsetmessage2int21hmovah,9;顯示第三個(gè)提示信息即提示輸入通道號(hào)movdx,seginput_messagemovds,dxmovdx,offsetinput_messageint21hinput:movah,8;檢查輸入通道號(hào)是否有錯(cuò)int21hcmpal,'0'jberrorcmpal,'7'jaerrorsubal,30hmovport,al;若無錯(cuò),則保存通道號(hào)jmpbeginerror:movah,9;顯示出錯(cuò)信息movdx,segerror_messagemovds,dxmovdx,offseterror_messageint21hjmpinput這時(shí)就要對(duì)8255進(jìn)行初始化,由于要提供通道地址,所以A口輸出,B口輸出,C口高4位輸入,C口底4位輸入。參照?qǐng)D2.5,方式命令字為10001000。begin:movdx,303hmoval,88h;初始化8255:10001000,A口輸出,C口高4位輸入,C口底4位輸出outdx,almovdx,300hmoval,port;送通道號(hào)至A口outdx,al從圖3.6ADC0809的時(shí)序圖看出,這是要進(jìn)行地址鎖存。movdx,303hmoval,3h;PC1置1,即讓ALE為高電平,進(jìn)行地址鎖存outdx,al地址鎖存以后就要重寫8255,將A口改為輸入,因?yàn)橐獙?shù)據(jù)送到A口。movdx,303hmoval,98h;重寫8255,10011000,A口輸入,C口高4位輸入,C口低4位輸出outdx,al啟動(dòng)START轉(zhuǎn)換信號(hào),并延時(shí),因?yàn)镋OC置1需要一個(gè)穩(wěn)定期。再將START置0。lop:movdx,303hmoval,1h;使PC0置高,發(fā)啟動(dòng)信號(hào)outdx,almovcx,0f00h;延時(shí)lop1:looplop1movdx,303hmoval,0h;使PC0置0,即讓START=0,啟動(dòng)信號(hào)完成outdx,allop2:movdx,302hinal,dx;將C口數(shù)據(jù)送到alandal,10h;判斷PC4是否為1,即EOC,轉(zhuǎn)換是否完成jzlop2movdx,303hmoval,5h;PC2為1,即OE置高,打開三態(tài)輸出鎖存器,把數(shù)字量送到數(shù)據(jù)線outdx,almovdx,300hinal,dx;將A口的數(shù)據(jù)送到al里pushax最后顯示十六進(jìn)制數(shù)據(jù)。show:andal,0f0h;顯示高4位shral,4cmpal,9jahhaddal,30hjmptthh:addal,37htt:movdl,almovah,2int21Hpopaxandal,0fh;顯示低4位cmpal,9jatt1addal,30hjmptt2tt1:addal,37htt2:movdl,almovah,2int21hmovdl,13 ;向屏幕送回車符movah,2int21hmovdl,10 ;向屏幕送換行符movah,2int21hmovah,0bh;檢測(cè)是否有ESC鍵按下int21hincal;al加1jnzlop;若無鍵按下,則繼續(xù)采集quit:movax,4c00h;程序退出int21ha_dpoendp;過程結(jié)束codeends;段結(jié)束endmain;源程序結(jié)4.調(diào)試與操作說明4.1實(shí)驗(yàn)調(diào)試的步驟4.4.1檢測(cè)實(shí)驗(yàn)平臺(tái)以及配套設(shè)備在關(guān)機(jī)狀態(tài)下將PCI總線驅(qū)動(dòng)板插入電腦主板上PCI總線插槽中,并用50芯扁平電纜線將總線信息接入到MFID多功能微機(jī)實(shí)驗(yàn)平臺(tái)的50芯擴(kuò)展總線插座J1。然后開機(jī),進(jìn)入MF多功能微機(jī)實(shí)驗(yàn)集成開發(fā)環(huán)境,利用平臺(tái)板上的資源,運(yùn)行演示程序,檢測(cè)平臺(tái)的硬件資源是否正常。如果正常,則繼續(xù)下一步的操作;如果不正常,則開啟MF中的故障檢測(cè)軟件,對(duì)實(shí)驗(yàn)平臺(tái)上的芯片進(jìn)行針對(duì)性檢測(cè),直到平臺(tái)的硬件系統(tǒng)正常為止。4.4.2調(diào)試自己設(shè)計(jì)的控制程序?qū)嶒?yàn)平臺(tái)硬件完好的情況下,利用平臺(tái)板上的硬件資源來調(diào)試根據(jù)實(shí)驗(yàn)要求自己編寫的程序。其調(diào)試方法是:采用MF集成開發(fā)環(huán)境提供的軟件工具,點(diǎn)擊編譯菜單項(xiàng),對(duì)自編的程序進(jìn)行編譯、連接和運(yùn)行,觀察控制程序運(yùn)行結(jié)果是否達(dá)到設(shè)計(jì)要求。如果達(dá)到要求,則繼續(xù)下一步的操作,否則,對(duì)自編的程序進(jìn)行調(diào)試,直至運(yùn)行結(jié)果符合要求為止。4.4.3調(diào)試自己設(shè)計(jì)的硬件控制電路將實(shí)驗(yàn)平臺(tái)板上的部分電路換成自己搭建的模塊電路,然后運(yùn)行MF集成開發(fā)環(huán)境提供的實(shí)驗(yàn)演示程序,觀察是否能滿足硬件電路設(shè)計(jì)的要求。如果能滿足要求,則進(jìn)行下一步的操作,否則,進(jìn)行電路調(diào)試,直至滿足要求為止。調(diào)試所用到的工具是萬用表和示波器。4.4.4綜合調(diào)試將自制的模塊電路(在面包板上或PCB電路板上)連接到實(shí)驗(yàn)平臺(tái)相應(yīng)接口插座處,構(gòu)成一個(gè)包括CPU、接口和被控對(duì)象完整的微機(jī)控制系統(tǒng),同時(shí)將自己設(shè)計(jì)的控制程序調(diào)入內(nèi)存,然后點(diǎn)擊MF集成開發(fā)環(huán)境軟件中的編譯菜單項(xiàng),進(jìn)行編譯、連接和運(yùn)行該程序,觀察結(jié)果是否正確。如果前面幾步是嚴(yán)格按照順序走下來的,這時(shí)應(yīng)該得到正確的結(jié)果,這樣實(shí)驗(yàn)就成功了。5.課程設(shè)計(jì)總結(jié)與體會(huì)通過這一個(gè)星期的課程設(shè)計(jì),我明白了設(shè)計(jì)數(shù)據(jù)采集的整個(gè)過程,包括原理、硬件的設(shè)計(jì)和編程。在搭電路的時(shí)候,由于芯片的引腳比較多,一不小心就會(huì)把線連錯(cuò)。每連好一個(gè)引腳我都會(huì)檢查一邊。等全部線路都連好以后,我又重新檢查了一遍才敢拿到實(shí)驗(yàn)室去測(cè)試。在測(cè)試的時(shí)候我們遇到了困難,數(shù)據(jù)顯示不正確。我們就請(qǐng)教孫延維老師,請(qǐng)他幫忙檢查是那根線路出了問題。可是我們始終找不出原因,甚至又重新?lián)Q了一個(gè)ADC0809芯片和兩個(gè)二極管,數(shù)據(jù)還是不正確。后來孫老師告訴我原來是程序出了一點(diǎn)小問題,所以數(shù)據(jù)才總是顯示不正確,而我們的電路是正確的。在編程的時(shí)候,我想把數(shù)據(jù)用二進(jìn)制顯示,但是我的程序編的很長(zhǎng)又很復(fù)雜,我請(qǐng)教了張緒輝老師以后才知道,原來只需要用一個(gè)循環(huán)就可以了。我覺得這次最大的收獲就是把所學(xué)的知識(shí)又重新鞏固了一遍,并且把所學(xué)的相關(guān)的知識(shí)融合在一起解決某一個(gè)具體的問題。以后要是再遇到同樣的問題,我就不會(huì)再望而生畏了,知道該怎么做了。致謝本課程設(shè)計(jì)已接近尾聲,感謝張緒輝老師在這次課程設(shè)計(jì)期間對(duì)我們進(jìn)行的孜孜不倦的指導(dǎo)以及耐心的講解,讓我們學(xué)到了很多專業(yè)知識(shí),培養(yǎng)了我們解決問題的能力以及自學(xué)的能力。其學(xué)者風(fēng)度以及親切的教導(dǎo)讓我們收益匪淺。同時(shí)感謝孫延維老師在測(cè)試硬件電路時(shí)耐心的指導(dǎo),給了我們很多寶貴的建議。此外,感謝我們小組的每一位成員及其他一些同學(xué),幫忙搜索資料,彼此間相互幫助。正因?yàn)槲覀兊墓餐Σ攀刮覀冞@次課程設(shè)計(jì)得以圓滿的成功,盡管其中還存在著一些不足。參考文獻(xiàn)[1]劉樂善《微型計(jì)算機(jī)接口技術(shù)及應(yīng)用》華中科技大學(xué)出版社2004年4月第1版[2]韓?!秴R編語言程序設(shè)計(jì)》西安電子科技大學(xué)出版社2003年11月第2版[3]王元珍,韓宗芬《IBM—PC宏匯編語言程序設(shè)計(jì)》華中科技大學(xué)出版1996年9月第2版[4]實(shí)驗(yàn)硬件電路參考《MFID微機(jī)實(shí)驗(yàn)平臺(tái)32位微機(jī)實(shí)驗(yàn)指導(dǎo)書》華中科技大學(xué)計(jì)算機(jī)學(xué)院附錄A程序;**/;*A/D轉(zhuǎn)換數(shù)據(jù)采集程序源文件*/;**/ssacksegmentparastack‘stack';分配堆棧段dw200dup(?)ssackendsdatasegmentparapublic‘data';數(shù)據(jù)段message1db‘Thissourcefileiswritenbyzhangrui';定義變量message1db0dh,0ah,‘$'message2db‘Ifyouwanttoquittheconvert,pleasepress‘‘ESC'' db0dh,0ah,‘$'input_messagedb‘Pleaseinputnumberofthechannel(0~7)' db0dh,0ah,'$'error_messagedb‘inputincorrectthechannel!',0dh,0ah db‘Pleaseinputnumberofthechannelagain:' db‘$'portdb(?);定義變量port,用于存放通道號(hào)dataendscodesegmentparapublic'code';代碼段assumess:ssack,cs:code,ds:dataa_dpoprocfar;定義a_dpo過程main:movax,ssackmovss,axmovax,datamovds,axmovah,9;顯示第一個(gè)提示信息movdx,segmessage1;取message1的段地址movds,dxmovdx,offsetmessage1;取message1的偏移地址int21hmovah,9;顯示第二個(gè)提示信息movdx,segmessage2movds,dxmovdx,offsetmessage2int21hmovah,9;顯示第三個(gè)提示信息即提示輸入通道號(hào)movdx,seginput_messagemovds,dxmovdx,offsetinput_messageint21hinput:movah,8;檢查輸入通道號(hào)是否有錯(cuò)int21hcmpal,'0'jberrorcmpal,'7'jaerrorsubal,30hmovport,al;若無錯(cuò),則保存通道號(hào)jmpbeginerror:movah,9;顯示出錯(cuò)信息movdx,segerror_messagemovds,dxmovdx,offseterror_messageint21hjmpinputbegin:movdx,303hmoval,88h;初始化8255:10001000,A口輸出,C口高4位輸入,C口底4位輸出outdx,almovdx,300hmoval,port;送通道號(hào)至A口outdx,almovdx,303hmoval,3h;PC1置1,即讓ALE為高電平,進(jìn)行地址鎖存outdx,almovdx,303hmoval,98h;重寫8255,10011000,A口輸入,C口高4位輸入,C口低4位輸出outdx,allop:movdx,303hmoval,1h;使PC0置高,發(fā)啟動(dòng)信號(hào)outdx,al

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論