软件开发工具Keil与虚拟仿真平台Proteus的使用实验二

软件开发工具Keil与虚拟仿真平台Proteus的使用实验二


2024年2月1日发(作者:)

《单片机原理及应用》软件开发工具Keil与虚拟仿真平台Proteus的使用实验

实验目的

(1)了解Keil和Proteus软件的基本特点和功能。

(2)学会使用Keil软件进行单片机中断应用和定时器/计数器应用的编程。

(3)学会使用Proteus软件进行单片机中断应用和定时器/计数器应用的原理图的绘制和程序实现。

(4)学会使用Keil和Proteus两种软件的联调。

实验指导

一、Keil C51的使用

1.创建项目

编写一个新的应用程序前,首先要建立项目(Project)。

(1)在编辑界面下,单击菜单栏中的[Project],出现下拉菜单,再点击选择中的“New Project”。

(2)单击“New Project…”选项后,就会弹出“Create New Project”窗口。在“文件名(N)”中输入一个项目的名称,保存后的文件扩展名为“.uvx”,即项目文件的扩展名,以后可直接单击此文件就可打开先前建立的项目。在“文件名(N)”窗口中输入新建项目文件的名字后,在“保存在(I)”下拉框中选择项目的保存目录,单击“保存(S)”即可。

(3)选择单片机,单击“保存(S)”后,会弹出“Select Device for Target”(选择单片机)窗口,按照提示选择相应的单片机。搜索“AT89C52”并选择。

(4)单击“确定”按钮后,会出现对话框。如果需要复制启动代码到新建的项目,选择单击“是”。如选择单击“否”,启动代码项“STARTUP. A51”不会出现,这时新的项目已经创建完毕。

2.新建文件

新的项目文件创建完成后,就需要将用户源程序文件添加到这个项目中,添加用

户程序文件通常有两种方式:一种是新建文件,另一种是添加已创建的文件。

(1)单击快捷按钮编写的程序源代码。

(2)单击中快捷按钮,保存用户程序文件,这时会弹出窗口“Save As”的对话,这时会出现一个空白的文件编辑画面,用户可在这里输入框,在“保存在(I)”下拉框中选择新文件的保存目录,这样就将这个新文件与刚才建立的项目保存在同一个文件夹下,然后在“文件名(N)”窗口中输入新建文件的名字,如果使用C51语言编程,则文件名的扩展名应为“.c”。完成上述步骤后单击“保存(S)”,此时新文件已创建完成。这个新文件还需添加到刚才创建的项目中,操作步骤与下面的“添加已创建文件”步骤相同。

3.添加已创建文件

(1)在项目窗口中,右键单击“Source Group 1”,选择“Add Files to Group1

Source Group 1 ”选项。

(2)完成上述操作后会出现“Add Files to Group ‘Source Group1’”对话框。在该窗口中选择要添加的文件,这里只有刚刚建立的文件“xxx.c”,单击这个文件后,单击“Add”按钮,再单击“Close”按钮,文件添加已经完成了,这时用户程序文件“xxx.c”已经出现在“Source Group 1”目录下了。

4.程序的编译

单击快捷按钮中的息。

从输出窗口中的提示信息可以看到,程序中有x个错误,认真检查程序找到错误并改正,改正后再次单击

5. 项目的设置

单击“Options for Target “Target1”窗口中的“Output”选项,就会出现Output页面。Create HEX File生成可执行代码文件。选择此项后即可生成单片机可运行的进行编译,直至提示信息显示没有错误为止。

,对当前文件进行编译,输出窗口会出现编译结果的提示信

二进制 文件(.hex格式文件),扩展名为.hex。

二、Proteus的使用

Proteus环境下的一个单片机系统的原理电路虚拟设计与仿真需要3个步骤。

(1)Proteus ISIS环境下的电路原理图设计。

(2)在Keil C51平台上进行源程序的输入、编译与调试,并最终生成目标代码文件(*.hex 文件)。

(3)调试与仿真在Proteus环境下将目标代码文件(*.hex文件)加载到单片机中,并对系统进行虚拟仿真。

1.建立新设计文件

单击主菜单的“文件(F)”→“新建设计(N)”选项来新建一个文件。如果选择新建设计文件,会弹出“新建设计”窗口,窗口中有多种模板,单击要选的模板图标,再单击“确定”按钮,即建立一个该模板的空白文件。如果直接单击“确定”按钮,即选用系统默认的“DEFAULT”模板。如果用工具栏的快捷按钮Q来新建文件,就不会出现窗口,而直接选择系统默认的模板。

2.选择需要的元件到元件列表

电路设计前,要把设计的电路原理图中需要的元件列出并选择元件到元件列表中。开始时,左侧的元件列表中没有一个元件,单击左侧工具栏中的快捷按钮元件选择快捷按钮,再单击就会出现“Pick Devices”窗口,在窗口的“关键字”栏中,输入AT89C52,此时在“结果”栏中出现“元件搜索结果列表”,并在右侧出现“元件预览”和“元件PCB预览”,如图4 -41所示。在“元件搜索结果列表”中双击所需要的元件 AT89C52,这时在主窗口的元件列表中就会添加该元件。用同样的方法将所需要选择的其他元件也添加到元件列表中即可。所有元件选取完毕后,单击右下方的“确定”按钮,即可关闭“Pick Devices”窗口,回到主界面进行原理图绘制。

3.元件的放置

单击元件列表中所需要放置的元件,然后将鼠标移至原理图编辑窗口中单击一下,此时就会在鼠标处有一个粉红色的元件,移动鼠标选择合适的位置,单击一下左键,该元件就被放置在原理图编辑窗口了。

若要删除已放置的元件,用鼠标左键单击该元件,然后按Delete键删除元件,如果进行了误删除操作,可以单击快捷按钮恢复。

一个单片机系统电路原理图设计,除了元件还需要各种终端,如电源、地等,单击工具栏中的快捷按钮,就会出现各种终端列表,单击元件终端中的某一项,上方的窗口中就会出现该终端的符号。此时可选择合适的终端放置到电路原理图编辑窗口中去,放置的方法与元件放置相同。

4.电路元件的连接

在元件模式快捷按钮与自动布线器快捷按钮按下时,两个元件导线的连接方法是: 先单击第一个元件的连接点,移动鼠标,此时会在连接点引出一根导线。如果想要自动绘出直线路径,只需单击另一个连接点。如果设计者想自己决定走线路径,只需在希望的拐点处单击鼠标左键。需要注意的是,拐点处导线的走线只能是直角。在自动布线器快捷按钮贸松开时,导线可按任意角度走线,只需要在希望的拐点处单击鼠标左键,把鼠标指针拉向目标点,拐点处导线的走向只取决于鼠标指针的拖动。

5. 总线

(1)总线的绘制:单击工具栏的快捷按钮,移动鼠标到绘制总线的起始位置,单击鼠标左键,便可绘制出一条总线。如想要总线出现不是90°角的转折,此时自动布线器快捷按钮应当松 开,总线即可按任意角度走线,只需要在希望的拐点处单击鼠标左键,把鼠标指针拉向目标点,在总线的终点处双击鼠标左键,即结束总线的绘制。

(2)放置线标:单击工具栏的快捷按钮,再将鼠标移至需要放置线标的导线上单击,即会出现“Edit Wire Label”对话框,将线标填入“标号”栏(例如填写“ DO”等),单击“确定”按钮即可。与总线相连的导线必须要放置线标,这样相同线标的导线才能够导通。“Edit Wire Label” 对话框除了填入线标外,还有几个

选项,设计者根据需要选择即可。

6.加载目标代码文件、设置时钟频率

电路原理图绘制完成后,在Proteus的ISIS中双击电路原理图中的单片机,出现“编辑元件”窗口,把在Keil C51下生成的“hex”文件加载到电路原理图中的单片机内即可进行仿真了。加载步骤如下:在Program File对话框中,输入.hex目标代码文件,再在Clock Frequency栏中设置12MHz,则该虚拟系统以12 MHz的时钟频率运行。此时,即可回到电路原理图界面进行仿真了。

在加载目标代码时需要特别注意的是,运行时钟频率以单片机属性设置中的时钟频率(Clock Frequency)为准。

需要注意的是,在Proteus中绘制电路原理图时,单片机最小系线所需的时钟振荡电路,复位电路,EA引脚与+5V电源的连接均可省略,Proteus已经默认,不影响仿真结果。

7.仿真运行

单击Proteus ISIS界面中的快捷按钮

三、Proteus与 Keil的联调

前面介绍了如何在Proteus环境下完成电路原理图的设计文件(设计文件名后缀.

DSN)后,再把在Keil下编写的C51程序,经过调试、编译,最终生成“hex”文件,并 把“.hex”文件载入虚拟单片机中,然后进行软硬件联调。如果要修改程序,需再回到Keil下修改,再经过调试、编译,重新生成“hex”文件,重复上述过程,直至系统正常运行为止。但是对于较为复杂的程序,如果没有达到预期效果,这时可能需要Proteus与Keil进行联合调试。

联调之前需要安装vudgi. exe文件,该文件由教师提供,或可到Proteus的官方网站下载。文件安装后,需在Proteus与Keil中进行相应设置。

设置时,首先打开Proteus需要联调的程序文件,但不要运行,然后选中“调试”菜单中的“使用远程调试监控”选项,使得Keil能与Proteus进行通信。

即可运行程序。

完成上述设置后,在Keil中打开程序工程文件,然后单击菜单Project/Options

for Target选项(或单击工具栏上“魔法棒”快捷按钮),打开项目对话框。

在Debug选项卡中选定右边的Use及选项Proteus VSM Simulator。如果Proteus与Keil安装在同一台计算机中,右边VDM Server Settings中的Host与Port可保持默认值 127.0. 0. 1与8000不变。如果跨计算机调试则需要进行相应的修改。

完成上述设置后,在Keil中全速运行程序时,Proteus中的单片机系统也会自动运

行。如果希望观察运行过程中某些变量的值或者设备状态,需要在Keil中恰当使用各种 Step In/ Step Over/ Step Out/ Run To Cursor Line及Breakpoint进行跟踪,来观察 虚拟硬件系统运行的情况。总之,需要把Keil中的各种调试手段,如单步、跳 出、运行到当前行、设置断点等恰当地配合来进行单片机系统运行的软硬件联调。

需要说明的是,联调方式不支持需要调试的程序工程的中文名字,因此需将工程文件的中文文件名改为英文的文件名。

实验内容

题1 完成教材P185例子6-3的程序编写和原理图绘制,并实现题目所需功能,在实验报告上附上Keil界面的程序截图和Proteus界面的原理图(原理图编辑窗口里打上自己的名字和学号)。

题2 完成教材P201例子7-1的程序编写和原理图绘制,并实现题目所需功能,在实验报告上附上Keil界面的程序截图和Proteus界面的原理图(原理图编辑窗口里打上自己的名字和学号)。

题3 实验心得:包括遇到的困难及如何解决的、实验启发和对你的意义。

在程序编译过程中,多次出现错误,但是经过多次的调试和编译,发现错误并及时改正。最终程序能够成功运行。绘制完原理图时,加载目标代码文件并进行仿真,检查电路并改正错误。通过这次实验,不仅加深了对单片机理论的理解,将一些理论知识应用到实际编程。纸上得来终觉浅,这次实验让我们自己实现了写代码和绘制原理图,并实现电路仿真。增强了我们的动手能力,也让我明白了在学习和实验过程中要更加细心。


发布者:admin,转转请注明出处:http://www.yc00.com/web/1706792547a1465328.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信