什么是 单片机仿真器?

什么是 单片机仿真器?本人学习STC单片机一段时间了,时不时看到“仿真器”之类的东西,从网络中得知所谓仿真器是一种硬件(而不是软件),网络资料杂多且说的比较玄乎------乃至一直没弄明白“仿真器”到底是怎么回事?只是隐约觉得仿真器应该具有单片机本身的功能(不然怎么仿它的真)。我学着这么久,搞不清仿真器与单片机到底有什么区别?到底什么是仿真器!

最好用自己的话描述?言简意赅的
仿真器用于调试单片机软件,为什么不直接用单片机来调试呢?

    什么是单片机仿真器:

    是指以调试单片机软件为目的而专门设计制作的一套专用的硬件装置。

    仿真器使用方法:

    1.将仿真器插入需仿真的用户板的CPU插座中,仿真器由用户板供电;

    2.将仿真器的串行电缆和PC机接好,打开用户板电源;

    3.通过Keil C 的IDE开发仿真环境UV2 下载 用户程序进行仿真、调试。

    4.仿真器硬件说明:

    a.使用用户板的晶振

    仿真器晶振旁有两组 跳线用来切换内部晶振和用户板晶振,当两个短路块位于仿真器晶振一侧时,默认使用仿真板上的晶振(11.0592MHz), 当两个短路块位于电容一侧时,使用用户板的晶振。

    b.为便于调试带看门狗的用户板,仿真器的复位端未与用户板复位端相连;故仿真器的复位按 钮只复位仿真器,不复位用户板;若要复位用户板,请使用用户板复位按钮。

    定义:

    指以调试 单片机 软件为目的而专门设计制作的一套专用的硬件装置。

    原理:

    单片机在 体系结构上与 PC机是完全相同的,也包括中央处理器,输入输出接口, 存储器 等 基本单元,因而与PC机等设备的软件结构也是类似的。因为 单片机在 软件开发的过程中需要对 软件进行调试,观察其中间结果,排除 软件中存在的问题。但是由于 单片机的应用场合问题,其不具备标准的输入输出装置,受 存储空间限制,也难以容纳用于 调试程序的专用软件,因此要对单片机软件进行调试,就必须使用单片机仿真器。 单片机仿真器具有基本的输入输出装置,具备支持程序调试的软件,使得单片机开发人员可以通过单片机仿真器输入和修改程序,观察程序运行结果与中间值,同时对与单片机配套的硬件进行检测与观察,可以大大提高单片机的编程效率和效果。

    主要功能和特性:

    1.可以仿真63K程序空间,接近64K的16位地址空间2.可以仿真64Kxdata空间,全部64K的16位 地址空间.

    3.可以真实仿真全部32条IO脚.

    4.完全兼容keilC51 UV2调试环境,可以通过UV2环境进行单步, 断点,全速等操作.

    5.可以使用C51语言或者ASM汇编语言进行调试。

    6.可以非常方便地进行所有 变量观察,包括鼠标取值观察,即鼠标放在某变量上就会立即显示出它此的值。

    7.可选择使用用户晶振,支持0-40MHZ晶振频率。

    8.片上带有768字节的xdata,您可以在仿真时选择使用他们,进行xdata的仿真。

    9.可以仿真双DPTR指针。

    10.可以仿真去除ALE信号输出。

    11.自适应300-38400bps的所有波特率通讯。

    12.体积非常细小,非常方便插入到用户板中.插入时紧贴用户板,没有连接电缆,这样可以有效地 减少运行中的干扰,避免仿真时出现莫名其妙的故障。

    13.仿真插针采用优质镀金插针,可以有效地防止日久生锈,附赠优质园脚IC插座,保护仿真插针,同时不会损坏 目标板上的插座。

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

    15. RS-232接口不计成本采用MAX202集成电路, 串行通讯稳定可靠,绝非一般三极管的简易电路可比。

    功能限制:

仿真器占用 单片机串口及 定时器2,与Keil C(PC)通讯,故不支持串口及定时器2的仿真功能。 全速运行时 单片机串口及 定时器2可供用户使用。
温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-27
仿真器的出现也是有原因的,有两点:
一,早期的单片机内部没有ROM,比如8031、8032,这种单片机只能外部扩展紫外擦除的EPROM存储器,就是芯片上带窗口的ROM。紫外擦除的ROM需要用紫外灯照射较长时间(10分钟或者更多)才能擦掉芯片中的内容以便写入新的程序。二是有的单片机内部ROM是一次写入成型的,比如8751,程序写入单片机的ROM之后就不能被擦除。
因此,如果这样直接用单片机来调试,怎么调试呢?把程序写入ROM然后运行,出问题了就修改程序在写道ROM中再运行?但写一次ROM需要不少时间啊!如果是8751单片机,写一次程序不对,那这单片机就废了,要知道当时的单片机比肉价还贵呢。
因此出现了仿真器,这仿真器用RAM当充当单片机的程序存储器,这样就可以快速的反复写入程序进行运行测试,通过插入其他代码来观察寄存器和RAM中数据的变化,以判断程序运行是否正确。这样就高效快速的设计程序了。
现在的单片机高级,比如C8051F、STM32等,其仿真器把程序直接写入单片机的内部的ROM中,通过JTAG逻辑读出寄存器和RAM中的数据来判断运行是否正确,这就算“直接用单片机来进行调试”了。本回答被提问者和网友采纳
第2个回答  2017-07-30
仿真器的出现也是有原因的,有两点:
一,早期的单片机内部没有ROM,比如8031、8032,这种单片机只能外部扩展紫外擦除的EPROM存储器,就是芯片上带窗口的ROM。紫外擦除的ROM需要用紫外灯照射较长时间(10分钟或者更多)才能擦掉芯片中的内容以便写入新的程序。二是有的单片机内部ROM是一次写入成型的,比如8751,程序写入单片机的ROM之后就不能被擦除。
因此,如果这样直接用单片机来调试,怎么调试呢看把程序写入ROM然后运行,出问题了就修改程序在写道ROM中再运行看但写一次ROM需要不少时间啊!如果是8751单片机,写一次程序不对,那这单片机就废了,要知道当时的单片机比肉价还贵呢。
因此出现了仿真器,这仿真器用RAM当充当单片机的程序存储器,这样就可以快速的反复写入程序进行运行测试,通过插入其他代码来观察寄存器和RAM中数据的变化,以判断程序运行是否正确。这样就高效快速的设计程序了。
现在的单片机高级,比如C8051F、STM32等,其仿真器把程序直接写入单片机的内部的ROM中,通过JTAG逻辑读出寄存器和RAM中的数据来判断运行是否正确,这就算逗直接用单片机来进行调试地了。
第3个回答  2018-06-14
其实吧,简单来说就是仿真器可以看到程序中各个变量的值。
第4个回答  2012-07-12
指以调试单片机软件为目的而专门设计制作的一套专用的硬件装置。
 单片机在体系结构上与PC机是完全相同的,也包括中央处理器,输入输出接口,存储器等基本单元,因而与PC机等设备的软件结构也是类似的。因为单片机在软件开发的过程中需要对软件进行调试,观察其中间结果,排除软件中存在的问题。但是由于单片机的应用场合问题,其不具备标准的输入输出装置,受存储空间限制,也难以容纳用于调试程序的专用软件,因此要对单片机软件进行调试,就必须使用单片机仿真器。单片机仿真器具有基本的输入输出装置,具备支持程序调试的软件,使得单片机开发人员可以通过单片机仿真器输入和修改程序,观察程序运行结果与中间值,同时对与单片机配套的硬件进行检测与观察,可以大大提高单片机的编程效率和效果。
相似回答