?

Proteus和Emu8086在微機原理實驗教學中的應用

2015-05-08 06:48軍,葉
實驗科學與技術 2015年2期
關鍵詞:交通燈微機原理圖

張 軍,葉 敏

(長安大學 道路施工技術與裝備教育部重點實驗室,西安 710064)

Proteus和Emu8086在微機原理實驗教學中的應用

張 軍,葉 敏

(長安大學 道路施工技術與裝備教育部重點實驗室,西安 710064)

微機原理是實踐性強的課程。解決工程實踐問題對改善微機原理教學和提高學生動手能力、創新能力具有重要意義。文中分析了目前微機原理教學中存在的問題,提出用Proteus和Emu8086構建聯合仿真實驗解決實踐難的問題,以8086和8255A構建了交通燈仿真實例進行驗證。仿真實驗表明,構建的交通燈虛擬仿真實驗可實現8086的模擬仿真,為解決微機原理實驗困難和進行教學改革提供了一種新的方法。

微機原理;教學改革;Proteus軟件;Emu8086軟件;仿真實驗

微機原理與接口技術(簡稱“微機原理”)課程是電氣信息類、自動化類、機械類等專業學生的重要專業基礎課程,是學好后續課程,如單片機、ARM、DSP等的必備基礎和重要前提[1-2]。

該課程的理論性和實踐性都很強,需要較強的電路知識與程序設計能力,加上8086使用匯編語言,增加了機械類學生的學習難度。實驗教學可以彌補學生相關知識的欠缺,加強對微機原理結構和工作原理的認識與理解,提高學生分析問題和解決問題的能力。在傳統的實驗教學中,學生只能按照實驗箱進行驗證性實驗,學生實驗完成后對系統和芯片的工作原理與程序認識不清,無法提高積極性。

針對微機原理教學存在的問題,很多學者針對教材和教學方法提出了改革方案[3-5],如增設開放實驗室等。這些方案能緩解教學難的問題,但仍不能解決學生自主動手、提升創新能力等問題。

隨著軟件技術的發展,出現了大量的仿真軟件代替硬件進行學習,如Matlab用于自動控制課程、Proteus用于單片機課程[6-9],Emu8086用于匯編程序設計等,取得了較好效果。

目前,在微機原理教學中結合原理圖設計和程序聯合仿真實驗的應用較少。Proteus現已支持8086的實驗仿真,并支持與Emu8086平臺的聯合調試,對解決微機原理教學和實踐難以及實驗設備缺乏等問題提供了一種新的解決方法。

筆者在教學中使用Emu8086進行匯編語言的教學,聯合Proteus開展了接口芯片如8255A,8253,8251,ADC0809和DAC0832的實驗,激發了學生的學習興趣,加強了對芯片使用方法和電路設計的理解。本文主要分析基于Proteus和Emu8086的聯合仿真在微機原理課程中的使用方法,探討仿真軟件應用于微機原理工程實踐項目教學的可能性。

1 Proteus概況和使用方法

1.1 Proteus概況

Proteus是基于電路和微處理器仿真的EDA軟件,能直接在基于原理圖的虛擬原型上進行處理器編程調試、功能驗證。它能對8086、單片機、ARM等微處理仿真,也能仿真外圍電路的工作情況。用它可構建基于8086的虛擬仿真實驗,完成各種驗證性、設計性和綜合性實驗,既解決實驗設備缺乏問題,又提高學生的動手和創新能力,讓學生具備程序設計和電路設計的綜合設計能力。

1.2 Proteus在8086仿真實驗中的使用方法

由于Emu8086專門應用于8086的程序仿真,簡化了與段相關的定義,只需要關注功能程序,圖形化界面,學生易掌握匯編語言的開發技術,利于微機原理教學中匯編語言相關教學工作。

圖1 仿真實驗步驟

圖2 在Proteus的8086中導入.com文件

聯合仿真過程是在Proteus中繪制硬件原理圖,在Emu8086編譯器中編寫和調試程序,生成可執行.com或.exe文件,導入Proteus繪制原理圖的8086中即可開展仿真實驗調試和觀察。仿真實驗步驟如圖1所示,導入.com文件到Proteus原理圖中的步驟如圖2所示。

2 Proteus仿真實驗案例

微機原理課程的難點和重點在于將匯編語言和接口技術聯合應用。下面以基于8086和8255A控制的交通燈為例,介紹Proteus的實驗使用過程。這也為開展微機原理實驗教學提供一種新的方法。

2.1 實驗目的

完成基于Proteus的8086交通燈仿真實驗,達到掌握8086和8255芯片的內部原理和使用方法,掌握芯片的尋址方式,掌握總線使用方法,掌握模擬仿真實驗的使用方法。

2.2 實驗方法

在Proteus中繪制交通燈的硬件原理圖,需要的元件包括微處理器8086、并行芯片8255A、地址鎖存器74LS373、3-8譯碼芯片74LS138、與非門、非門和LED交通指示燈。在Emu8086中完成程序編寫,調試成功后生成.com文件并導入Proteus的原理圖8086中。

圖3為交通燈的硬件原理圖,其中地址鎖存器74LS373、譯碼芯片74LS138和與非門完成8255A的芯片尋址和端口操作。由于本例只需要8255A工作于輸出狀態,因此,對8255A的操作主要是片選和將PB口置方式0輸出,設計交通燈規則通過PB口點亮LED燈。

8255A的片選由74LS138的Y4決定,工作中電平0代表低電平,1 代表高電平。只有當74LS138片選芯片端口的電平組合ABC為100,E2為0,E1為1,且在8086寫I/O操作時才能保證Y4有效。由交通燈原理圖知8255A的物理選通地址組合為A7A6A5A4A3A2A1A0=11110××0=0F0H-0F6H,其中×表示所對應位電平不受限,即可為1也可為0實現片選功能。8255A上的A0,A1口決定了其工作方式和選定端口,A1A0為11時選擇控制字,A1A0為01時選擇PB口。由于8255A的A1A0接鎖存器上的A2A1上,因此,8255A的控制字地址為0F6H,PB口地址為0F2H。

8255A的PB端口輸出數據,分別控制南北方向和東西方向的交通燈。由于8255A的3個并行輸出端口PA、PB、PC的初始輸出均為1,為防止芯片初始化時6盞燈同時亮,每個燈都接一個反相器。

圖3 交通燈的硬件原理圖

2.3 程序設計

由于Emu8086軟件的要求,編程地址必須從100H開始。交通燈控制主要是通過延時來控制燈的交替,交通燈的控制流程如圖4所示。

圖4 交通燈控制流程圖

8086的延時程序是根據各指令的執行時鐘周期,通過循環次數確定延時。假如系統用的是8 MHz的晶振,則每個時鐘節拍需要0.125 μs,PUSHF和POPF指令為10個和8個時鐘節拍,LOOP指令為3.4個時鐘節拍,累計21.4拍。因此,可根據下式算出循環次數X:

X=延時時間/一次循環時間=

1 ms/21.4×0.125 μs=374次

換算成十六進制數為176H。

延時1 ms程序如下:

delay_1ms PROC;定義過程名

PUSH CX;壓棧使用變量

A1:MOV CX,176H

A2:PUSHF

POPF

LOOP A2

DEC BX

JNZ A1

POP CX

RET

delay_1ms ENDP

基于同樣的目的,通過增加外循環或者跳轉程序來增加延時時間,實現1 s或3 s等延時功能。

2.4 實驗結果

在Emu8086中調試程序,編譯結果如圖5所示,將編譯好的.com文件導入到原理圖中,運行結果如圖6所示,可知所設計的交通燈程序正確,且Proteus圖形界面較好,程序執行過程可觀察芯片選中情況和執行效果。

圖5 交通燈程序編譯和調試

圖6 交通燈仿真實驗結果

3 結束語

1)分析了微機原理課程教學的難點,給出了基于Poteus和Emu8086聯合使用構建虛擬實驗的方法,解決微機原理工程實踐難的問題。

2)給出了Proteus用于8086仿真實驗的使用方法,以8086和8255A構建了交通燈實驗案例,實現了基于Proteus的8086仿真實驗。

3)文中不僅給出了實例,還給出了構建8086仿真實驗的方法,為擴展8086仿真實驗和培養學生的自主動手能力、創新能力提供了一種實踐方法。

4)Proteus軟件可實現8086微處理器的仿真,但對微機原理課程的學習還得有教師和學生互動才能提高教學效果。

[1]張紅民, 王艷.微機原理及應用教材與教學內容改革思考[J]. 理工高教研究,2009, 28(5): 105-108.

[2]成運, 謝四蓮. 微機原理與接口技術課堂教學改革初探[J]. 湖南人文科技學院學報,2008 (4): 127-129.

[3]彭善瓊, 魏鵬, 肖龍. 研究型教學模式與實施方法的探討——基于微機原理與接口技術課程[J]. 信息系統工程,2009(10): 118-120.

[4]王志松. 關于微機原理實驗課改革的幾點體會[J].教學研究 (河北),2000, 23(4): 361-362.

[5]謝勤嵐. 微機原理課程教學改革的探討[J]. 理工高教研究,2009,28(4):135-136.

[6]陳龍, 張亞君. Proteus 仿真軟件在單片機實驗教學中的應用[J]. 實驗技術與管理,2009, 26(8): 73-75.

[7]劉燎原, 孫秋波. Proteus 軟件在單片機項目教學中的應用[J]. 徐州建筑職業技術學院學報,2009, 9(2): 63-65.

[8]唐勇波, 徐東輝. 基于 Proteus 的單片機課程教學與實驗改革初探[J]. 宜春學院學報,2009(4): 147-149.

[9]周靈彬. Proteus在電子技術教學中的應用[J]. 中北大學學報:社會科學版,2007, 23(12): 179-181.

Experiment on Microcomputer Principles Course Teaching Based on Proteus and Emu8086

ZHANG Jun, YE Min

(Key Laboratory for Highway Construction Technology and Equipment of Ministry of Education, Chang'an University, Xi’an 710064, China)

The microcomputer principles is a practical course, it is urgent to solve the problem of its course practice to improve the course teaching effect and enhance the student’s experiment ability and innovation ability. The shortcoming of teaching of this course was analyzed, the simulation software of Proteus and Emu8086 was introduced to design simulation experiment to solve the problem of practice and teaching. Traffic light experiment with 8086 and 8255A was employed to carry into simulation experiment of 8086. It is indicated that the traffic light simulation experiment reach the simulation of 8086, which solve the problem of practice of microcomputer principles and provide a new method to improve the teaching skill of this course.

microcomputer principles; teaching reform; Proteus software; Emu8086 software; simulation experiment

2014-05-08;修改日期: 2014-09-09

長安大學2013教學改革研究基金資助項目(1307)。

張 軍(1980-),男,博士,講師,主要從事智能化檢測與控制技術的研究工作。

TP391.9;G642.0

A

10.3969/j.issn.1672-4550.2015.02.013

猜你喜歡
交通燈微機原理圖
淺談STM32核心板原理圖設計
電路原理圖自動布圖系統的設計與實現
基于Protel DXP 2004層次原理圖的設計
Fuzzy Search for Multiple Chinese Keywords in Cloud Environment
基于單片機的交通燈模糊控制器研究
TDJ微機可控頂調速系統在平頂山東站的應用
為什么交通燈是紅黃藍三種顏色?
一直飄紅的交通燈
電力系統微機保護裝置的抗干擾措施
基于單片機的LED模擬交通燈設計
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合