精品文档-Proteus在电子电路与51单片机中的应用-第7章

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

33
7.2.1 创建工程文件 双击Keil μVision图标,进入Keil编程界面,如图7-15
所示。在图7-15中,选择菜单命令Project / New μVision Project,弹出工程文件存储对话框,如图7-16所示。
34 图7-15 Keil编程界面
35 图7-16 工程文件存储对话框
53 图7-27 单片机控制程序的加载
54
7.3 Keil与Proteus联调
前面两节介绍的程序调试都是独立调试,7.1节介绍的是 在Proteus环境中进行软硬件调试,7.2节介绍的是在Keil环境 中进行软件调试,本节介绍的联调是在两个软件环境中进行联 调。
55
联调是指Proteus开放了软件接口,支持和第三方IDE(集 成开发环境,如Keil)的联合调试。联调时Proteus中的硬件电 路相当于目标板,从而省却了硬件仿真器,可直接用第三方的 IDE调试Proteus中的硬件电路。本节以流水灯控制电路为例, 介绍Keil与Proteus联调的过程。
则弹出程序调试窗口,如图 7-11 所示。
22 图7-10 选择右击菜单命令
23 图7-11 程序调试窗口
24
图7-11程序调试窗口右上角的六个调试命令按钮的含义分别是: (Run Simulation):全速运行; Step Over Source Line):单步运行,但不
进入 子程序; (Step Into Source Line):单步运行,进入
Keil μVision是集成的程序编制与调试环境,它通过工 程来管理文件,而不是单个文件形式。对于单片机控制程序来 说,首先建立一个工程文件,用工程文件来管理源程序文件(C 程序及汇编程序)、头文件等。在Keil中设计单片机控制程序 的步骤如下:
32
① 创建一个工程文件; ② 选择目标器件(如Atmel公司的AT89C51单片机); ③ 为工程项目配置软硬件环境(将单片机初始化程序添加 至工程文件); ④ 创建源程序文件并编制程序代码; ⑤ 将源程序文件添加至工程文件; ⑥ 编译调试工程文件,生成目标代码文件(HEX文件或OMF 文件)。
1
第7章 51单片机的程序编制与调试
7.1 Proteus环境中的程序编制与调试 7.2 Keil μVision中的程序编制与调试 7.3 Keil与Proteus联调 本章小结
2
内容提要
本章介绍单片机程序的编制与调试。 本章首先介绍在Proteus ISIS环境中单片机程序(汇编)的 编制与调试过程;接着介绍了在Keil μVision环境中单片机 程序的编制与调试过程;最后介绍了Keil μVision与Proteus 联调的有关内容。 通过本章的学习,读者可较快掌握单片机程序的编制与调 试。
41 图7-20 源程序编辑器
42
7.2.3 添加源程序文件至工程文件 在工程文件窗口中,单击Target 1左边的“+”,弹出树
型结构,右击Source Group 1,选择右击菜单命令Add Files to Group ’Source Group 1’and its Files,如图7-21所示, 从而完成源程序文件的添加。添加结果如图7-22所示。
3
7.1 Proteus环境中的程序编制与调试
Proteus VSM提供了简单的程序编辑器,可用来编制简单 的单片机程序。对于不同系列单片机,Proteus提供了相应的 编译器,使用时可根据单片机型号和编程语言选择。
Proteus提供的编译器类型如下: ASEM51:51系列单片机编译器 ASM11:Motorola单片机编译器 AVRASM2:Atmel AVR单片机编译器 MPASM:PIC单片机编译器 MPASMWIN:PIC系列单片机编译器
18 图7-8 AT89C51单片机
19
(2) 加载目标代码文件。单击AT89C51单片机图标,弹出 单片机属性设置对话框,如图7-9所示。在Program File文本 框加载HEX文件。
20 图7-9 单片机属性设置对话框
21
(3) 程序调试。选择菜单命令 Debug/Start/Restart
单击Output选项卡,并勾选Create HEX File选项(编译输出文
件为HEX格式),单击“确定”按钮即可。
46 图7-23 Options for Target对话框(设置编译输出文件格式)
47
2.程序编译
在文件调试工具栏,单击按钮“
”(Rebuild
all Target Files),完成源程序的编译,编译结果在Output
通过程序的原码级调试,可看出单片机内部资源状态的变 化。同时单片机的外部状态(相应端口电平)也随之变化,若单 片机端口连接有电路,则电路的工作状态也随之变化。这样就 实现了单片机的软硬件联调,对于单片机的学习和应用来说非 常有帮助。
30 图7-14 Add Memory Item对话框
31
7.2 Keil μVision中的程序编制与调试
43 图7-21 添加源程序文件的右击菜单命令
44 图7-22 在工程文件中添加了源程序文件
45
7.2.4 程序编译与调试
编译程序之前,首先要设置编译输出文件的格式,然后才
能编译与调试。
1.设置输出文件格式
在文件调试工具栏中单击按钮“
”(Options
for Target),弹出Options for Target对话框如图7-23所示。
40
7.2.2 创建源程序文件 在Keil界面选择菜单命令File / New,则弹出源程序编辑
器,如图7-20所示,在程序编辑器中编制单片机控制程序并存 盘。
注:源程序文件可以是汇编程序文件(存盘时选择Asm Source file(*.s*;*.src;*.a*)),也可以是C语言程序(存 盘时选择C Source file(*.c)),由用户在存盘时选择。
菜单命令Source/Build All,则完成对源程序的编译,源程序 编译日志如图7-7所示。从编译结果可看出,程序编译通过; 若程序有错误,则编译时会提示出错信息。编译源程序以后, 生成的目标代码文件为:流水灯控制.HEX。
16 图7-7 源程序编译日志
17
2.程序调试 程序调试要在单片机芯片中加载目标代码文件(HEX文件) 以后进行,可进行单步、跟踪、设置断点等操作,并能给出调 试信息。 (1) 放置单片机芯片。在Proteus ISIS界面中放置 AT89C51单片机,如图7-8所示。
6
由图7-1可知,在Code Generation Tool下拉列表框选择 编译器ASEM51,单击“New”按钮,弹出新建程序文件对话框, 如图7-2所示。单击“是”按钮可完成汇编程序文件的创建, 如图7-3所示。
7 图7-2 新建源程序文件对话框
8 图7-3 新建源程序文件
9
添加新建源程序文件以后,在Proteus ISIS界面的Source 菜单下即添加了汇编程序文件“流水灯控制.ASM”,如图7-4 所示。
4
7.1.1 源程序编制 1.源程序文件的创建 在Proteus ISIS环境中,选择菜单命令
Source/Add/Remove Source Files,弹出Add/Remove Source Code Files对话框,如图7-1所示。
5 图7-1 Add/Remove Source Code Files对话框
12 图7-5 Add/Remove Code Generation Tools对话框
13
3.源程序文件的编辑 在Source菜单下,单击“流水灯控制.ASM”,则弹出源程 序编辑器,如图7-6所示。在编辑器中编辑汇编程序并存盘。
14 图7-6 源程序编辑器
15
7.1.2 源程序的编译与调试 1.源程序编译 加载源程序后(在Source菜单下能显示源程序文件),选择
56
7.3.1 安装联调插件 联调时,需要安装联调插件Vdmagdi.exe,该软件可在网
上下载安装。将其安装至Keil目录下,在安装的过程中选择 AGDI Drivers for μVision2类型,如图7-28所示。
57 图7-28 安装联调插件对话框
58
7.3.2 在Keil中创建工程文件并配置联调选项 创建工程文件、源程序文件、设置输出代码格式同7.2节。 联调配置过程为:在文件调试工具栏中单击按钮
10 图7-4 Source菜单下加载的源程序文件
11
2.编译器的设置 在Proteus ISIS环境中,选择菜单命令Source/Define Code Generation Tools,弹出Add/Remove Code Generation Tools对话框,如图7-5所示。在该对话框中可设置编译以后的 目标文件类型(*.HEX)和调试数据文件类型(*.LST)。
“ ”(Options for Target),弹出Options for Target对 话框(联调配置对话框),如图7-29所示。单击Debug选项卡, 选择Use选项并在后面的下拉列表框中选择Proteus VSM Simulator,单击“确定”按钮即可。
59 图7-29 Options for Target对话框(联调配置对话框)
子程 序; (Step Out From Source Line):单步运行,
从 子程序中跳出; (Run to Source Line):运行到指定的行; (Toggle Breakpoint):添加/删除断点。
25
通过程序调试,可看出单片机内部资源状态(在Debug菜单 下选择)如图7-12所示。内部资源包括内部数据存储器、CPU内 部寄存器和特殊功能存储器。
60
7.3.3 编译工程文件 编译工程文件并生产HEX代码,编译工程文件的过程同7.2
节。
61
7.3.4 在Proteus中创建硬件电路并配置联调选项 在Proteus ISIS环境中创建单片机应用电路,如图7-30所
50 图7-25 Debug下拉菜单
51 图7-26 程序调试时寄存器状态的变化
52
7.2.5 单片机硬件电路的设计与程序加载 单片机硬件电路在Proteus ISIS环境中设计,在Proteus
ISIS中调用AT89C51单片机,在单片机属性设置对话框中加载 “TEST1.hex”文件,如图7-27所示。单片机控制程序加载以 后,即可进行单片机控制系统的仿真运行。
Debugging(或单击仿真运行按钮“
”),运行仿
真。程序调试要在暂停的状态下进行,选择菜单命令
Debug/Pause Animation( 或 单 击 仿 真 暂 停 按 钮

”),暂停仿真。在单片机图标中选择右击菜
单命令 8051 CPU/Source Code – U1,如图 7-10 所示,
Window(输出窗口)中显示,如图7-24所示。从编译结果可看出,
程序编译成功,并生成“TEST1.HEX”文件。
48 图7-24 源程序的编译结果
49
3.程序调试 选择菜单命令Debug,弹出Debug下拉菜单,如图7-25所示。 由图7-25可知,通过Debug菜单命令,可对程序进行单步、 跟踪、设置断点等操作。随着调试的进行,单片机寄存器的状 态随之变化,其变化情况如图7-26所示。
36 图7-17 选择目标器件对话框
37 图7-18 配置单片机初始化程序对话框
38 图7-19 创建工程文件后的Keil界面
39将STARTUP.A51添加至工程文件。若源程序为C语言程序,在 图7-18中必须选择“是”,即将STARTUP.A51添加至工程文件, 否则编译时会出现提示错误。
26 图7-12 单片机内部资源状态
27
调试程序时,还可通过变量观测窗口(在Debug菜单下选择) 观测寄存器的数值变化。变量观测窗口如图7-13所示。随着程 序的运行,变量观测窗口中的寄存器的数值随之变化。
28 图7-13 变量观测窗口
29
变量观测窗口中的变量添加过程:右击变量观测窗口,选 择右击菜单命令Add Items(By Name),弹出Add Memory Item 对话框,如图7-14所示。在该对话框中双击需要的寄存器,便 可将该寄存器加至变量观测窗口。
相关文档
最新文档