微機原理 設計報告範例

2022-06-17 20:36:02 字數 4086 閱讀 5514

湖南第一師範學院資訊科學與工程系

課程設計任務書

所屬專業: 電腦科學與技術

課程名稱: 微機原理課程設計

班級: 09計算機應用技術1班

學號: 0930

姓名: 黃巍

課程設計名稱: 微機原理課程設計

指導教師: 田祖偉

課程設計情況表

課程設計鑑定情況表

競賽搶答器的設計與實現

一、需求分析

本實驗要求大家了解微機化競賽搶答器的基本原理,進一步學習使用並行介面8255晶元,以及8253定時計數器的六種工作方式,中斷的基本概念,中斷服務子程式的編寫。

二、功能描述

基本功能:在主持人按下搶答開關後,各位選手即可開始搶答,並在數碼管上顯示最先搶答選手的號碼。

擴充套件功能:在主持人按下搶答開關後,計數器開始9秒倒計時,若倒計時結束後沒有人搶答,則本輪搶答無效,進入下一輪。

三、概要設計

由於本次實驗要用到數碼顯示、中斷控制、倒計時等功能,故初步分析需要8255、8259、8253等晶元。下圖為競賽搶答器(模擬)的原理圖,邏輯開關k0~k7代表競賽搶答器按鈕0~7號,當某個邏輯電平開關置「1」時,相當某組搶答按鈕按下,在七段數碼管上將其組號(0~7)顯示出來。

四、方案論證

在計數器每次計數結束後,對於全域性變數counter的減一操作有兩種方式,乙個是通過不斷掃瞄計數器是否計數結束,另一種是通過8253晶元計數結束產生中斷。

方案一:通過對8253計數器的控制埠寫控制字進行鎖存,然後用乙個讀命令讀出計數器中的數放暫存器ax中,通過比較ax中的數是否為零來判斷這次計數是否結束。若為零,就使counter減一。

方案二:將8253的輸出接到8259的中斷輸入端,通過8253計數結束產生中斷來控制,在中斷服務子程式中對counter減一操作。

方案比較:方案一採用掃瞄,沒有用到8259,程式編制簡單,但是cpu耗費了更多的時間在掃瞄,效率相對來說較低。方案二採用中斷,程式結構化更為清晰,且cpu少了迴圈掃瞄的時間,效率較高。

但是多用了乙個8259中斷控制晶元,程式編制上涉及到中斷服務子程式的編寫,稍顯複雜。可見兩種方案各有優劣。

方案選擇:經過小組討論,先採用方案二,完成基本和擴充套件功能。若有時間,再採用方案一完成實驗。

五、模組劃分

由於本次課程設計採用團隊合作的形式,故要將本次實驗進行模組劃分,小組成員要了解全部程式流程,但是主要是完成自己負責的功能模組。組長負責協調監督指導小組成員,並完成最後的程式的連調工作。具體劃分如下:

尚海濤、王祁遠:負責8253計數

張國成、吳小龍:負責8259中斷

楊德娜、唐益文:負責8255並行介面

每天的文件工作由各自詳細記錄自己今天的工作進度以及程式除錯的過程和心得體會,並附上自己開發模組的文件說明,最後交由組長整合在一起,構成當天的開發文件。

六、詳細設計

1)8255晶元簡介

8255,是乙個典型的可程式設計並行介面晶元。8255具有三個相互應獨立的8位並行輸入輸出埠,即埠a,埠b和埠c,其中埠c分為兩個4位來配合埠a和埠b工作,它為intel系列cpu與外設之間提供ttl電平相容的介面。

8255a可以工作在方式0,方式1,方式2三種方式,其中埠a可以工作在這3種不同的方式下,而埠b只能工作在方式0和方式1,埠c配合a口和b口工作。

8255a沒有設定專門的聯絡訊號線,但是可以使用埠中的某些埠中的某些位來的擔任。埠a、b和c可以配合使用,來構成所需的單線,雙線或三線聯絡訊號的並行介面。

8255的內部結構

與cpu介面部分

8255與cpu的介面部分通過資料匯流排緩衝器和讀/寫控制邏輯。

① 資料匯流排緩衝器;

這是乙個8位雙向三態緩衝器,8255a通過它與cpu的系統資料匯流排連線。cpu所有的輸入/輸出資料,cpu通過輸出指令發給8255a的控制字和用輸入指令讀入的外設的當前狀態資訊,都是通過這個資料緩衝器傳送的。

②讀/寫控制邏輯電路

讀/寫控制邏輯電路通過6根控制線與cpu連線,它負責對8255a的資料傳送過程進行控制。它接收到來自cpu控制匯流排的reset、wr^、rd^和來自位址匯流排的a1,a0後,將這些訊號進行組合,得到對a組控制部件和b組控制部件的相應控制命令,再用這些控制命令去控制這兩個部件按初始化程式設計的要求,去完成對資料的輸入/輸出,對狀態資訊的讀取和控制命令的傳送。

、與外設介面部分

8255a與外設的介面是通過3個輸入/輸出資料埠來實現的。每個埠都是8位的資料埠,即埠a、埠b和埠c,它們都可以用軟體程式設計來來設定成輸入口或輸出口,這3個埠在功能上有各自的特點。

埠a埠a有乙個8位的資料輸入鎖存器和乙個8位的資料輸入/輸出鎖存器/緩衝器,因此,埠a在進行輸入或輸出時,其資料都受到鎖存。

埠b 埠b有乙個8位的資料輸入緩衝器和1個8位的資料輸出鎖存器/緩衝器。因此,埠b只有在進行輸出時,才能對資料進行鎖存。

埠c 埠c有乙個8位資料輸入緩衝器和乙個8位的資料輸出鎖存器/緩衝器。埠c也只能在作輸出口時,才能對資料進行鎖存。

、內部控制邏輯

8255a的內部控制邏輯由a組控制電路和b組控制電路組成。這兩組控制電路根據cpu寫如的控制命令字和讀/寫命令分別去控制兩組埠的工作方式和讀/寫操作。其中a組控制電路控制埠a和埠c的高4位,b組控制電路控制埠b和埠c低4位。

2)8253晶元

8253的工作方式:

.方式0

這種方式又稱計數結束中斷方式。當cpu寫入控制字後,使其out端變低,在gate訊號保持高電平時,則寫入計數初值後,下乙個clk脈衝下降沿開始計數。在計數過程中out端一直保持低電平,直到計數值減到0時(即計數結束)out端輸出變為高,完成一次計數過程。

.方式1

方式1又稱為可程式設計單脈衝形成器。當寫入控制字以後,out輸出端將保持高電平。在cpu寫入計數初值後,計數器並不開始計數,只有在門控訊號gate由低變高的上公升沿之後的乙個clk脈衝的上公升沿才開始計數,並且輸出端out變低。

在計數過程中out端一直保持低電平,直到計數結束才變高,這樣,在out輸出端得到乙個單脈衝,該脈衝訊號的寬度為out端的低電平。

.方式2

這個方式又可稱為頻率發生器。當cpu寫入控制字後,輸出端out將變高,在寫入計數初值以後的下乙個cli脈衝的下降沿開始計數。計數過程中out端始終保持高電平,當計數值減至1時out端變為低電平,而計數值減至0時out端又變為高電平,同時會自動將計數值送到執行部件繼續進行減法計數,形成連續工作,重複計數,從而輸出固定頻率的脈衝。

.方式3

方式3又稱為方波發生器,它的工作方式與方式2很相似,都是輸出週期性的波形,門控訊號的控制作用和自動重複計數的功能與方式2一樣,只是out端輸出的波形不同。

這種方式中寫入控制字以後,out端將為高,寫完計數初值後便可自動開始計數。在計數過程中不斷輸出一系列方波,其方波的占空比隨計數初值的不同而不同,即占空比可以相等也可以不相等。

.方式4

方式4又稱為軟體脈衝觸發。這種方式中,cpu寫入控制字和計數值後,out端變為高電平,一旦寫入計數值後,下乙個clk脈衝的下降沿立即開始計數(相當於軟體觸發),當計數結束後out端由高變低,並維持乙個clk的低電平後再變高,計數器停止計數後,只有重新寫入新的計數值,才能重新進行新的計數過程,因此這種計數方式也是一次性的。寫入計數初值後,計數器不會開始計數,而是要等gate端出現乙個上公升沿來觸發啟動,並在下乙個時鐘沿才開始減法計數。

計數至0時,out端會變低,並維持乙個clk週期的低電平後再變高。因此,在n+1個clk脈衝後,在out端輸出乙個clk週期的負脈衝。

.方式5

方式5又稱為硬體脈衝觸發。在這種方式中,cpu寫入控制字和計數值以後,out端變為高電平。寫入計數初值後,計數器不會開始計數,而是要等gate端出現乙個上公升沿來觸發啟動,並在下乙個時鐘沿才開始減法計數。

計數至0時,out端會變低,並維持乙個clk週期的低電平後再變高。因此,在n+1個clk脈衝後,在out端輸出乙個clk週期的負脈衝。

3)8259晶元

8259是乙個可程式設計的中斷控制器。pc機中斷控制器8259的位址為20h、21h,程式設計時要根據中斷型別號設定中斷向量,8259中斷遮蔽暫存器imr對應位要清零(允許中斷),中斷服務結束返回前要使用中斷結束命令: mov al, 20h out 20h, al

中斷結束返回dos時應將imr對應位置1,以關閉中斷。

微機原理課程設計報告

第一章微機應用系統課程設計的目的意義 1.1 課程設計的目的意義 學習和掌握計算機中常用介面電路的應用和設計技術,充分認識理論知識對應用技術的指導性作用,進一步加強理論知識與應用相結合的實踐和鍛鍊。通過這次設計實踐能夠進一步加深對專業知識和理論知識學習的認識和理解,使自己的設計水平和對所學的知識的應...

微機原理課程設計報告 時鐘設計

微機原理及組合語言 課程設計報告 內容提要 本課程設計報告重點闡述了課程設計的原理,過程實現,以及 闡述,流程圖表示以及在實驗中遇到的問題,實驗過程等等。本報告旨在總結微機課程設計中的收穫以及完成的過程。微機課程設計是我們本學期進行的難度最大且最具有實踐性的課程設計。對於我們剛剛學完微機理論基礎的同...

微機原理專案報告

微機原理專案七 姓名 李守燁 班級 08級機電2班 指導老師 史豔國 學號 080101010398 時間 2011 5 21 目錄1題目及要求 2 2過程示意圖 2 3總體設計思路 3 3.1步進電機的模擬 3 3.2控制系統的啟停控制 3 3.3指示燈的控制 3 3.4數碼管靜態顯示 3 4系統...