当前位置: 首页 > 专利查询>曾菊阳专利>正文

用指令替换实现单片机仿真的方法及其装置制造方法及图纸

技术编号:2866489 阅读:161 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种用指令替换实现单片机仿真的方法及其装置,该装置包括仿真CPU、外部程序存储器和同步预处理存储器、指令替换与端口重造电路、仿真监控电路、用户板仿真接口。用指令替换实现单片机仿真的方法是,当指令替换与端口重造电路监测到仿真CPU即将对数据总线口或地址总线口执行输入输出操作时,由指令替换电路立即用其它指令进行替换,并在端口重造电路的控制下,由重造端口完成相同的输入输出操作。由于既不要求仿真CPU本身具有专门用于仿真的端口,也不要求仿真CPU本身具有专门用于仿真的硬件电路,因此增加了可仿真的单片机种类,提高了仿真的真实性。

【技术实现步骤摘要】

本专利技术主要涉及到单片机仿真领域,特指一种用指令替换实现单片机仿真的方法及其装置
技术介绍
随着计算机技术的发展,各个单片机生产厂家生产的单片机种类越来越多,内部资源越来越丰富。为更好地开发使用这些单片机,需要有仿真装置的支持。目前国内单片机仿真装置主要采用Bondout仿真技术和HOOKS仿真技术。采用Bondout仿真技术生产仿真装置,需要用到专用仿真芯片,专用仿真芯片在标准芯片的基础上,加入了用于仿真的端口和硬件电路,它不占用标准芯片的输入输出口(I/O),而是将仿真总线用专用的I/O引脚引出,它不占用户资源,仿真的真实性好,但它只能仿真标准芯片,能仿真芯片种类少;采用HOOKS仿真技术生产仿真装置,需要得到Philips公司的授权,并且仿真CPU必须含有支持HOOKS技术的硬件电路,当含有HOOKS技术的单片机进入HOOKS仿真状态后,地址数据总线口P0、P2口将分时地输出/输入总线及P0、P2端口的值,仿真器用硬件电路将复用P0、P2口扩展为独立的仿真总线及用户P0、P2口,它能仿真大部分Philips 51系列单片机,但对不支持HOOKS技术的很多单片机就不能实现仿真或仿真不真实,能仿真芯片种类较少。
技术实现思路
本专利技术要解决的技术问题是针对现有技术存在的技术问题,提供一种适用性强、能适用于各类单片机的仿真、仿真的真实性高的用指令替换实现单片机仿真的方法及其装置,解决用户将地址总线口、数据总线口当作输入输出口(I/O)来使用却得不到所需得结果,而且还有可能使程序乱跑的问题。为了解决上述技术问题,本专利技术提出的解决方案为一种用指令替换实现单片机仿真的方法,其步骤为先利用仿真监控与通信接口电路将用户目标代码存储到外部程序存储器和同步预处理存储器中,然后通过仿真监控电路启动仿真CPU开始执行外部程序存储器中的程序,其特征在于当指令替换与端口重造电路监测到仿真CPU即将读取新指令的操作码时,根据同步预处理存储器的操作数来判断该新指令是否是I/O指令,当结果为是时,指令替换电路立即用其它指令进行替换,并在端口重造电路控制下,由重造端口完成相同的输入输出操作。提供一种用指令替换实现单片机仿真的装置,其特征在于所述装置包括仿真CPU、外部程序存储器、同步预处理存储器、指令替换与端口重造电路、仿真监控与通信接口电路、用户板仿真接口;所述仿真CPU通过取指控制线、地址数据总线口、地址总线口与指令替换与端口重造电路相连并进行数据交换;所述外部程序存储器通过数据线、读写控制线、地址线与指令替换与端口重造电路相连并进行数据交换;用户板仿真接口与端口重造电路生成的重造端口以及仿真CPU的其它端口连接,所述的其它端口是指仿真CPU上除地址总线口、地址数据总线口以外的所有端口。所述装置通过仿真监控与通信接口电路将用户目标代码下载到外部程序存储器和同步预处理存储器;同步预处理存储器的地址线与外部程序存储器相同,同步预处理存储器用于存储每一条指令除操作码以外的操作数;由仿真监控电路启动仿真CPU开始执行外部程序存储器中的程序;指令替换与端口重造电路监测到仿真CPU即将读取新指令的操作码时,根据同步预处理存储器存储的操作数来判断该新指令是否是对数据总线口或地址总线口执行输入输出的指令,如果是,由指令替换电路立即用其它指令进行替换,并在端口重造电路的控制下,由重造端口完成相同的输入输出操作。由于本专利技术既不要求仿真CPU具有专门用于仿真的端口,也不要求本身具有专门用于仿真的硬件电路,因此本专利技术相对于现有技术的优点就在于增加了可仿真的单片机种类,提高了仿真的真实性。附图说明图1是本专利技术方法的流程示意图;图2是本专利技术装置的示意图;图3是本专利技术装置的实例示意图;图4是51系列单片机的指令系统中与P0、P2口有关的指令示意图。具体实施例方式实施例以下将以仿真51系列单片机为例结合附图对本专利技术做进一步详细说明。如图1所示,本专利技术通过仿真监控与通信接口电路将用户目标代码下载到外部程序存储器和同步预处理存储器。同步预处理存储器的地址线与外部程序存储器相同,同步预处理存储器用于存储每一条指令除操作码以外的操作数。由仿真监控电路启动仿真CPU开始执行外部程序存储器中的程序。指令替换与端口重造电路监测到仿真CPU即将读取新指令的操作码时,根据同步预处理存储器存储的操作数来判断该新指令是否是对数据总线口或地址总线口执行输入输出(I/O)的指令,如果是,由指令替换电路立即用其它指令进行替换,并在端口重造电路的控制下,由重造端口完成相同的输入输出(I/O)操作。仿真CPU只要求具有用于运行外部程序的数据总线口、地址总线口和取指控制线,但仿真CPU本身可以不具有专门用于仿真的端口或硬件电路。如图2和图3所示的用指令替换实现单片机仿真的装置包括一种用指令替换实现单片机仿真的装置,所述装置包括仿真CPU、外部程序存储器、同步预处理存储器、指令替换与端口重造电路、仿真监控与通信接口电路、用户板仿真接口;所述仿真CPU通过取指控制线、地址数据总线口、地址总线口与指令替换与端口重造电路相连并进行数据交换;所述外部程序存储器通过数据线、读写控制线、地址线与指令替换与端口重造电路相连并进行数据交换;用户板仿真接口与端口重造电路生成的重造端口以及仿真CPU的其它端口连接,所述的其它端口是指仿真CPU上除地址总线口、地址数据总线口以外的所有端口。如图4所示,在51系列单片机的指令系统中,与P0、P2口有关的指令共有50条,其中PX表示P0或P2口,PX.X表示P0.0、P0.1、P0.2、P0.3、P0.4、P0.5、P0.6、P0.7、P2.0、P2.1、P2.2、P2.3、P2.4、P2.5、P2.6、P2.7之一,Ri表示R0、R1、R2、R3、R4、R5、R6、R7之一。下面将详细叙述图4中每一条指令的指令替换过程1.对于SETB PX.X指令用下列指令替换MOVA,0E0H;同时置重造端口PX.X为12.对于CLR PX.X指令用下列指令替换MOVA,0E0H;同时置重造端口PX.X为03.对于CPL PX.X指令用下列指令替换MOVA,0E0H;同时将重造端口PX.X取反4.对于MOV PX.X,C指令用下列指令替换JBC EA,REL1;置重造端口PX.X为1USER1JCUSER1-1 ;C为1时返回到用户程序SJMP USER1-1 ;置重造端口PX.X为0,返回到用户程序REL1 JCUSER1-1 ;C为1时返回到用户程序 SETB EA ;置重造端口PX.X为0SJMP USER1-1;返回到用户程序5.对于MOV C,PX.X指令如果PX.X为1,用下列指令替换SETB0D7H如果PX.X为0,用下列指令替换CLR 0D7H6.对于ANL C,PX.X指令如果PX.X为1,用下列指令替换MOV A,0E0H如果PX.X为0,用下列指令替换CLR 0D7H7.对于ANL C,/PX.X指令如果PX.X为1,用下列指令替换CLR 0D7H如果PX.X为0,用下列指令替换MOV A,0E0H8.对于ORL C,PX.X指令如果PX.X为1,用下列指令替换SETB0D7H如果PX.X为0,用下列指令替换MOV A,0E0H9.对于本文档来自技高网...

【技术保护点】
一种用指令替换实现单片机仿真的方法,其步骤为先利用仿真监控与通信接口电路将用户目标代码存储到外部程序存储器和同步预处理存储器中,然后通过仿真监控电路启动仿真CPU开始执行外部程序存储器中的程序,其特征在于:当指令替换与端口重造电路监测到仿真CPU即将读取新指令的操作码时,根据同步预处理存储器的操作数来判断该新指令是否是输入输出指令,当结果为是时,指令替换电路立即用其他指令进行替换,并在端口重造电路控制下,由重造端口完成相同的输入输出操作。

【技术特征摘要】

【专利技术属性】
技术研发人员:曾菊阳
申请(专利权)人:曾菊阳
类型:发明
国别省市:43[中国|湖南]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1