微型計算機技術(shù)課程設(shè)計--模擬電壓采集電路設(shè)計_第1頁
已閱讀1頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p>  微機原理及應(yīng)用課程設(shè)計</p><p>  題目:模擬電壓采集電路設(shè)計</p><p><b>  姓 名:</b></p><p><b>  指導(dǎo)老師:</b></p><p><b>  年 級:</b></p><p

2、><b>  班級序號:</b></p><p><b>  專 業(yè):</b></p><p><b>  日 期:</b></p><p><b>  目 錄</b></p><p><b>  一.課設(shè)目的及內(nèi)容<

3、;/b></p><p>  二.設(shè)計思路及問題分析</p><p>  三.電路設(shè)計及硬件原理圖</p><p><b>  四.程序流程圖</b></p><p><b>  五.程序清單</b></p><p>  六.解決難點思路及方法</p>&

4、lt;p><b>  七.收獲體會及建議</b></p><p><b>  課設(shè)目的及內(nèi)容</b></p><p><b>  課設(shè)目的</b></p><p> ?。?).學(xué)會綜合運用《微型計算機原理及應(yīng)用》、《微型計算機原理及應(yīng)用試驗指導(dǎo)書》課程的內(nèi)容,為以后從事計算機相關(guān)行業(yè)奠定一定基礎(chǔ)

5、。</p><p> ?。?).主要掌握并行I/O接口芯片8253、8255、ADC0809、中斷控制器8259、譯碼器74LS138及數(shù)據(jù)總線緩沖器74LS245的使用。</p><p>  (3).學(xué)會用匯編語言編寫一個較完整的實用程序。</p><p> ?。?).掌握微型計算機技術(shù)應(yīng)用開發(fā)的全過程:分析需求、設(shè)計原理圖、選用元器件、布線、編程、調(diào)試、撰寫報告

6、等步驟。</p><p><b>  課設(shè)內(nèi)容</b></p><p>  利用《微型計算機原理》課程中所學(xué)的主要可編程接口芯片74LS138、8253、8255A、ADC0809和中斷控制器8259設(shè)計一個模擬電壓采集電路。采用ADC0809設(shè)計一個單通道模擬電壓采集電路,要求對所接通道變化的模擬電壓值進行采集,采集來的數(shù)字量送至數(shù)碼管LED指示,采集完100個數(shù)據(jù)

7、后停止采集過程。</p><p>  選用8088CPU和適當(dāng)?shù)拇鎯ζ餍酒?、接口芯片完成相?yīng)的功能。</p><p>  畫出詳細的硬件連接圖。</p><p>  畫出各程序的詳細框圖。</p><p>  給出RAM地址分配表及接口電路的端口地址。</p><p><b>  給出設(shè)計思路。</b&

8、gt;</p><p>  給出程序所有清單并加上必要的注釋。</p><p><b>  完成設(shè)計說明書。</b></p><p>  二.設(shè)計思路及問題分析</p><p><b>  1.設(shè)計思路</b></p><p> ?。?)選用芯片為8088單片機,工作在最小工

9、作模式,所以需要使用8259芯片作為中斷管理。</p><p> ?。?)我們需要對100個數(shù)據(jù)采樣和存儲,需要使用ADC0809用來A/D轉(zhuǎn)換,而且要8253來定時??偩€上,我們需要74LS245來做總線緩沖器,還要74LS138用來提供芯片的段選。</p><p> ?。?)采集到結(jié)果需要送至數(shù)碼管LED指示,需要8255并行接口芯片。</p><p>  為此

10、可以列出所需器件清單:</p><p>  8088單片機、8253、8255、8259、74LS138、74LS245芯片各一片</p><p>  可調(diào)電位器4.7K、數(shù)碼管LED各一個及其他邏輯器件,導(dǎo)向若干。</p><p><b>  問題分析</b></p><p>  通過分析題目,我們可以理解到課設(shè)要求是

11、對一個模擬電壓進行采樣并而存儲及送到數(shù)碼管LED指示,一共采集100個數(shù)據(jù)后停止。</p><p>  我們可以想到,ADC0809模數(shù)轉(zhuǎn)換需要時間,通過查找資料,我們可以轉(zhuǎn)換時間大概是120us。所以,每個數(shù)據(jù)采集及轉(zhuǎn)換時間要大于120us,所以我們采用8253用來定時及通過輸出高電平觸發(fā)中斷,每個中斷周期內(nèi),ADC0809采樣一次。</p><p>  采樣的數(shù)據(jù)會傳送到8255,通過

12、C口控制ADC0809對模擬數(shù)據(jù)的采集,然后從A口讀取轉(zhuǎn)換后的數(shù)據(jù),一路送數(shù)碼管LED指示,一路送CPU存儲。</p><p>  三.電路設(shè)計及原理圖</p><p><b>  部分芯片資料</b></p><p>  (1)74LS245數(shù)據(jù)總路線緩沖器</p><p> ?。?).ADC0809簡介</p&

13、gt;<p>  提供一個8通道的多路開關(guān)和尋址邏輯</p><p>  IN0~IN7:8個模擬電壓輸入端</p><p>  ADDA、ADDB、ADDC:3個地址輸入線</p><p>  ALE:地址鎖存允許信號</p><p>  ALE的上升沿用于鎖存3個地址輸入的狀態(tài),然后由譯碼器從8個模擬輸入中選擇一個模擬輸入端

14、進行A/D</p><p>  ADC0809的數(shù)字輸出</p><p>  ADC0809內(nèi)部鎖存轉(zhuǎn)換后的數(shù)字量</p><p>  具有三態(tài)數(shù)字量輸出端D0~D7</p><p>  配合輸出允許信號OE</p><p>  當(dāng)輸出允許信號OE為高電平有效時,將三態(tài)鎖存緩沖器的數(shù)字量從D0~D7輸出</p&g

15、t;<p><b>  (3)8253芯片</b></p><p><b> ?。?)8255芯片</b></p><p><b>  (5)8259芯片</b></p><p><b>  電路設(shè)計</b></p><p> ?。?) 4.

16、7KΩ電位器一端接+5V,一端接地,調(diào)節(jié)電位器得到變化的模擬電壓,該電壓接至ADC0809的IN0輸入端,ADC0809的時鐘為500KHz,可由總線直接提供,用8253進行定時中斷,中斷后進行A/D轉(zhuǎn)換,要求定時為100ms,8253的端口地址:300H—303H</p><p> ?。?)編程啟動ADC0809轉(zhuǎn)換(ADC0809完成一次轉(zhuǎn)換的時間大約為120μs),在中斷服務(wù)程序中讀入模數(shù)轉(zhuǎn)換結(jié)果,一路送至

17、數(shù)碼管LED指示,一路送至CPU存儲器。</p><p><b>  。</b></p><p> ?。?)8255A用做CPU和ADC0809間的接口芯片,ADC0809的控制信號(如OE、ALE、START等)可由8255A提供,8255A端口地址:200H—203H</p><p>  。模數(shù)轉(zhuǎn)換后的數(shù)字量也可經(jīng)8255A的PA口讀入。&

18、lt;/p><p> ?。?)譯碼電路由74LS138提供,在總線和其它接口芯片之間還必須加入74LS245,起到隔離總線的作用。</p><p><b>  芯片初始化</b></p><p>  (1)初始化8255:</p><p>  8255有四個寄存器,地址為200h-203h,分別為A口,B口,C口,和控制口,

19、首先要向C口寫入控制字,控制字格式如下:工作方式控制</p><p>  D7 D6 D5 D4 D3 D2 D1 D0</p><p>  C端口置位/復(fù)位控制</p><p>  D7 D6 D5 D4 D3 D2 D1 D0</p><p> 

20、 可用如下代碼初始化8255:</p><p>  mov dx,203H</p><p>  mov al,10011001B</p><p><b>  out dx,al</b></p><p>  (2)初始化8253</p><p>  8253控制字格式如下</p>&l

21、t;p>  D7 D6 D5 D4 D3 D2 D1 D0</p><p>  輸入時鐘信號為0.25MHZ,要得到100mS定時,需要寫入的計數(shù)初值為25000,選用計數(shù)器0,工作方式3,代碼如下:</p><p>  mov dx,303H</p><p>  mov al,00110110

22、B</p><p><b>  out dx,al</b></p><p>  mov ax,25000</p><p>  mov dx,300H</p><p><b>  out dx,al</b></p><p><b>  mov al,ah</b&

23、gt;</p><p><b>  out dx,al</b></p><p><b>  原理圖</b></p><p><b>  四 程序流程圖</b></p><p><b>  1.主程序</b></p><p><

24、b>  2.中斷程序 </b></p><p><b>  五.程序清單</b></p><p>  DATA SEGMENT ;分配采集數(shù)據(jù)存儲地址</p><p>  ORG 2000H</p><p>  RESU

25、LT DB 200(CUP?) </p><p>  DATA ENDS</p><p>  CODE SEGMENT</p><p>  ASSUME CS:CODE,DS:DATA,ES:DATA</p><p>  START

26、 MOV AX,DATA ;CPU初始化</p><p>  MOV DS,AX</p><p>  MOV ES,AX</p><p>  MOV SI,OFFSET RESULT</p><p>  MOV DX,203H ;8255初始化</p>

27、;<p>  MOV AL,10011001B</p><p>  OUT DX,AL</p><p>  MOV DX,201H ;設(shè)置B口沒采集數(shù)據(jù)時輸出</p><p>  MOV AL,00H</p><p>  OUT DX,AL</p>&

28、lt;p>  MOV DX,202H ;設(shè)置C口初始值</p><p>  MOV AL,90H</p><p>  OUT DX,AL</p><p>  MOV DX,303H ;8253初始化</p><p>  MOV AL,00110110B&l

29、t;/p><p>  OUT DX,AL</p><p>  MOV AX,25000</p><p>  MOV DX,300H</p><p>  OUT DX,AL</p><p>  MOV AL,AH</p><p>  OUT DX,

30、AL</p><p>  MOV AX,0 ;設(shè)置中斷向量表,中斷類型嗎為IR7</p><p>  MOV ES,AX</p><p>  MOV BX,OFH*4</p><p>  MOV AX,OFFSET INTP</p><p>  MO

31、V ES:[BX],AX</p><p>  MOV AX,SEG INTP</p><p>  MOV ES:[BX+2],AX</p><p>  CLI ;清除中斷標(biāo)志位</p><p>  IN AL,101H ;

32、8259初始化</p><p>  AND AL,7F ;開IR7中斷</p><p>  OUT 101H,AL</p><p>  MOV CX,100 ;設(shè)置采集數(shù)據(jù)數(shù)</p><p>  RET: STI

33、 ;開中斷</p><p>  CMP CX,0000 ;判斷采集數(shù)據(jù)數(shù)是否為100</p><p>  JNE RET</p><p>  CLI ;關(guān)中斷</p><p>  CODE ENDS</p><

34、;p>  END START</p><p>  INTP PROC FAR ;中斷子程序</p><p>  MOV DX,202H ;往ADC0809的START端</p><p>  MOV AL,00H ;產(chǎn)生啟動

35、信號,開始采集</p><p>  OUT DX,AL ;數(shù)據(jù)</p><p><b>  NOP</b></p><p>  MOV AL,01H</p><p>  OUT DX,AL</p><p><b>  NOP&

36、lt;/b></p><p>  MOV AL,00H</p><p>  OUT DX,AL</p><p>  QUERY: IN AL,DX ;檢測數(shù)據(jù)是否采集轉(zhuǎn)換完</p><p>  TEST AL,10H</p>

37、<p>  JZ QUERY</p><p>  MOV DX, 200H ;把采集的數(shù)據(jù)傳送到8255A口</p><p>  IN AL,DX</p><p>  INC DX ;把采集的數(shù)據(jù)傳送到數(shù)碼管指示</p>&

38、lt;p>  OUT DX,AL</p><p>  MOV [SI],AL ;把采集的數(shù)據(jù)放到存儲器上</p><p>  INC SI</p><p>  DEC CX </p><p>  MOV DX,202

39、H ;8255的C口復(fù)位</p><p>  MOV AL,90H</p><p>  OUT DX,AL</p><p>  MOV AL,20H ;中斷結(jié)束</p><p>  OUT 100H,AL</p><p>

40、;  CLI ;清除中斷標(biāo)志位</p><p>  IRET ;中斷返回</p><p>  INTP ENDP</p><p>  六:解決難點思路及方法</p><p>  本題設(shè)難點不多,但需要注意的地方如下:</

41、p><p> ?。?)、要想啟動0809進行轉(zhuǎn)換,首先必須有一個start信號,該信號為:</p><p>  要產(chǎn)生這樣一個信號,我們通過編程可以如下實現(xiàn)</p><p>  MOV DX,202H </p><p>  MOV AL,00H

42、 </p><p>  OUT DX,AL </p><p><b>  NOP</b></p><p>  MOV AL,01H</p><p>  OUT DX,AL</p><p>

43、<b>  NOP</b></p><p>  MOV AL,00H</p><p>  OUT DX,AL</p><p>  其中NOP為空操作,一個時間周期,作為一個延時,所以通過改變電平高低及NOP語句可以令C口輸出如上啟動信號。</p><p> ?。?)、注意每次轉(zhuǎn)換完后都必須

44、將C端口置位,才能保證下次進入中斷后能按程序轉(zhuǎn)化采集數(shù)據(jù)</p><p>  MOV DX,202H ;</p><p>  MOV AL,90H</p><p>  OUT DX,AL</p><p> ?。?)由于采用的單片機為8088,工作在最小工作模式,所以需要采用中斷服務(wù)芯片80

45、59A來處理中斷,本題設(shè)設(shè)置的中斷為IR7,則如下設(shè)置:</p><p>  IN AL,101H </p><p>  AND AL,7F </p><p>  OUT 101H,AL</p><p><b>  七、收獲體會及

46、建議</b></p><p>  通過這次課程設(shè)計,我學(xué)到了很多有用的知識。要完成這次課設(shè),首先要熟悉了解微型計算機技術(shù)中所學(xué)到的幾種芯片的使用如8253、8255、8258芯片和8088單片機,還要通過上網(wǎng)查找資料,弄清74LS138、74LS245、ADC0809芯片的功能特點。對上面提到的芯片,我們除了要掌握它們的初始化編程,還要學(xué)會它們的基本應(yīng)用,這是一個比較全面的設(shè)計,和本學(xué)期的微機原理實驗

47、相比較復(fù)雜很多。一方面要求我們設(shè)計硬件電路,另一方面需要對設(shè)計的硬件電路進行編程,這是軟件和硬件相結(jié)合。這次課設(shè)中用到了8259中斷、8253定時、8255三態(tài)傳輸,是本學(xué)期微機原理3大主要芯片的綜合應(yīng)用與設(shè)計。雖然課設(shè)的要求不難,但要把書本的知識應(yīng)用到實際,還是有一定距離的。通過不斷的思考,實踐,思考再實踐,自己終于獨立完成了整個硬軟件設(shè)計。</p><p>  回顧自己的課程設(shè)計還有些不足的地方,芯片的時鐘信

48、號用555電路提供,用于555電路{f=1/Cln2(Ra+2Rb)}選用Ra和Rb難免會有點誤差。而且本課設(shè)沒有真正投入到實際電路調(diào)試,只是停留在軟件階段,考慮到穩(wěn)定性、準確性還是有待提高。</p><p>  我覺得本次課設(shè)非常好,可以培養(yǎng)學(xué)生的思維能力、動手能力,學(xué)以致用,做到“知其然”,更要“知其所以然”。在不脫離書本的情況下,又允許學(xué)生有點小創(chuàng)新??傮w來說,經(jīng)過親手完成課設(shè)內(nèi)容,我還是受益匪淺的。<

溫馨提示

  • 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論