单片机伟福仿真.docx
《单片机伟福仿真.docx》由会员分享,可在线阅读,更多相关《单片机伟福仿真.docx(60页珍藏版)》请在冰豆网上搜索。
单片机伟福仿真
《单片机》课程实验指导
石家庄职业技术学院
第一章伟福仿真器简介………………………………………………3
第二章第二章 实验部分………………………………………………………16
§2-1仿真器的使用…………………………………………………………16
§2-2软件实验……………………………………………………………17
§2-3硬件实验……………………………………………………………22
第一章伟福仿真器简介
一E2000L/E2000T/E2000S型仿真器介绍
1功能
仿真器型号
功能
E2000/S
通用仿真器(1-16位,15M总线速度)
硬件测试仪
运行时间统计
逻辑笔(选配件)
WINDOWS版本、DOS版本双平台
E2000/T
含E2000/S所有功能
事件断点、断点记数
跟踪器
影子存储器
全空间程序/数据时效分析器
E2000/L
含E2000/T所有功能
逻辑分析仪(测试钩为选配件)
可编程波形发生器
2配置仿真头
仿真头型号
可仿真CPU
POD8X5X
8X5X系列(P0口和P2口作为总线或IO口用)
POD520
Dalas310/320/510/520/华邦77E58
POD51
8X5X系列CPU(P0口和P2口作为总线用)
POD2051
2051、1051系列CPU(需与POD8x5x配合使用)
POD552
Philips80C552
POD438
华邦438CPU
PODLPC
PhilipsLPC76X
POD196KC
196KC/KB
POD196MC
196MC/MD/MH
POD16C5X
PIC16C52/54/55/56/57/58、PIC12C508/509
POD16C6X/7X
PIC16C61/62/63/64/65/67、PIC16C71/72/73/74
POD16C71X
PIC16C71X全系列
POD16C8X
PIC16C83/84
新仿真头
伟福公司将为E2000系列开发新的仿真头
3外形示意图
逻辑测试钩插座
9芯串口插座
E2000主机
J1J2
34芯仿真插座
电源指示灯
电源插座
20芯仿真插座
二POD8X5X仿真头介绍
POD8X5X仿真头可配E2000系列,E51系列仿真器,用于仿真INTEL8031/51系列及兼容单片机,可仿真CPU种类为8031/32,8051/52,8751/52/54/55/58,89C51/52/55/58,
89C1051/2051/4051,华邦的78E51/52/54/58,LG的97C51/52/1051/2051.配有40脚DIP
封装的转接座,可选配44脚PLCC封装的转接座.选配2051转接可仿真20脚DIP封装的
XXC1051/2051/4051CPU
20芯电缆
34芯电缆
仿真器
仿真头
1
40
21
20
E2000/E51仿真器与POD8X5X连接图
三WINDOWS版本软件安装
1.1.将1号安装盘插入A:
驱动器
2.2.有几种方法可以执行A:
盘的安装程序
a.a.在我的电脑中打开A:
驱动器,双击SETUP文件
b.b.打开DOS窗口,DOS窗口命令行中输入A:
SETUP
3.3.按照安装程序的提示,输入相应内容.
4.4.按照提示插入下一张软盘.
5.5.继续安装,直至结束.
也可以将安装盘全部复制到硬盘的一个目录(文件夹)中,执行相应目录下的SETUP进行安装.
注意:
在安装新版本软件时,如果硬盘上已有老版本的软件,请卸载旧版本软件后,再安装新
软件.
在安装过程中,如果用户没有指定安装目录,安装完成后,会在C:
盘建立一个C:
\WAVE目录
(文件夹),结构如下:
目录内容
C:
\WAVE
├BIN可执行程序
├HELP帮助文件和使用说明
└SAMPLES样例和演示程序
附:
编译器安装
伟福仿真系统已内嵌汇编编译器(伟福汇编器),同时留有第三方的编译器的接口,方便用户
使用高级语言调试程序.编译器请用户自备.
安装51系列CPU的编译器
1.1.进入C:
\盘根目录,建立C:
\COMP51子目录(文件夹)
2.2.将第三方的51编译器复制到C:
\COMP51子目录(文件夹)下.
3.3.在[主菜单|仿真器|仿真器设置|语言]对话框的
[编译器路径]指定为C:
\COMP51(参见仿真器设置)
如果用户将第三方编译器安装在硬盘的其它位置,请在[编译器路径]指明其位置.
安装96系列CPU的编译器
1.进入C:
\盘根目录,建立C:
\COMP96子目录(文件夹)
2.将第三方的96编译器复制到C:
\COMP96子目录(文件夹)下.
3.在[主菜单|仿真器|仿真器设置|语言]对话框的
[编译器路径]指定为C:
\COMP96(参见仿真器设置)
如果用户将第三方编译器安装在硬盘的其它位置,请在[编译器路径]指明其位置.
安装PIC系列CPU的编译器
1进入C:
\盘根目录,建立C:
\COMPPIC子目录(文件夹)
2将第三方的96编译器复制到C:
\COMPPIC子目录(文件夹)下.
3在[主菜单|仿真器|仿真器设置|语言]对话框的
[编译器路径]指定为C:
\COMPPIC(参见仿真器设置)
如果用户将第三方编译器安装在硬盘的其它位置,请在[编译器路径]指明其位置.
四开发环境
1文件
文件|打开文件
打开用户程序,进行编辑。
如果文件已经在项目中,可以在项目窗口中双击相应
文件名打开文件.
文件|保存文件
保存用户程序。
用户在修改程序后,如果进行编译,则在编译前,系统会自动将修
改过的文件存盘.
文件|新建文件
建立一个新的用户程序,在存盘的时候,系统会要求用户输入文件名.
文件|另存为
将用户程序存成另外一个文件,原来的文件内容不会改变
文件|调入目标文件
装入用户已编译好目标文件。
系统支持两种目标文件格式,BIN,HEX
(图:
调入目标文件对话框)
调入已经编译好的目标文件
目标文件格式有二种:
二进制(BIN):
由编译器生成的二进制文件,也就是程序的机器码
英特尔格式(HEX).由英特尔定义的一种格式,用ASCII码来存储
编译器生成的二进制代码,这种格式包括地址,数据和校验
地址选择一般为缺省地址(由编译器定).如果想在当前项目已编译好的二进制代码中插入
一段其它代码,可以去掉”缺省地址”前的选择.然后填入开始插入的地址和结束地址.
用调入目标文件的方法,可以调试已有的二进制代码程序.而不需要源程序.
直接调入目标文件进行仿真的方法是:
1.1.新建项目.
2.2.在新建的项目中,设置仿真器类型,仿真头类型,CPU类型.
3.3.调入目标文件.(不要用加入模块方式,而是直接调入文件)
4.4.打开CPU窗口,在CPU窗口中就可以看见目标文件反汇编生成的程序.
5.5.程序停在与CPU相关的地址上(51系列停在0000H处,96系列停在2080H)
6.6.这样就可以单步或全速调试程序了.
文件|保存目标文件
将用户编译生成的目标文件存盘。
对于按项目方式仿真的用户,系统将程序编译正确后,会根据用户在仿真器|仿真器设
置下[目标文件]中设置的格式,将生成的二进制代码存盘.如果用户是用调入目标文件
方式进行仿真,并且对目标码进行了修改.就可以用文件|保存目标文件方式存盘.
目标文件可以存成两种格式:
[二进制格式(BIN)]:
由编译器生成的二进制文件,也就是程序的机器码
[英特尔格式(HEX)]:
由英特尔定义的一种格式,用ASCII码来存储
编译器生成的二进制代码,这种格式包括地址,数据和校验
[地址选择]一般为[缺省地址(由编译器定)].如果想要存盘的目标文件是由”调入目标
文件”方式装入,而不是由系统编译产生的代码,并已经修改,最好指定它的开始地
址和结束地址,因为代码不是编译系统产生的.系统不知道文件有多长,无法指定开
始和结束地址.自己指定地址的方法是:
去掉[缺省地址]前的选择勾.然后填入开
始插入的地址和结束地址.
文件|打印
打印当前窗口内容,可以是用户程序,也可以是逻辑分析仪波形,跟踪器窗口
文件|退出
退出系统,如果在退出以前有修改过的文件没有存盘,系统将会提示是否把文件
存盘.
2编辑
编辑|撤消键入
取消上一次操作
编辑|重复键入
恢复被取消的操作
编辑|剪切
删除选定的正文,删除的内容被送到剪贴板上
编辑|复制
将选定的内容,复制到剪贴板上
编辑|粘帖
将剪贴板的内容插入光标位置
编辑|全选
选定当前窗口所有内容。
3搜索
搜索|查找
在当前窗口中查找符号,字串。
可以指定区分大小写方式,
全字匹配方式,可以向上/向下查找。
搜索|替换
在当前窗口查找相应文字,并替换成指定的文字,可以指定
区分大小写方式和全字匹配方式查找,可以在指定处替换,也可以
全部替换。
搜索|查找下一个
查找文字符号下一次出现的地方
搜索|转到指定行
将光标转到程序的某一行。
搜索|转到指定地址/标号
将光标转到指定地址或标号所在的位置。
搜索|转到当前PC所在行
将光标转到PC所在的程序位置。
4执行
执行|全速执行
运行程序
执行|跟踪
跟踪程序执行的每步,观察程序运行状态。
执行|单步
单步执行程序,与跟踪不同的是,跟踪可以跟踪到函数或过程的内
部,而单步执行则不跟踪到程序内部。
执行|执行到光标处
程序从当前PC位置,全速执行到光标所在的行。
如果光标所在行没
有可执行代码。
则提示“这行没有代码”
执行|暂停
暂停正在全速执行的程序。
执行|复位
终止调试过程,程序将被复位。
如果程序正在全速执行,则应先停
止。
执行|设置PC
将程序指针PC,设置到光标所在行。
程序将从光标所在行开始执行。
执行|设置/取消断点
将光标所在行设为断点,如果该行原来已为断点,则取消该断点.
四种方法可以在光标处设置断点
1.将光标移到编辑窗口内,行左边的空白处,光标变成右上指箭头,双击鼠
标左键,可以设置/取消断点.
2.使用Ctrl-F8快捷键,可以在光标所在行设置/取消断点
3.右击鼠标,弹出菜单,选择设置/取消断点,
4.主菜单执行/设置取消断点,也可以用Alt-R/B菜单快捷设置取消断点
断点设置好后,当前行左空白处出现X图.如果断点有效,则当前行背景色为红,如果
背景色为绿,说明当前程序行不产生代码,断点无效.
执行|清除全部断点
清除程序中所有的断点。
让程序全速执行
5窗口
窗口|信息窗口
显示系统编译输出的信息。
如果程序有错,会以图标形式指出,
表示错误,表示警告,表示通过
在编译信息行会有相关的生成文件,双击鼠标左键,或击右键在弹出菜单中
选择”打开”功能,可以打开相关文件.(如果有编译错误,双击左键,可以在源
程序中指出错误所在行,有时前一行或后一行程序有错,会造成当前行编译不
通过.而将错误定位在本行,所以如果发现了错误,但在本行没有发现错误,可
以查查本行上下的程序).
例:
编译过程发现有错.在信息窗口中看到在CALC.C文件第118行有202号错误,
文字显示错误类型是,”’DispVa’undefinedidentifier”即:
未定义DispVa
标识符.双击此信息行,系统将打开CALC.C文件,并且在源文件的118行,指出有
错,可以看到,DispVa和ls()中间有空格.原来应为DispVals().
窗口|CPU窗口
通过CPU窗口,可以看到你编译正确的机器码及反汇编程序,可以让你更清
楚地了解程序执行过程。
CPU窗口中还有SFR(特殊功能寄存器)窗口和位窗
口,让你了解程序执行过程中寄存器的变化。
机器码窗口内为程序地址,机器码,反汇编码.窗口最左边的为当前PC所在行,为
断点行.在机器码窗口内也支持点屏功能,在反汇编码处,点击寄存器,可以看到寄存器
的值.在寄存器窗口内为寄存器名称和值.位窗口内为所选寄存器的每一位名称和值.可
修改寄存器值,或其中某一位的值,以观察程序执行的结果.
CPU窗口的状态行显示的是,当前选中的寄存器名称和地址,及寄存器中选中位的名称和
可寻址的位地址.
机器码窗口的弹出菜单
执行到光标处:
使程序从当前PC值,全速执行到光标所在行,用这种方法可以在调试
程序时,跳过一些不必要的指令.将程序停到所要求的位置上.
转到指定地址/标号:
将光标跳到某个地址或标号所在位置,以便察看相应的程序,或使用
”执行到光标处”功能,也可以设置断点,,将程序全速执行到相
应位置.
转到当前PC所在行:
将光标跳到PC所在行,由于在检查程序时,可能会将PC所在行移出当前
窗口,用这种方法可找回PC所在行.
取消/设置断点:
在光标所在行,设置断点,使程序全速执行到此处.若此行已是断点,再次
点击将取消该断点.
寄存器窗口的弹出菜单
加入观察:
将当前寄存器放入观察窗口,以方便随时察看.
修改:
修改当前寄存器值.在程序执行时,可以用这种方法,把寄存器值改为你
所指定的值,从而观察程序在此值时运行的结果.
窗口|数据窗口
数据窗口根据选择的CPU类型不同,名称有所不同。
51系列有以下四种数据窗口
DATA内部数据窗口
CODE程序数据窗口
XDATA外部数据窗口
PDATA外部数据窗口(页方式)
以51系列为例说明数据窗口的操作方法,其它CPU类型的数据窗口基本相同
内部数据窗口
在内部数据窗口中可以看到CPU内部的数据值,红色的为上一步执行过程中,改变过的值,
窗口状态栏中为选中数据的地址,可以在选中的数据上直接修改数据的十六进制值,也可
以用弹出菜单的修改功能,修改选中的数据值。
弹出菜单:
修改:
修改选中数据的值,可以输入十进制,十六进制,二进制的值,与直接修改不同
的是,用这种方法可以输入多种格式数据,而直接修改只能输入十六进制数据。
46(十进制),2EH(十六进制),00101110B(二进制)都是有效的数据格式,
显示为:
选择不同的数据类型显示数据内容,可以是字节方式(BYTE),也可以是字方式
(WORD,两字节),可以是长整型(LONGINT,四字节),也可以是实数型(REAL,
四字节)。
这里是选择整个窗口的显示方式,如果想指定个别数据的显示方式,
可以用主菜单/执行/编辑观察项功能,选择所要选择的显示类型。
(参见编辑观察项窗口)
程序数据窗口
程序数据窗口显示的是编译后程序码,状态栏显示的是选中数据的地址,可以对在选中数据上
直接修改程序数据的十六进制值,也可以对程序数据进行’块填充’,’块移动’操作,也可以读
入一段二进制代码插入程序数据中,也可以将程序数据中的某段代码写文件中.
弹出菜单
修改:
修改选中数据的值,可以输入十进制,十六进制,二进制的值,与直接修改不同
的是,用这种方法可以输入多种格式数据,而直接修改只能输入十六进制数据。
46(十进制),2EH(十六进制),00101110B(二进制)都是有效的数据格式.
块操作:
对程序数据以块的方式进行操作.在窗口中按往左键拖动,可以指定所要操作的’块’
块填充:
将选中的块内数据值,填充为指定值.(图)
块移动:
将选中的块移动到指定地址.(图)
读文件:
读入二进制代码文件,插入的指定的地址内.(参见’调入目标文件’功能)
写文件:
将程序数据指定地址的一段代码写入文件.(参见’保存目标文件’功能)
显示为:
选择不同的数据类型显示数据内容,可以是字节方式(BYTE),也可以是字方式
(WORD,两字节),可以是长整型(LONGINT,四字节),也可以是实数型(REAL,
四字节)。
这里是选择整个窗口的显示方式.
窗口|逻辑分析窗口
在这窗口中观察到逻辑分析仪所采集到的波形,可以设置不同的采样方式,以满足
各种情况下的需要。
逻辑分析仪是数字设计中不可缺少的设备,通过它,可以清楚
地看到程序执行时,各端口输出的波形,迅速地帮助你找出硬件和软件中设计错误。
窗口|叠排窗口
重叠排列项目中打开的窗口。
窗口|平排窗口
并列排列项目中打开的窗口。
窗口|排列图标
整理项目中最小化的窗口。
窗口|全部最小化
将项目中打开的窗口最小化。
6防真器
仿真器|仿真器设置
目标文件
设置生成的目标文件的地址,及生成目标文件的格式。
一般情况下,地址选择为缺省方式.即由编译确定.如果你想重新定位你的程序
就要指定地址,方法是:
去掉”缺省地址”前面的选择.在开始地址,结束地址处
填入相应的地址.编译可以生成BIN(二进制)格式和HEX(英特尔)格式的目标
文件,可以根据你的需要,选择相应的格式.
仿真器
选择所使用的仿真器类型,POD(仿真头)类型,以及所仿真CPU的类型。
如果使用硬件仿真,请去掉“使用伟福软件仿真”前的选择,在仿真头
设置中可以设置该仿真头的特殊功能。
包括仿真空间,看门狗,加密位等等
[选择仿真器]:
框内为本系统所支持的仿真器类型.选择正确仿真器.
[选择仿真头]:
框内为相应仿真器能支持的仿真头类型,选择所使用的仿真头.
[选择CPU]:
框内为选择的仿真器和仿真头能等进行仿真支持的CPU.
[使用伟福软件模拟器]:
使用伟福软件模拟器,可以在完全脱离硬件仿真器情况下,
对软件进行模拟执行.如果使用硬件仿真器,请不要选择使用伟福软件.
[晶体频率]:
在使用伟福软件模拟功能时,用来计算程序执行时间.
[仿真头设置]:
可以设置该仿真头的特殊功能。
包括仿真空间,看门狗,加密位等等.
仿真头(POD)类型不同,设置内容有所不同.(见仿真头设置)
POD51,POD80552仿真头设置
如果用户已经将调试好的程序,烧到EPROM中,插到用户板上,想观察程序在用户板
上工作是否正常.请将设置选到[程序空间在用户板上].通常情况下,用户在调试程
序时,请将设置选到[程序空间在仿真器上]
通信设置
仿真器与计算机通信设置。
包括通信端口选择,速率选择,字间距选择,以及
串口的测试功能。
如果选择了“使用伟福软件仿真”,则不需要设置通信端口。
[端口选择]:
选择仿真器与计算机连接的串口号.如果计算机与仿真器连接不上,请检查通信
端口是否选择正确.
[波特率选择]:
选择仿真器与计算机连接的速度.如果在高速率时通信不流畅,请降低通信速率.
[字符间隔]:
选择通信时,字符与字符之间的间隙,如果在小间隔时,通信不是很流畅,请调到
较大的间隔.
[使用伟福软件模拟器]:
如果选择此项,可以在完全脱离硬件仿真器情况下,对软件进行
模拟执行.如果使用硬件仿真器调试程序,请去掉[使用伟福软件模拟器]前的
选择勾.
[测试串行口]:
用来检测仿真器是否正确连接到计算机的串行口上.
第二章实验部分
§2-1仿真器的使用
实验一伟福软件模拟器的使用
一、实验目的
1、1、 掌握伟福软件模拟器的基本使用方法
2、2、 学习汇编语言程序的输入与运行方法
3、3、 熟悉MCS-51指令系统中的指令
二、实验设备:
PC机与伟福软件模拟器
三、实验内容
运行所给程序,说明程序运行结果
四、实验步骤
1、双击伟福图标,打开伟福软件模拟器,进入集成调试环境,学习菜单栏的使用以及各个窗口的作用和操作方法。
2、选择File---New,打开文件窗口,在此窗口中分别输入如下程序:
(1)
(1) MOVA,#45H
MOVSP,#60H
PUSHA
CPLA
XCHA,61H
POP30H
SJMP$A=SP=(30H)=(61H)=
(2)
(2) MOVA,#74H
MOVB,#21H
MULAB
SJMP$A=B=
(3)MOVA,#23H
MOVR1,#98H
RLA
ADDA,R7
DAA
SJMP$A=R7=
(4)MOVR0,#30H
MOVR5,#05H
MOVB,R5
CLRA
UP:
ADDA,@R0
INCR0
DJNZR5,UP
DIVAB
SJMP$A=B=R0=R5=
在30H----34H单元输入数据
(5)MOVB,#55H
MOVR1,#40H
MOVA,@R1
JNBACC.7,NEXT
XRLA,#0FFH
NEXT:
INCR1
MOV@R1,B
SJMP$A=B=R1=(41H)=
在40H单元中输入数据
3、选择File---Save,保存文件,文件必须以*.ASM存盘
4、选择项目---编译,将汇编语言源程序转换成机器语言目标程序
5、选择窗口---CPU窗口
---数据窗口---DATA
---XDATA
6、选择运行---单步,单步运行程序,直到最后一条指令,观察窗口内容
实验结果填入空中
§2-2软件实验
实验一简单程序的设计
一、实验目的
1、进一步熟悉伟福软件模拟器的基本使用方法
2、学习调试程序的方法
3、学习用连续和