proteus怎么运行c语言,Proteus软件的仿真调试方法

目录

共有3种调试方法,分别是:

直接用扩展名为HEX的十六进制文件调试;

源代码级调试;

Keil与Proteus联合调试。

第一种方法比较简捷,不论是用汇编语言,还是用C语言,都要在Keil下,连接编译成扩展名为HEX的十六进制文件。之后把该HEX文件载入单片机,就可直接仿真运行。只要Proteus电路原理图正确,与之配套的程序也正确,它就能运行。其缺点是运行时看不到源程序。第二种方法是源代码级调试,分汇编语言方式和C语言方式。调试时都可以看到源代码,也可用全速运行、单步运行等方法执行程序。第三种方法是Keil与Pro-teus联合调试,在Keil 中执行程序,在Proteus原理图中显示变化情况,两种软件各负其责,分工合作。以下逐一介绍这3种调试方法。

1直接用扩展名为HEX的十六进制文件调试

这种直接装入HEX文件的方法,有全速运行方法,和单步运行方法。方法是:不单击开始仿真按钮,而是单击单步仿真按钮,系统会进入单步运行状态。

2源代码级调试

1).汇编语言方式源代码级调试

2).C51语言方式源代码调试

在源代码级调试C51语言程序,需要先把C51语言编译生成OMF51格式的可执行文件。

OMF51格式文件,英文是“absolute object module format files”,意指绝对目标文件。人们常用的HEX十六进制文件没有包含足够的信息,不允许进行单步调试。而OMF51格式文件包含所有的指令和调试信息,允许实现全速、单步、设置断点、观察变量等调试功能。OMF51格式是Keil所支持的。

1)在Keil中生成OMF51格式的文件。生成OMF51格式文件的过程是这样的:

​ ① 在Keil中打开工程项目文件。

​ ② 选中“Target 1”,然后单击鼠标右键,在弹出的快捷菜单中选择“Options for Target ‘Target 1’ ”。

​ ③ 在新打开的对话框中选择“Output”选项卡,并完成如图所示的设置。

9d014c687b5224f4a4528f8a6ff8bbef.png

2)OMF51格式文件的应用。

​ ①在原理图的单片机上双击鼠标左键,在弹出的“编辑元件”对话框内的“Program File”文本框中要添加刚才生成的OMF51格式的文件。

​ ②在原理图中,单击运行仿真按钮[插图],系统会启动仿真,流水灯点亮,仿真开始后,单击暂停按钮,程序暂时停止运行,然后调出调试窗口。

​ ③在C语言的源代码窗口中,右上角的6个图标依次是“全速”、“单步”、“进入函数”、“跳出函数”、“执行到光标处”、“设置/取消断点”。

3Keil与Proteus联合调试

1)Keil C与Proteus联合调试的准备工作

(1)安装Keil 与Proteus软件.

(2)安装Keil 与Proteus软件的链接文件vdmagdi.exe。

(3)启动Proteus,打开要仿真的工程文件,配置Proteus软件。单击菜单“调试”,选中“使用远程调试监控”。

(4)调出编辑AT89C51属性的对话框,将其程序文件设置为空。程序文件设置为空意味着Proteus原理图的控制权全交给C51程序了。至此,Proteus软件的准备工作已完成。

ecfad84352be4625dae9aacf17f7763d.png

(5)在Keil中打开工程项目文件。

(6)选中“Target 1”,然后单击鼠标右键,在弹出的快捷菜单中选择“Options for Tar-get ‘Target 1’ ”。

(7)在新打开的对话框中选择“Debug”选项卡,并完成设置:这里需要改动的地方是,将“Use”单选按钮选中,将其后的内容选择为“Proteus VSM Simulator”。单击图中的“Settings”按钮,它是IP地址设定按钮,出现另一对话框,单击“OK”按钮,又回到Debug对话框。再将“Load Application atSta”和“Go till main”两个复选框选中,单击“确定”按钮退出。

2)Keil C与Proteus联合调试。

(1)双击Proteus文件,打开仿真电路原理图,在“调试”菜单中选中“使用远程调试监控”。调出编辑AT89C51属性的对话框,将其程序文件设置为空。

(2)在Keil中打开工程项目文件。将工程全部重新编译,在程序没有错误的情况下,编译完成之后进入Keil调试系统,同时Proteus中的仿真功能也已启动,等待执行指令。

(3)在Keil调试系统初始启动调试界面的代码窗口为汇编、C51和机器码的混合体,这对调试程序很不方便,需要调出源代码窗口。方法是:单击“View”→“Dis-assembly Window”,就变成C51代码窗口了。

注意:一定要先在Proteus界面的“调试”菜单中选中“使用远程调试监控”,不然在Keil中调试时会打开其他原理图文件。

(4)如果要全速运行,在清除所有断点的前提下,按F5功能键,程序会全速运行。

(5)如果要观察每步的运行情况,可以按F11和F10功能键,其中F11是单步运行键, F10是跳出函数键。单步运行时,执行延时程序按F10,执行其他指令按F11,如果不这样,会陷进延时程序一时无法出来。

(6)还有个运行方式是“运行到光标处”,先要把光标放到正执行程序后的某一行,然后单击“运行到光标处”图标,程序就会执行到该光标处停下来。

(7)在Proteus原理图仿真画面中,也可让寄存器窗口、特殊寄存器窗口和内部存储器窗口出现,即打开“8051 CPU Registers U1”、“8051CPU SFR Memory U1”和“8051 CPU Internal(IDATA)MemoryU1”3个窗口。

(8)要停止仿真时,选择“Debug”→“Start /Restart DebugSession”,停止调试。

(9)要重新开始仿真,仍选择“Debug”→“Start /Restart DebugSession”,又重新进入仿真调试状态。

标签:仿真,OMF51,单击,Keil,Proteus,源代码,调试

来源: https://www.cnblogs.com/RSheng16/p/12486420.html

  • 7
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值