微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 80C196单片机仿真软件的设计与实现

80C196单片机仿真软件的设计与实现

时间:09-11 来源:互联网 点击:


2.4编译模块设计

  编译模块将用户编写的源程序编译成CPU能识别的二进制机器语言的形式。为了降低系统的设计难度,采用了已经具有的外部程序对源程序进行处理。编译模块读取由外部程序生成的列表文件,将程序信息转化为本系统能处理的数据结构,并将生成的二进制操作码装入CPU的存储器。

2.5程序仿真与控制的实现

  程序运行有3种方式,即单步运行,运行一次和连续运行。程序的主要控制功能有复位、设置/清除中断点、查看寄存器、查看程序状态字等。编译模块对源程序进行预处理,将源程序转化为二进制操作码。CPU模块将操作码装入存储器成功后,初始化CPU的各种信号,并将程序地址寄存器的值置Ox2080,这是80C196汇编程序的起始地址。然后CPU模块依据地址寄存器的值取操作码,按照取址、译码、执行的过程执行每一条指令。在一条指令执行完毕后,执行中断处理,刷新显示结果以及检查中断点等操作。

3软件运行结果

  本仿真软件的关键技术在于CPU模块的设计。这个模块要完成80C196所有指令的功能,要分配存储器资源,要控制软件仿真过程中程序状态字、特殊功能寄存器以及其他CPU信号的变化。采用面向对象编程方法和分层设计的思路,通过对指令的合理划分,降低了指令系统的复杂度,通过对实际器件的抽象与封装,实现了与实际硬件器件的功能等价,使得仿真结果与真实执行情况相一致。

  至此,该仿真软件的基本功能已经实现,为仿真平台的设计打下了基础,接下来的工作是以仿真软件为基础,完成仿真平台的开发与调试,主要包括各种外设的实现,测试用例生成工具以及驱动测试的外部激励产生模块,以此搭建一个具有良好人机界面的测试环境,提高应用软件的质量与可靠性。按照软件要求计划采用dll文件的方式将各个模块生成库文件,并在仿真软件中预留各个库文件的接口,在程序需要时调用相应的库文件即可,简化了设计的难度,同时增加了仿真平台的灵活性和通用型。

4结 语

  本文提出一种采用VC++面向对象技术设计80C196单片机应用软件仿真环境的方法。据此方法研制的仿真软件可仿真80C196指令集的全部指令,并可对80C196单片机嵌入式控制软件进行仿真与运行。该项技术为全软件测试平台的开发奠定了基础,也可供相关领域的应用参考。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top