微機原理課程設計-- 波形發(fā)生器_第1頁
已閱讀1頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  微機原理課程設計說明書</p><p>  2012 級 電氣工程及其自動化 專業(yè) 1206972 班級</p><p>  題 目 波形發(fā)生器 </p><p>  二О一二 年 十二 月 十四 日</p><p><b>  摘

2、要:</b></p><p>  波形發(fā)生器是我們在學習,科學研究等方面不可缺少的工具,鋸齒波和正弦波、矩形波、三角波是常用的基本測試信號。此外,如在示波器、電視機等儀器中,為了使電子按照一定規(guī)律運動,以利用熒光屏顯示圖像,常用到鋸齒波產生器作為時基電路。電視機中顯像管熒光屏上的光點,是靠磁場變化進行偏轉的,所以需要要用鋸齒波電流來控制,對于三角波,方波同樣有這不可忽視的作用而函數發(fā)生器是指一般能自動

3、產生方波 正弦波 三角波以及鋸齒波階梯波等電壓波形的電路或儀器。此外,信號發(fā)生器在教學、試驗、測控等各個領域有十分廣泛的應用,其輸出信號的頻率范圍覆蓋了各個頻段,從甚低頻到甚高頻,操作方式也從手動旋鈕到程控,產生的波形從傳統(tǒng)的正(余)弦波和脈沖波形,發(fā)展到現在能產生各種任意波形。</p><p>  關鍵詞:DAC0832 D/A轉換器 8255A</p><p>  一、波形發(fā)生器

4、的基本原理</p><p>  D/A轉換器產生各種波形的原理[1]:利用D/A轉換器輸出的模擬量與輸入數字量成正比關系這一特點,將D/A轉換器作為微機輸出接口,CPU通過程序向D/A轉換器輸出隨時間呈現不同變化規(guī)律的數字量,則D/A轉換器就可輸出各種各樣的模擬量,如方波、三角波、鋸齒波、正弦波等。</p><p>  8255A實現波形切換的原理:從8255A的B口讀入外接開關的信號,C

5、PU讀入不同信號值,從而執(zhí)行不同的代碼,向D/A轉換器傳送不同的數據,控制D/A轉換器輸出鋸齒波、三角波、方波、正弦波和梯形波。</p><p><b>  m</b></p><p><b>  二、設計方案</b></p><p>  本次課程設計采用DAC0832 D/A轉換器來產生各種波形,通過8255A與外部控制

6、開關相連實現不同波形的切換。此課程設計共設計了5種波形,分別是鋸齒波、三角波、方波、正弦波和梯形波。</p><p>  三、硬件的方案選擇與設計</p><p>  1.8086(8088)CPU</p><p><b>  引腳圖(如圖1):</b></p><p><b>  圖1</b>&l

7、t;/p><p>  2.DAC0832(D/A轉換器)</p><p>  D/A0832是8位并行輸出電流型D/A轉換器[2],其主要參數:轉換時間1us,滿量程誤差土1LSB,參考電壓—10V~+10V,供電電壓+5V~+15V,輸入邏輯電平與TTL兼容。</p><p><b>  引腳圖(如圖2):</b></p><

8、p><b>  圖2</b></p><p>  3.8255A(可編程并行接口)</p><p>  8255可編程并行接口芯片有三個輸入輸出端口,即A口、B口和C口,對應于引腳PA7~PA0、PB7~PB0和PC7~PC0。其內部還有一個控制寄存器,即控制口。通常A口、B口作為輸入輸出的數據端口。C口作為控制或狀態(tài)信息的端口,它在方式字的控制下,可以分成4位

9、的端口,每個端口包含一個4位鎖存器。它們分別與端口A/B配合使用,可以用作控制信號輸出或作為狀態(tài)信號輸入。 8255可編程并行接口芯片工作方式說明:</p><p>  方式0:基本輸入/輸出方式。適用于三個端口中的任何一個。每一個端口都可以用作輸入或輸出。輸出可被鎖存,輸入不能鎖存。 方式1:選通輸入/輸出方式。這時A口或B口的8位外設線用作輸入或輸出,C口的4條線中三條用作數據傳輸的聯絡信號和中斷請

10、求信號。方式2:雙向總線方式。只有A口具備雙向總線方式,8位外設線用作輸入或輸出,此時C口的5條線用作通訊聯絡信號和中斷請求信號。</p><p><b>  引腳圖(如圖3):</b></p><p><b>  圖3</b></p><p>  4總電路圖.(如圖4)</p><p><b

11、>  圖4</b></p><p><b>  四、軟件設計</b></p><p><b>  4.1總程序流程圖</b></p><p>  4.2總程序如下[3]</p><p>  CODE SEGMENT</p><p>  ASSUME CS:C

12、ODE,DS:CODE,SS:CODE,ES:CODE</p><p>  CT8255 EQU 0FFDBH ;8255 的控制寄存器地址</p><p>  B8255 EQU 0FFD9H ;8255 的B口地址</p><p>  DA0832 EQU 0FFE0H</p><p><b>  ORG 1200H</b

13、></p><p><b>  START:</b></p><p>  MOV AL,82H ;初始化8255,B 口輸入,工作在方式0</p><p>  MOV DX,CT8255</p><p><b>  OUT DX,AL</b></p><p>  BG:

14、MOV DX,B8255</p><p><b>  IN AL,DX</b></p><p>  AND AL,07H</p><p>  CMP AL,01H ;顯示鋸齒波</p><p><b>  JZ JCBB</b></p><p>  CMP AL,02H ;顯

15、示三角波</p><p><b>  JZ SJBB</b></p><p>  CMP AL,03H ;顯示方波</p><p><b>  JZ FBB</b></p><p>  CMP AL,04H ;顯示正弦波</p><p><b>  JZ ZXBB&

16、lt;/b></p><p>  CMP AL,05H ;顯示梯形波</p><p><b>  JZ TXB</b></p><p><b>  JMP BG</b></p><p>  TXB:JMP TXBB</p><p>  JCBB: MOV AL,00H

17、;鋸齒波</p><p>  AGAIN1: INC AL</p><p>  MOV DX,DA0832</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY</p><p><b>  PUSH AX</b></p>

18、<p>  MOV DX,B8255</p><p>  IN AL,DX ;再次讀入開關信號,進行比較</p><p>  CMP AL,01H</p><p><b>  JNZ BG</b></p><p><b>  POP AX</b></p><p>

19、;  JMP AGAIN1</p><p>  SJBB: MOV AL,00H ;三角波</p><p>  UP: MOV DX,DA0832 ;啟動D/A 轉換上升</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY</p><p><b&

20、gt;  INC AL</b></p><p>  CMP AL,0FFH</p><p><b>  JNZ UP</b></p><p><b>  DEC AL</b></p><p>  DOWN: MOV DX,DA0832 ;啟動D/A 轉換下降</p><

21、;p><b>  OUT DX,AL</b></p><p>  CALL DELAY</p><p><b>  DEC AL</b></p><p>  CMP AL,00H</p><p><b>  JNZ DOWN</b></p><p>

22、;  MOV DX,B8255 ;再次讀入開關信號,進行比較</p><p><b>  IN AL,DX</b></p><p>  CMP AL,02H</p><p><b>  JNZ BG</b></p><p><b>  JMP SJBB</b></p>

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

24、H ;低電平延遲</p><p>  L: CALL DELAY</p><p><b>  LOOP L</b></p><p><b>  POP CX</b></p><p><b>  PUSH CX</b></p><p>  MOV CX,0

25、0FFH</p><p>  MOV AL,0FFH</p><p>  MOV DX,DA0832</p><p><b>  OUT DX,AL</b></p><p>  L1: CALL DELAY ;高電平延遲</p><p><b>  LOOP L1</b>&l

26、t;/p><p><b>  POP CX</b></p><p>  MOV DX,B8255 ;再次讀入開關信號,進行比較</p><p><b>  IN AL,DX</b></p><p>  CMP AL,03H</p><p><b>  JNZ BG1&l

27、t;/b></p><p><b>  JMP FBB</b></p><p>  BG1: JMP BG</p><p>  ZXBB: LEA BX,TAB</p><p>  MOV CX,0001H</p><p>  ZX2: MOV AL,[BX] ;將TAB 中的數字一次賦給A

28、L,再輸出正弦波</p><p><b>  INC BX</b></p><p><b>  INC CX</b></p><p>  MOV DX,DA0832</p><p><b>  OUT DX,AL</b></p><p>  CALL D

29、ELAY1</p><p><b>  PUSH AX</b></p><p>  MOV DX,B8255 ;再次讀入開關信號,進行比較</p><p><b>  IN AL,DX</b></p><p>  CMP AL,04H</p><p><b>  J

30、NZ BG2</b></p><p><b>  POP AX</b></p><p>  CMP CX,256</p><p><b>  JNE ZX2</b></p><p><b>  JMP ZXBB</b></p><p>  B

31、G2: JMP BG</p><p>  TXBB: MOV CX,0100H ;梯形波</p><p>  MOV AL,00H</p><p>  LL0: MOV DX,DA0832 ;低電平段</p><p><b>  OUT DX,AL</b></p><p>  CALL DELAY

32、1</p><p><b>  DEC CX</b></p><p><b>  JNZ LL0</b></p><p>  LL1: INC AL ;上升段</p><p>  MOV DX,DA0832</p><p><b>  OUT

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

34、;<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 ;下降段<

35、;/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><p>  MOV DX,B825

36、5 ;再次讀入開關信號,進行比較</p><p>  IN AL,DX</p><p>  CMP AL,05H</p><p><b>  JNZ BG3</b></p><p><b>  JMP TXBB</b></p><p>  BG3: JM

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

38、;<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>  POP A

39、X</b></p><p><b>  LOOP DEL1</b></p><p><b>  POP CX</b></p><p><b>  RET</b></p><p><b>  ORG 5000H</b></p>&l

40、t;p>  TAB DB 80H,83H,86H,89H,8DH,90H,93H,96H</p><p>  DB 99H,9CH,9FH,0A2H,0A5H,0A8H,0ABH,0AEH</p><p>  DB 0B1H,0B4H,0B7H,0BAH,0BCH,0BFH,0C2H,0C5H</p><p>  DB 0C7H,0CAH,0CCH,0CFH,

41、0D1H, 0D4H,0D6H,0D8H</p><p>  DB 0DAH,0DDH,0DFH,0E1H,0E3H, 0E5H,0E7H,0E9H</p><p>  DB 0EAH,0ECH,0EEH,0EFH,0F1H, 0F2H,0F4H,0F5H</p><p>  DB 0F6H,0F7H,0F8H,0F9H,0FAH, 0FBH,0FCH,0FDH&l

42、t;/p><p>  DB 0FDH,0FEH,0FFH,0FFH,0FFH, 0FFH,0FFH,0FFH</p><p>  DB 0FFH,0FFH,0FFH,0FFH,0FFH, 0FFH,0FEH,0FDH</p><p>  DB 0FDH,0FCH,0FBH,0FAH,0F9H, 0F8H,0F7H,0F6H</p><p>  D

43、B 0F5H,0F4H,0F2H,0F1H,0EFH, 0EEH,0ECH,0EAH</p><p>  DB 0E9H,0E7H,0E5H,0E3H,0E1H, 0DEH,0DDH,0DAH</p><p>  DB 0D8H,0D6H,0D4H,0D1H,0CFH, 0CCH,0CAH,0C7H</p><p>  DB 0C5H,0C2H,0BFH,0BCH,

44、0BAH, 0B7H,0B4H,0B1H</p><p>  DB 0AEH,0ABH,0A8H,0A5H,0A2H, 9FH, 9CH, 99H</p><p>  DB 96H, 93H, 90H, 8DH, 89H, 86H, 83H, 80H</p><p>  DB 80H, 7CH, 79H, 78H, 72H, 6FH, 6CH, 69H</p&

45、gt;<p>  DB 66H, 63H, 60H, 5DH, 5AH, 57H, 55H, 51H</p><p>  DB 4EH, 4CH, 48H, 45H, 43H, 40H, 3DH, 3AH</p><p>  DB 38H, 35H, 33H, 30H, 2EH, 2BH, 29H, 27H</p><p>  DB 25H, 22H,

46、 20H, 1EH, 1CH, 1AH, 18H, 16H</p><p>  DB 15H, 13H, 11H, 10H, 0EH, 0DH, 0BH, 0AH</p><p>  DB 09H, 08H, 07H, 06H, 05H, 04H, 03H, 02H</p><p>  DB 02H, 01H, 00H, 00H, 00H, 00H, 00H, 00

47、H</p><p>  DB 00H, 00H, 00H, 00H, 00H, 00H, 01H, 02H</p><p>  DB 02H, 03H, 04H, 05H, 06H, 07H, 08H, 09H</p><p>  DB 0AH, 0BH, 0DH, 0EH, 10H, 11H, 13H, 15H</p><p>  DB 1

48、6H, 18H, 1AH, 1CH, 1EH, 20H, 22H, 25H</p><p>  DB 27H, 29H, 2BH, 2EH, 30H, 33H, 35H, 38H</p><p>  DB 3AH, 3DH, 40H, 43H, 45H, 48H, 4CH, 4EH</p><p>  DB 51H, 55H, 57H, 5AH, 5DH, 60H,

49、 63H, 66H</p><p>  DB 69H, 6CH, 6FH, 72H, 76H, 79H, 7CH, 80H</p><p>  DB 256 DUP(?)</p><p><b>  CODE ENDS</b></p><p><b>  END START</b></p>

50、;<p><b>  五、結論</b></p><p>  本設計制作的波形發(fā)生器,可以輸出多種標準波形,如方波、正弦波、三角波、鋸齒波等,還可以輸出任意波形,如用鼠標創(chuàng)建的一個周期的非規(guī)則波形或用函數描述的波形等,輸出的波形的頻率、幅度均可調,且能脫機輸出。設計的人機界面不但清晰美觀,而且操作方便。</p><p><b>  六、參考文獻&

51、lt;/b></p><p>  [1]潘名蓮.微計算機原理.北京:電子工業(yè)出版社,2004.7</p><p>  [2]李志民.計算機原理與匯編語言程序設計.長沙:中南大學出版社,2001.8</p><p>  [3]許駿.微型計算機系統(tǒng)原理及應用.廣州:華南理工大學出版社,1996.5</p><p>  [4]宮云戰(zhàn).微型計算

溫馨提示

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

評論

0/150

提交評論