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

51仿真器使用说明初学51单片机或是业余玩玩单片机开发,每次总要不断的调试程序,如没有仿真器又不喜欢用软件仿真,那只有每次把编译好的程序烧录到芯片上,然后在应用电路或实验板上观察程序运行的结果,对于一些小程序这样的做好也可以很快找到程序上的错误,但是程序稍大,变量也会变的很多,系统调试就极为复杂,此时就需要有一台仿真器。
一台好的仿真器非常贵,这里介绍这种自制的51芯片仿真器。
这个仿真器的仿真CPU是使用SST公司的SST89C516RD2。
1.制作带串口的的最小应用板无论是EasyIAP还是仿真器,都需要用串行口使SST89C58芯片和PC上位机进行通讯传输数据,因此先要设计RS232/TTL转换电路。
由于现在的电脑多取消了普通串口,因此我们此处设计了一个usb转TTL的串口接口电路,使用的接口芯片是PL2303。
2.通过编程器烧写仿真监控程序接下来需要把仿真CPU的HEX文件烧到SST89C58里面,再把它插到上面的最小系统电路中就可以了。
因为SST89C58有两个程序存储区,在这里要注意的是在烧写时就把仿真监控程序烧到SST89C58的第二个存储区也就是的RB1。
烧写时要求用支持SST89C58的编程器。
3. 仿真器原理简介SST的MCU SoftICE通过PC的一个COM口与KEIL uVision2 Debugger 通讯它可以实时地调试目标程序,因此提供使用SST单片机的工程师简单有效和容易使用在板上调试程序。
尽管小而紧凑,SoftICE却提供高级仿真器的大部分功能与KEIL uVision2 Debugger 一起使用。
SoftICE提供以下特性:源代码调试支持汇编语言和C51高级语言单步执行STEP和STEP OVER断点调试做多到10个固定和1个临时断点全速运行显示修改变量读/写数据存储器读/写代码存储器读/写SFR特殊功能寄存器读/写P0-P3端口下载INTEL HEX文件对8051程序存储区的反汇编在线汇编SST MCU产品特有的IAP功能In Application ProgrammingSoftICE 用到的MCU 硬件资源SST的SoftICE用到的MCU硬件资源如下(1) 一个UART串口RXD TXD 用定时器2做为波特率发生器(2) 8个字节的堆栈空间(3) SoftICE监控程序占用5Kbyte程序空间对SST89E/V516RDX BLOCK1的4Kbyte 从0000h 到0FFFhBLOCK0的1Kbyte 从FC00h 到FFFFh其它部分的存储区域可以由用户的应用程序使用前面三点作为仿真器的简单了解仿真器的与PC机的连接使用见第四点4.仿真器连接KEIL进行仿真操作1)连接前需要给pc机安装Pl2303驱动,驱动程序在安装文件夹内,解压后即可安装。
KEILMonitor-51仿真板的制作与使用

KEILMonitor-51仿真板的制作与使用MCS-51单片机在我国应用最为关广泛、经久不衰。
以往单片机应用程序主要用汇编语言编写。
由于汇编语言程序的可读性和可移植性都较差,采用汇编语言编写单片机应用程序不但周期长,而且调试和排错也比较困难。
为了提高编制单片机应用程序的效率,改善程序的可读性和可移植性,采用高级语言无疑是一种最好的选择。
C语言是一种通用的计算机程序设计语言,既具有一般高级语言的特点,又能直接对计算机的硬件进行操作,表达和运算能力也较强,许多以往只能采用汇编语言来解决的问题现在都可以改用C语言解决。
德国Keil公司多年来致力于单片机C语言编译器的研究。
该公司开发的Keil C51是一种专门为8051单片机设计的高效率C语言编译器,符合ANSI 标准,生成的程序代码运行速度极高,所需要的存储器空间极小,完全可以与汇编语言媲美。
近年来,Keil C51不断升级,目前最高版本为V7.0。
高版本的Keil C51编译器,尤其是Keil uVision2(基于Windows的C51集成编译环境)以其性能优越、使用方便,受到了众多单片机爱好者的欢迎。
Keil C51以软件包的形式向用户提供主要包括C51交叉编译器、A51宏汇编器、BL连接定位器等一系列工具和uVision2模拟仿真、调试器等。
C51具有丰富的函数库,包含100多种功能函数,为用户编程提供了极大的方便。
C51程序可以实现与汇编语言的接口,两者相互之间的调用十分方便。
笔者是Keil C51的用户,并成功自制了Monitor-51仿真板,有一些心得。
本文提供了Monitor-51仿真板的硬件电路,并对其进行了分析,详细说明了监控程序的生成方法,对使用中常出现的问题给出了解决方法。
1.硬件电路Monitor-51仿真板的硬件资源要求如下:*5K字节的程序存储空间,用于存放监控程序;*256字节的外部数据存储单元(系统需要)和可选的5K字节的跟踪缓冲区;*足够大的外部数据存储空间用于装载完整的用户应用程序;*串行口及一个用作波特率发生器的内部定时器;*6字节的队栈空间,用于用户程序的测试;*如果用户程序大于64K 字节,P1口的部分引脚要用于程序存储空间扩展;*其它资源均可为应用程序所用。
Monitor-51仿真板的制作与使用

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仿真板的制作与使用

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

22
丫丫工作室 KELL 使用教程
先要把C文件添加进工程中…然后就可以写代码了.添加C文件到工程中,操作很简单… 先选择中SOURCE GROUP1 ,然后右键…选择最底下的添加就可以了.
2.新建立一个工程. 在KEIL下执行 PROJECT----NEW PROJECT就可以新建立一个工程了.
8
丫丫工作室 KELL 使用教程
2. 建立新程.
9
丫丫工作室 KELL 使用教程
在此新建立一个LED 工程文件. 4.选择单片机类型. 因为KEIL支持的单片机很多…所以要选择自己所需要的单片机. 在此我们选择ATEML 的89C52这型号的.
勾上第一个选项…然后再点NEXT. 4. 安装界面(4)选择相应的软件安装位置.
我这里选择的是D 盘EDA目录中的KEIL目录.当然大家可以选择默认.
5. 安装界面(5)填写详细资料.
3
丫丫工作室 KELL 使用教程
写完了,然后点NEXT进入下一步. 软件就开始安装了. 6. 软件安装(6)安装过程.
23
丫丫工作室 KELL 使用教程
按图操作…就可以完成添加…
24
丫丫工作室 KELL 使用教程
大家可以看到这个C文件加入了.HE HE… 现在可以写代码了. 在代码输入框内输入代码…大家记得要在英文状态下进行输入.以免避免不必要的麻烦. 请大家在代码框内输入以下代码: #include<at89x52.h> //加入头文件; #define uchar unsigned char //先定义下方便以后使用; #define uint unsigned int void delay(uint a); //延时函数声明; void main() //主函数; { while(1) //无限循环,不停让P0 口的LED 一亮一灭; { delay(20000); //调用延时函数达到延时; P0=0; //点亮P0 口LED; delay(20000); //调用延时函数达到延时; P0=0XFF; //熄灭P0 口LED; } } void delay(uint a) //延时子程序; { uint b; //定义变量B for(b=0;b<a;b++); //根据输入A 的值达到某一定时间的延
爱因 51仿真头使用说明

爱因51系列仿真器使用说明文档一.爱因51系列仿真器软件设置详细说明。
1.安装KEIL C仿真调试软件。
2.硬件安装。
3.对KEIL C进行串口仿真设置。
(1)建立一个工程。
(2)设置串口仿真基本项。
4.实例调试过程.二.仿真器调试注意事项。
附录:爱因51A仿真器USB接口驱动安装指南。
(USB 型)一.VICTECH-51系列仿真器软件设置详细说明。
1.安装KEIL C仿真调试软件。
首先,请您安装Keil Software 公司的Keil C ,软件在我公司随机赠送光盘中,版本号为Keil C 6.23。
2.硬件安装。
(1)将仿真器的串口连接口与计算机的串行口相连接。
(2)将仿真器的40脚插座按照正确的方向(切记)插入实验板的锁紧座中。
3.对KEIL C进行串口仿真设置。
详细过程如下所示:(1)建立一个工程。
点击→Project→New Project。
然后将该工程起名(名字应为英文且长度不宜超过6个字符)并保存在新建文件夹中。
保存好该工程文件后,系统会自动进入CPU选择界面,您可以根据下图所示的进行选择(仿真机所支持的CPU类型在本说明书第一部分已经列出)。
我们先举例选择Atmel公司的CPU(89C52)点击→Atmel→89C52→确定。
(2)设置串口仿真基本项。
首先应用鼠标左键点击“Target 1”。
随后点击→Project→Options for Target‘Target 1’选相。
在“Options for Target‘Target 1’”页面选择项中选中“Target”项。
并按照如图所示箭头所指地方进行更改:Xtal (MHz):11.0592,并将“Use On-chip Rom (0x0-0xFFFF)”复选框选中。
随后点击选中“Debug”项。
如图按照箭头所示点选中选择框“Use:Keil Monitor-51 Driver”和“Load Application at Sta”。
自制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实验电路板或目标电路板已带有这样的电路那么你就可以跳过这一段了。
Keilc51单片机仿真机使用说明

K51U/Keil_CPU单片机仿真机使用说明K51U/Keil_CPU是一个支持keil c51 设计软件的软件断点仿真机。
使用一片SST89C58 单片机和一片AT90S8515 单片机来实现仿真功能(主CPU 和用户CPU),两片CPU 之间通过一根I/O 引脚通讯(通讯速率在33 兆晶振时约100KBPS),主CPU 负责跟keil c51 通讯,用户CPU 只跟主CPU 通讯.结构框图:一,主要功能和特性:1 支持串口的仿真功能2 串口中断用户可以使用3 不占用定时器24 完全仿真p0 p2 口5 支持89C52 等嵌入式CPU 仿真6 占用1 条I/O : P3.57 ISP 在线编程,在线下载8 仿真频率最高33 兆9 支持同时最多10 个断点10 支持单步,断点,全速运行11 支持汇编,c 语言,混合调试12 支持KEIL C51 的IDE 开发仿真环境UV1 UV2(V5.20 V6.02 V6.10 V6.12 V6.14)13 单步执行时间(60 毫秒)14 程序代码载入(可以重复装载,无需预先擦除用户程序空间)15 SFR 读取速度(128 个)200 毫秒16 跟踪记录(trace record)256 条17 可以仿真标准的89c51 89c52 89c58 等51 内核的单片机仿真二,如何使用:1 如何接仿真机的接线把K51U/Keil_CPU按CPU正视方向插入用户板CPU/实验仪CPU插卡区。
系统通信口:要接到你的电脑的串口,这是跟keil c51 进行通讯的接口,keil c51 通过这个串口发命令到仿真机。
(实验仪通信开关:KB6->51)用户通信口:是连接到你的仿真CPU 的串口的,用来监视你的CPU 的串口发出的数据的.如果你的程序没有用到串口,就不用接到电脑的串口. 如果你想看你的单片机的串口发出的数据,就要连接到你的电脑的串口(这时需要使用你的电脑的两个串口.)2 如何设置Keil C51 仿真机的工作参数?这里拿keil c51 V6.14 来说明keil c51,v6.02,v6.10,v6.12 的设置跟v6.14是一样的.1.先打开一个工程文件,如果你没有工程文件就要先建立一个,这里拿keil c51提供的hello.prj 为例子说明用鼠标点击菜单的project 选择open project 如图:2.选择keil\c51\examples\hello\hello,点击打开如图:3 选择菜单的Project->Option for Target 'Simulator',如图:3.1,选择C51 栏的设置如图:删掉define:里的MONITOR51 这几个字母,如果define 栏是空的可以跳过这一步:删掉MONTOR51 之后的设置如下图,不要点击确定,因为还要进行其他设置:附注:3.1 的步骤是调试keil 提供的这个Hello 工程才需要做的,对你自己建立的工程不需要这个设置,你自己的工程可以跳过这步,直接进行下一个设置.在这里用红色来写这个说明,是需要引起用户注意,一些用户买回仿真机之后,然后说调试到第二步就死机了.把仿真机退回换一个新的,结果还是这样,我检查了退回的仿真机,仿真机没有问题.而是忽略了要做这一步的设置.这是我的说明文件漏掉了这一步的说明,特此更正.4 选择debug 栏的设置项目Us e:Keil Monitor-51 DriverLoad Application at Star t:选择这项之后keil 才会自动装载你的程序代码Go till mai n:调试c 语言程序时可以选择这一项,pc会自动运行到main 程序处点击上图的Settings,打开新的窗口,Port:设置你的串口号为仿真机的串口连接线所连接的串口Baudrate:设置为57600 仿真机固定使用57600bps 跟keil 通讯Serial Interrupt:选中它Cache Options: 可以选也可以不选,推荐选它这样仿真机会运行的快一点,最后点击ok 和确定关闭你的设置5 编译你的程序选择Project -> Rebuild all target files6.编译完毕之后选择Debug->Start/Stop Debug Session,就进入仿真了7 装载代码之后在左下角显示如图Connected to Monitor-51 V1.0表示连接到仿真机仿真机的版本号为1.0 这是我的第一个版本Load "C:\\Keil\\C51\EXAMPLES\\HELLO\\HELLO"表示代码装载成功8 其他的调试方法跟软件仿真是一样的三,K51U/Keil_CPU开关设置1,如何使用用户板的晶振答:板上有一个拨码开关是8 路的默认的设置如上图设置的位置如下1 ON2 OFF3 OFF4 OFF5 OFF6 OFF7 OFF8 ON拨码开关拨到右边为ON, 左边为OFF其中的123 路拨码开关是设置使用仿真板的晶振还是用用户板的晶振默认是用仿真板上的晶振为11059200 hz 的要使用用户板的晶振请将123 路设置为1 OFF2 ON3 ON2,如何使用用户板的复位其中的第4 路拨码开关是设置使用仿真板的复位RESET 还是用用户板的复位(RESET),默认是用仿真板上的复位,就是SST89C58 的RESET 脚不连到用户板,要使用用户板的复位就是SST89C58 的RESET 脚连到用户板,请将第4 路设置:4 ON使用看门狗复位时最好设置为OFF .3,如何在仿真板脱机运行用户程序1 ON2 OFF3 OFF4 OFF5 OFF6 OFF7 ON8 ON4,如何使用板上的电平转换电路其中的第5 6 路拨码开关是设置使用仿真板的MAX232 做为电平转换还是用用户板的电平转换,默认是用用户板上的转换,要使用仿真板的串口将第5 6 路设置为5 ON6 ON这时才可以通过我提供的第二条串口线来查看串口的输入输出5, 我的程序可以使用P3.5 吗答:由于监控系统要使用P3.5 来进行通讯,最好不要使用。
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软件的设置,点击 选择"开始调试"开始调试仿真程序,如下图所示:点击 你会看见,程序在学习板上运行,你可以开始调试仿真了,不但可以在本学习板上实现仿真,也其他的目标板上运行,只需要将仿真线的另一头接到你的目标板上就可以了,可以选择不同的频率晶体,进行仿真超频.注意每次使用前和使用后都要将仿真器复位(按一下复位开关)。
Keil Monitor-51 仿真板的制作与使用

Keil Monitor-51 仿真板的制作与使用
陈红仙;陈小平
【期刊名称】《电子技术应用》
【年(卷),期】2002(028)007
【摘要】介绍支持Keil C51的Monitor-51仿真板硬件电路及监控程序的生成方法,对使用中常出现的问题给出了解决方法.
【总页数】3页(P8-10)
【作者】陈红仙;陈小平
【作者单位】苏州大学通信与电子工程系,215021;苏州大学通信与电子工程系,215021
【正文语种】中文
【中图分类】TP3
【相关文献】
1.印制电路板传输线的制作工艺仿真 [J], 康晓斌
2.直流12V输入的卫视接收机通用电源板的使用制作系列之二便携式收视一体化卫星接收机的制作(上) [J], Stanley Jing
3.基于Keil的实验仿真板在现代交通设备设计中的应用 [J], 肖传恩;舒利平
4.电子制作读者服务部精品套件优惠大酬宾之六:PROG-103仿真用户板 [J], 无
5.虚拟仿真技在电路板制作实验教学中的应用与实践 [J], 许才顼;贺杰;郭慧;黄河;吕美妮
因版权原因,仅展示原文概要,查看原文内容请购买。
一步步教你如何第一次使用MCU51 Keil软件仿真器

一步步教你如何第一次使用MCU51 Keil软件仿真器一步步教你如何第一次使用RZ-51仿真器本教程将会从最基础的开始,一步步教你建立工程,编辑文件,编译文件,仿真和调试程序,直到试验板上出现了你想要的结果...现在我们开始进行软件编程。
打开keilC51软件,可以看到以下界面:我们先在D:盘的根目录下建“D:/keyandledtest”目录,以方便程序的编写和调试,调试过程中产生的文件都将放在这个目录中。
现在开始建立一个工程,点菜单Project/New Project,选择保存在在“D:/keyandledtest”目录,文件名为keyandled,点保存,如下图:这时,将出现下面的窗口,综合我们现在要编的程序的规模,我们选择最常用的Atmel89C52.这个芯片拥有标准52内核,片内资源在右边的框中有显示。
另: 由于仿真机是用来仿真标准的52内核(兼容51内核),对于某些拥有特殊功能的51单片机,并不能仿真它的特殊功能部分,而是只能仿真其中的标准52内核部分。
即使市面上的高级的51仿真机都是如此。
点确定,该页面自动关闭。
现在我们开始建立新的程序文件,点击菜单File/New,将新建立一个新的文本文件,点击File/Save,将这个文件保存为“keyandled.c”。
再点击左边的那个框框里的“Target 1”,左边的“,”号。
将展开“Source GroupSource 1”项,用右键点击“Source Group 1”项,选择“Add Files to Group‘Group 1’”,将跳出下面的窗口:选择“ keyandled.c ”文件,点add将keyandled.c文件加入到我们的工程中。
这时“Source Group 1”项左边也会出现“,”号,点击它,展开文件列表,现在只有一个文件,因为我们的程序比较简单,所以一个文件也就足够了。
如果功能很复杂,就可以将各个功能的程序放在一个专门的文件,一般我们称每个文件为一个程序模块,一个工程里面可以有很多的模块。
51单片机仿真

MON-51单片机仿真器使用手册MON-51是一个支持KEIL C51设计软件的软件断点仿真器。
一、主要功能和特性: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.将仿真器插入需仿真的用户板的CPU插座中,仿真器由用户板供电;2.将仿真器的串行电缆和PC机接好,打开用户板电源;3.通过Keil C 的IDE开发仿真环境UV2 下载用户程序进行仿真、调试。
4.仿真器硬件说明:a.使用用户板的晶振仿真器晶振旁有两组跳线用来切换内部晶振和用户板晶振,当两个短路块位于仿真器晶振一侧时,默认使用仿真板上的晶振(11.0592MHz), 当两个短路块位于电容一侧时,使用用户板的晶振。
STC_Monitor51仿真器使用指南(IAP15F2K61S2)

STC Monitor51仿真器使用指南一、安装Keil版本的仿真驱动 (1)二、在Keil中创建项目 (2)三、项目设置,选择STC仿真驱动 (4)四、创建仿真芯片 (5)五、开始仿真 (5)一、安装Keil版本的仿真驱动如上图,首先选择“Keil关联设置”页面,点击“添加MCU型号到Keil中”,在出现的如下面的目录选择窗口中,定位到Keil的安装目录(一般可能为“C:\Keil\”),“确定”若出现下面的提示框,表示安装成功二、在Keil中创建项目若第一步的驱动安装成功,则在Keil中新建项目时选择芯片型号时,便会有“STC MCU Database”的选择项然后从列表中选择响应的MCU型号(目前STC支持仿真的型号只有STC15F2K60S2),所以我们在此选择“STC15F2K60S2”的型号,点击“确定”完成选择添加源代码文件到项目中,如下图:保存项目,若编译无误,则可以进行下面的项目设置了三、项目设置,选择STC仿真驱动如上图,首先进入到项目的设置页面,选择“Debug”设置页,第2步选择右侧的硬件仿真“Use …”,第3步,在仿真驱动下拉列表中选择“STC Monitor-51 Driver”项,然后点击“Settings”按钮,进入下面的设置画面,对串口的端口号和波特率进行设置,波特率一般选择115200或者57600。
到此设置便完成了。
四、创建仿真芯片准备一颗IAP15F2K61S2或者IAP15L2K61S2的芯片,并通过下载板连接到电脑的串口,然后如上图,选择正确的芯片型号,然后进入到“Keil关联设置”页面,钩选“单CPU方案”,再选择“独立方案(不占用串口和定时器)”项,选择完成后,点击左下角的“下载/编程”按钮,当程序下载完成后仿真器便制作完成了。
五、开始仿真将制作完成的仿真芯片通过串口与电脑相连接。
将前面我们所创建的项目编译至没有错误后,按“Ctrl+F5”开始调试。
如何使用KEIL进行软硬件仿真

如有你有帮助,请购买下载,谢谢!1页 如何在KEIL 下使用仿真器1. 在KEIL 下使用仿真器,首先设置软件右击Target1,选择Option for Target ‘Target 1’.如下:2. 在Option for Target ‘Target 1’选项中点选DEBUG ,如下:3. 在DEBUG 下选择USE KEIL Monitor —51 Driver ,其他选择项为默然设置后,点确定。
4. 如果选择USE Simulator 则为KEIL 软件仿真!5. 编译连接如下图:6. 点红色的D (DEBUG )后,左下脚出现一蓝色的进度条,增至100%后出现如下界面: 如果点选1(GO )则是全速执行,2 3 4 为单步调试!2。
为进入某个函数。
3。
为跳出某个函数。
4。
为运行要某个函数。
一般情况下,我们选择1。
---全速执行。
7.如4所述,软件仿真界面同硬件仿真。
8.下面介绍下,在调试过程中比较实用的技巧!比如遇到按键判断的语句,如: If(Key == 0){Delaynms();If(Key == 0){//Add your code here …}}首先在6所述的状态下,用左键选中Key 这个变量,右击选择 Add ‘Key ’to watch Windows #1, 添加到#1后,要调出WA TCH WINDOWS ,先关闭原来的OUTPUT WINDOWS ,如下: 双击1或者按F2键即可修改KEY 的值,如改为0 再配合单步调试的按扭工具就可以判断键被按下,就可以运行Add your code here 的代码了!。
Keil C51仿真器的使用说明

Keil C51仿真器的使用说明一、Keil uVison3编程软件的安装(1)如计算机中已经安装此软件,无须再安装。
(2)打开随箱的软件安装光盘,在keil750AHK(3000TC)\setup 目录下,双击setup图标,显示如图2,点击Full V ersion,顺序点击Next、Y es等,在图3中,输入序列号:k1dzp-5iush-a01ue,其他任意。
安装完成后,默认安装目录为C:\Keil,此目录下还包括一些实验例程。
图2图3二、Keil C51仿真器的使用(1)仿真器的连接:将仿真器的40孔插头插入图4所示的插座中,另一端的USB口插入计算机的USB插孔中。
(2)仿真器驱动程序的安装:打开实验箱电源开关,在计算机上将显示“未知硬件”,按照图5、6的指示,安装硬件驱动(驱动程序在随箱的软件光盘中)。
驱动安装后,在计算机硬件属性串口中可以看到如图7所示的新USB接口设备ProlificUSB-to-Serial Bridge(COM5),COM5表示此设备占用了5号COM口(注:不同的计算机安装后占用的COM口可能不同)。
在图7中点击上端的“端口设置”,可看到如图8所示,此窗口用于设置串口的的波特率等信息,设置的各项参数要与Keil uVision软件中串口设置的一样,方能保证通讯正常。
图4图5图6图7图8(3)K eil uVision2软件中对仿真器的设置:启动Keil uVision2软件,在主界面中,点击工具栏Project(项目)选项中的New Project(新项目),如图9,文件名任意,点保存后出现图10,在器件目录的Atmel目录中选择所要仿真的芯片(如:A T89S51)后确认。
点击主界面的工具栏Project(项目)选项中的“为目标1设置选项”,出现如图11所示,此界面用于设置项目的各项参数,在“目标”选项中设置单片机的晶振时钟,在“调试”选项中,选择使用“Keil Monitor-51 Driver”仿真器,点击框后的“设置”按钮,弹出仿真器通讯参数设置选项,这里的参数要设置与计算机中串口设置的参数一致(见第2步)。
自制Monitor-51仿真器

键盘左右键可以进行前后翻页操作自制Monitor-51仿真器自制Monitor-51仿真器51单片机是很适合初学单片机的人学习的,一则其结构和原理相对于其他单片机而言要简单些,二则现在国内关于51的书籍等学习资源也是很丰富的。
初学单片机的人可以在动手自己制作的过程中得到到动手能力的锻炼,而且往往动手过程要比只坐在那里写程序而言更为有趣味些。
尤其是这个过程中往往多少经历些失败挫折最终获得成功。
学单片机呢,仿真器往往是最为让人着迷的了,因为它可以帮助人更好理解和学习程序知晓程序的运行程序的结构,并能从中获得更多成功的喜悦---亲眼一步一步地看到自己程序的运行,而自制仿真器也是一件很有挑战和好玩的事了。
自己也亲手做过51和AVR单片机的仿真器,这里先介绍51单片机的Moniter-51仿真器,能在Keil编译环境中对51单片机仿真。
下图为用万用板焊的Monitor-51仿真器,由于不是做板焊的,多少看起来是有点粗糙了。
Monitor-51制作的资料包括电路图和调试程序等。
其实光是焊好还并不代表好使,之后的软件配置和烧写过程还颇费些力气的。
下面就介绍在XP系统中利用Keil编译器的仿真器配置文件INSTALL.BAT来生成自己做的仿真器所需要的配置文件。
这个文件在\Keil\C51\MON51中,同意文件夹下还有INSTALL.A51和MON_BANK.A51,这两个文件是Moniter-51的资源配置文件,用户需要修改相关的参数后才能使得仿真器正常运行。
首先由“开始”-->“运行”-->“CMD”进入XP系统的DOS状态,在进入提示界面光标闪烁处键入“CD C:\Keil\C51\MON51 ”(其中C:\为Keil所在的硬盘,可以根据你自己的电脑所安装的路径修改)然后敲”回车“进入MON51所在的文件夹。
然后在下一行的光标闪烁处键入”install.bat 0 7f 0"再敲回车,中途按提示按一次任意键就OK 了(其中参数0 7f 0 是可更改的,需要根据自己的仿真器的电路来设置。
KEILC51单片机仿真器的设计

邮局订阅号:82-946360元/年技术创新单片机开发与应用《变频器与软启动器应用200例》您的论文得到两院院士关注KEILC51单片机仿真器的设计ImplementationofKeilC51MCUEmulatorbasedonSST89C54/58(陕西科技大学)陈晓莉张俊涛Chen,XiaoliZhang,Juntao摘要:SST89C54/58是美国SST公司推出的具有20KB/36KBFlash程序存储器的FlashFlex51系列单片机,通过对Flash的分区实现IAP的功能。
本文介绍SST89C54/58程序存储器的结构特点以及基于SST89C54/58的KEILC51单片机仿真器的设计。
关键词:单片机;存储;仿真器;设计中图分类号:TP368.1文献标识码:AAbstract:SST89C54/58isFlashFlex51familymicrocontrollerwith20KB/36KBFlashEEPROMbySiliconStorageTechnology,IAPisimplementedbasedonitsFLASHpartition.MainfeaturesofprogrammemoryorganizationofSST89C54/58arepresentedandoneofitsapplicationsasKeilC51emulatorisintroduced.Keywords:Microcontroller,Memory,Emulator,Design文章编号:1008-0570(2006)02-2-0019-021概述SST89C54/58(简称89C54/58)是美国SST(SiliconStorageTechnology)公司推出的多用途FlashFlex51系列单片机,片内集成了20KB/36KB的SuperFlashEEPROM程序存储器,分为BLOCK0(16KB/32KB)和BLOCK1(4KB)两块。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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仿真板的专门讨论,有很多爱好者在制作仿真板时遇到一些问题,当然也有成功者。
笔者也是Keil C51的用户,并成功自制了Monitor-51仿真板,有一些心得。
本文提供了Monitor-51仿真板的硬件电路,并对其进行了分析,详细说明了监控程序的生成方法,对使用中常出现的问题给出了解决方法。
1 硬件电路
Monitor-51仿真板的硬件资源要求如下:
·5K字节的程序存储空间,用于存放监控程序;
·256字节的外部数据存储单元(系统需要)和可选的5K字节的跟踪缓冲区;
·足够大的外部数据存储空间用于装载完整的用户应用程序;
·串行口及一个用作波特率发生器的内部定时器;
·6字节的堆栈空间,用于用户程序的测试;
·如果用户程序大于64K字节,P1口的部分引脚要用于程序存储空间扩展;
·其它资源均可为应用程序所用。
根据以上要求,笔者设计的Monitor-51仿真板电路原理如图1。
需要说明的是,图1中存放用户程序的32K字节外部数据存储器62256的是将CPU的称为von Neumann接法。
此时外部数据存储器在就相当于外部程序存储器,当然监控程序的存放地址空间不能与这种接法的外部数据存储空间相重复。
von Neumann接法的另一个作用是调试时可以在用户程序代码中设置断点,监控程序修改用户程序代码在所有的断点处插入ACALL指令。
2 监控程序
Monitor-51仿真板的监控程序可用Keil C51提供的INSTALL.BAT批处理文件生成,此文件在KEILC51MON51路径下,须在DOS环境下执行,语法如下:
INSTALL serialtype [xdatastart [codestart [BANK] [PROMCHECK]]],[]为可选项。
命令中的各参数解释如下:
serialtype:串行通信设置,现将有关MCS-51系列单片机的serialtype设置的含义列于表1中。
xdatastart:指定Monitor-51监控程序使用的外部存储单元的页号(一页为256字节),即上节所需硬件资源的第2项,取值为0~FF之间的十六进制数,缺省值为FF。
例:xdatastart=FF,则X: 0xFF00..X: 0xFFFF(X表示外部数据存储单元)被Monitor-51监控程序存放内部变量,用户应用程序不能使用。
codestart:指定监控程序代码在程序存储器起始页数,即起始位置,取值为0~F0之间的十六进制数,缺省值为0。
BANK:可选项,为代码区分组的应用程序安排,应用程序不超过64K,一般不选此项。
PROMCHECK:可选项,Monitor-51监控程序在CPU复位时检查在程序存储区0地址处是EPROM还是RAM。
例:INSTALL 0 7F 0
这条命令将设置波特率为9600bps,内部定时器1为波特率发生器,要求CPU时钟为11.059MHz,Monitor-51内部变量空间为:X:0x7F00..X:0x7FFF,Monitor-51监控程序代码起始地址为:C: 0x0000(C表示程序存储单元)。
该命令生成一个MON51.HEX,将其固化在EPROM 中即可使用。
应该提醒的是,INSTALL批处理命令中主要用到两个汇编文件:INSTALL.A51和MON_BANK.A51。
根据硬件配置的具体情况,可能要作一些修改。
INSTALL.A51中修改项主要有两项:
(1)中断偏移量设置:当Monitor-51监控程序在ROM中起始地址为0时,用户程序将无法使用MCS-51的中断功能。
为此Monitor-51将所有的中断入口地址转移至高地址的RAM区(大于监控程序的长度),这样用户程序就可以使用中断功能了。
当Monitor-51监控程序代码的起始地址不为0时,中断偏移量设置无意义。
例:监控程序代码的起始地址为0,采用von Neumann接法的外部数据存储器起始地址为8000H,则中断偏移量必须设成8000H,而用户应用程序将存放在8000H之后。
INSTALL.A51中的INT_ADR_OFF定义如下:
INT_ADR_OFF EQU 8000H。
(2)波特率修改:Monitor-51的波特率一般设置成9600bps或自适应。
若要改成其它波特率,如4800bps,则修改“InitSerial:”节中的定时器初始化值。
INSTALL.A51中还有许多其它设置,一般不作修改。
MON_BANK.A51是为代码区分组的应用程序安排的,此处不作讨论。
3 使用中的几个问题
按前两节提供的硬件电路图和监控程序,如果仿真板与目标系统连接无误,就可调试使用了。
但仿真板与目标系统连接有问题或Keil C51软件设置不当会遇到一些麻烦,在程序调试中的主要错误与警告有:
ERROR 22:NO CODE MEMORY AT 0x80xx, 这是因为仿真板用于存放用户程序的外部数
据存储空间与目标系统地址存在冲突。
应检查硬件电路予以解决。
ERROR L107:ADDRESS SPACE OVERFLOW,这是因为用户程序大于μVision2中设定的允许长度。
可将用户程序允许长度设到仿真板许可的最大值;若还不能解决,可将程序分段进行调试。
WARNNING L1:UNRESOLVED EXTERNAL SYMBOL,多数程序员都遇到过此警告,这是由于在生成Monitor-51监控程序时(执行INSTALL批处理命令)没有使用[BANK]选项。
解决方法是将Startup.A51文件中第140、141行最前面加“;”号注释掉。
Startup.A51是加入到用户工程文件中的汇编程序,使用Monitor-51仿真板必须加入此文件。
由于Monitor-51仿真板比较简单,占用了一些系统资源,有时给用户带来了不便。
程序员实际编程中常要解决以下两个问题:
(1)串行接口功能:串行通信是MCS51单片机经常要用到的功能,而MCS-51系列单片机只有一个串行通信接口,在与PC机相连的仿真状态时,串口用于与PC机通信。
若在应用程序中也用到串行口,就会发生冲突。
解决方法是用户程序装载完毕后,运行用户程序,再断开仿真板与PC机的串行通信线。
这样串口就可归用户程序使用了,当然这时PC机就不能在线调试了。
(2)外部存储空间:用户程序越长,占用的外部数据存储空间将越大。
解决的方法是对较长的程序进行分段调试,所有的程序完成后在软件仿真状态(不用Monitor-51仿真板)生成一个完整的HEX文件。
另外,如果系统中还有其它接口器件占用外部数据存储空间,要合理安排。
如有一EEPROM要存放历史数据,可以在调试过程中用#define 预处理命令将存放历史数据的存储空间定义在较小的范围内,程序编完后再修改范围进行编译生成HEX文件。
笔者有多年的汇编语言编程经历,改用Keil C51后感觉很好,编程效率大为提高。
经过一段时间的摸索,自制成了Monitor-51仿真板。
使用Monitor-51仿真板,给调试程序带来了极大的方便。
虽然仿真板占用了一些系统资源,但经合理安排,一般的应用程序还是可以承受的。