KEIL51仿真器监控自制方法

合集下载

用KEILC51环境剖析和移植MON51监控程序的方法

用KEILC51环境剖析和移植MON51监控程序的方法

6.在UV3中建造你自己的工程(注意,用户程序只能在2000H以上的空间监控程序本身要占用前面的部分空间,编译后,进入DEBUG(用keil montor-51 drive,com2,57600).如果没有错误,就发现联机成功了.此时,你再UV3中调试你的应用程序.在UV2中随时观测MON51.ASM的运行状态.此时,在UV2的SERIAL WINDOWS#1中就可以看到钢材启动过程中的MON51发给KEIL(UV3)的数据了,(注意WINDO是用KEIL51的模拟器,配合脚本实现冯.诺依曼结构(相当于MON51板)和串口重定向的模拟运行来虚拟一个可以和PC外部联机的mon51仿真器.用KEIL51的另一个进程,来运行用户开发环境和用户程序.整个过程双方(仿真器监控程序和用户程序)都可以跟踪分析,MON51的全部工作过程尽收眼底!
1.按MON51的方法编译一个MON51.HEX(有现成的下),反汇编好MON51.HEX文件,整理部分主要标号..成为你的分析和移植的源程序MON51.ASM(不会编译可以找个现成的MON51.HEX,本人有符号化的反汇编程序),
到的软件下载_
2改造一下MON51.ASM,将其中通信速率自动检测部分跳过,改成固定值,我的时间常数用最短的(如果只是模拟运行分析,定时器时间参数不影响重定向到PC串口的速率,但太长通信不不上)
7.但此时,还不能运行你的用户程序,因为,在UV2的MON51.ASM中并没有你的用户程序,没有程序的地方在模拟器是不能运行的,会被UV2强制停止,(此功能在一般的模拟调试中很容易用来查堆栈错误),所以还得在你想要放用户程序的地方定义一下程序保留空间.在重复上面的5,6步,就可以了.
8.如过你要观察两者之间的详细通信数据和过程,就在第6步之前,安装启动运行sermon或ACCEESSPORT,创建一个会话,监视COM2

Keil Monitor-51仿真板的制作与使用

Keil Monitor-51仿真板的制作与使用

Keil Monitor-51仿真板的制作与使用摘要: 介绍支持Keil C51的Monitor-51仿真板硬件电路及监控程序的生成方法,对使用中常出现的问题给出了解决方法。

关键词: 单片机 C语言仿真板监控程序MCS-51单片机在我国应用最为广泛、经久不衰。

以往单片机应用程序主要用汇编语言编写。

由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用程序不但周期长,而且调试和排错也比较困难。

为了提高编制单片机应用程序的效率,改善程序的可读性和可移植性,采用高级语言无疑是一种最好的选择。

C语言是一种通用的计算机程序设计语言,既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,表达和运算能力也较强,许多以往只能采用汇编语言来解决的问题现在都可以改用C语言解决。

德国Keil Software公司多年来致力于单片机C语言编译器的研究。

该公司开发的Keil C51是一种专为8051单片机设计的高效率C语言编译器,符合ANSI标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言相媲美。

近年来,Keil C51不断升级,目前最高版本为V6.20。

高版本的Keil C51编译器,尤其是Keil μVision2 (基于Windows的C51集成编译环境)以其性能优越、使用方便,受到了众多单片机爱好者的欢迎。

Keil C51以软件包的形式向用户提供主要包括C51交叉编译器、A51宏汇编器、BL连接定位器等一系列工具和μVision2、软件仿真器dScope51等开发平台。

C51具有丰富的函数库,包含100多种功能函数,为用户编程提供了极大的方便。

C51程序可以实现与汇编语言的接口,两者相互之间的调用十分方便。

但目前支持高版本Keil C51编程的仿真器不多,且价格较高。

为此Keil C51提供了Monitor-51仿真板的制作方法,但无完整的硬件电路图,软件设置也比较繁琐。

Monitor-51仿真板的制作与使用

Monitor-51仿真板的制作与使用
2 监控程序
Monitor-51 仿真板的监控程序可用 Keil C51 提供的 INSTALLBAT 批处理文件生成,此文 件在路径下,须在 DOS 环境下执行,语法如下:
INSTALL serialtype [xdatastart [codestart [BANK] [PROMCHECK]]],[]为可选项。
笔者有多年的汇编语言编程经历,改用 Keil C51 后感觉很好,编程效率大为提高。经过 一段时间摸索,自制成了 Monitor-51 仿真板。使用 Monitor-51 仿真板,给调试程序带来了极大 的方便。虽然仿真板占用了一些系统资源,但经合理安排,一般的应用程序还是可以承受的。
MCS-51 单片机在我国应用最为广泛、经久不衰。以往单片机应用程序主要用汇编语言编 写。由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用程序不但周 期长,而且调试和排错也比较困难。为了提高编制单片机应用程序的效率,改善程序的可读性 可移植性,采用高级语言无疑是一种最好的选择。C 语言是一种通用的计算机程序设计语言, 既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,表达和运算能力也较强,许 多以往只能采用汇编语言来解决的问题现在都可以改用 C 语言解决。德国 Keil Software 公司 多年来致力于单片机 C 语言编译器的研究。该公司开发的 Keil C51 是一种专为 8051 单片机设 计的高效率 C 语言编译器,符合 ANSI 标准,生成的程序代码运行速度极高,所需要的存储空 间极小,完全可以与汇编语言相比美。
ERROR L107:ADDRESS SPACE OVERFLOW,这是因为用户程序大于 µVision2 中设定 的允许长度。可将用户程序允许长度设到仿真板许可的最大值;若还不能解决,可将程序分段 进行调试。

KeilMonitor_51仿真板的制作与使用

KeilMonitor_51仿真板的制作与使用

93’:*)(+). 指 定 监 控 程 序 代 码 在 程 序 存 储 器 起 始 页
数, 即起始位置, 取 值 为 " $%" 之 间 的 十 六 进 制 数 , 缺省 值为 "。 可选项, 为代码区分组的应用程序安排, 应 ;<=> : 用 程 序 不 超 过 ?@> , 一般不选此项。
\<B==H=]
经 久 不 衰 。以 ($=P61 单 片 机 在 我 国 应 用 最 为 广 泛 、 往 单 片 机 应 用 程 序 主 要 用 汇 编 语 言 编 写 。由 于 汇 编 语 言 程序的可读性和可移植性都较差, 采用汇编语言编写单 片机应用程序不但周期长,而且调试和排错也比较困 难。为了提高编制单片机应用程序的效率, 改善程序的 可读性和可移植性, 采用高级语言无疑是一种最好的选 既具有 择 。$ 语 言 是 一 种 通 用 的 计 算 机 程 序 设 计 语 言 , 一般高级语言的特点, 又能直接对计算机的硬件进行操 作, 表达和运算能力也较强, 许多以往只能采用汇编语 言来解决的问题现在都可以改用 $ 语言解决。德国
$+,-./0%$& 总 线 工 控 机 平 台 。 这 从 技 术 水 平 上 提 高 了 我 国 企 业 进 入 738 以 后 的 市 场 竞 争 力 , 对 我 国 传 统 产 业
升级改造和优化产业结构,都具有十分积极的作用, 对 提 高 我 国 的 国 防 实 力 都 具 有 十 分 重 要 的 意 义 。随 着 人 们 对 $%$& 总 线 工 控 机 认 识 的 深 入 , 随 着 技 术 的 进 步 和 思 想的解放, 软件硬 $%$& 总 线 工 控 机 以 其 系 统 的 开 放 性 、 件的标准化、 高性能和高可用性, 必将在可靠性要求很 高的工业和国防领域中得到越来越广泛的应用, 为实现 国家“ 信息化带动自动化” 的目标, 作出应有贡献。 参考文献

自制51芯片仿真器完全手册

自制51芯片仿真器完全手册

自制51芯片仿真器完全手册初学51单片机或是业余玩玩单片机开发,每次总要不断的调试程序,如没有仿真器又不喜欢用软件仿真,那只有每次把编译好的程序烧录到芯片上,然后在应用电路或实验板上观察程序运行的结果,对于一些小程序这样的做好也可以很快找到程序上的错误,但是程序大了,变量也会变的很多,而直接烧片就很难看到这些变量的值了,在修改程序时还要不断的烧片实验,确实很麻烦,这时如果有一台仿真器就会变得很好方便了。

但一台好的仿真器对于业余爱好者来说确实有一些贵,在这里介绍这种易于自制的51芯片仿真器虽然有一些地方不够完善,但还是非常适于初学51单片机的朋友和经济能力不是很好的业余爱好者。

这个仿真器的仿真CPU是使用SST公司的SST89C58或SST89C54(其它相容的芯片也可,这里主要讲述SST89C58),对于没有可以烧写SST89C58芯片的朋友应该选用CA版本的SST89C58芯片,这个CA型号的芯片出厂时已内置了BSL1.1E的固件程序。

那什么是BSL呢?BSL就是英文BOOT-Strap Loader,意思就是可引导装载,形象来说就像电脑用DOS起动盘起动后可以装载应用程序并运行。

只不过SST89C58是用串口来输入程序资料的。

为了能把编译好的单片机程序HEX或BIN文件下载到SST89C58芯片上,SST 公司还提供了一种叫EasyIAP的软件,IAP为In-ApplicationProgramming,有了这个软件就可以把SST89C54变为在线下载的实验器。

在这里不详述EasyIAP的使用,只讲述如何利用它去把SST89C58升级为带SoftICE固件程序的51仿真器。

图1SST89C58一、制作带串口的的最小化应用板无论是EasyIAP还是仿真器,都需要用串行口使SST89C58芯片和PC上位机进行通讯传输数据,因此我们先要制作一个带RS232/TTL转换的应用板,如果你的51实验电路板或目标电路板已带有这样的电路那么你就可以跳过这一段了。

如何建立keil工程并用SC51P0104仿真器仿真

如何建立keil工程并用SC51P0104仿真器仿真

SilanEMU_0907用户使用手册地址:杭州市黄姑山路4号 邮编:310012电话:+86-0571-******** Http :// 传真:+86-0571-******** Email :silan@士兰保留说明书的更改权,恕不另行通知!产品提升永无止境,我公司将竭诚为客户提供更优秀的产品!EMU_0907杭州士兰微电子股份有限公司目录1概述 (2)2开发工具 (3)2.1开发工具清单 (3)2.2EMU_0907仿真头说明 (5)2.3KEIL µV3软件说明 (8)2.4EMU_0907在线调试 (14)3注意事项 (20)4附录 (21)5附 (22)1概述本套开发工具是针对MCU0907系列芯片设计的专用开发工具,可实现在线调试功能。

在线调试是通过Keil软件来实现硬件仿真,可以进行单步运行、全速运行、程序复位和停止程序运行等操作。

在线调试主要用于产品开发阶段,方便用户调试程序,提高开发效率。

程序下载用另外的下载器。

2 开发工具2.1 开发工具清单开发工具包括硬件和软件两类,详见表1。

表1 开发工具清单工具类型 工具名称数量 单位 备注软件工具Keil µV3集成开发软件1 套 用户自备 硬件工具PC 机1 台 用户自备 EMU_0907仿真头 1 套 - DEV_0907开发板 1 套 用户自备 USB 电缆1根-每个工具的功能简述如下:Keil µV3集成开发软件:用于程序编译和在线调试。

PC 机: Keil µV3集成开发环境的运行平台。

EMU_0907:仿真头,仿真MCU0907芯片。

USB 串行电缆:用于连接仿真头和PC 机; 开发工具实物图:图2.1-1 EMU_0907仿真头图2.1-2 USB电缆2.2 EMU_0907仿真头说明EMU仿真头实物图EMU_0907仿真头(仿真板)可以通过USB口直接与PC连接,可以采用USB供电。

介绍利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法

介绍利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法

介绍利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法在单片机系统中,串口(UART,通用异步收发接口)是一个非常重要的组成部分。

通常使用单片机串口通过RS232/RS485电平转换芯片与上位机连接,以进行上位机与下位机的数据交换、参数设置、组成网络以及各种外部设备的连接等。

RS232/RS485串行接口总线具有成本低、简单可靠、容易使用等特点,加上其历史悠久,所以目前应用仍然非常广泛;特别对于数据量不是很大的场合,串口通信仍然是很好的选择,有着广阔的使用前景。

在单片机编程中,串口占了很重要的地位。

传统方式串口程序的调试,往往是利用专用的单片机硬件仿真器。

在编写好程序后,利用仿真器来设置断点,观察变量和程序的流程,逐步对程序进行调试,修正错误。

使用硬件仿真器的确是很有效的方法,但是也有一些缺点:很多仿真器不能做到完全硬件仿真,因而会造成仿真时正常,而实际运行时出现错误的情况;也有仿真不能通过,但是实际运行正常的情况。

对于一些较新的芯片或者是表面贴装的芯片,要么没有合适的仿真器或仿真头;要么就是硬件仿真器非常昂贵,且不容易买到。

有时由于设备内部结构空间的限制,仿真头不方便接入。

有的仿真器属于简单的在线仿真型,仿真时有很多限制。

例如速度不高,实时性或稳定性不好,对断点有限制等,造成仿真起来不太方便。

1、调试前的准备工作下面介绍一种利用Keil的软件仿真功能来实现51单片机串口调试用户程序的方法。

使用这种方法,无需任何硬件仿真器,甚至都不需要用户电路板。

所需的只是:①硬件。

1台普通计算机(需要带有2个标准串口)和1根串口线(两头都是母头,连线关系如图1所示)。

②串口软件可以是自己编写的专用调试或上下位机通信软件,也可以是通用的串口软件(如串口助手、串口调试等),主要用来收发数据。

如果没有合适的串口调试软件,则可使。

Keil C51在线仿真功能详解

Keil C51在线仿真功能详解

仿真机复位按键1.首先将附配的232 DB9Ping连接线接入学习板的232端口,将另一端接入PC机的232端口,再将附配的USB连接线接入学习板的USB端口,将另一端插入PC机的USB端口,完成学习板向PC机取电的工作,是仿真机工作,先不要按下学习 板上的电源开关.3.点击上图画了红色圆圈的图标按钮,会弹出下面的窗口:4.出现如上图的窗口,再点击"调试"按钮,出现如下图的选择框:21如果你要在目标板上看到程序全速运行的结果,那么此项目必须选择,否则程序只是调试,程序将不能加载到仿真器中,就在目标板上看不到运行效果!35.按照上图红色的表识的进行设置,然后点击"确定"按钮,此时按下学习板的电源开关,使仿真机供电,再将坊真机的 复位按钮按一下,是仿真机先复位(注意每次启动仿真机都要复位)复位按键在第一个图片画红色圆圈的那个按键哦6.再点击上图画红色圆圈"调试"7.出现上图画红色方框的字样,则表示Keil软件已经识别到仿真机型号和版本,现在你可以在线调试你的设计程序了 而不需要每次都下载到单片机上,才知道程序是否能正常运行.能即时发现程序哪里出错,并能立即修改和运行. 现在你可以开始你的程序在线仿真了!8.如果你在连接仿真机进行仿真的时候,出现下图的提示,你要检查学习板上的电源开关有没有按下,板上的电源指示灯有没有亮,40Ping专用仿真线有没有插反.上图红色圆圈的三角形位置,不可接反,否则会损坏仿真机!特别注意例:现在以教程中“APW-C51学习板实验程序带源码语句”文件夹中的“流水灯实验(C语言,汇编)” 子文件夹中“LED流水灯(汇编)”的文件为例,介绍仿真器的使用方法:1.首先启动"Keil uVision2"软件,如下图点击 建立一个设计工程,选择"N新建工程",如下图:文件名:就写"流水灯实验"吧!然后选择CPU(就是单片机型号),我们以AT89C51为例,点击"确定".在点击 新建一个程序文件,本例就直接将文件复制过来,"LED流水灯(汇编)"文件中的将源码语句如上图所示复制到新建文档中,再点击 将文件保存起来,保存名字假如为:写好文件名,就点击"保存"按钮,再点击 此图的加号,如下图所示:将鼠标移动到 此文件上,点击右键,选择"增中文件到组Source Group1"出现下图:选择之前保存过的文件 选择文件后如下图所示:点击"Add"选择文件,如下图所示,表示添加成功.然后编译文件点击 会出现如下图所示:然后就按照最初的仿真器与KEIL软件的设置,点击 选择"开始调试"开始调试仿真程序,如下图所示:点击 你会看见,程序在学习板上运行,你可以开始调试仿真了,不但可以在本学习板上实现仿真,也其他的目标板上运行,只需要将仿真线的另一头接到你的目标板上就可以了,可以选择不同的频率晶体,进行仿真超频.注意每次使用前和使用后都要将仿真器复位(按一下复位开关)。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

串口下载SOFTICE监控代码
由于SST的MCU在出厂时已经将BOOT LOADER的下载监控程序写入到芯片中因此无需编程器就可通过SST BOOT-STRAP LOADER软件工具将原来的MCU内部的下载监控程序转换为SoftICE的监控程序从而实现SOFTICE的仿真功能。

执行SSTEasyIAP11F.exe软件运行SST Boot-Strap Loader 在内部模式下检测到对应器件的型号后SoftICE固件通过按SoftICE菜单下Download SoftICE 选项下载便将SoftICE固件下载到MCU 在BLOCK1的SST Boot-Strap Loader 会被SoftICE固件代替
详细操作步骤如下:
A、选择连接的串口
图1
B 、选择芯片型号和内部存储器模式
图2
C、选择串口波特率MCU的晶振频率
图3
D、按确定后再重新复位MCU
图4
E、如果通讯成功在窗口的右上角可以显示出芯片的型号及BOOT LOADER的版本信息
图5
F、点击DOWNLOAD SOFTICE的按钮即可将MCU内部的BOOT LOADER监控程序更换为SOFTICE监控程序
图6
G 、点击确定按钮确认转换为SOFT ICE的监控程序
图7
H、这是转换后的提示信息说明转换SOFTICE监控程序成功
图8
I、此时这片SST89E554芯片便具备了SOFTICE的在线仿真的功能。

相关文档
最新文档