




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
微機原理課程設計前言加熱器數字控制系統的設計與功能的實現要求學生在學習完微機原理及應用這門課的基礎上,在對芯片類知識以及匯編語言有一定基礎的前提下進行的一個非常體現學生綜合能力的一個設計。要想很好的完成這個題目,必須對芯片的功能有很詳細的了解,同時也要求學生的匯編語言基礎要扎實。計算機技術的飛速發展,使的計算機知識和應用技能已成為人類知識經濟的重要組成部分。《微型計算機原理》正是掌握計算機結構和工作原理的入門課程,它偏重于實際應用的課程,要求學生在學好理論知識的基礎上,培養定的實踐動手操作能力,學生將所學的理論知識和實踐有機結合,初步掌握計算機應用系統設計的步驟和接口設計的方法,提高分析和解決實際問題的能力。微機原理課程設計是對《微型計算機原理》課程理論教學和實驗教學的綜合和總結。通過該課程設計,可以使學生對微機原理及應用這門課有更深刻的了解與認識,同時在做課程設計的過程中也鍛煉了學生將書本上的知識應用到具體實踐上的能力。不僅回顧了上課老師所講的知識,同時也培養了自身的創新能力,自主設計能力,糾錯能力,加強了學生動手的能力。目錄1.前言…………22.課程設計題目………………43.設計任務分析………………54.總體設計思路………………65.硬件設計……………………76.軟件設計……………………117.小結…………138.參考文獻……………………149.設計圖紙……………………1510.程序清單…………………16
課程設計題目:數字控制系統在加熱器中的應用一、課程設計的目的意義通過課程設計培養同學們的系統設計能力,使同學們達到以下能力訓練:(1)調查研究、分析問題的能力;(2)使用設計手冊、技術規范的能力;(3)查閱中外文獻的能力;(4)制定設計方案的能力;(5)計算機應用的能力;(6)設計計算和繪圖的能力;(7)技術經濟指標的分析能力;(8)語言文字表達的能力。二、課程設計任務介紹當把物品放入加熱器中,首先要啟動加熱器和電機工作,設定加熱時間為5分鐘,為使物品均勻加熱,每隔30秒電機要反轉一次,(正轉→反轉、反轉→正轉),加熱時間到后,停止加熱器和電機工作,并發聲,告知加熱結束。
設計任務分析根據題目,要實現的設計任務大致為:1通過可編程定時器8253實現5分鐘與30秒的定時2通過可編程并行接口芯片8255A實現電機的正轉與反轉,加熱器與電機的啟動與停止,蜂鳴器的啟動與停止3通過可編程中斷控制器8259A實現各個中斷優先級的排序,以便有序的響應不同的中斷信號,不至于時序混亂
總體設計思路本設計課程題目要求對加熱器不同時間間隔采用不同的控制方式,需要用到的芯片為可編程中斷控制器8259A,可編程定時器8253,可編程并行接口芯片8255A以及8086微處理器。8253定時器外接的時鐘信號頻率設置為1.1932MHz,通過設置初始值以及工作方式,可以使8253每隔一定時間產生一個中斷信號,將其送給可編程中斷控制器8259A,由其判斷完中斷優先級之后送給8086處理器一個中斷請求信號,由8086微處理器對其進行響應,同時通過計數判斷對該中斷請求信號做出相應的不同的操作,根據判斷的結果對可編程并行接口芯片8255A的輸出信號做出控制。
硬件設計一、各芯片的使用方法=1\*GB2⑴8259A的使用方法:8259A的命令共有7個,一類是初始化命令字,另一類是操作命令。8259A的編程就是根據應用需要將初始化命令字ICW1-ICW4和操作命令字OCW1-OCW3分別寫入初始化命令寄存器組和操作命令寄存器組。ICW1-ICW4各命令字格式如圖1.1到1.4所示,OCW1-OCW3各命令字格式如圖1.5所示,其中OCW1用于設置中斷屏蔽操作字,OCW2用于設置優先級循環方式和中斷結束方式的8操作命令字,OCW3用于設置和撤銷特殊屏蔽方式、設置中斷查詢方式以及設置對8259內部寄存器的讀出命令。圖1.1ICW1圖1.2ICW2圖1.3ICW3圖1.4ICW4圖1.5OCW=2\*GB2⑵8255的使用方法:8255是可編程的并行輸入輸出接口芯片,有三個8位端口,可以實現數據的傳送。芯片在使用前要先寫入一個工作方式的控制字以指定A,B,C三個端口的工作方式。8255A工作方式控制字和C口按置位/復位控制字格式如圖2-1所示:圖2.1255A工作方式控制字和C口按置位/復位控制字格式=3\*GB2⑶8253的使用方法:8253內有三個相互獨立的16位定時/計數器。通過寫入控制字確定其工作方式;通過寫入定時/計數初值,改變計數/定時器的工作周期。8253有六種不同的工作方式,每種方式輸出波形,自動重復功能,GATE對其控制作用不同。圖3.18253控制字格式
二、硬件電路的連接微處理器8086作為各個芯片的中樞環節,對其它芯片寫入控制字以及讀取其它芯片的狀態值。8086有16位數據線,為了對地址和數據加以區分,利用8086的ALE管腳在傳送地址和數據時不同的表現,采用74273鎖存器通過前者控制鎖存器的時鐘信號實現地址與數據的分離。對于各個芯片的選擇是利用各個芯片的片選端。為防止地址的交叉對16位地址總線采用全譯碼的方式,采用或非門及與門的級聯,控制74LS138譯碼器的使能端和譯碼端產生不同的譯碼狀態對三個芯片進行不同的選擇。對8253定時器,利用了其COUNT0和COUNT2兩個計數器,COUNT0用于產生中斷請求信號。COUNT2用于控制蜂鳴器的運行。二者接相同的外部時鐘信號(頻率1.1932MHz)。8259接受8253OUT0產生的中斷請求信號,產生中斷控制信號送給微處理器8086INTR端,微處理器再對當前的響應信號做出操作。8255并行接口芯片主要是用來控制外部設備,加熱器,電機,蜂鳴器。它接受來自單片機的數據信號,并對輸出接口進行賦值以此來帶動外設進行運轉。蜂鳴器的啟動是8255輸出與8253時鐘信號相與共同控制的。
軟件設計(1)設計思路:設計題目中的加熱器控制系統,由8086、8259A、8253、8255四個芯片組成,使用8255的A口作為輸出,PA0、PA1、PA2、PA3分別控制加熱器的起停、電機的起停、電機的正反轉、發聲報告。8259A的INTR與系統的INTR相連用于提供中斷申請,8253的OUT0與8259A的IR0相連用于提供中斷信號。由8086協調控制其它三個芯片的工作。8253提供計時功能,輸入系統時鐘信號,當關上開關,計數器開始工作。計數器0輸出周期為10ms的方波,即每隔10毫秒,8255向8259提供一個中斷脈沖,通過對CX、SI的設置循環判斷,每30秒對8255的A口的PA2進行數據改變,即電機反轉一次,當到達加熱時間300s,過寫8255的A口的數據,實現電機和加熱器的停止工作,調用揚聲器子程序發聲。PA0PA1PA2PA3加熱器加熱1加熱器停止加熱0電機正傳11電機反轉10揚聲器發聲1揚聲器靜音0
(2)系統流程圖:開始開始關中斷入口關中斷入口已到5分鐘否30秒整數倍電機反轉是是結束中斷否關加熱器,電機。啟動揚聲器置入中斷向量置入中斷向量表,打開屏蔽位(寫0)初始8259A,初始8259A,初始化8255,初始化8253開中斷開中斷否開關閉合?否開關閉合?關中斷是關中斷是恢復中斷向量和關閉屏蔽位恢復中斷向量和關閉屏蔽位(寫1)開中斷開中斷結束結束小結本次設計需要熟練掌握匯編語言,熟悉中斷優先級管理器8259A、可編程并行接口接口芯片8255A、可編程定時器/計數器8253的內部結構、外部引腳和功能。主要分為軟件設計和硬件設計方面。在硬件設計方面主要是要合理的連接各個芯片,同時要方式地址重疊,如全譯碼電路的設計,譯碼器的使用,各個芯片片選信號的控制,中斷優先級的管理,各個芯片端口的選取等等。有了合理的硬件電路設計才能寫出漂亮的匯編語言程序。在軟件設計方面主要是匯編語言的編寫,需要注意的是各個芯片的初始化程序的編寫,對不同的芯片不同的寄存器應該怎樣賦值,賦值的時序應該怎樣,程序整體框架的設計等等。總體來說,這次課程設計鍛煉我的硬件設計能力和語言編寫能力,在設計的過程中也暴露了我對于芯片的功能不是很熟悉,對相應的初始化思路不是很嚴謹等缺點,缺乏對整個系統工作原理的整體認識,讓我認識到了微機原理是一門博大精深的課程,還需要我繼續認真細心的去研究。
參考文獻[1]、王忠民·《微型計算機原理(第二版)》[M]·陜西:西安電子科大出版社[2]、徐建民·《匯編語言程序設計》[M]·北京:電子工業出版社[3]、洪永強.微機原理與接口技術.北京:科學出版社.2004年
課程設計圖紙程序清單DATASEGMENTINTR_IVADDEQU01C8H;INTR對應的中斷矢量地址(對應著中斷程序入口地址)INTR_OCW1EQU0A1H;INTR對應PC機內部8259的OCW1地址INTR_OCW2EQU0A0H;INTR對應PC機內部8259的OCW2地址INTR_IMEQU0F7H;INTR對應的中斷屏蔽字MY8259_ICW1EQU0000H+00H;實驗系統中8259的ICW1端口地址MY8259_ICW2EQU0000H+01H;實驗系統中8259的ICW2端口地址MY8259_ICW3EQU0000H+01H;實驗系統中8259的ICW3端口地址MY8259_ICW4EQU0000H+01H;實驗系統中8259的ICW4端口地址MY8259_OCW1EQU0000H+01H;實驗系統中8259的OCW1端口地址MY8259_OCW2EQU0000H+00H;實驗系統中8259的OCW2端口地址MY8259_OCW3EQU0000H+00H;實驗系統中8259的OCW3端口地址MY8255_AEQU0008H+00H;8255的A口地址MY8255_MODEEQU0008H+03H;8255的控制寄存器地址MY8253_COUNT0EQU0010H+00H;8253的計數器0端口地址MY8253_COUNT2EQU0010H+02H;8253的計數器2端口地址MY8253_MODEEQU0010H+03H;8253的控制寄存器地址CS_BAKDW?;保存INTR原中斷處理程序入口段地址的變量IP_BAKDW?;保存INTR原中斷處理程序入口偏移地址的變量IM_BAKDB?;保存INTR原中斷屏蔽字的變量DATAENDSSTACK1SEGMENTSTACKDW256DUP(?)STACK1ENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXCLIMOVAX,0000H;替換INTR的中斷矢量MOVES,AXMOVDI,INTR_IVADDMOVAX,ES:[DI]MOVIP_BAK,AX;保存INTR原中斷處理程序入口偏移地址MOVAX,OFFSETMYISRMOVES:[DI],AX;設置當前中斷處理程序入口偏移地址ADDDI,2MOVAX,ES:[DI]MOVCS_BAK,AX;保存INTR原中斷處理程序入口段地址MOVAX,SEGMYISRMOVES:[DI],AX;設置當前中斷處理程序入口段地址MOVDX,INTR_OCW1;設置中斷屏蔽寄存器,打開INTR的屏蔽位INAL,DXMOVIM_BAK,AL;保存INTR原中斷屏蔽字ANDAL,INTR_IMOUTDXMOVDX,MY8259_ICW1;初始化實驗系統中8259的ICW1MOVAL,13H;邊沿觸發、單片8259、需要ICW4OUTDXMOVDX,MY8259_ICW2;初始化實驗系統中8259的ICW2MOVAL,08HOUTDXMOVDX,MY8259_ICW4;初始化實驗系統中8259的ICW4MOVAL,01H;非自動結束EOIOUTDXMOVDX,MY8259_OCW1;初始化實驗系統中8259的OCW1MOVAL,0FEH;打開IR0的屏蔽位OUTDXMOVDX,MY8255_MODE;定義8255工作方式MOVAL,80H;工作方式0,A口為輸出OUTDXMOVDX,MY8255_A;寫A口發出的起始數據MOVAL,07HOUTDXMOVDX,MY8253_MODE;定義8253工作方式MOVAL,36H;工作方式3,計數器0OUTDXMOVDX,MY8253_COUNT0MOVAL,0CH;送計數初值,產生周期50ms的方波每50ms產生一個中斷信號OUTDXMOVAH,E9HOUTDX,AH59660*(E90CH*(1/1193200))=50msMOVCX,600600*50=30000ms即30s(設置電機變向時間)MOVSI,60006000*50=300000ms即300s(5min)(即電機和加熱器停止時間)STIWAIT1:MOVAH,1;判斷是否有按鍵按下INT16HJZWAIT1;無按鍵則跳回繼續等待,有則退出QUIT:CLIMOVDX,PCI_INTCSR;恢復PCI卡中斷控制寄存器MOVAX,0000HOUTDX,AXMOVAX,0000H;恢復INTR原中斷矢量MOVES,AXMOVDI,INTR_IVADDMOVAX,IP_BAK;恢復INTR原中斷處理程序入口偏移地址MOVES:[DI],AXADDDI,2MOVAX,CS_BAK;恢復INTR原中斷處理程序入口段地址MOVES:[DI],AXMOVDX,INTR_OCW1;恢復INTR原中斷屏蔽寄存器的屏蔽字MOVAL,IM_BAKOUTDXSTIMOVAX,4C00H;返回到DOSINT21HMYISRPROCNEAR;中斷處理程序MYISRQUERY:MOVDX,MY8259_OCW3;向8259的OCW3發送查詢命令MOVAL,0CHOUTDX,ALINAL,DX;讀出查詢字TESTAL,80H;判斷中斷是否已響應JZQUERY;沒有響應則繼續查詢DECCXDECSICMPSI,0JZSTOPCMPCX,0JNZEOIMOVDX,MY8255_AINAL,DXANDAL,04HCMPAL,00HJEFZ1JNEFZ2STOP:MOVDX,MY8255_AMOVAL,08HOUTDXCALLSPEAKERDELAY:LOOPDELAYDECBXJNZDELAYCALLSPEAKOFFJMPEOISPEAKERPROC;揚聲器子程MOVAX,0533HPUSHAXMOVBX,1MOVDX,MY8253_MODEMOVAL,0B6HOUTDX,AL;寫入控制字POPAXMOVDX,MY8253
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 噴槍及類似器具行業技術創新與研發考核試卷
- 電池失效分析與故障排除考核試卷
- 描寫陽光的初三語文作文
- 電影制作與特效出版考核試卷
- 纖維板制造中的原材料質量檢驗與控制考核試卷
- 廈門市高三上學期期末語文卷作文
- 紙容器行業人才培養與技能培訓考核試卷
- 粘土原料化學成分分析考核試卷
- 急救藥品知識 2
- 7-7 數字系統設計實例1-數字乘法器系統級設計
- 河南省第二屆職業技能大賽化學實驗室技術(世賽)項目技術工作文件
- 2025年初級社會工作者綜合能力全國考試題庫(含答案)
- 酒店能源管理操作手冊
- 幼兒園讀書分享會課件
- 天然氣維搶修崗位培訓
- 2024年我國人口老齡化問題與對策
- 螞蟻咬傷患者的護理
- WT1806E功率分析儀操作規程
- 電動汽車充電網絡規劃與優化
- 新146道100以內四個數字的加減法混合題目
- 《機器人技術應用項目教程》(第二版)課件 2-項目三 威綸觸摸屏的組態設計 任務一 觸摸屏的組態與連接;觸摸屏控制氣缸推動
評論
0/150
提交評論