微机原理与接口技术实验指导书(2)

2018-11-18 21:36

Monitor-51 Driver选项)。同时它的 Settings 项还为我们提供了一个串口通信设置环境,通过它我们可以灵活设置串行通信的端口和波特率,但请注意:由于在调试模式下,DP-51PRO 仿真器需要与上位机进行通信,因此它们的通信协议必须一致,波特率也必须相同且为9600bps。当然要进入系统调试环境设置我们也可以点击工具栏上的 快捷图标进入到环境设置窗口,Keil C51集成开发环境为我们提供了很多这样的快捷功能,好好利用往往能达到事半功倍的效果。

图2.7 Debug调试环境设置

(5) 至于其它的选项用户可按默认值进行设置或不用设置,最后点击确定加以确认。

6.2.4.4 实战

下面仍以Led_Light.asm为例,讲述运用DP-51PRO仿真器在Keil C51集成开发环境下调试程序的步骤和方法。

(1) 打开示范程序的项目文件Led_Light.μV2,这时在Keil C51的Project Window项目观察窗口中看到如图2.8所示的工程项目结构。在Source Group 1中可以看到文件Led_Light.asm,它就是该项目的核心—用户要调试的源程序文件。在此用户应特别注意:在DP-51PRO仿真器下调试时,用户的程序代码是从8000H单元开始存放的,因此用户程序中定义程序块存放的伪指令ORG 0000H应该为ORG 8000H、伪指令ORG 0100H 应该为 ORG 8100H。若用户需要调试 C 语言源程序,则还需要添加Startup.a51系统配置文件(用户可以在\\Keil\\C51\\Lib目录下找到它,为了保证该文件不会被破坏,用户可以把它拷贝到该工程目录中),其主要功能是定义数据段、程序段和堆栈的大小及其起始地址、RAM 的初始化、程序重新定位、初始化启动代码等等,用户必须把CSEG AT 0代码改为CSEG AT 8000H,即用户的应用程序应从8000H开始存放,当然中断矢量地址也应跳转到相应的高端地址单元,如外部中断 0 的入口地址则应该是8003H。

图2.8 Led_Light工程的结构

(2) 在使用DP-51PRO仿真器进行的调试是一种软硬件相结合的综合调试方法,因此用户在使用DP-51PRO仿真器进行仿真调试实验前应正确设置工程项目的软硬件环境,在弹出的下拉菜单中选择 Option for Target ‘Target 1’命令,对hello.uv2工程项目进行调试环境设置,具体设置方法请参考前面内容―软件调试环境设置。

(3) 修改完毕执行Project菜单中的Rebuild all target files命令对工程项目文件进行重新编译、连接,此时会出现“编译正确、连接成功”的提示信息。若编译出错,它将提示出错的原因及所在的位置,更正后重新编译直至完全正确为止,接下来点击菜单栏内的“Debug”菜单,在出现的下拉式菜单中选择Start/Stop Debug Session调试命令,这样即可把用户程序就下载到TKSMonitor51仿真器的SRAM中。

(4) 此时出现调试画面,若在您的调试界面中没有看到变量观察窗口,您可以点击菜单栏中的 View 选项,在弹出的下拉菜单中选择Watch & Call Stack Window即可以打开变量观察窗口,您可以使用同样的方法打开其它相关窗口。

(5) 此时请注意:当您调试C语言程序时,应在Keil C环境的Command输入框下执行g,main命令;而当您调试的是汇编语言程序时,在Keil C环境的下执行g命令进入程序调试状态。这时程序指针PC已指向第一命令语句AJMP MAIN处,并等待用户输Command输入框入各种调试命令。Keil C51给出了许多调试快捷图标和调试命令,如断点设置、复位CPU、单步跟踪(F11) 、单步运行(F10)、 执行返回(Ctrl+F11)、全速运行(F5)、按钮可以启动/停止调试(Crtl+F5)。

(6) 由于Led_light程序使用了系统资源P1口,为了更好的观察这些资源的变化,用户可以打开它们的观察窗口。点击菜单栏 Peripherals 选项,在打开的下拉菜单中选择I/O-Ports选项中的Port 1命令,即可打开并行I/O口P1的观察窗口。

(7) 点击菜单栏的 Debug 选项,在弹出的下拉菜单中执行 Step 命令,观察项目窗口的特殊功能寄存器区域,看看PC指针和堆栈指针的值有何变化。多次执行单步运行指令Step,注意观察P1观察窗口和DP-51PRO单片机综合仿真实验仪上用逻辑笔检测P1口状态。最后选择 Go 命令全速运行程序,此时DP-51PRO单片机综合仿真实验仪上看的P1.0、P1.1、P1.2电平在发生变化。

(8) 程序调试完毕可执行Debug菜单栏中的Start/Stop Debug Session命令停止调试(当然您按一下TKSMonitor51仿真器的复位按钮,即可较快地退出调试状态)。您会了吗?即便还不太熟练,那也

不要紧,在以后的章节中将有大量的实战练习。在学习过程中,您千万不能偷懒,要一行一行地老老实实地将程序敲进去,只有这样您才有可能慢慢地细心地体会到程序设计的思想。我们知道,单片机是一门实战性很强的学科。即便您考试考了100分,如果没有大量的实战训练,您终究可能还是个“门外汉”,没有办法登堂入室成为一名真正的单片机应用开发工程师,这是成千上万开发人员多年来积累的经验教训,即使万事开头难,但是切记:良好的开端等于成功一半!所以不要在学习方法上失败,认真迈好您的第一步。

6.2.4 脱机运行之Flash运行

您的项目工程经过在Keil C51集成开发环境下的软件模拟、DP-51PRO单片机综合仿真实验仪上的硬件仿真,已基本实现和满足用户要求。但在实际的现场工作环境中它是否仍然符合我们的要求,这就需要制作样机脱机运行。脱机运行用户程序是指用户把经过调试、仿真后生成的目标代码文件(*.hex)下载(编程、固化)到 DP-51PRO 仿真器上的单片机内部Flash程序存储器中,系统复位后DP-51PRO仿真器将全速执行用户程序,这样DP-51PRO单片机综合仿真实验仪就相当于用户的一个样机了。

DP-51PRO仿真器具有下载固化用户程序的功能,与上位机DPFLASH软件配合使用,把程序下载到实验仪自带的FLASH存储区中运行。

一、 如何进入运行状态

首先,如6.2.3节的第一段所说的设置好实验仪。然后如6.2.3节所说的把项目修改一下配置,并生成 HEX 文件,然后使用 DPFLASH 软件把 HEX 文件下载,最后把DP-51PRO 仿真器上的开关切换到 RUN 模式然后按 RESET 按键即可。具体操作见6.2.3节。

二、 运行状态的存贮器模型

当DP-51PRO仿真器处于运行状态时,将全速执行实验仪内部Flash中的用户程序。运行状态下,DP-51PRO单片机综合仿真实验仪的存储器模型如图2.9所示。

图2.9 运行状态下存储器模型

6.3 实验项目指导

实验一 51汇编指令练习

一、实验目的

1. 熟悉Keil C51软件使用

2. 学习简单程序的调试方法,学习汇编程序结构 3. 掌握51汇编指令的运用

二、实验设备及器件

微型计算机1台 ,KEIL C51 集成开发软件

三、实验内容要求

1、按照本书的附录A内容,进行Keil C51 集成开发环境的安装和使用练习; 2、阅读与理解给定实验程序,然后按照以下内容建立文件并编译产生HEX文件; 3、熟悉和掌握软件调试的基本方法(编辑,修改,编译,单步、连续执行等); 4、通过跟踪调试熟悉51单片机的内部资源(RAM/寄存器/IO)及单片机的工作原理。

四、参考程序及流程图

;实验一:51汇编指令练习 参考程序

ORG 0000H ;注:将每条指令的执行结果以适当方式标注在指令后,

LJMP MAIN ;对于堆栈操作指令,还要写出执行前后SP的值 ORG 100H

MAIN: ;举例:

MOV A,#55H ;执行前(A)=00H,执行后 (A)=55H

MOV 30H,A MOV 31H,30H MOV RO,#31H MOV P1,A MOV B,@R0 ADD A,#20H ADD A,30H MOV A,#55H CPL A RR A SETB C RRC A ANL A,0FH CLR C

RLC A MOV SP,#20H PUSH ACC PUSH 30H MOV A,#00H POP 40H POP ACC MOV R2,#09H

LOOP9: CPL A DJNZ LOOP9 AJMP $

.参考程序2 ORG 0000H LJMP Main START EQU 30H

Main: MOV R0, #START ;起始地址

MOV R2, #10 ;设置10字节计数值 MOV A,#01h Loop:

MOV @R0,A

INC R0 DJNZ R2,Loop NOP LJMP $

END

END

五、实验步骤

1. 启动PC机,打开KEIL软件,软件设置为模拟调试状态。在所建的项目文件中输入源程序,进行编译,编译无误后,执行程序,点击全速执行快捷按钮,点击暂停按钮,观察存储块数据变化情况,点击复位按钮,可再次运行程序(KEIL软件使用详见附录)。

2.打开CPU窗口,选择单步或跟踪执行方式运行程序,观察CPU窗口各寄存器的变化,可以看到程序执行的过程,加深对实验的了解。

六、预习要求

1、做本实验前要求学生完成课本关于MCS 51单片机指令部分和简单汇编语言编程学习。 2、认真阅读本指导书的第2章的2.1节到2.5节内容。

七. 实验思考题

(1)请写出能完成以下操作的指令或指令序列。

将R0的内容传送到R1。

将内部RAM 20H单元的内容传送到R7。


微机原理与接口技术实验指导书(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2017年1月6月份上海市英语高考概括写作、作文题目及范文(2017.11

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: