




摘要:結合電氣工程及其自動化專業微機原理與接口技術的教學,首先從南通理工學院微機原理與接口技術課程教與學的現狀進行分析;其次提出了在理論與實踐教學過程中,通過Emu8086和Proteus軟件進行匯編程序編寫、硬件電路設計及模擬仿真的設計方案。并以8086和8253A構建分頻電路仿真實例進行驗證,實驗結果表明構建的分頻電路可以通過8086的模擬仿真實現。最終總結了首次采用Emu8086和Proteus軟件虛擬仿真的教學方法,取得非常好的教學效果。通過生動的仿真效果激發了學生的學習熱情,同時為南通理工學院課程教學改革提供了一種新方法。
關鍵詞:微機原理;教學改革;emu8086;Proteus;分頻電路
中圖分類號:G642 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2021)35-0251-03
1 課程教與學的現狀
微機原理與接口技術課程是南通理工學院電氣工程及其自動化、機械工程、車輛工程、新能源科學工程等專業必修的專業基礎核心課程,課程主要包含微機的基本組成、8086/8088的工作原理、指令系統、匯編程序設計、存儲系統以及微機的接口電路設計。由于近年來計算機硬件相關技術發展迅猛,微機原理與接口技術這門課程的教學內容陳舊、抽象、復雜、實踐性非常強這些問題,而且實踐教學環節薄弱、資源有限等現象,導致目前在國內大多數高校教學效果都不容樂觀,導致學生對這門課程的學習興趣低下[1-3]。
2 Emu8086和Proteus軟件概述
隨著計算機軟件技術的飛速發展,針對上述存在的問題。南通理工學院在微機原理與接口技術教學改革過程中采用Emu8086 用于匯編程序設計理論教學、Proteus 7.5版本進行8086 實驗模擬仿真實踐教學,取得了非常好的教學效果[4-5]。對解決微機原理與接口技術教學和實踐難,以及實驗設備缺乏等問題提供了一種新的解決方法[6-8]。
2.1 Emu8086軟件
Emu8086是目前學習匯編語言必不可少的程序設計工具,它結合了一個先進的原始編輯器、組譯器、反組譯器、具除錯功能的軟件模擬工具,還有一個循序漸進的指導工具。該軟件包含了學習匯編語言程序設計的全部內容。Emu8086還集源代碼編輯器,匯編/反匯編工具以及可以運行debug的模擬器于一身,非常適合教師、學生在指令系統和匯編程序設計部分的理論教與學,直觀地反映了相關寄存器的變化過程以及匯編程序執行的步驟。
2.2 Proteus軟件
Proteus軟件是由英國Lab Center Electronics公司出版的EDA工具軟件。它不僅具有其他EDA工具軟件的仿真功能,還能仿真單片機及外圍器件。它是目前比較好的仿真單片機及外圍器件的工具。雖然目前國內推廣剛起步,但已受到單片機愛好者、從事單片機教學的教師、致力于單片機開發應用的科技工作者的青睞。從原理圖布圖、代碼調試到單片機與外圍電路協同仿真,一鍵切換到PCB設計,真正實現了從概念到產品的完整設計。是目前世界上唯一將電路仿真軟件、PCB設計軟件和虛擬模型仿真軟件三合一的設計平臺,其處理器模型支持8051、DSP、ARM、Cortex、8086和MSP430等,在程序編譯方面,它也支持IAR、Keil編譯器。
3 分頻電路實驗
3.1分頻電路硬件設計
分頻電路是指使輸出信號頻率為輸入信號頻率整數分之一的電子電路。在許多電子設備中如電子時鐘、頻率計等,需要各種不同頻率的信號協同工作,常用的方法是以穩定度高的石英晶體振蕩器為主要振蕩源,通過各種變換得到相關設備所需要的各種頻率成分。
實驗主要是借助于Proteus電路仿真軟件來對8086微處理器與8253A定時/計數芯片來實現十分頻的電路設計。由于8086由20根數據、地址分時復用的雙向信號線,故在電路中選擇了3片74HC373芯片,該芯片具有74LS244三態門功能和74LS273數據鎖存的功能。電路還選用了專用譯碼芯片74LS138作為譯碼電路,圖中用地址總線上的A12—A15作為地址譯碼器的輸入和使能控制,由于非常所有的地址總線作為譯碼電路的輸入,所以這是一種部分地址譯碼的方式,當74LS138的IO2輸出低電平時來片選中8253A芯片。8253A芯片的A0、A1由系統地址總線上A1、A2進行四個端口的控制。在計數器0的外部時鐘輸入端接100Hz的時鐘脈沖,GATE0外接開關電路置1后計數器0開始計數,通過計數器0的OUT0輸出端口外接虛擬示波器觀察輸入與輸出波形,整個分頻電路硬件系統原理圖,如圖1所示。
3.2分頻電路軟件設計
在進行軟件設計的前提條件,需要了解8253A定時/計數器的主要組成由3個計數器、一個控制寄存器以及數據總線緩沖器和讀寫邏輯電路組成,只有掌握內部電路組成才可以對定時/計數器的選擇、工作方式的設定來確定端口地址和控制字,最終計算出計數初值。根據分頻電路系統原理圖列出8086系統地址總線分配表,如表1所示。
實驗要求采用8253A計數器0,工作在方式3(方波發生器方式),輸入時鐘CLK0 為100Hz,輸出OUT0 要求為10Hz的方波,實現10分頻的功能,最后用示波器觀察輸出波形。所以先根據8253A控制字具有的固定格式,計算得到8253A的控制字為16H,再根據輸入的時鐘脈沖和輸出的頻率計算得到計數初值為100Hz/10Hz=10。由表1所示,可以得到計數器0的地址為A000H,控制字寄存器的地址為A006H。
根據上述計算初值按照8253A的編程算法,用Emu8086匯編程序設計軟件先寫計數器0的方式控制字,其次寫入計數器0的計數初值。具體源代碼如下:
ORG 100
CODE SEGMENT
ASSUME CS:CODE
START:MOV DX,0A006H ;控制字寄存器端口地址
MOV AL,16H ? ? ;控制字
OUT DX,AL
MOV DX,0A0000H ;計數器0端口地址
MOV AL,10 ? ? ?;計數初值
OUT DX,AL
JMP $
CODE ENDS
END START
生成.com文件。源程序可以通過EMU8086進行單步調試,軟件的界面也非常友好,左側實時顯示寄存器的變化狀態。源程序單步調試環境如圖2所示。
源程序以.asm格式進行保存,并對源程序進行編譯。
COM文件可以很好地結合Proteus進行模擬仿真。具體的裝載COM文件的過程為,右擊8086芯片選擇edit properties彈出如圖3所示的8086芯片屬性對話框窗口,在program file中選擇EMU8086生成的COM文件,設置時鐘頻率為1.5MHZ,最重要的是一定要在Advanced properties中選擇Internal Memory Size設置為0x10000,最終點擊OK即可。
至此,點擊Proteus中的運行功能,分頻電路就可以利用8086芯片進行模擬仿真。通過觀察虛擬示波器得到如圖4所示的分頻電路輸入與輸出波形圖。
實驗結果表明構建的分頻電路可以通過8086的模擬仿真實現。學生們也通過分頻電路實驗對微機原理與接口技術課程理論知識有了進一步的認識,掌握了實踐教學環節中,硬件開發的詳細過程是如何做到軟、硬件的聯合仿真調試。增強了學生學習微機原理與接口技術這門課程的興趣,使學生在學習微機原理與接口技術課程時,不受硬件資源及時空的限制。同時也為后續的專業課程開設,如單片機、DSP、ARM、RX23T、FPGA等,打下堅實的基礎。
4 結束語
微機原理及接口技術是一門專業性很強的課程,在南通理工學院應用型本科工科專業教學環節中有著非常重要的地位,首次采用EMU8086和Proteus虛擬仿真的教學方法,取得非常好的教學效果。通過生動的仿真效果激發了學生的學習熱情,同時解決了實踐教學環節薄弱、實驗室資源有限等問題,為培養了學生的自主動手能力、創新能力提供了一種實踐方法,也為南通理工學院的課程教學改革提供了一種新方法。
參考文獻:
[1] 姚睿, 李增武, 付大豐, 等. 基于Proteus的DSP虛擬實驗系統設計與開發[J]. 實驗技術與管理, 2015, 32(3):4.
[2] 張軍,葉敏.Proteus和Emu8086在微機原理實驗教學中的應用[J].實驗科學與技術,2015,13(2):43-46.
[3] 王青. 單片機與PC機通信的設計與仿真[J].實驗室研究與探索,2016,35(12):100-103.
[4] 劉民岷. 微機原理及接口技術課程教學及實驗改革實踐 [J]. 實驗科學與技術,2013(11):64-66.
[5] 陳紅衛,袁偉.虛擬仿真在課堂教學中的應用——以微機原理與接口技術課堂教學為例[J].長春教育學院學報,2014,30(7):3-5.
[6] 劉娟,黃忠.《微機原理與接口技術》教學現狀與改進[J].安慶師范學院學報(自然科學版). 2014(01) :129-132.
[7] 趙國增, 郭恒川.《微機原理與接口技術》課程教學探索與實踐[J]. 現代計算機(專業版). 2014(7):45-48.
[8] 李忠武,陳靜銳,夏春梅. ?Proteus軟件與微機原理接口技術課程實驗對接的應用[J].網友世界. 2014(3):36-36.
【通聯編輯:王力】