模擬電壓采集電路及程序設(shè)計_第1頁
模擬電壓采集電路及程序設(shè)計_第2頁
模擬電壓采集電路及程序設(shè)計_第3頁
模擬電壓采集電路及程序設(shè)計_第4頁
模擬電壓采集電路及程序設(shè)計_第5頁
已閱讀5頁,還剩12頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

微型計算機技術(shù)課程設(shè)計指導教師:學生班級:計科學生姓名:學號:班內(nèi)序號:課設(shè)日期:目錄一.課設(shè)任務(wù)·······························1二.課設(shè)目的·······························1三.設(shè)計內(nèi)容·······························1四.設(shè)計思路·······························2五.設(shè)計步驟·······························2六.試驗流程·······························3七.源代碼·································4八.實驗結(jié)果·······························10九.實驗總結(jié)·······························12一、課程設(shè)計任務(wù):模擬電壓采集電路及程序設(shè)計利用《匯編語言與微型計算機技術(shù)》課程中所學的主要可編程接口芯片8253、8255A、ADC0809和微機內(nèi)部的中斷控制器8259A(從保留的IRQ2或IRQ10端引入)設(shè)計一個模擬電壓采集電路及程序。二、設(shè)計目的通過本設(shè)計,使學生綜合運用《匯編語言與微型計算機技術(shù)》課程以及其它電子類課程的內(nèi)容,為以后從事計算機硬件開發(fā)工作奠定一定的基礎(chǔ)。主要掌握并行I/O接口芯片8253、8255A、ADC0809及中斷控制芯片8259A等可編程器件的使用,掌握譯碼器74LS138的使用。學會用匯編語言編寫一個較完整的實用程序。掌握微型計算機技術(shù)應(yīng)用開發(fā)的全過程:分析需求、設(shè)計原理圖、選用元器件、布線、編程、調(diào)試、撰寫報告等步驟。三、設(shè)計內(nèi)容1.功能要求采用ADC0809設(shè)計一個單通道模擬電壓采集電路,要求對所接通道變化的模擬電壓值進行采集,采集來的數(shù)字量一路送至發(fā)光二極管顯示,一路送至計算機顯示到屏幕上,每行顯示5個數(shù)據(jù),采集完100個數(shù)據(jù)后停止采集過程,采集過程中按下ESC鍵也可中斷采集過程。設(shè)計所需器材與工具一塊實驗面包板(內(nèi)含時鐘電路)??删幊绦酒?253、8255A、ADC0809和譯碼器芯片74LS138、74LS245各一片。74LS06兩片,發(fā)光二極管8個??烧{(diào)電位器4.7KΩ一個。導線若干。示波器、萬用表、常用工具等共用(從實驗室現(xiàn)借現(xiàn)還)。8255的自檢測這部分要求我們初始化8255,為了能夠正確的看出8255已經(jīng)初始化,當8255初始化后向B口送數(shù)據(jù)0FH到發(fā)光二管上顯示,如果能夠正確顯示就說明8255已經(jīng)被初始化。8253的自檢測這部分要求我們初始化8253,8253初始化后可以通過示波器觀察輸出的波形是否滿足要求。進行A/D轉(zhuǎn)換。這部分是本次課設(shè)的關(guān)鍵部分,在做此之前,必須保證8255和8253都被正確的初始化,通過8255的C口控制ADC0809對模擬數(shù)據(jù)的采集,然后從A口讀取轉(zhuǎn)換后的數(shù)據(jù),一路送發(fā)光二極管顯示,一路送顯示器上顯示,這里模擬量由電位器得到。退出系統(tǒng)想結(jié)束程序的時候,從菜單上選擇Esc鍵就可以退出程序。四、設(shè)計思路4.7KΩ電位器一端接+5V,一端接地,調(diào)節(jié)電位器得到變化的模擬電壓,該電壓接至ADC0809的某一通道輸入端(如IN0),ADC0809的時鐘為500KHz,由8253對面包板上時鐘1MHz或2MHz分頻后得到,8253的端口地址:300H~303H。編程啟動ADC0809轉(zhuǎn)換(ADC0809完成一次轉(zhuǎn)換的時間大約為120μs),將ADC0809的EOC引腳信號作為中斷信號,若轉(zhuǎn)換結(jié)束則進入中斷服務(wù)程序。在中斷服務(wù)程序中讀入模數(shù)轉(zhuǎn)換結(jié)果,一路送至發(fā)光二極管顯示,一路送至計算機顯示到屏幕上。8255A用做CPU和ADC0809間的接口芯片,ADC0809的控制信號(如OE、ALE、START等)可由8255A的PC口提供,模數(shù)轉(zhuǎn)換后的數(shù)字量可經(jīng)8255A的PA口讀入,經(jīng)8255A的PB口輸出到發(fā)光二極管。8255A端口地址:304H~307H。譯碼電路由74LS138提供。74LS245用于總線和8255A之間的雙向傳輸和隔離。硬件珠城際工作原理五、設(shè)計步驟設(shè)計出正確的接口電路原理圖,要求用專業(yè)繪圖軟件繪制電路圖,并注明器件的名稱和管腳。根據(jù)要求用74LS138設(shè)計出正確的I/O譯碼電路。正確運用所給器件布線,搭接硬件電路。選用匯編語言編寫主程序以及各芯片調(diào)試子程序,要求:具有操作界面、使用方便;實現(xiàn)功能要求;功能模塊應(yīng)有詳細注釋。調(diào)試并排錯,包括硬件電路和軟件編程部分的錯誤。按照下圖連接電路六、實驗流程1、ADC主程序編寫2、ADC中斷服務(wù)程序的編寫七、源代碼DATASEGMENTMESG1DB'1sinvokeinterruptonetime,andtolightoneofLEDs',0ah,0dhDB'ExitwithEsc',0ah,0dh,'$'INT0A_OFFDW(?)INT0A_SEGDW(?)DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATADELAYPROC PUSHCXPUSHBXMOVBX,0FFFHLOOP2:MOVCX,0FFFFHLOOP1:LOOPLOOP1DECBXJNZLOOP2 POPBX POPCX RETDELAYENDPDISPPROC pushaxshow:andal,0f0h;顯示高4位 shral,4 cmpal,9 jahex addal,30h jmpnexthex:addal,37hnext:movdl,al movah,2 int21H popax andal,0fh;顯示低4位 cmpal,9 jahex1 addal,30h jmpnext1hex1:addal,37hnext1:movdl,almovah,2 int21h movdl,13 ;向屏幕送回車符 movah,2 int21h movdl,10 ;向屏幕送換行符 movah,2 int21h RETDISPENDPSTART:MOVAX,DATAMOVDS,AXMOVAH,09H MOVDX,OFFSETMESG1 INT21h;顯示提示信息MOVDX,303H;初始化8255MOVAL,80HOUTDX,ALMOVAX,3572H;獲取原中斷向量INT21HMOVINT0A_OFF,BX;保存原中斷向量MOVBX,ESMOVINT0A_SEG,BXCLI;關(guān)中斷MOVAX,2572HMOVDX,SEGLEDLIGHT;設(shè)置新的中斷向量PUSHDSMOVDS,DXMOVDX,OFFSETLEDLIGHTINT21HPOPDSSTI;開中斷INAL,0A1H;打開IRQ10ANDAL,0FBHOUT0A1H,ALINAL,21H;打開IRQ2ANDAL,0FBHOUT21H,AL MOVDX,307H ;8253定時1SMOVAL,01110110BOUTDX,ALMOVDX,305HMOVAL,0E8HOUTDX,ALMOVAL,03HOUTDX,ALMOVDX,307HMOVAL,10110110BOUTDX,ALMOVDX,306H MOVAL,0E8HOUTDX,ALMOVAL,03HOUTDX,ALL1:MOVAH,0BH;檢查是否有Esc鍵按下INT21HINCALJNZNEXT0;若無鍵按下,則程序往下執(zhí)行MOVAH,08H;如有Esc鍵按下,則程序退出INT21HCMPAL,27JZEXITNEXT0: CALLDELAY JMPL1LEDLIGHTPROCFAR;中斷服務(wù)程序PUSHSIPUSHAXPUSHDXCLI;關(guān)中斷movdx,303h;初始化8255狀態(tài)字,A口輸出 moval,80h outdx,al movdx,300h ;送通道號至A口 moval,0 outdx,al movdx,303h moval,3h ;00000011,使PC1為1 outdx,al ;PC1置1進行地址鎖存 ;movdx,303h ;moval,90h ;outdx,al ;重寫8255方式字,A口輸入,B口輸出,C口低四位輸出movdx,303h;使PC0置高發(fā)啟動信號 moval,1h ;00000001,先使PC0為1 outdx,al movcx,0f00h;delay;lop1:looplop1 movdx,303h moval,0h ;00000000,延時后使PC0為0發(fā)啟動信號 outdx,alnop nop movdx,303hmoval,5h ;00000101,使PC2為高,發(fā)出OE outdx,al movdx,300h ;從A口讀數(shù)據(jù) inal,dx MOVDX,301H ;從B口向LED輸出數(shù)據(jù) OUTDX,AL CALLDISP ;向屏幕輸出數(shù)據(jù)MOVAL,62H;發(fā)中斷結(jié)束命令MOVDX,0A0HOUTDX,AL;向從片8259發(fā)EOI命令OUT020H,AL;向主片8259發(fā)EOI命令STI;開中斷POPDXPOPAXPOPSIIRETLEDLIGHTENDPEXIT:MOVAX,2572H;恢復中斷向量MOVDX,INT0A_SEGPUSHDSMOVDS,DXMOVDX,INT0A_OFFINT21HPOPDSINAL,0A1H;屏蔽IRQ10ORAL,04HOUT0A1H,ALINAL,21H;屏蔽IRQ2ORAL,04HOUT21H,ALMOVAX,4C00H;程序退出INT21HCODEENDSENDSTART八、實驗結(jié)果(如下圖)1、鍵入單選項“1”進

溫馨提示

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

評論

0/150

提交評論