实验一 单片机在线仿真器的使用 一.ME-5103 型单片机在线仿真器简介 ME-5103 型单片机在线仿真器用于开发MCS-51和Piliphs80C51系列单片微机的高性能在线仿真器。 1.主要特性 .增强型在线仿真器,支持MCS-51和Piliphs80C51系列单片微机; .支持ASM-51,PL/M51,C-51源文件文本调试; .支持Intel HEX, Intel OMF, Metalink格式; .联接使用IBM-PC调试时,通讯速率可达115.2kbps; .自带键盘,显示器; .仿真目标程序目标数据仿真器程序仿真器数据四种存储器仿真区域。 2.仿真存储器空间分配 ME-5103 型单片机在线仿真器提供仿真存储器空间为48k为0000H-BFFFH,可用于仿真用户的程序和数据,仿真器使用监控程序和数据的空间为C000H-FFFFH 用户的程序存储器和数据存储器为: U6:0000H-1FFFH,8k 基本RAM 6264 U5:2000H-9FFFH,32k 扩展RAM,ROM或EPROM U4:000H-BFFFH,,8k 扩展RAM,ROM或EPROM 3.仿真模式定义(通过键盘中MAP键循环选择) 读写区域指示(数据) 取指区域指示(程序) 仿真 模式 作用  暗 暗 0 读写区域和取指区域均为仿真器  暗 亮 1 读写区域为用户目标系统,取指区域为仿真器  亮 暗 2 读写区域为仿真器,取指区域为用户目标系统  亮 亮 3 读写区域和取指区域均为用户  下图为仿真器的键盘和显示布局图:     读写区域指示(数据)      取指区域指示(程序) 7 R7 8 DPTR 9 IE IP A A PSW FUNC FFIS USER FFNO MAP FILL RESET  4 R4 5 R5 6 R6 B B SP DEC COMP HEX MOVE HIST OSFT MON  1 R1 2 R2 3 R3 C TM TC BTOP BP BEND BT EXEC STEP  0 R0 F SC SB E TH1TL1 D TH0 TL0  - LAST  + NEXT TRAC    4.功能健作用定义  [RESET] 复位键  [MON] 监控健  [LAST/-] 上一个单元地址检查/减运算键  [NEXT/+]下一个单元地址检查/加运算键  [TRAC] 跟踪键  [STEP] 单步执行键  [EXEC] 连续执行键  [BP/BTOP] 断点/块首键  [BT/BEND] 断点循环次数/块末键  [COMP/DEC] 块比较/十进制转换键  [MOVE/HEX] 块移动/十六进制转换键  [OFST/HIST] 偏移量计算/历史路径键  [FILL/MAP] 块填充/区域选择键  [FFIS/FUNC] 块寻找与关键字相同单元/用户函数调用键  [FFNO/USER] 块寻找与关键字不同单元/用户功能调用键 5.复位   接通电源上电或按下[RESET]键,均使系统复位。 复位时,若JP4短接,则监控程序初始化8155后转向0000H单元执行程序。 复位时,若JP4开路,则监控程序初始化进入MON状态 (1) 进入监控状态“P”; (2) 清除断点标志及块操作标志,恢复断点处的数据; (3) 中断优先寄存器ISP(0F9H)被清零。 有两种复位方式: (1) 上电复位 监控将系统初始化为仿真区域0方式,即在仿真器内取指和读写(数码管左侧的LED均不亮),CPU片内的RAM为随机数。用户变量指示器定义为显示累加器的内容,数码管右端的两位为显示程序的操作码。 (2) 按下[RESET]键复位 不改变用户已经选择的仿真区域和片内RAM的数据。 6.监控   按下[MON]键,此时用户的现场参数得到保护,通常进入监控状态“P”。 7.输入地址 通过小键盘的数字键即可输入地址,分以下几种形式:   (1) 常用寄存器:1位数字,如R0-R7用0-7键,TH1用E键; (2) RAM地址:2位数字,如36,(范围为00-FFH,8051的地址小于80H才有效) (3) RAM和SFR地址:首位为0的3位数字; (4) 片外RAM地址:4位数字(仿真器读写指示灯决定是仿真器还是目标系统的数据)。 8.检查和修改数据 (1) 根据输入地址的形式,用[NEXT]或[LAST]键,显示对应单元的的数据,地址位于数码管的左方,数据位于数码管的右方并有一位数码闪烁; (2) 按下一位数字键后,闪烁的数字被修改。当输入两位数字后,该地址单元的数据修改存入; (3) 按下[NEXT]或[LAST]键,地址增量或减量,重复(2)操作,即能检查或修改下一单元或上一单元的内容。 二.单片机在线仿真器功能键的使用 1.熟悉NEXT, LAST, MON功能键的使用 NEXT, LAST键具有两个作用,一为检查一个单元的内容,二为地址的增量和减量。通过NEXT, LAST, MON键和数字键应用如下: 按键操作 显示器 注释  RESET P   0214 0214 地址为0214  56 1456 左移为1456  NEXT 1456 XX 检查1456单元的内容  34 1456 34 1456单元的内容改写为34  AB 1456 AB 内容改写为AB  MON P 返回监控  6 6 寄存器检查和改写  NEXT 6 XX XX为寄存器R6的内容  NEXT 7 XX XX为寄存器R7的内容  02 7 02 02存入寄存器R7  NEXT 8 XX XX 寄存器DPTR即DPH,DPL值  MON P 返回监控  07 07 片内RAM检查和改写  NEXT 07 02 0区R7地址为07H值02  LAST 06 XX 0区R6地址为06H值XX  78 06 78 RAM 06H值改写78H  MON P 返回监控  089 089 SFR检查和改写  NEXT 089 00 SFR TMOD值00  30 089 30 TMOD值改写为30H  LAST 088 00 SFR TCON值00H  LAST 087 7F SFR PCON值7FH  LAST 086 FF SFR未定义值 FFH  MON P 返回监控  0000 0000 外部RAM检查和改写  NEXT 0000 XX 地址0000值 XX  02 0000 02 值改写为02  NEXT 0001 XX 增量0001 XX  LAST 0000 02 减量   2.熟悉BP, BT, EXEC功能键的使用 BP键用于设置程序中的断点,只有一个,每当设立一个新的断点旧的断点自动清除, BT键用于设置程序断点的循环次数,次数1-256,缺省值为01, 而00为256次。 在已设置断点处按下BP键或在非断点处连按两次BP键度可以清除断点,而RESET键也可清除断点。 EXEC为全速运行键,按下 EXEC键即从当前的程序计数器开始运行程序,如输入4为地址后按下 EXEC键即从该4位地址作为当前的程序计数器开始运行程序。程序运行经过断点时,将显示地址和操作码。 (1)参考程序 地址  机器码    源程序 注释 ORG 0000H 0000 0130 START: AJMP MAIN ;转入主程序 ORG 0030H 0030 7840 MAIN: MOV R0,#40H ;指向低位 0032 7910 MOV R1,#10H ;计数器初值 0034 7400 MOV A,#0 0036 F6 LOOP: MOV @R0,A 0037 04 INC A ;值加1 0038 08 INC R0 ;指针加1 0039 D9FB DJNZ R1,LOOP 003B 80FE HERE: SJMP HERE ;结束后进入无限循环 (2)在IBMPC微机用交叉汇编软件MBUG汇编,产生目标码文件; (3)在MBUG将目标码文件传送到ME-5103仿真器进行调试; 传送完后可用前述方法检查程序。该程序经过16次循环后进入结束后无限循环,设处于仿真模式0状态,调试操作如下: 按键操作 显示器 注释  RESET P 复位  0038 0038 地址为0038  BP 0038 0038处设置为断点  0A 0A   BT 0A   0000 0000 运行程序的起始地址  EXEC 0038 08 运行命令执行后在0038H处停止  MON P 返回监控  40  检查片内RAM的值  NEXT 40 00 40H单元为00H  NEXT 41 01 41H单元为01H  连按8次NEXT后 49 09 49H单元为09H  NEXT 4A XX 4AH单元为XX,循环10次断点  MON P 片内RAM检查和改写  01 01 设置循环1次断点  BT 01   0000 0000 运行程序的起始地址  EXEC 0038 08 运行命令执行后在0038H处停止  EXEC 0038 08 每按一次继续运行,观察数码管上  ...连续15次  方的8个LED,以二进制方式显示    累加器的内容   4.实验报告   写出用ME-5103仿真器汇编操作过程。