APP下载

基于Emu8086和Proteus的《汇编语言和接口技术》课程仿真实验研究

2018-09-13彭玄璋郑伟骆珍仪

电脑知识与技术 2018年17期
关键词:汇编语言仿真实验实验教学

彭玄璋 郑伟 骆珍仪

摘要:该文针对《汇编语言与接口技术》在实验教学存在的问题,提出了基于Emu8086和Proteus仿真软件的虚拟实验教学方法;介绍了一个实验教学实例——使用Emu8086和Proteus仿真软件设计与实现的8253定时/计数器实验,通过实例说明Emu8086和Proteus仿真软件在该课程实验教学中的应用方法和仿真过程。

关键词:实验教学;仿真实验;微机接口;汇编语言

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)17-0165-03

1 引言

《汇编语言与接口技术》课程对于计算机、通信工程、物联网工程等专业的学生来说是一门重要的课程。该课程又是一门理论性和实践性都很强的课程,因此必须加强理论教学和实验教学的结合。通过实验促使学生能使用微处理器芯片及典型接口芯片设计出微机接口电路,加深对微处理器芯片和典型接口芯片特性的认识和理解,掌握微机接口电路设计的方法,接受一定的汇编语言编程训练,从而加强微机应用的工程实践能力。

在传统的《汇编语言与接口技术》实验教学中,采用的微机原理与接口技术实验箱由于其内部线路已经连好,没有给学生实际设计微机接口电路的机会,实验效果不是很理想。再有就是实验设备成本高,容易损坏,维护困难,使用受到场地限制。针对使用实验箱进行实验教学现状中的诸多限制,我們提出了一种基于EMU8086和PROTEUS的《汇编语言与接口技术》仿真实验的方法,通过使用PROTEUS7.9提供的VSM FOR 8086模块,利用虚拟仿真软件进行电路设计和仿真。这一方法不仅完全取代了以往使用实验箱才能做《汇编语言与接口技术》实验,而且使用方便、快捷,可靠性高,节省投资。

2 虚拟实验使用的仿真软件简介

Emu8086-Assembler and Microprocessor Emulator是一个可在Microsoft Windows 操作系统环境下运行的8086CPU汇编仿真软件。它是的一款8086CPU模拟器,可以用于8086CPU的程序模拟运行。另外,它本身集成了文本编辑器、编译器和反编译器,所以可用作8086汇编语言的集成开发工具软件来使用。它是学习8086汇编语言程序设计的一个理想工具。

Proteus是英国Labcenter electronics公司研发的一个EDA多功能软件。它的ISIS智能原理图输入系统,有非常友好的人机互动窗口界面;有丰富的操作菜单与工具。在ISIS编辑区中,能很方便地完成微机系统的硬件仿真电路设计、调试与仿真。

基于EMU8086、PROTUES仿真软件和微机构建的《汇编语言与接口技术》课程的虚拟实验平台,如同一个真实的功能强大的实验室。教师可利用它进行仿真实验教学,学生可以在此虚拟实验平台上进行微机接口仿真电路设计和汇编语言程序设计训练。

3 仿真实验教学的一个实例

这里给出我们实验教学中的一个基于Emu8086和Proteus的教学实例----8253定时/计数器实例,通过该实例可以了解到仿真软件在实验课程教学中的应用方法和仿真过程。

3.1 实例的设计任务与要求

设计一个硬件仿真电路,利用8086微处理器连接8253可编程定时/计数器,实现对外部事件(用脉冲代表)进行计数。

3.2 实例的仿真电路设计

这个实例用到的主要芯片有一片8086,一片8253,三片74273和一片74154。

其中74273用作为地址寄存器,74154用作为地址译码器。设定8253定时/计数器的端口地址为400H~406H。按照实例的要求和8253的端口地址范围,进行相关接口芯片原理、功能分析和8253芯片端口地址分析后,使用Proteus ISIS设计出如下图1所示的实例仿真电路。

3.3 8086汇编语言的实例源程序设计

8253可编程定时/计数器有3个独立的16位计数器,每个计数器都可由程序设置6种工作方式,每个计数器均以减法计数。

设置计数器工作在方式0时,当CPU给8253计数器装写入计数初值后,在门控端GATE端为高电平时,可用一个脉冲代表一个外部事件,每来一个CLK脉冲就对计数值进行减1计数,当计数器的计数值减至为0时,在OUT端输出高电平信号。

实例中8253计数器是按方式0工作,在控制字写进控制字寄存器之后,计数器的输出OUT立即变低,在GATE为高电平的情况下,计数器允许计数,直到计数到0,OUT才变为高电平。仿真实验时,OUT0端输出的高电平点亮LED发光二极管。在实验中设定的计数初值为5,也就是外部来了5个脉冲(下降沿)后, OUT0端输出一个高电平。根据8253定时/计数器的工作原理和初始化编程要求,写出如下的汇编语言源程序(文件命名为实例.asm):

3.4 实例的仿真工作步骤

由于Proteus 本身不带有 8086 的汇编器,因此必须使用外部的汇编器。所以我们使用Emu8086仿真软件对已经编写好汇编语言的源程序进行编辑并保存;然后对源程序进行编译,如果程序无错误,则编译通过,将会生成一个.exe格式的可执行文件(如实例.exe)。

在图1所示的Proteus的仿真电路绘制好后,还需要加载可执行文件(实例.exe)到8086CPU中才能仿真运行。因此,使用Proteus打开实例的Proteus的仿真电路,然后双击电路图中的8086可弹出元件属性对话框。在打开的对话框中,单击“Program File”栏目旁边的文件浏览选择按钮,在实例仿真工程文件夹中找到已经由Emu8086编译好的可执行文件——实例.exe,选中它之后,再单击“OK”按钮,结束可执行文件的CPU加载过程。

单击Proteus ISIS主界面左下角的仿真控制工具栏中的可进行仿真测试运行。

在上面的实例电路仿真运行开始后,按下仿真电路图中的按钮5次后,发现LED灯点亮,8253定时/计数器运行正常,这说明硬件仿真电路设计和汇编语言源程序设计是正确的,达到了实例设计任务的要求。

4 结束语

在上面的实验教学实例中,可以发现把Emu8086和Proteus仿真软件结合使用比较好地克服了实验箱教学的实验内容和实验电路结构固定单一,没有灵活性的缺点。学生可以根据教学老师提出的实验设计任务,设计出不同的电路方案和汇编语言程序。

总之利用Emu8086和Proteus仿真软件进行实验教学,进一步提高了学生对《汇编语言与接口技术》课程的学习兴趣,深化对课程内容的掌握和理解。学生的实际动手能力和创新设计能力得到了加强,进一步提高了《汇编语言与接口技术》课程的教学质量。

参考文献:

[1] 陈越,顾晖,梁惺彦. 虚拟仿真在微机原理教学中的应用[J]. 电子技术应用,2012,38(1):106-108.

[2] 李现国,张艳. Proteus仿真在微机原理及接口技术教学中的应用[J]. 实验技术与管理,2010,27(12):125-127.

[3] 顾晖,陈越,梁惺彦,等.微机原理与接口技术--基于8086和Proteus仿真[M].北京:电子工业出版社,2011:175-181.

猜你喜欢

汇编语言仿真实验实验教学
高等学校计算机专业课程教学改革实践——以汇编语言与接口技术课程为例
电容器的实验教学
汇编语言与C语言的混合程序设计技术研究
提高《汇编语言程序设计》教学效率的思考与实践
开展体验式教学创新研究 提高化学课堂有效性
几何体在高中数学实验教学中的应用
基于多重视阈下的《电子控制技术》课程的教学探讨
计算数据中心的动态数据聚集算法研究
试论汇编语言与C语言的混合程序设计技术