微機(jī)原理課程設(shè)計(jì)---函數(shù)發(fā)生器_第1頁
已閱讀1頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、<p><b>  xxxx 大 學(xué)</b></p><p><b>  理學(xué)與信息科學(xué)學(xué)院</b></p><p>  微 機(jī) 接 口 課 程 設(shè) 計(jì) 報 告</p><p>  設(shè) 計(jì) 題 目 函數(shù)發(fā)生器設(shè)計(jì) </p><p> 

2、 學(xué)生專業(yè)班級 計(jì)算機(jī)科學(xué)與技術(shù)09-1班 </p><p>  學(xué)生姓名(學(xué)號) </p><p>  設(shè)計(jì)小組其他同學(xué)姓名(學(xué)號) </p><p>  指 導(dǎo) 教 師

3、 </p><p>  完 成 時 間 2012年6月22日 </p><p>  實(shí) 習(xí)(設(shè)計(jì))地點(diǎn) </p><p>  2012年6月22日</p

4、><p>  一、課程設(shè)計(jì)目的和任務(wù)</p><p>  設(shè)計(jì)目的:1、建立微機(jī)系統(tǒng)概念加深對微機(jī)系統(tǒng)的理解和認(rèn)識,提高微機(jī)系統(tǒng)的應(yīng)用能力。2、進(jìn)一步學(xué)習(xí)和掌握微機(jī)程序設(shè)計(jì)方法,通過應(yīng)用程序的應(yīng)用和調(diào)試學(xué)習(xí)程序的調(diào)試。3、進(jìn)一步熟悉微機(jī)典型接口芯片的使用,接口及外部設(shè)備系統(tǒng)的連接方法。</p><p>  設(shè)計(jì)任務(wù):利用D/A設(shè)計(jì)一個波形發(fā)生器,能分別產(chǎn)生三角波、正弦波

5、、鋸齒波和方波等其中的三種以上的波形;并利用按鍵(自行定義)進(jìn)行輸出波形選擇,并對應(yīng)按鍵選擇輸出波形,將以上四種波形顯示在屏幕上,將當(dāng)前輸出波形代號顯示在LED上(左邊位):0為鋸齒波、1正弦波、2三角波、3方波;設(shè)計(jì)電路并在實(shí)驗(yàn)箱上連接線路同時編程實(shí)現(xiàn)其功能。</p><p><b>  二、分析與設(shè)計(jì)</b></p><p>  1.設(shè)計(jì)任務(wù)分析:信號發(fā)生器是我們

6、在學(xué)習(xí),科學(xué)研究等方面不可缺少的工具。此外,信號發(fā)生器在教學(xué)、試驗(yàn)、測控等各個領(lǐng)域有十分廣泛的應(yīng)用,其輸出信號的頻率范圍覆蓋了各個頻段,從甚低頻到甚高頻,操作方式也從手動旋鈕到程控,產(chǎn)生的波形從傳統(tǒng)的正(余)弦波和脈沖波形,發(fā)展到現(xiàn)在能產(chǎn)生各種任意波形。以前的信號發(fā)生器往往獨(dú)占一個機(jī)箱,而現(xiàn)在的一些應(yīng)用中,它只是一塊插在計(jì)算機(jī)中的擴(kuò)展卡,還有一些信號發(fā)生器設(shè)計(jì)成一個獨(dú)立的小模塊,通過RS-232C或RS-422,RS-485等串行總線和

7、計(jì)算機(jī)連接。我們知道當(dāng)我們使用計(jì)算機(jī)來構(gòu)成數(shù)據(jù)采集或者過程控制等系統(tǒng)時,所要采集的外部信號或被控制對象的參數(shù),往往是溫度、壓力、流量、聲音和位移等連續(xù)變化的模擬量。但是,計(jì)算機(jī)只能處理不連續(xù)的數(shù)字量,即離散的有限值。因此,必須用A/D轉(zhuǎn)換器將模擬信號轉(zhuǎn)換成數(shù)字量后才能送入計(jì)算機(jī)進(jìn)行處理。</p><p>  而計(jì)算機(jī)處理后的結(jié)果也必須通過D/A轉(zhuǎn)換器來轉(zhuǎn)換成模擬量后,在示波器上顯示結(jié)果波形和在記錄儀上描述下來,或

8、者是驅(qū)動執(zhí)行部件,才能達(dá)到控制目的??梢娔?shù)轉(zhuǎn)換和數(shù)模轉(zhuǎn)換在構(gòu)成一個控制系統(tǒng)中起著非常重要的作用。</p><p>  2。 設(shè)計(jì)方案論證:D/A轉(zhuǎn)換器產(chǎn)生各種波形的原理:利用D/A轉(zhuǎn)換器輸出的模擬量與輸入數(shù)字量成正比關(guān)系這一特點(diǎn),將D/A轉(zhuǎn)換器作為微機(jī)輸出接口,CPU通過程序向D/A轉(zhuǎn)換器輸出隨時間呈現(xiàn)不同變化規(guī)律的數(shù)字量,則D/A轉(zhuǎn)換器就可輸出各種各樣的模擬量,如方波、三角波、鋸齒波、正弦波等。</p

9、><p>  8255A實(shí)現(xiàn)波形切換的原理:從8255A的B口讀入外接開關(guān)的信號,CPU讀入不同信號值,從而執(zhí)行不同的代碼,向D/A轉(zhuǎn)換器傳送不同的數(shù)據(jù),控制D/A轉(zhuǎn)換器輸出鋸齒波、三角波、方波、正弦波。</p><p>  3.硬件設(shè)計(jì):課程設(shè)計(jì)應(yīng)用到試驗(yàn)箱,以8088為核心,涉及到芯片有8055A和D/A0832。</p><p>  (D/A轉(zhuǎn)換器) D/A083

10、2是8位并行輸出電流型D/A轉(zhuǎn)換器,其主要參數(shù):轉(zhuǎn)換時間1us,滿量程誤差土1LSB,參考電壓—10V~+10V,供電電壓+5V~+15V,輸入邏輯電平與TTL兼容。引腳圖如下圖:</p><p>  (可編程并行接口)8255可編程并行接口芯片有三個輸入輸出端口,即A口、B口和C口,對應(yīng)于引腳PA7~PA0、PB7~PB0和PC7~PC0。其內(nèi)部還有一個控制寄存器,即控制口。通常A口、B口作為輸入輸出的數(shù)據(jù)端口

11、。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位的端口,每個端口包含一個4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號輸出或作為狀態(tài)信號輸入。8255可編程并行接口芯片工作方式說明: 方式0:基本輸入/輸出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。 方式1:選通輸入/輸出方式。這時A口或B口的8位外設(shè)線用作輸入或輸出,C口的4條線中三條用作數(shù)據(jù)傳輸?shù)穆?lián)絡(luò)信號

12、和中斷請求信號。方式2:雙向總線方式。只有A口具備雙向總線方式,8位外設(shè)線用作輸入或輸出,此時C口的5條線用作通訊聯(lián)絡(luò)信號和中斷請求信號。</p><p>  4.程序流程圖和源代碼清單:</p><p><b>  源代碼:</b></p><p>  STACK SEGMENT STACK</p><p>  DW

13、64 DUP(?)</p><p>  STACK ENDS</p><p>  DATA SEGMENT </p><p>  TAB DB 80H,83H,86H,89H,8DH,90H,93H,96H </p><p>  DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH </p><

14、p>  DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H </p><p>  DB 0C7H,0CAH,0CCH,0CFH,0D1H, 0D4H,0D6H,0D8H </p><p>  DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H </p><p>  DB 0EAH,0ECH,

15、0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H </p><p>  DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH </p><p>  DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH </p><p>  DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FF

16、H,0FEH,0FDH </p><p>  DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H </p><p>  DB 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH </p><p>  DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH </p&

17、gt;<p>  DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H </p><p>  DB 0C5H,0C2H,0BFH,0BCH,0BAH, 0B7H,0B4H,0B1H </p><p>  DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H </p><p>  DB 9

18、6H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H </p><p>  DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H </p><p>  DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H </p><p>  DB 4EH, 4CH, 48H, 45H, 43H, 4

19、0H, 3DH, 3AH </p><p>  DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H </p><p>  DB 25H, 22H, 20H, 1EH, 1CH, 1AH, 18H, 16H </p><p>  DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH </p>

20、<p>  DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H </p><p>  DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00H </p><p>  DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H </p><p>  DB 02H, 03H, 0

21、4H, 05H, 06H, 07H, 08H, 09H </p><p>  DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H </p><p>  DB 16H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H </p><p>  DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 3

22、8H </p><p>  DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH </p><p>  DB 51H, 55H, 57H, 5AH, 5DH, 60H, 63H, 66H </p><p>  DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H </p><p> 

23、 DB 256 DUP(?) </p><p>  DATA ENDS</p><p>  CODE SEGMENT</p><p>  ASSUME CS:CODE,DS:DATA</p><p>  CT8255 EQU 0FFDBH ;8255 的控制寄存器地址 </p><p>  B8255 EQU 0F

24、FD9H ;8255 的B口地址 </p><p>  DA0832 EQU 0FFE0H </p><p><b>  START:</b></p><p>  MOV AX,DATA</p><p>  MOV DS,AX </p><p>  MOV AL,82H ;初始化8255,B 口

25、輸入,工作在方式0 </p><p>  MOV DX,CT8255 </p><p>  OUT DX,AL </p><p>  BG:MOV DX,B8255 </p><p><b>  IN AL,DX </b></p><p>  AND AL,07H </p><

26、;p>  CMP AL,01H ;顯示鋸齒波 </p><p><b>  JZ JCBB </b></p><p>  CMP AL,02H ;顯示三角波 </p><p><b>  JZ SJBB </b></p><p>  CMP AL,03H ;顯示方波 </p>&

27、lt;p><b>  JZ FBB </b></p><p>  CMP AL,04H ;顯示正弦波 </p><p><b>  JZ ZXBB </b></p><p>  CMP AL,05H ;顯示梯形波 </p><p><b>  JZ TXB </b><

28、;/p><p><b>  JMP BG </b></p><p>  TXB:JMP TXBB </p><p>  JCBB:PUSH AL</p><p>  MOV AL,06H</p><p>  OUT 60H,AL</p><p><b>  POP A

29、L</b></p><p>  MOV AL,00H ;鋸齒波 </p><p>  AGAIN1: INC AL </p><p>  MOV DX,DA0832 </p><p>  OUT DX,AL </p><p>  CALL DELAY </p><p><b&g

30、t;  PUSH AX </b></p><p>  MOV DX,B8255 </p><p>  IN AL,DX ;再次讀入開關(guān)信號,進(jìn)行比較 </p><p>  CMP AL,01H </p><p><b>  JNZ BG </b></p><p><b>  

31、POP AX </b></p><p>  JMP AGAIN1 </p><p>  SJBB: PUSH AL</p><p>  MOV AL,5BH</p><p>  OUT 60H,AL</p><p><b>  POP AL </b></p><p&

32、gt;  MOV AL,00H ;三角波 </p><p>  UP: MOV DX,DA0832 ;啟動D/A 轉(zhuǎn)換上升 </p><p>  OUT DX,AL </p><p>  CALL DELAY </p><p>  INC AL </p><p>  CMP AL,0FFH </p&

33、gt;<p><b>  JNZ UP </b></p><p><b>  DEC AL </b></p><p>  DOWN: MOV DX,DA0832 ;啟動D/A 轉(zhuǎn)換下降 </p><p>  OUT DX,AL </p><p>  CALL DELAY </p

34、><p><b>  DEC AL </b></p><p>  CMP AL,00H </p><p><b>  JNZ DOWN </b></p><p>  MOV DX,B8255 ;再次讀入開關(guān)信號,進(jìn)行比較 </p><p><b>  IN AL,DX

35、</b></p><p>  CMP AL,02H </p><p><b>  JNZ BG </b></p><p>  JMP SJBB FBB: PUSH AL</p><p>  MOV AL,4FH</p><p>  OUT 60H,AL</p>&l

36、t;p><b>  POP AL</b></p><p>  MOV AL,00H ;方波 </p><p>  FB1: MOV DX,DA0832 ;寫00H,輸出低電平 </p><p>  OUT DX,AL </p><p><b>  PUSH CX </b></p>

37、;<p>  MOV CX,00FFH ;低電平延遲 </p><p>  L: CALL DELAY </p><p><b>  LOOP L </b></p><p><b>  POP CX </b></p><p><b>  PUSH CX </b>

38、</p><p>  MOV CX,00FFH </p><p>  MOV AL,0FFH </p><p>  MOV DX,DA0832 </p><p>  OUT DX,AL </p><p>  L1: CALL DELAY ;高電平延遲 </p><p><b>  LO

39、OP L1 </b></p><p><b>  POP CX </b></p><p>  MOV DX,B8255 ;再次讀入開關(guān)信號,進(jìn)行比較 </p><p><b>  IN AL,DX </b></p><p>  CMP AL,03H </p><p&g

40、t;<b>  JNZ BG1 </b></p><p><b>  JMP FBB </b></p><p>  BG1: JMP BG </p><p>  ZXBB: PUSH AL</p><p>  MOV AL,66H</p><p>  OUT 60H,

41、AL</p><p><b>  POP AL</b></p><p>  LEA BX,TAB </p><p>  MOV CX,0001H </p><p>  ZX2: MOV AL,[BX] ;將TAB 中的數(shù)字一次賦給AL,再輸出正弦波 </p><p><b>  IN

42、C BX </b></p><p><b>  INC CX </b></p><p>  MOV DX,DA0832 </p><p>  OUT DX,AL </p><p>  CALL DELAY1 </p><p>  PUSH AX MOV

43、DX,B8255 ;再次讀入開關(guān)信號,進(jìn)行比較 </p><p><b>  IN AL,DX </b></p><p>  CMP AL,04H </p><p><b>  JNZ BG2 </b></p><p><b>  POP AX </b></p>

44、<p>  CMP CX,256 </p><p><b>  JNE ZX2 </b></p><p><b>  JMP ZXBB </b></p><p>  BG2: JMP BG </p><p>  TXBB: PUSH AL</p><p>  MOV

45、 AL,6DH</p><p>  OUT 60H,AL</p><p><b>  POP AL</b></p><p>  MOV CX,0100H ;梯形波 </p><p>  MOV AL,00H </p><p>  LL0: MOV DX,DA0832 ;低電平段 </p>

46、;<p>  OUT DX,AL </p><p>  CALL DELAY1 </p><p><b>  DEC CX </b></p><p><b>  JNZ LL0 </b></p><p>  LL1: INC AL ;上升段 </p>

47、<p>  MOV DX,DA0832 </p><p>  OUT DX,AL </p><p>  CALL DELAY1 </p><p>  CMP AL,0FFH JNE LL1 </p><p>  MOV CX,0100H </p><p>  LL2: MOV DX,DA08

48、32 </p><p>  OUT DX,AL ;高電平段 </p><p>  CALL DELAY1 </p><p><b>  DEC CX </b></p><p><b>  JNZ LL2 </b></p><p>  LL3: DEC AL

49、 ;下降段 </p><p>  MOV DX,DA0832 </p><p>  OUT DX,AL </p><p>  CALL DELAY1 </p><p>  CMP AL,00H </p><p><b>  JNZ LL3 </b></p>&

50、lt;p>  MOV DX,B8255 ;再次讀入開關(guān)信號,進(jìn)行比較 </p><p>  IN AL,DX </p><p>  CMP AL,05H </p><p><b>  JNZ BG3 </b></p><p>  JMP TXBB </p><p> 

51、 BG3: JMP BG </p><p>  DELAY:CMP AL,0D0H </p><p>  JNB W_END </p><p>  CMP AL,7AH </p><p><b>  JB W_END </b></p><p>  MOV CX,180 </p

52、><p><b>  LOOP $ </b></p><p>  W_END: RET </p><p>  DELAY1:PUSH CX </p><p>  MOV CX,0090H </p><p>  DEL1: PUSH AX </p><p><b> 

53、 POP AX </b></p><p>  LOOP DEL1 </p><p><b>  POP CX </b></p><p><b>  RET </b></p><p>  CODE ENDS </p><p>  END START </p&

54、gt;<p><b>  三、系統(tǒng)實(shí)施</b></p><p>  一、實(shí)驗(yàn)箱上連線 1.CPU與8255A的連接實(shí)驗(yàn)箱已經(jīng)連接好,8255A的A口、B口、C口、控制口的地址為60H、61H、62H、63H。2.CPU與DAC0832的連接XD0~XD7對連。把D/A區(qū)0832片選CS信號線接至8088總線IOY0。將D/A區(qū)WR插孔連到總線IOWR插孔。3.8255A的B口的

55、PB0、PB1、PB2口分別與開關(guān)K1、K2、K3相連。4、8255A的A口PA0、PA1、PA2連接LED數(shù)碼管。連接圖如下:</p><p>  二、調(diào)試修正程序1.調(diào)試程序,改正程序語法錯誤 2.觀察波形,修正程序,使波形更完美。</p><p><b>  三、產(chǎn)生的波形</b></p><p>  程序運(yùn)行后,波形會閃現(xiàn)比較快,多

56、添加幾個延時程序解決。</p><p><b>  四、總結(jié)與體會</b></p><p>  第一周我們先查資料,了解DAC0832和8255A的原理。第二周到實(shí)驗(yàn)室結(jié)合自己查的資料開始分析任務(wù)、設(shè)計(jì)方案,畫出線路圖。在實(shí)驗(yàn)箱連接出線路圖,進(jìn)行調(diào)試。</p><p>  此次課程設(shè)計(jì),鞏固了以前所學(xué)過的知識,加深了對《微機(jī)原理》和《匯編語言》

57、的理解,我進(jìn)一步了解了波形發(fā)生器的原理,在實(shí)際動手操作過程中,使我接觸了許多我以前沒接觸過的元件,使我學(xué)得了許多知識,使我獲益匪淺。</p><p>  在這次的軟件設(shè)計(jì)中,程序設(shè)計(jì)采用的是匯編語言。匯編語言具有速度快,可以直接對硬件進(jìn)行操作的優(yōu)點(diǎn),它可以極好的發(fā)揮硬件的功能。但是匯編語言也存在編寫的代碼非常難懂,不好維護(hù),很容易產(chǎn)生 bug,難于調(diào)試的缺點(diǎn)。因此,在大型程序的設(shè)計(jì)中,多采用C語言進(jìn)行程序編譯。C

58、語言簡潔高效,是最貼近硬件的高級編程語言,經(jīng)過多年的發(fā)展,現(xiàn)在已成熟為專業(yè)水平的高級語言。</p><p>  這次課程設(shè)計(jì),使我的動手能力得到了很大的提高,更使我們懂得理論知識的重要性,沒有理論的指導(dǎo)一切實(shí)際行動都是盲目的,且實(shí)際操作是我們得到的理論知識得到驗(yàn)證,更能增加對理論知識的理解。而且在做課程設(shè)計(jì)的過程中,鍛煉自己分析問題的能力、解決實(shí)際問題的能力還有團(tuán)隊(duì)合作的意識。課程設(shè)計(jì)時間雖然很短,但我學(xué)習(xí)了很多

59、東西。</p><p><b>  五、參考書目</b></p><p>  (按“作者,書名,出版社,出版時間”格式逐一列出)</p><p>  [1] 周明德.微型計(jì)算機(jī)系統(tǒng)原理及應(yīng)用北京:清華大學(xué)出版社,2007.1</p><p>  [2]李志民.計(jì)算機(jī)原理與匯編語言程序設(shè)計(jì).長沙:中南大學(xué)出版社,2001.

60、8 </p><p>  [3] 潘名蓮.微計(jì)算機(jī)原理.北京:電子工業(yè)出版社,2004.7 </p><p>  [4]宮云戰(zhàn).微型計(jì)算機(jī)原理與應(yīng)用基礎(chǔ)教程.北京:機(jī)械工業(yè)出版社,1999.5 </p><p>  [5]李恩林.微機(jī)接口技術(shù)300例.浙江.機(jī)械工業(yè)出版社.2003.5 </p><p>  [6]周荷琴.微型計(jì)算機(jī)原理與接口

61、技術(shù).合肥.中國科學(xué)技術(shù)大學(xué)出版社.2008.1 </p><p>  [7]Stephen E.Derenzo.微機(jī)接口技術(shù)實(shí)驗(yàn)教程.北京.機(jī)械工業(yè)出版社.2006.1 </p><p>  [8]荀殿棟.微處理器應(yīng)用技術(shù)與實(shí)例.北京:電子工業(yè)出版社,1997.11 </p><p><b>  課程設(shè)計(jì)成績評定表</b></p>

溫馨提示

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

評論

0/150

提交評論