点击 File,如图,选择 New Project,将出现新建工程向导部 分,在此可以设置文件名(Name)和保存路径(Path)
Proteus8.0 版本自身支持汇编语言,故先以汇编语言为例。 由于前面已经设置过外部代码编译器,所以此时工程包含 Source Code(源代码),如
Proteus8.0 或以上版本自带源代码编辑、编译器,所以不再需要外部文本编辑器。 具体操作界面如图所示,在指定位置(Write your code here)进行编码。
下的 Build Project 或者 Rebuild Project 编译固件。 如果代码错误,系统会自动提示哪行代码出现错误,比如下图:
系统自动生成名为 Debug.hex 的文件,并自动拷入到前面的原理图中,点击按钮即 可仿真运行。这也是 Proteus8.0 版本与以往版本的不同之处,该版本不再需要用 Keil 编程后 生成.Hex 文件再手动拷入到原理图中,一切都是自动完成的,节约了很多时间。
如果现在点击运行程序,程序执行到断点代码处将自动停止。 到达断点后,可以通过源代码窗口右上角或 VSM Studio 调试菜单中的常用命令单步执行
如果用 C51 编程,则代码的调试与汇编语言代码的调试十分相似,具体如下: 首先,由于本人电脑没有安装有关 C51 编译的软件,故用 Proteus8.0 版本本身自带的一
此时进行仿真,结果运行到断点处便会停止。 如果需要查看程序执行的细节,具体到每一条指令的执行过程,则可以在反汇编代码中
Keil 是德国 Keil 公司(ARM 公司收购)现已被开发的 8051 单片机软件开发平台,经过 不断升级,现已经成为一个重要的单片机开发平台。Keil 界面不复杂,操作也不困难,很 多优秀程序都是在 Keil 的平台上编写出来的。Keil 是一个重要的单片机语言开发软件平台, 用户群极为庞大。
(1)Keil 的μVision3 可进行纯粹的软件仿真(仿真软件程序,不接硬件电路);也可 以利用硬件仿真器,搭接上单片机硬件系统,在仿真器中载入项目程序后进行实时仿真;还 可以使用μVision3 的内嵌模块 Keil Monitor-51,在不需要额外的硬件仿真器的条件下, 搭接单片机硬件系统对项目程序进行实时仿真。
(2)μVision3 调试器具备所有常规源代码级调试,符号调试特性以及历史跟踪,代 码覆盖,复杂断点等功能。Keil μVision3 可以编辑、编译汇编语言、C51 语言,连接定位 目标文件和库文件,创建.hex 文件,调试目标程序等。
前面介绍了 Proteus 下完成原理图设计文件后,再在 keil μVision3 下编写 C51 程序, 经过调试、编译最终生成.hex 文件后,在 Proteus 下把.hex 文件载入虚拟单片机中,然后 进行系统联调。如果要修改程序,需再回到 keilμVision3 下修改,再经过调试、编译,新 生成.hex 文件,重复上述过程,直至系统正常运行为止。但是对于较为复杂的程序,如果 没有达到预期效果,这时可能需要 Proteus 与 KeilμVision3 进行联合调试。
首先打开 Proteus 需要联调的程序文件,但不要运行,然后选中“调试”菜单中的“使 用远程调试监控”选项,如下图所示。使得 KeilμVision3 能与Proteus 进行通信。
在 Debug 选项卡中选定右边的“Use”及其中的选项“Proteus VSM Simulator”,如果 Proteus 与 Keil C 安装在同一台计算机中,右边“Setting”中的Host 与 Port 可保持默认 值 127.0.0.1 与 8000 不变,如图所示。在跨计算机调试时则需要进行相应的修改。
会自动运行,出现的联调界面如图 4-4 所示。左半部分为 Keil μVision3 的调试界面,右 半部分是 Proteus ISIS 的界面。如果希望观察运行过程中某些变量的值或者设备状态,需 要在 Keil μVision3 中恰当使用各种 Step In/ Step Over/ Step Out/ Run To Cursor Line 及 Breakpoint 进行跟踪,来观察右面的虚拟硬件系统运行的情况。总之,需要把 Keil μVision3 中的各种调试手段,如单步、跳出、运行到当前行、设置断点等恰当地配合来进 行单片机系统运行的软硬件联调。
需要说明的是,联调方式不支持需要调试的程序工程的中文名字,因此应将中文名字改 为英文名字,例如,需将 “流水灯.Uv2”工程文件的名字改为英文字符的名字“LSD.Uv2”。
需要注意的是,这种联调方式在有些场合并不适用。例如键盘矩阵扫描时,就不能用单 步跟踪,因为程序运行到某一步骤时,如果单击按键后,再到 KeilC 中继续单步跟踪,这 时按键早已释放了。又如程序中某些函数模拟了访问某个芯片的程序,如果在内部单步跟踪, 这样也会失去芯片时序的仿真模拟,跟踪也是达不到效果的。
切换到原理图部分,在左边的部分选择电压探针图标,选择 VOLTAGE。接下来在编辑 窗口单击,开始进行探针的放置,即移动鼠标到想要放置探针的位置,左键单击即可,如图:
欢迎光临 (http://www.51hei.com/bbs/) | Powered by Discuz! X3.1 |