52
第第第 Keil 第第第第第第第 PROT EUS 第 第第第第 3.1 Keil C 第第第第第 3.2 Proteus 第第第第 3.3 KeiI C Proteus 第第第第第

第三章 Keil 集成开发环境及 PROTEUS 仿 真实验室

Embed Size (px)

DESCRIPTION

第三章 Keil 集成开发环境及 PROTEUS 仿 真实验室. 3.1 Keil C 软件的使用. 3.2 Proteus 仿真软件. 3.3 KeiI C 与 Proteus 的联合仿真. 3.1 Keil C 软件的使用. 图 3.1 Keil C51 启动后界面. 1 、创建工程. Keil C 把用户的每个工程都当作一个项目。当打开一个项目时,所有相关联的程序也进入了调试窗口。即使是只有一个源程序,没有工程也不能进行编译、链接和仿真 。. 图 3.2 创建新项目对话框. 图 3.3 选择目标 CPU. 2 、编辑源程序文件. - PowerPoint PPT Presentation

Citation preview

Page 1: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

第三章 Keil 集成开发环境及PROTEUS 仿 真实验室

3.1 Keil C 软件的使用

3.2 Proteus 仿真软件

3.3 KeiI C 与 Proteus 的联合仿真

Page 2: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

3.1 Keil C 软件的使用

输出窗口

工程窗口

编辑窗口

图 3.1 Keil C51 启动后界面

Page 3: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

1 、创建工程

图 3.2 创建新项目对话框

Keil C 把用户的每个工程都当作一个项目。当打开一个项目时,所有相关联的程序也进入了调试窗口。即使是只有一个源程序,没有工程也不能进行编译、链接和仿真。

Page 4: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.3 选择目标 CPU

Page 5: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

2 、编辑源程序文件 ( 1 )选择【文件】菜单下的【新建】或者单击工具栏

中的图标,出现文本编辑窗口。( 2 )在该窗口输入所要设计的源程序。( 3 )选择【文件】菜单下的【保存】,弹出“另存

为”对话框,选择要保存的路径并输入文件名。注意一定要输入扩展名。

Page 6: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.4 保存源程序对话框

Page 7: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

3 、将源程序加入到项目中

图 3.5 加入文件菜

Page 8: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

4 、设置项目配置选项

图 3.6 工程设置对话框

Page 9: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

1 、【目标】标签页的设置 “X 晶振频率” (Mhz): 设置单片机的晶振频率。

【目标】标签页的选项必须根据硬件来确定,如

果单片机未作扩展,不需要重新设置这些参数,按默认设置即可。

Page 10: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

2 、【输出】标签页的设置

图 3.7 设置【输出】对话框

Page 11: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

“N 执行文件名”:生成的目标文件的名字,默认时与工程名字相同。。

“E 产生执行文件“:是生成 OMF 以及 HEX 文件。 “E 生成 Hex 文件“,用于生成可执行代码文件。

该文件用编程器写入单片机,文件扩展名为 .HEX 。默认情况下选项未被选中,如果要写片做硬件实验,就必须选中该项,否则编译之不生成 Hex 文件。

“D 调试信息”:将会产生调试信息,这些信息用于调试,应该选中该项。其它选项一般选择默认情况,不需要修改。

Page 12: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.8 设置【列表】工程对话框

Page 13: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.9 设置【 C51 】对话框

Page 14: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.10 设置【调试】对话框

Page 15: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

5 、【调试】标签页的设置 【调试】是用来设置调试器。当需要使用仿真功

能时,需要点击右侧的“ U 使用” , 如图所示,通常正常安装完成后, Use 后的下拉列表就是显示“ Keil Monitor-51 Drive“ 。如果你是其他参数,可以点击下拉列表选择“ Keil Monitor-51 Drive” 。

选择完成后点击“设置“按钮,在弹出的对话框中选择你所用的 PC 上的串口,如图 3.11 所示,波特率(通常可以使用 9600 ),其他设置一般不需要更改。

Page 16: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.11 设置【 PC 串口】对话框

Page 17: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

四、编译程序 选择【工程】菜单下的【重新构造所有

目标】选项,如果编译成功,输出窗口显示信息如图 3.12 所示 窗口中的提示信息,光标将自动跳到源程序文件的错误位置。

图 3.12 正确编译、连接后的输出窗口

Page 18: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

6 、调试 / 运行程序 编译完成后,选择【调试】菜单下的【启动 / 停止

调试】选项,弹出如图 3.13 窗口。项目管理器自动转到寄存器选项卡,显示程序调试中的工作寄存器 r0~r7 、累加器 a 、 b 、 sp 、 psw 等特殊功能寄存器的值。

Page 19: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.13 程序运行界面

Page 20: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

如果要查看内存中的数据,点击【视图】菜单的【存储器窗口】,测弹出如图 3-14 所示窗口 .

图 3-14 寄存器窗口

Page 21: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

输入的命令 显示的存储区C: 0x地址 显示程序存储区数据X: 0x地址 显示外部数据存储区数据

D: 0x地址 显示内部数据存储区数据

如果要修改内存中的数据,在对应于存储器的位置右击,在弹出的快捷菜单中,选择更新存储器 X:0Xxx, 则弹出一个对话框,给用户输入要修改的内容。在地址框中,可以通过输入表 3-1 中的指令查看内外数据和程序存储器的数值

表 3.1 数据查看指令表

Page 22: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

7 、常用的快捷图标表 3.2 常用的调试菜单的快捷图标

Page 23: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

3.2 Proteus 仿真软件

元器件库管理选择元器件

对象选择器

类别选择

方向工具栏仿真工具栏

预览窗口

编辑窗口

图 3.15 ISIS 的工作窗口

Page 24: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

1 、编辑窗口 编辑区用来绘制原理图和编辑电路的。该窗口

没有滚动条。2 、预览窗口 该窗口显示两个内容:当单击对象选择框中的某个对象,它显示该元件的预览图;当单击工具栏中的按钮,它显示整张原理图的缩略图。

3 、对象选择器 用来选择元器件、终端、标注、图表、虚拟仪器和信号发生器。对象选择器的上方有一个标签,其中左上角的“ P” 为对象选择按钮,通过此按钮可以在库中找到自己需要的对象。

4 、常用工具按钮的功能

Page 25: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

表 3.3 常用工具按钮的功能

Page 26: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

表 3.4 显示按钮图标及功能

② 显示按钮图标及功能

Page 27: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

这些按钮从左到右依次为仿真、单步运行、暂停和停止仿真。

③ 仿真与运行按钮

Page 28: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

2. 绘制原理图1 、建立并保存设计文件 在 PROTEUS ISIS 的编辑环境中,选择【 File 】菜单下

的【 New Design 】选项,则弹出新建设计的对话框。对话框中提供了多种模板,选择所需模板 , 即可进入新文件的编辑状态。

2 、将所需元器件加入到对象选择器窗口 从元件库中选取单击元件区列表上的“ P” 按钮:或者

菜单中的【 Library 】下的【 Pick Device/Symbol 】选项,弹出元器件选择页面,则在预览区可看到所选择的元件列表,选中所需元件,所选中的元件将加入到 ISIS 元件列表中。

Page 29: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

3. 放置元件于编辑窗口 在 ISIS元件列表中,单击元件名称,把鼠标指针移到编辑器需要放置元件处,单击即可。

4. 放置电源和地 单击工具栏中的终端按钮,在对象选择器中单

击“ POWER” 再在编辑器需放电源处单击即可 ,同理,可以完成“ GROUND” 的放置。

Page 30: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.17 选择电源和地窗口

Page 31: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

5. 电路图布线

图 3.18 导线连接图

ISIS 中没有导线布线按钮,这是因为 ISIS 具有智能化的特点,在相应布线时能进行自动检测。布线有自动捕获和手工布线两种。

Page 32: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

6. 设置、修改元器件的属性

图 3.19 输入元器件属性窗口

Page 33: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

7.给导线或总线加标注 选中导线单击鼠标右键,在下拉菜单中选择

【 Place Wire Lable 】 , 或按下工具栏中的图标,再左击要标注的总线,弹出导线标签编辑窗口,如图 3.20 ,在 String 文本框中输入标签名称,单击“ OK” ,回到编辑窗口,可以看到标签已加到总线上了。如图 3-21

Page 34: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.20 总线标签编辑窗口窗口 图 3.21 总线标注后的原理图

Page 35: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

8. 添加电压探针

图 3.22 添加探针后的原理图

Page 36: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

9. 添加时钟信号发生器

图 3.23 XTAL2 接入时钟信号

Page 37: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

10. 添加虚拟仪器 如果需要跟踪总线或导线逻辑电平的变化,就

需要在原理图中添加虚拟仪器。单击工具栏中图标,在对象选择框中选中逻辑分析仪,如下图,其中 A0~A15 为 16 路数字信号输入, B0~B3 为总线输,入,每条总线支持 16 位数据,主要用于接单片机的动态输出信号。运行后,可以显示 A0~A15 、 B0~B3 的数据输入波形。

Page 38: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.24 逻辑分析仪 图 3.25添加终端后的逻

辑分析仪

Page 39: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

11. 添加数字分析表 如果要改变图表的颜色,可单击菜单中选择

【 Options 】,在下拉菜单中选择【 Set Graph Colours 】,在弹出的对话框中可以设置颜色,

图 3.28 图表颜色设置

Page 40: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

在菜单【 Graph 】下选择【 Add Trace 】或者右击图表框,即可弹出对话框,在 P1 项的下拉框中选择要添加的轨迹信号,如图所示,单击“ OK” 选项后就实现了数字探针和图表的连接。

图 3.29 编辑图表轨迹对话框

Page 41: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.30 添加发生器和探针后的图表

三 . 绘制完电路后,单击电气检测图标,进行电气检测

Page 42: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

3.3 KeiI C 与 Proteus 的联合仿真1. KeiI C 与 Proteus 的连接 ①把安装目录 Proteus\MODELS 下的 VDM51.dll

文件复制到 Keil 安装目录的 \C51\BIN 目录中 ②用记事本打开安装目录 \keilC\C51\TOOLS.INI

文件,修改 Keil 安装目录下 TOOLS.INI 文件,在 C51 字段加入” TDRV5=BIN\VDM51.DLL(“PROTEUS 6 EMULATOR”)” 并保存。其中“ TDRV5” 中的“ 5” 要根据实际情况写,不要和原来的重复即可,引号内的名字随意。

Page 43: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

③对 Proteus 进行设置,打开 Proteus ,在Proteus 的【 Debug 】菜单下选中【使用远程调试设备】。④对 Keil C 进行设置,弹出工程设置的对话

框,在该对话框里在右上部的下拉菜单里选中“ Proteus VSM Monitor 一 51 Driver” ,并且点击一下“ Use”前面小圆点,使黑点出现。 继续单击该对话框中【设置】按钮,弹出对 3-29 话框 ,设置通信接口,在“ Host” 后面添上“ 127.0.0.1” 。

Page 44: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.31 调试对话框的选择

Page 45: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.32 VDM51 设置界面

2. KeiI C 与 Proteus 的联合仿真实例1. 绘制 Proteus 电路原理图2. 编写汇编语言源程序3. 载入程序 4. 交互电路仿真5. 图表分析

Page 46: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

① 绘制 Proteus 电路原理图

图 3-33 单片机访问外部数据存储器原理图

Page 47: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

② 编写汇编语言源程序 读写外部数据存储器源程序: ORG 0000H AJMP STR ORG 0100HSTR: MOV DPTR, #1234H MOV A,#0AAH MOVX @DPTR,A CLR A MOVX A, @DPTR NOP NOP AJMP STR END 输入源程序后,保存并添加到项目中,编译、连接并

产生 HEX 文件

Page 48: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

③载入程序 回到 Proteus ISIS 编辑界面,双击 AT89C51, 弹出 CPU属性对话框,如图打开【 Program File 】,添加 HEX 程序执行文件。

Page 49: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

图 3.34 CPU 属性对话框

Page 50: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

④ 交互电路仿真 在仿真过程中,每个元件的引脚电平都显示出来,红色代表高电平,蓝色代表低电平;仿真时间和 CPU 的负荷都显示在状态栏中,如下图所示。

Page 51: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

AD[0..7]

A[8..15]

AD[0..7]

AD0AD1AD2AD3AD4AD5AD6AD7

AD1AD2AD3AD4AD5AD6AD7

A8A9A10A11A12

AD0AD1AD2AD3AD4AD5AD6AD7

AD0D0

3Q0

2

D14

Q15

D27

Q26

D38

Q39

D413

Q412

D514

Q515

D617

Q616

D718

Q719

OE1

LE11

U2

74LS373NET=AD8

XTAL218

XTAL119

RST9

P3.0/RXD10

P3.1/TXD11

P3.2/INT012

P3.3/INT113

P3.4/T014

P3.7/RD17

P3.6/WR16

P3.5/T115

AD[0..7]

A[8..15]

ALE30

EA31

PSEN29

P1.01

P1.12

P1.23

P1.34

P1.45

P1.56

P1.67

P1.78

U1

AT89C51

A010

A19

A28

A37

A46

A55

A64

A73

A825

A924

A1021

A1123

A122

CE20

CS26

WE27

OE22

D011

D112

D213

D315

D416

D517

D618

D719

U3

6264

U1(XTAL1)

A[8..15]

V=0x12

U1(P3.7/RD)

V=WHI

AD[0..7]V=FLT

U2(LE)

V=SLO

U3(WE)

V=SLO

图 3.35 访问外部存储器仿真图

Page 52: 第三章   Keil 集成开发环境及 PROTEUS 仿  真实验室

⑤ 图表分析选择菜单【 Graph 】下的【 Simulate Graph 】 ,图表将随着电路进行仿真,如图所示。

图 3.36 访问外部存储器的时序图