附录B 部分单片机仿真器

附录B 部分单片机仿真器

仿真器就是通过仿真头用软件来代替在目标板上的C51系列芯片,不用反复的烧写,程序代码可实时改变,可以单步运行,指定断点停止等,调试方便。

仿真器内部的P口等硬件资源和C51系列单片机基本是完全兼容的。仿真主控程序被存储在仿真器芯片特殊的指定空间内,仿真主控程序类似电脑的操作系统一样控制仿真器的正确运转。

仿真器和电脑的上位机软件(即KEIL)是通过通信口(USB、并口、串口等)相连,控制指令由KEIL发出,由仿真器内部的仿真主控程序负责执行接收到的数据,并且进行正确的处理,进而驱动相应的硬件工作。这其中也包括把接收到的BIN或者其他格式的可执行文件存放到仿真器芯片内部用来存储可执行程序的存储单元(这个过程和把程序烧写到51芯片里面类似,只是仿真器的擦写是以覆盖形式来做的),这样就实现了类似编程器反复烧写调试的功能,不同的是,通过仿真主控程序可以做到让指定的目标程序做特定的运行,比如单步、指定端点、指定地址等,并且通过KEIL可以实时观察到单片机内部各个存储单元的状态。在仿真器和电脑联机过程中,一旦强行中断两者的连接关系(例如强行给仿真器手动复位或者拔去联机线等),电脑就会提示联机出现问题。仿真器的这些优势提高了用户调试、修改以及生成最终程序的效率。

下面介绍几种常用的仿真器。

1.南京伟福实业有限公司(http://www.wavecn.com)V8系列仿真器

伟福V8系列仿真器使用USB接口,采用Wave/Keil双平台、中/英文可选的集成调试环境,集成了编辑器、编译器、调试器。软硬件调试手段包括逻辑分析仪、跟踪器、逻辑笔、波形发生器、影子存储器、计时器、程序时效分析、数据时效分析、硬件测试仪、事件触发器(硬件调试手段需要软件配合硬件支持),所有类型的单片机集成在一个调试环境下,支持汇编、C、PL/M源程序混合调试,支持软件模拟、项目管理、点屏功能,直接点击屏幕就可以观察变量的值,方便快捷。

主要特点:

(1)可以仿真各种8/16/32位MCU,配置不同的仿真头,可以仿真多种单片机。

(2)最高仿真频率高达50MHz,程控时钟(/L/T/S)用户可以自由地在调试软件中设置自己需要仿真的频率,可选频率范围:20k Hz到100MHz,精度:1 Hz。

(3)计时器(/L/T/S)统计程序执行的时间。

(4)逻辑分析仪:64通道、64K/通道、100M采样频率。与时间触发器配合,可以捕捉到电路上出现的非常复杂的情况,能帮助用户迅速准确查找到设计中的错误。

(5)波形发生器:8通道、64K/通道、100M采样频率,可以向用户板上注入8路可编程的复杂波形,为用户提供各种数字信号源。

(6)跟踪器:64K深度,最高跟踪速度高达10ns。配合事件触发器,可以进行条件跟踪,以捕捉制定条件下程序执行的轨迹,了解程序动态执行的过程。

(7)代码覆盖:在运行复杂结构的程序时,可以实时了解程序的执行情况,可以动态观察指定条件下代码的执行情况。

(8)程序时效分析:统计每个函数、每条指令的运行时间及占整个程序运行时间的百分比,为用户提高程序效率、检查程序错误提供帮助。

(9)数据时效分析:统计每个变量、每个存储单元的访问次数及占整个程序访问次数的百分比,为提高程序效率、检查程序错误提供帮助。

(10)影子存储器:在用户程序运行时,可以观察外部存储器或外部变量的变化情况,设计师无需停下程序,也能直观、实时的监视外部数据的变化。

(11)多次条件断点:可以设置极其复杂的地址条件、数据条件、控制信号条件、内部特殊功能寄存器断点、内部寄存器断点、数据范围断点、程序范围断点、外部断点以及他们的任意组合,多次断点最大计数可达65536次。

(12)多功能逻辑笔:可以观察8路逻辑信号(支持低电压),并且含频率计、计数器(64位)及电压计功能

2.单片机爱好者网站(http://www.mcufan.com)MF52单片机仿真器

MF52单片机仿真器可在Keil C51环境中使用,采用USB接口。其主要特点如下:

(1)采用USB接口,无需外接电源和串口。

(2)支持单步、断点,随时可查看寄存器、变量、I/O、内存内容。

(3)支持夭折功能,全速运行时按STOP按钮即暂停,并可以从停止处继续运行。

(4)可仿真各种51指令兼容单片机,ATMEL、Winbond、INTEL、SST、ST等。

(5)不占资源,无限制真实仿真(32个I/O、串口、T2可完全单步仿真,包括任意使用P3.0和P3.1口)。

(6)可以仿真64Kxdata地址空间,全部64KB的16位地址空间。

(7)完全兼容Keil C51 UV2调试环境,可以通过UV2环境进行单步、断点、全速、停止、在线编程、目标代码下载等操作。

(8)可以使用C51语言或者ASM汇编语言进行调试。

(9)可以方便地观察变量,包括鼠标取值观察,即鼠标放在某变量上就会立即显示出值。

(10)有脱机运行用户程序模式,这时仿真机就相当于目标板上烧好的一个芯片,可以更加真实的运行。这种情况下实际上就变了一个下载器,而且下次上电时仍然可以运行上次下载的程序。

(11)支持目标板最高40MHz晶振频率。

(12)联机波特率自适应。

(13)仿真时监控和用户代码分离,不可能产生不能仿真的软故障。

(14)可以不用复位仿真机连续下载新目标代码,避免了每次仿真前下载要复位目标板的麻烦。

(15)可以仿真双DPTR。

(16)可以仿真去除ALE信号。

(17)可以仿真PCA。

(18)可以仿真硬件SPI(仅SST系列)。

3.深圳市科赛科技开发有限公司(http://www.szks.net/)代理的C51BOX2单片机仿真器

(1)采用单USB接口,无需外接电源。

(2)下载仿真通信速率达115200bps,这是KEIL UV2可支持的最高速率。

(3)不占资源,无限制真实仿真(32个IO、串口、T2可完全单步仿真)。

(4)支持KEIL最新版软件V6/V7以上各版本,兼容UV2/UV3编译仿真环境。

(5)支持单步、断点,随时可查看寄存器、变量、IO、内存内容。

(6)可仿真ATMEL、Winbond、INTEL、SST、ST等各种51指令兼容单片机。

(7)支持3-40MHz晶振仿真(晶振可插拔更换,通信速率保持115200bit/s)。

(8)内部FLASH仿真空间增加到64KB,内置RAM增加到1KB。支持扩展RAM 64K仿真。可仿真双DPTR、ALE禁止、PCA、SPI等。

(9)自动编程的等待状态下,如果用户编译生成了新的HEX文件,软件会自动调入新代码进行烧录。

(10)批量编程时加入自动序列号功能,可以作为加密、售后管理的用途。

支持读取芯片内容,可转存为BIN格式。