微機原理課程設計--數(shù)字控制系統(tǒng)在加熱器中的應用_第1頁
已閱讀1頁,還剩19頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  微機原理課程設計</b></p><p><b>  前 言</b></p><p>  加熱器數(shù)字控制系統(tǒng)的設計與功能的實現(xiàn)要求學生在學習完微機原理及應用這門課的基礎上,在對芯片類知識以及匯編語言有一定基礎的前提下進行的一個非常體現(xiàn)學生綜合能力的一個設計。要想很好的完成這個題目,必須對芯片的功能有很詳細的了解,

2、同時也要求學生的匯編語言基礎要扎實。計算機技術的飛速發(fā)展,使的計算機知識和應用技能已成為人類知識經(jīng)濟的重要組成部分。《微型計算機原理》正是掌握計算機結構和工作原理的入門課程, 它偏重于實際應用的課程,要求學生在學好理論知識的基礎上, 培養(yǎng)定的實踐動手操作能力, 學生將所學的理論知識和實踐有機結合, 初步掌握計算機應用系統(tǒng)設計的步驟和接口設計的方法, 提高分析和解決實際問題的能力。微機原理課程設計是對《微型計算機原理》課程理論教學和實驗教

3、學的綜合和總結。</p><p>  通過該課程設計,可以使學生對微機原理及應用這門課有更深刻的了解與認識,同時在做課程設計的過程中也鍛煉了學生將書本上的知識應用到具體實踐上的能力。不僅回顧了上課老師所講的知識,同時也培養(yǎng)了自身的創(chuàng)新能力,自主設計能力,糾錯能力,加強了學生動手的能力。</p><p><b>  目錄</b></p><p>

4、  1.前言 ………………………………………………………………………… 2</p><p>  2.課程設計題目……………………………………………………………… 4</p><p>  3.設計任務分析……………………………………………………………… 5</p><p>  4.總體設計思路……………………………………………………………… 6</

5、p><p>  5.硬件設計…………………………………………………………………… 7</p><p>  6.軟件設計…………………………………………………………………… 11</p><p>  7.小結………………………………………………………………………… 13</p><p>  8.參考文獻…………………………………………………

6、………………… 14</p><p>  9.設計圖紙…………………………………………………………………… 15</p><p>  10.程序清單………………………………………………………………… 16</p><p>  課程設計題目:數(shù)字控制系統(tǒng)在加熱器中的應用</p><p>  一、課程設計的目的意義</p>

7、<p>  通過課程設計培養(yǎng)同學們的系統(tǒng)設計能力,使同學們達到以下能力訓練:</p><p> ?。?)調查研究、分析問題的能力;</p><p> ?。?)使用設計手冊、技術規(guī)范的能力;</p><p> ?。?)查閱中外文獻的能力;</p><p> ?。?)制定設計方案的能力;</p><p>  (5

8、)計算機應用的能力;</p><p> ?。?)設計計算和繪圖的能力;</p><p> ?。?)技術經(jīng)濟指標的分析能力;</p><p> ?。?)語言文字表達的能力。</p><p>  二、課程設計任務介紹</p><p>  當把物品放入加熱器中,首先要啟動加熱器和電機工作,設定加熱時間為5分鐘,為使物品均勻加

9、熱,每隔30秒電機要反轉一次,(正轉→反轉、反轉→正轉),加熱時間到后,停止加熱器和電機工作,并發(fā)聲,告知加熱結束。</p><p><b>  設計任務分析</b></p><p>  根據(jù)題目,要實現(xiàn)的設計任務大致為:</p><p>  1 通過可編程定時器8253實現(xiàn)5分鐘與30秒的定時</p><p>  2

10、通過可編程并行接口芯片8255A實現(xiàn)電機的正轉與反轉,加熱器與電機的啟動與停止,蜂鳴器的啟動與停止</p><p>  3 通過可編程中斷控制器8259A實現(xiàn)各個中斷優(yōu)先級的排序,以便有序的響應不同的中斷信號,不至于時序混亂</p><p><b>  總體設計思路</b></p><p>  本設計課程題目要求對加熱器不同時間間隔采用不同的控

11、制方式,需要用到的芯片為可編程中斷控制器8259A,可編程定時器8253,可編程并行接口芯片8255A以及8086微處理器。</p><p>  8253定時器外接的時鐘信號頻率設置為1.1932MHz,通過設置初始值以及工作方式,可以使8253每隔一定時間產(chǎn)生一個中斷信號,將其送給可編程中斷控制器8259A,由其判斷完中斷優(yōu)先級之后送給8086處理器一個中斷請求信號,由8086微處理器對其進行響應,同時通過計數(shù)

12、判斷對該中斷請求信號做出相應的不同的操作,根據(jù)判斷的結果對可編程并行接口芯片8255A的輸出信號做出控制。</p><p><b>  硬件設計</b></p><p>  一、各芯片的使用方法</p><p> ?、?259A的使用方法:</p><p>  8259A的命令共有7個,一類是初始化命令字,另一類是操作命

13、令。8259A的編程就是根據(jù)應用需要將初始化命令字ICW1-ICW4和操作命令字OCW1- OCW3分別寫入初始化命令寄存器組和操作命令寄存器組。ICW1-ICW4各命令字格式如圖1.1到1.4所示,OCW1-OCW3各命令字格式如圖1.5所示,其中OCW1用于設置中斷屏蔽操作字,OCW2用于設置優(yōu)先級循環(huán)方式和中斷結束方式的8操作命令字,OCW3用于設置和撤銷特殊屏蔽方式、設置中斷查詢方式以及設置對8259內部寄存器的讀出命令。<

14、;/p><p><b>  圖1.1 ICW1</b></p><p><b>  圖1.2 ICW2</b></p><p><b>  圖1.3 ICW3</b></p><p>  圖1.4 ICW4 </p><p><b>  圖1.5

15、OCW</b></p><p> ?、?255的使用方法:</p><p>  8255是可編程的并行輸入輸出接口芯片,有三個8位端口,可以實現(xiàn)數(shù)據(jù)的傳送。芯片在使用前要先寫入一個工作方式的控制字以指定A,B,C三個端口的工作方式。8255A工作方式控制字和C口按置位/復位控制字格式如圖2-1所示: </p><p>  圖2.1 255A工作方式控制字

16、和C口按置位/復位控制字格式</p><p>  ⑶8253的使用方法:</p><p>  8253內有三個相互獨立的16位定時/計數(shù)器。通過寫入控制字確定其工作方式;通過寫入定時/計數(shù)初值,改變計數(shù)/定時器的工作周期。8253有六種不同的工作方式,每種方式輸出波形,自動重復功能,GATE對其控制作用不同。</p><p>  圖3.1 8253控制字格式<

17、/p><p><b>  二、硬件電路的連接</b></p><p>  微處理器8086作為各個芯片的中樞環(huán)節(jié),對其它芯片寫入控制字以及讀取其它芯片的狀態(tài)值。8086有16位數(shù)據(jù)線,為了對地址和數(shù)據(jù)加以區(qū)分,利用8086的ALE管腳在傳送地址和數(shù)據(jù)時不同的表現(xiàn),采用74273鎖存器通過前者控制鎖存器的時鐘信號實現(xiàn)地址與數(shù)據(jù)的分離。</p><p>

18、;  對于各個芯片的選擇是利用各個芯片的片選端。為防止地址的交叉對16位地址總線采用全譯碼的方式,采用或非門及與門的級聯(lián),控制74LS138譯碼器的使能端和譯碼端產(chǎn)生不同的譯碼狀態(tài)對三個芯片進行不同的選擇。</p><p>  對8253定時器,利用了其COUNT0和COUNT2兩個計數(shù)器,COUNT0用于產(chǎn)生中斷請求信號。COUNT2用于控制蜂鳴器的運行。二者接相同的外部時鐘信號(頻率1.1932MHz)。&l

19、t;/p><p>  8259接受8253 OUT0產(chǎn)生的中斷請求信號,產(chǎn)生中斷控制信號送給微處理器8086INTR端,微處理器再對當前的響應信號做出操作。</p><p>  8255并行接口芯片主要是用來控制外部設備,加熱器,電機,蜂鳴器。它接受來自單片機的數(shù)據(jù)信號,并對輸出接口進行賦值以此來帶動外設進行運轉。蜂鳴器的啟動是8255輸出與8253時鐘信號相與共同控制的。</p>

20、<p><b>  軟件設計</b></p><p><b> ?。?)設計思路:</b></p><p>  設計題目中的加熱器控制系統(tǒng),由8086、8259A、8253、8255四個芯片組成,使用8255的A口作為輸出,PA0、PA1、PA2、PA3分別控制加熱器的起停、電機的起停、電機的正反轉、發(fā)聲報告。8259A的INTR與

21、系統(tǒng)的INTR相連用于提供中斷申請,8253的OUT0與8259A的IR0相連用于提供中斷信號。由8086協(xié)調控制其它三個芯片的工作。8253提供計時功能,輸入系統(tǒng)時鐘信號,當關上開關,計數(shù)器開始工作。計數(shù)器0輸出周期為10ms的方波,即每隔10毫秒,8255向8259提供一個中斷脈沖,通過對CX、SI的設置循環(huán)判斷,每30秒對8255的A口的PA2進行數(shù)據(jù)改變,即電機反轉一次,當?shù)竭_加熱時間300s,過寫8255的A口的數(shù)據(jù),實現(xiàn)電機

22、和加熱器的停止工作,調用揚聲器子程序發(fā)聲。</p><p><b> ?。?)系統(tǒng)流程圖:</b></p><p><b>  小結</b></p><p>  本次設計需要熟練掌握匯編語言,熟悉中斷優(yōu)先級管理器8259A、可編程并行接口接口芯片8255A、可編程定時器/計數(shù)器8253的內部結構、外部引腳和功能。</

23、p><p>  主要分為軟件設計和硬件設計方面。在硬件設計方面主要是要合理的連接各個芯片,同時要方式地址重疊,如全譯碼電路的設計,譯碼器的使用,各個芯片片選信號的控制,中斷優(yōu)先級的管理,各個芯片端口的選取等等。有了合理的硬件電路設計才能寫出漂亮的匯編語言程序。在軟件設計方面主要是匯編語言的編寫,需要注意的是各個芯片的初始化程序的編寫,對不同的芯片不同的寄存器應該怎樣賦值,賦值的時序應該怎樣,程序整體框架的設計等等。&

24、lt;/p><p>  總體來說,這次課程設計鍛煉我的硬件設計能力和語言編寫能力,在設計的過程中也暴露了我對于芯片的功能不是很熟悉,對相應的初始化思路不是很嚴謹?shù)热秉c,缺乏對整個系統(tǒng)工作原理的整體認識,讓我認識到了微機原理是一門博大精深的課程,還需要我繼續(xù)認真細心的去研究。</p><p><b>  參考文獻</b></p><p>  [1]、

25、王忠民·《微型計算機原理(第二版)》[M]·陜西:西安電子科大出版社</p><p>  [2]、徐建民·《匯編語言程序設計》[M]·北京:電子工業(yè)出版社</p><p>  [3]、洪永強. 微機原理與接口技術. 北京:科學出版社. 2004年</p><p><b>  課程設計圖紙</b></

26、p><p><b>  程序清單</b></p><p>  DATA SEGMENT</p><p>  INTR_IVADD EQU 01C8H ;INTR對應的中斷矢量地址(對應著中斷程序入口地址)</p><p>  INTR_OCW1 EQU 0A1H

27、 ;INTR對應PC機內部8259的OCW1地址</p><p>  INTR_OCW2 EQU 0A0H ;INTR對應PC機內部8259的OCW2地址</p><p>  INTR_IM EQU 0F7H ;INTR對應的中斷屏蔽字</p><p>  MY8

28、259_ICW1 EQU 0000H +00H ;實驗系統(tǒng)中8259的ICW1端口地址</p><p>  MY8259_ICW2 EQU 0000H +01H ;實驗系統(tǒng)中8259的ICW2端口地址</p><p>  MY8259_ICW3 EQU 0000H +01H ;實驗系統(tǒng)中8259的ICW3端口地址

29、</p><p>  MY8259_ICW4 EQU 0000H +01H ;實驗系統(tǒng)中8259的ICW4端口地址</p><p>  MY8259_OCW1 EQU 0000H +01H ;實驗系統(tǒng)中8259的OCW1端口地址</p><p>  MY8259_OCW2 EQU 0000H +0

30、0H ;實驗系統(tǒng)中8259的OCW2端口地址</p><p>  MY8259_OCW3 EQU 0000H +00H ;實驗系統(tǒng)中8259的OCW3端口地址</p><p>  MY8255_A EQU 0008H +00H ;8255的A口地址</p><p>  MY8255_MODE

31、 EQU 0008H+03H ;8255的控制寄存器地址</p><p>  MY8253_COUNT0 EQU 0010H+00H ;8253的計數(shù)器0端口地址</p><p>  MY8253_COUNT2 EQU 0010H+02H ;8253的計數(shù)器2端口地址</p><p>  MY82

32、53_MODE EQU 0010H+03H ;8253的控制寄存器地址 </p><p>  CS_BAK DW ? ;保存INTR原中斷處理程序入口段地址的變量</p><p>  IP_BAK DW ? ;保存INTR原中斷處理程序入口偏移地址的變量<

33、;/p><p>  IM_BAK DB ? ;保存INTR原中斷屏蔽字的變量</p><p>  DATA ENDS</p><p>  STACK1 SEGMENT STACK</p><p>  DW 256 DUP(?)</p><p>  STA

34、CK1 ENDS</p><p>  CODE SEGMENT</p><p>  ASSUME CS:CODE,DS:DATA</p><p>  START: MOV AX,DATA</p><p>  MOV DS,AX</p><p><b>  CLI</b

35、></p><p>  MOV AX,0000H ;替換INTR的中斷矢量</p><p>  MOV ES,AX</p><p>  MOV DI,INTR_IVADD</p><p>  MOV AX,ES:[DI]</p><p&g

36、t;  MOV IP_BAK,AX ;保存INTR原中斷處理程序入口偏移地址</p><p>  MOV AX,OFFSET MYISR</p><p>  MOV ES:[DI],AX ;設置當前中斷處理程序入口偏移地址</p><p>  ADD DI,2&

37、lt;/p><p>  MOV AX,ES:[DI]</p><p>  MOV CS_BAK,AX ;保存INTR原中斷處理程序入口段地址</p><p>  MOV AX,SEG MYISR</p><p>  MOV ES:[DI],AX

38、 ;設置當前中斷處理程序入口段地址</p><p>  MOV DX,INTR_OCW1 ;設置中斷屏蔽寄存器,打開INTR的屏蔽位</p><p>  IN AL,DX</p><p>  MOV IM_BAK,AL ;保存INTR原中斷屏蔽字</p>&

39、lt;p>  AND AL,INTR_IM</p><p>  OUT DX,AL</p><p>  MOV DX,MY8259_ICW1 ;初始化實驗系統(tǒng)中8259的ICW1</p><p>  MOV AL,13H ;邊沿觸發(fā)、單片8259、需要ICW

40、4</p><p>  OUT DX,AL</p><p>  MOV DX,MY8259_ICW2 ;初始化實驗系統(tǒng)中8259的ICW2</p><p>  MOV AL,08H</p><p>  OUT DX,AL</p><p>  MOV

41、 DX,MY8259_ICW4 ;初始化實驗系統(tǒng)中8259的ICW4</p><p>  MOV AL,01H ;非自動結束EOI</p><p>  OUT DX,AL</p><p>  MOV DX,MY8259_OCW1 ;初始化實驗系統(tǒng)中82

42、59的OCW1</p><p>  MOV AL,0FEH ;打開IR0的屏蔽位</p><p>  OUT DX,AL</p><p>  MOV DX,MY8255_MODE ;定義8255工作方式</p><p>  MOV AL,8

43、0H ;工作方式0,A口為輸出</p><p>  OUT DX,AL</p><p>  MOV DX,MY8255_A ;寫A口發(fā)出的起始數(shù)據(jù)</p><p>  MOV AL,07H</p><p>  OUT DX,AL

44、</p><p>  MOV DX,MY8253_MODE ;定義8253工作方式</p><p>  MOV AL,36H ;工作方式3,計數(shù)器0</p><p>  OUT DX,AL</p><p>  MOV DX,MY8253_

45、COUNT0</p><p>  MOV AL,0CH ;送計數(shù)初值,產(chǎn)生周期50ms的方波</p><p>  每50ms產(chǎn)生一個中斷信號</p><p>  OUT DX,AL</p><p>  MOV AH,E9H</p><p>  

46、OUT DX,AH 59660*(E90CH*(1/1193200))=50ms</p><p>  MOV CX,600 600*50=30000ms 即30s(設置電機變向時間)</p><p>  MOV SI,6000

47、6000*50=300000ms 即300s(5min)(即電機和加熱器停止時間)</p><p><b>  STI</b></p><p>  WAIT1: MOV AH,1 ;判斷是否有按鍵按下</p><p><b>  INT 16H</b></p>

48、<p>  JZ WAIT1 ;無按鍵則跳回繼續(xù)等待,有則退出</p><p>  QUIT: CLI</p><p>  MOV DX,PCI_INTCSR ;恢復PCI卡中斷控制寄存器</p><p>  MOV AX,0000H</p>

49、<p>  OUT DX,AX</p><p>  MOV AX,0000H ;恢復INTR原中斷矢量</p><p>  MOV ES,AX</p><p>  MOV DI,INTR_IVADD</p><p>  MOV AX,IP_

50、BAK ;恢復INTR原中斷處理程序入口偏移地址</p><p>  MOV ES:[DI],AX</p><p>  ADD DI,2</p><p>  MOV AX,CS_BAK ;恢復INTR原中斷處理程序入口段地址</p><p>  

51、MOV ES:[DI],AX</p><p>  MOV DX,INTR_OCW1 ;恢復INTR原中斷屏蔽寄存器的屏蔽字</p><p>  MOV AL,IM_BAK</p><p>  OUT DX,AL</p><p><b>  STI</b>

52、;</p><p>  MOV AX,4C00H ;返回到DOS</p><p>  INT 21H</p><p>  MYISR PROC NEAR ;中斷處理程序MYISR</p><p>  QUERY: MOV D

53、X,MY8259_OCW3 ;向8259的OCW3發(fā)送查詢命令</p><p>  MOV AL,0CH</p><p>  OUT DX,AL</p><p>  IN AL,DX ;讀出查詢字</p><p>  TEST AL,80H

54、 ;判斷中斷是否已響應</p><p>  JZ QUERY ;沒有響應則繼續(xù)查詢</p><p>  DEC CX</p><p>  DEC SI</p><p>  CMP SI,0</p>&

55、lt;p>  JZ STOP</p><p>  CMP CX,0</p><p>  JNZ EOI</p><p>  MOV DX,MY8255_A</p><p>  IN AL,DX</p><p>  AND AL,04

56、H</p><p>  CMP AL,00H</p><p>  JE FZ1</p><p>  JNE FZ2</p><p>  STOP: MOV DX,MY8255_A</p><p>  MOV AL,08H</p><

57、p>  OUT DX,AL</p><p>  CALL SPEAKER</p><p>  DELAY: LOOP DELAY</p><p>  DEC BX</p><p>  JNZ DELAY</p><p>  CALL SPEAKO

58、FF</p><p>  JMP EOI</p><p>  SPEAKER PROC ;揚聲器子程</p><p>  MOV AX,0533H</p><p>  PUSH AX</p><p>  MOV

59、 BX,1</p><p>  MOV DX,MY8253_MODE</p><p>  MOV AL,0B6H</p><p>  OUT DX,AL ;寫入控制字</p><p>  POP AX</p><p>  MOV

60、 DX,MY8253_COUNT2</p><p>  OUT DX,AL ;寫入低8位計數(shù)值</p><p>  MOV AL,AH</p><p>  OUT DX,AL ;寫入高8位計數(shù)值</p><p><b&g

61、t;  RET</b></p><p>  SPEAKER ENDP</p><p>  SPEAKOFF PROC</p><p>  MOV DX,MY8255_A</p><p>  MOV AL,00H</p><p>  OUT DX,AL</p>

62、;<p><b>  RET</b></p><p>  SPEAKOFF ENDP</p><p>  FZ1: MOV DX,MY8255_A ;改變電機的方向</p><p>  MOV AL,07H</p><p>  OUT

63、 DX,AL</p><p>  MOV CX,400</p><p>  JMP EOI</p><p>  FZ2: MOV DX,MY8255_A</p><p>  MOV AL,03H</p><p>  OUT DX,AL</p>

64、<p>  MOV CX,400</p><p>  JMP EOI</p><p>  EOI: MOV DX,MY8259_OCW2 ;向實驗系統(tǒng)中8259發(fā)送中斷結束命令</p><p>  MOV AL,20H</p><p>  OUT

65、 DX,AL</p><p><b>  OVER: </b></p><p>  MOV DX,INTR_OCW2 ;向PC機內部8259發(fā)送中斷結束命令</p><p>  MOV AL,20H</p><p>  OUT DX,AL</p>

66、;<p>  MOV AL,20H</p><p>  OUT 20H,AL</p><p><b>  IRET</b></p><p>  MYISR ENDP</p><p>  CODE ENDS</p><p>  END START

溫馨提示

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

評論

0/150

提交評論