第5讲51单片机系统的构建仿真实验_第1页
第5讲51单片机系统的构建仿真实验_第2页
第5讲51单片机系统的构建仿真实验_第3页
第5讲51单片机系统的构建仿真实验_第4页
第5讲51单片机系统的构建仿真实验_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、5.1 51单片机系统的硬件仿真电路的设计单片机系统的硬件仿真电路的设计5.2 时钟电路的设计与验证时钟电路的设计与验证5.3 上电复位和手动复位电路的设计与验证上电复位和手动复位电路的设计与验证5.4 源程序的建立与编译源程序的建立与编译5.5 proteus与单片机电路的交互式仿真与与单片机电路的交互式仿真与调试调试5.6 keil uV3与与proteus联调的配置方法联调的配置方法第五讲第五讲 51单片机系统的构建仿真实验单片机系统的构建仿真实验 vMCS-51系列单片机在很多产品中得到了广泛的应系列单片机在很多产品中得到了广泛的应用。在具体的工程实践中,单片机应用技术所涉及用。在具体

2、的工程实践中,单片机应用技术所涉及的实践环节较多,且硬件投入较大,如果因为控制的实践环节较多,且硬件投入较大,如果因为控制方案有误而进行相应的开发设计,会浪费较多的时方案有误而进行相应的开发设计,会浪费较多的时间和经费。间和经费。Proteus仿真软件很好地解决了这些问仿真软件很好地解决了这些问题,它可以像题,它可以像Protel一样绘制硬件原理图并实现一样绘制硬件原理图并实现硬硬件调试件调试,再与,再与Keil编程软件进行编程软件进行联调联调,实现对控制,实现对控制方案的验证。尤其对于初学单片机的用户提供了极方案的验证。尤其对于初学单片机的用户提供了极大的方便。大的方便。 实例:实例:v利用

3、单片机利用单片机AT89C51制作一个从左到右的流水灯。制作一个从左到右的流水灯。8个发光二极管个发光二极管D1-D8经限流电阻分别接到经限流电阻分别接到P0口的口的P0.0-P0.7引脚上,阳极共同接高电平。编程实现引脚上,阳极共同接高电平。编程实现发光二极管的从左到右的流水点亮,即按照发光二极管的从左到右的流水点亮,即按照D1-D2-D8的顺序,每次点亮一个发光二极管,的顺序,每次点亮一个发光二极管,延时一段时间后熄灭这个发光二极管,然后点亮下延时一段时间后熄灭这个发光二极管,然后点亮下一个发光二极管,重复循环。一个发光二极管,重复循环。5.1 51单片机系统的硬件仿真电路的设计单片机系统

4、的硬件仿真电路的设计5.1.1 Proteus电路设计电路设计1. 元件清单列表元件清单列表打开打开Proteus ISIS编辑环境,按表编辑环境,按表5-1所列的清单添加元件。所列的清单添加元件。 元元 件件 名名 称称所所 属属 类类所所 属属 子子 类类AT89C51Microprocessor ICs8051 FamilyCAPCapacitorsGenericCAP-ELECCapacitorsGenericCRYSTALMiscellaneousRESResistorsGenericLED_YELLOWOptoelectronicsLEDs表表5-1 元件清单元件清单2. 电路原理

5、图电路原理图v元件全部添加后,在元件全部添加后,在Proteus ISIS的编辑区域中按图的编辑区域中按图5-1所示的原理图连接硬件电路。所示的原理图连接硬件电路。图图5-1 电路原理图电路原理图5.1.2 keil源程序的建立与加载源程序的建立与加载1. 建立程序文件建立程序文件(1) 打开打开Keil Vision3,新建,新建Keil项目,选择项目,选择AT89C51单片机作为单片机作为CPU;(2) 新建新建C语言源文件,编写程序并将其添加到语言源文件,编写程序并将其添加到“Source Group 1”中;中;(3) 在在“Options for Target”对话框中,选中对话框中

6、,选中“Output”选项卡中的选项卡中的“Create HEX File”选项;选项;(4) 编译源程序,修改程序中的错误直至通过。编译源程序,修改程序中的错误直至通过。 2. 加载目标代码文件加载目标代码文件(1) 在在Proteus ISIS中,左键双击中,左键双击AT89C51元件打开元件打开“Edit Component”对话框,设置单片机的频率为对话框,设置单片机的频率为12MHz;(2) 在该窗口的在该窗口的“Program File”栏中,选择先前在栏中,选择先前在Keil中中编译产生的编译产生的“.HEX”文件;文件;(3) 在在Proteus ISIS菜单栏中选择菜单栏中选

7、择【File】【Save Design】选项,保存设计;选项,保存设计;(4) 点击仿真开始按钮,运行程序,在点击仿真开始按钮,运行程序,在Proteus编辑区观编辑区观察到发光二极管的循环流水点亮。察到发光二极管的循环流水点亮。图图5-2 程序运行结果程序运行结果 时钟频率直接影响单片机的速度,时钟电路的时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。常用的质量也直接影响单片机系统的稳定性。常用的时钟电路有时钟电路有两种方式两种方式,一种是,一种是内部时钟内部时钟方式,方式,另一种是另一种是外部时钟外部时钟方式。方式。95.2 时钟电路的设计与验证时钟电路的设计与验

8、证1 1内部时钟方式内部时钟方式 AT89S51AT89S51内部有一个用于构成振荡器的高增益反内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚相放大器,输入端为芯片引脚XTAL1XTAL1,输出端为引脚,输出端为引脚XTAL2XTAL2。这两个引脚跨接石英晶体振荡器和微调电容,。这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器构成一个稳定的自激振荡器。 图图5-35-3是是AT89S51AT89S51内部时钟方式的电路。内部时钟方式的电路。10图图5-3 内部时钟方式电路内部时钟方式电路 电路中的电容电路中的电容 C1C1和和 C2C2 的典型值通常选择为的典型值

9、通常选择为 30pF30pF。晶体振荡频率的范围通常是在晶体振荡频率的范围通常是在 1.21.212MHz12MHz。AT89S51AT89S51单片机常选择振荡频率单片机常选择振荡频率6MHz6MHz或或12MHz12MHz的石英晶体。的石英晶体。 122 2外部时钟方式外部时钟方式 用现成的外部振荡器产生脉冲信号,常用于多片用现成的外部振荡器产生脉冲信号,常用于多片AT89S51AT89S51同时同时工作,以便于多片工作,以便于多片AT89S51AT89S51单片机之间的同步。单片机之间的同步。 外部时钟源直接接到外部时钟源直接接到XTAL1XTAL1端,端,XTAL2XTAL2端悬空,见

10、图端悬空,见图5-45-4。 图图5-4 AT89S515-4 AT89S51的外部时钟方式电路的外部时钟方式电路 AT89S51 AT89S51复位电路采用上电自动复位和按钮复位两种方式复位电路采用上电自动复位和按钮复位两种方式。最简单的上电自动复位电路如图最简单的上电自动复位电路如图5-55-5所示。所示。 对于对于CMOSCMOS型单片机,由于在型单片机,由于在RSTRST引脚内部有一个下拉电阻,可引脚内部有一个下拉电阻,可将电阻将电阻R R去掉,而将电容去掉,而将电容C C选为选为1010 F F。135.3 上电复位和手动复位电路的设计与验证上电复位和手动复位电路的设计与验证图图5-

11、5 5-5 上电复位电路上电复位电路 上电自动复位是给电容上电自动复位是给电容C C充电加给充电加给RSTRST引脚一个短的高电引脚一个短的高电平信号,此信号随着平信号,此信号随着V VCCCC对电容对电容C C的充电过程而逐渐回落,的充电过程而逐渐回落,即即RSTRST引脚上的高电平持续时间取决于电容引脚上的高电平持续时间取决于电容C C充电时间。为充电时间。为保证系统可靠复位,保证系统可靠复位,RSTRST引脚上的高电平必须维持足够长的引脚上的高电平必须维持足够长的时间。时间。 除了上电复位外,有时还需要除了上电复位外,有时还需要按键手动复位按键手动复位。按键手动。按键手动复位有复位有电平

12、电平和和脉冲脉冲两种方式两种方式。 按键手动按键手动复位复位电路见电路见图图5-65-6。 脉冲复位脉冲复位是利用是利用RCRC微分电路产生的微分电路产生的正脉冲正脉冲来实现来实现的,脉的,脉冲复位电路见图冲复位电路见图5-75-7。图中阻容参数适于。图中阻容参数适于6MHz6MHz时钟。时钟。1415图图5-6 5-6 按键电平复位电路按键电平复位电路 图图5-7 5-7 按键脉冲复位电路按键脉冲复位电路5.4 源程序的建立与编译源程序的建立与编译vKeil是德国是德国Keil公司开发的单片机编译器,是目前公司开发的单片机编译器,是目前最好的最好的51单片机开发工具之一,可以用来编译单片机开

13、发工具之一,可以用来编译C源源代码和汇编源程序、连接和重定位目标文件和库文代码和汇编源程序、连接和重定位目标文件和库文件、创建件、创建HEX文件、调试目标程序等,是一种集成文件、调试目标程序等,是一种集成化的文件管理编译环境。化的文件管理编译环境。v在在Proteus中,可以直接与中,可以直接与Keil编程软件进行联调,编程软件进行联调,进而实现对所设计电路的验证。进而实现对所设计电路的验证。 5.4.1 Proteus中的源程序设计与编译中的源程序设计与编译vProteus VSM提供了简单的提供了简单的文本编辑器文本编辑器,用它作为,用它作为源程序的编辑环境。对于不同系列的单片机,源程序的

14、编辑环境。对于不同系列的单片机,VSM均提供了相应的均提供了相应的编译器编译器,使用时可根据单片机的型,使用时可根据单片机的型号和语言要求来选取。号和语言要求来选取。 编译器有以下几种:编译器有以下几种:vASEM51(51系列单片机编译器系列单片机编译器);vASM11(Motorola单片机编译器单片机编译器);vAVRASM(Atmel AVR系列单片机编译器系列单片机编译器);vAVRASM32(Atmel AVR系列单片机编译器系列单片机编译器);vMPASM(PIC单片机编译器单片机编译器);vMPASMSWIN(PIC单片机编译器单片机编译器)。5.4.1 Proteus中的源程

15、序设计与编译中的源程序设计与编译1. 建立源程序文件建立源程序文件v在在Proteus ISIS界面中单击菜单界面中单击菜单Soure(源程序源程序),在,在弹出的下拉菜单中单击弹出的下拉菜单中单击“Add/Remove Source Files”(添加添加/移开源程序移开源程序)选项,弹出如图选项,弹出如图5-8所示所示对话框,对话框, v单击单击“Code Generation Tool”(目标代码生成工具目标代码生成工具)下方框中按钮,弹出下拉菜单,根据需要选择相应下方框中按钮,弹出下拉菜单,根据需要选择相应的编译器,例如的编译器,例如“ASEM51”(51系列单片机编译器系列单片机编译

16、器)。 图图5-8 Add/Remove Source Code Files对话框对话框v在图在图5-8中单击中单击“New”按钮,弹出如图按钮,弹出如图5-9所示的对所示的对话框,在文件名框中输入新建源程序文件名话框,在文件名框中输入新建源程序文件名“mydesign”,单击,单击“打开打开”按钮,弹出图按钮,弹出图5-9中中所示的小对话框,选择所示的小对话框,选择“是是”按钮,新建的源程序按钮,新建的源程序文件就添加到图文件就添加到图5-8中的中的“Source Code Filename”方框中,如图方框中,如图5-10所示。同时在所示。同时在ISIS界面的界面的“Source”菜单中也

17、加入了源程序文件名菜单中也加入了源程序文件名“mydesign.asm”,如图,如图5-11所示。所示。图图5-9 新建源程序文件对话框新建源程序文件对话框图图5-10 源程序添加结果源程序添加结果 图图5-11 菜单菜单Source中加载的源程序文件中加载的源程序文件 2. 编写源程序代码编写源程序代码单击菜单单击菜单【Source】【mydesign.asm】,出现图,出现图5-12所示的源程序编辑窗口。编写源程序后存盘退出。所示的源程序编辑窗口。编写源程序后存盘退出。图图5-12 源程序编辑窗口源程序编辑窗口3. 源程序编译源程序编译 (1)编译器设置。编译器设置。第一次使用编译器时需进

18、行相关的设置,单击菜单第一次使用编译器时需进行相关的设置,单击菜单【Source】【Define Code Generation Tools】,出现图,出现图5-13所示界面,本例中实际设置结果如图所示界面,本例中实际设置结果如图5-13所示所示 (2) 编译源程序,生成目标代码文件。编译源程序,生成目标代码文件。单击单击【Source】【Build All】,编译结果在弹出的编译,编译结果在弹出的编译日志对话框中。如果没有错误便成功生成目标代码日志对话框中。如果没有错误便成功生成目标代码“.hex”文文件。件。图图5-13 编译器设置界面编译器设置界面5.4.2 Keil Vision中的源

19、程序设计与编译中的源程序设计与编译v在在Keil集成开发环境下使用工程的方法来管理文件,集成开发环境下使用工程的方法来管理文件,而不是单一文件的模式,所有的文件包括源程序而不是单一文件的模式,所有的文件包括源程序(如如C程序、汇编程序程序、汇编程序)、头文件等都可以放在工程项目文、头文件等都可以放在工程项目文件里统一管理。件里统一管理。5.4.2 Keil Vision中的源程序设计与编译中的源程序设计与编译v一般可以按照下面的步骤来创建一个自己的应用程序:一般可以按照下面的步骤来创建一个自己的应用程序:(1) 一个工程项目文件;一个工程项目文件;(2) 选择目标器件选择目标器件(例如,选择例

20、如,选择ATMEL公司的公司的AT89C51);(3) 为工程项目设置软硬件调试环境;为工程项目设置软硬件调试环境;(4) 创建源程序文件并输入程序代码;创建源程序文件并输入程序代码;(5) 保存创建的源程序项目文件;保存创建的源程序项目文件;(6) 把源程序文件添加到项目中。把源程序文件添加到项目中。 具体如何建立应用程序并进行仿真调试,我们将通过具体如何建立应用程序并进行仿真调试,我们将通过实验来详细说明。实验来详细说明。1. 建立一个项目建立一个项目v双击桌面快捷图标即可进入如图双击桌面快捷图标即可进入如图5-14所示的集成开所示的集成开发环境编辑操作界面,主要包括三个窗口:工程项发环境

21、编辑操作界面,主要包括三个窗口:工程项目窗口、编辑窗口和输出窗口。目窗口、编辑窗口和输出窗口。v单击单击 Project 菜单,在弹出的下拉菜单中选中菜单,在弹出的下拉菜单中选中“New Project”选项,新建一个项目,如图选项,新建一个项目,如图5-15所所示。示。图图5-14 Vision2编辑操作界面编辑操作界面图图5-15 Project界面界面v然后选择要保存的路径,输入工程文件的名字然后选择要保存的路径,输入工程文件的名字(比如比如保存到保存到uv目录里,工程文件的名字为目录里,工程文件的名字为“shiyan1”),如图如图5-16所示,然后单击所示,然后单击“保存保存”按钮。

22、按钮。v这时会弹出一个对话框,要求选择单片机的型号。这时会弹出一个对话框,要求选择单片机的型号。这里可以根据所使用的单片机来选择,这里可以根据所使用的单片机来选择,Keil几乎支几乎支持所有持所有51核的单片机,这里以核的单片机,这里以Atmel的的89C51来说来说明,如图明,如图5-17所示。所示。图图5-16 Project保存设置界面保存设置界面图图5-17 选择器件选择器件首先选择首先选择Atmel公司,然后单击左边的公司,然后单击左边的“+”号选择号选择AT89C51 之后,右边栏之后,右边栏 是对这个单片机的基本说明,是对这个单片机的基本说明,然后单击然后单击“确定确定”,在随后

23、弹出的对话框单击,在随后弹出的对话框单击“否否”。完成以上步骤后,屏幕如图完成以上步骤后,屏幕如图5-18所示所示v首先进行选项设置,将鼠标指针指向首先进行选项设置,将鼠标指针指向“Target 1”并并单击右键,再从弹出的右键菜单中单击单击右键,再从弹出的右键菜单中单击“Options for Target”选项,如图选项,如图5-19所示。所示。图图5-18 初始化编辑界面初始化编辑界面v从弹出的从弹出的“Options”对话框中选择对话框中选择“Output”标签标签栏,并按如图栏,并按如图5-20所示设置其中各项。所示设置其中各项。图图5-19 选择选择“Options for Tar

24、get”选项选项图图5-20 “Output”标签栏标签栏2. 建立一个新的建立一个新的ASM汇编语言程序并编译汇编语言程序并编译 下面开始编写源程序。下面开始编写源程序。(1) 在菜单栏中,单击在菜单栏中,单击“File”菜单,再在下拉菜单中菜单,再在下拉菜单中单击单击“New”选项,或直接单击工具栏的快捷图标选项,或直接单击工具栏的快捷图标来建立了一个新的编辑窗口。此时光标在编辑窗口来建立了一个新的编辑窗口。此时光标在编辑窗口里闪烁,这时可以输入用户的应用程序了。建议首里闪烁,这时可以输入用户的应用程序了。建议首先保存该空白文件,单击菜单上的先保存该空白文件,单击菜单上的“File”,在下

25、拉,在下拉菜单中选中菜单中选中“Save As”选项,在弹出对话框的选项,在弹出对话框的“文文件名件名”栏右侧编辑框中,输入欲使用的文件名,同栏右侧编辑框中,输入欲使用的文件名,同时,必须输入正确的时,必须输入正确的扩展名扩展名,如,如“Text1.asm”,然,然后,单击后,单击“保存保存”按钮,如图按钮,如图5-21所示所示 注意注意:如果用语言编写程序,则扩展名为:如果用语言编写程序,则扩展名为“.c”;如果用汇编语言编写程序,则扩展名;如果用汇编语言编写程序,则扩展名为为“.asm”,且必须添加扩展文件名。,且必须添加扩展文件名。图图5-21 保存源程序保存源程序(2) 回到编辑界面后

26、,单击回到编辑界面后,单击“Target 1”前面的前面的“”号,然后在号,然后在“Source Group 1”上单击右键,弹出上单击右键,弹出如图如图5-22所示的快捷菜单。所示的快捷菜单。图图5-22 弹出右键菜单弹出右键菜单v然后单击然后单击“Add File to GroupSource Group 1”,打开如图,打开如图5-23所示对话框,在所示对话框,在“文件类型文件类型”处默认为处默认为“C Source file(*.c)”,因为前面我们保存的是汇编语言的文件,故需要选,因为前面我们保存的是汇编语言的文件,故需要选择择“Asm Source file(*.s*;*.src;

27、*.a*)”,这样在上面就可以看,这样在上面就可以看到刚才保存的汇编语言文件到刚才保存的汇编语言文件“Text1.asm”,双击该文件则自动,双击该文件则自动添加至项目,单击添加至项目,单击“Close”关闭对话框。关闭对话框。v对比图对比图5-22和图和图5-24,可以看出二者的不同点:在添加了汇编,可以看出二者的不同点:在添加了汇编语言文件后,在语言文件后,在“Source Group 1”文件夹前面出现了一个文件夹前面出现了一个“+”号,单击号,单击“+”号展开就看到了刚才添加的号展开就看到了刚才添加的“Text1.asm”文件。文件。图图5-23 添加文件对话框添加文件对话框图图5-2

28、4 添加文件后工程栏的变化添加文件后工程栏的变化(3) 然后就可以在右侧的编辑区输入汇编源程序了。然后就可以在右侧的编辑区输入汇编源程序了。在输入指令时,读者可以看到事先保存待编辑文件在输入指令时,读者可以看到事先保存待编辑文件的好处:的好处:Keil会自动识别关键字,并以不同的颜色会自动识别关键字,并以不同的颜色提示用户加以注意提示用户加以注意,这样会使用户少犯错误,有利,这样会使用户少犯错误,有利于提高编程效率。程序输入完毕后别忘了再次保存,于提高编程效率。程序输入完毕后别忘了再次保存,如图如图5-25所示。所示。图图5-25 程序输入完毕后状态程序输入完毕后状态(4) 程序文件编辑完毕后

29、,单击程序文件编辑完毕后,单击“Project”菜单,选中菜单,选中“Built target”选项选项(或者使用快捷键或者使用快捷键 F7),或者单,或者单击工具栏的快捷图标来进行编译,如图击工具栏的快捷图标来进行编译,如图5-26所示所示 图图5-26 编译菜单编译菜单(5) 如果有错误,则在最后的输出窗口中会出现所有如果有错误,则在最后的输出窗口中会出现所有错误所在的位置和错误的原因,并有错误所在的位置和错误的原因,并有“Target not created”的提示。双击该处的错误提示,在编辑区的提示。双击该处的错误提示,在编辑区对应错误指令处左面出现蓝色箭头提示,然后对当对应错误指令处

30、左面出现蓝色箭头提示,然后对当前的错误指令进行修改,如图前的错误指令进行修改,如图5-27所示所示 图图5-27 错误提示错误提示(6) 将所有提示过的错误进行修改,然后再次将所有提示过的错误进行修改,然后再次重复重复(4)的操作进行编译,直至出现的操作进行编译,直至出现“shiyan1 - 0 Error(s), 0 Warning(s)”,说明编译完全通过,如图说明编译完全通过,如图5-28所示。所示。图图5-28 编译通过提示编译通过提示3. 调试并仿真调试并仿真v编译成功后,就可以进行调试并仿真了。单击编译成功后,就可以进行调试并仿真了。单击“Debug”菜单,在下拉菜单中单击菜单,在

31、下拉菜单中单击“Start/Stop Debug Session”(或者使用快捷键或者使用快捷键 Ctrl+F5),或者单,或者单击工具栏的快捷图标就可以进入调试界面,如图击工具栏的快捷图标就可以进入调试界面,如图5-29所示所示 图图5-29 调试界面调试界面v左面的工程项目窗口给出了常用的寄存器左面的工程项目窗口给出了常用的寄存器r0-r7以及以及a、b、sp、dptr、pc、psw等特殊功能寄存器的值。在执等特殊功能寄存器的值。在执行程序的过程中可以看到,这些值会随着程序的执行行程序的过程中可以看到,这些值会随着程序的执行发生相应的变化。发生相应的变化。v在存储器窗口的地址栏处输入在存储

32、器窗口的地址栏处输入C:0000H后回车,则可后回车,则可以观看所有单片机以观看所有单片机片内程序存储器片内程序存储器的内容,如图的内容,如图5-30所示,下面用横线画出来的部分就是已经编辑的源程所示,下面用横线画出来的部分就是已经编辑的源程序转化成的机器语言的十六进制数序转化成的机器语言的十六进制数(或者说是对应的机或者说是对应的机器码器码)。如果在存储器窗口的地址栏处输入。如果在存储器窗口的地址栏处输入D:00H后后回车,则可以观看所有单片机回车,则可以观看所有单片机片内数据存储器片内数据存储器的内容的内容 图图5-30 存储器窗口存储器窗口v在联机调试状态下可以启动程序全速运行、单步运行

33、、在联机调试状态下可以启动程序全速运行、单步运行、设置断点等,单击菜单设置断点等,单击菜单“Debug /Run”选项,启动用户选项,启动用户程序全速运行。程序全速运行。下面介绍几种常用的调试命令及方法。下面介绍几种常用的调试命令及方法。(1) 复位复位CPUv用用“Peripherals”菜单或工具栏的菜单或工具栏的“Reset CPU”命令命令可以复位可以复位CPU。在不改变程序的情况下,若想使程序重。在不改变程序的情况下,若想使程序重新开始运行,执行此命令即可。执行此命令后程序指针新开始运行,执行此命令即可。执行此命令后程序指针返回到返回到000H地址单元。另外,一些内部特殊功能寄存地址

34、单元。另外,一些内部特殊功能寄存器在复位期间也将重新赋值。例如,器在复位期间也将重新赋值。例如,A将变为将变为00H,DPTR变为变为0000H,SP变为变为07H,I/O口变为口变为0FFH。(2) 全速运行全速运行(F5)v用用“Debug”工具栏的工具栏的“Run”或快捷命令或快捷命令“Run”命令按钮,即可实现全速运行程序。当然若程序中命令按钮,即可实现全速运行程序。当然若程序中已经设置断点,程序将执行到断点处,并等待调试已经设置断点,程序将执行到断点处,并等待调试指令。指令。(3) 单步跟踪单步跟踪(F11)v用用“Debug”工具栏的工具栏的“Step”或快捷命令或快捷命令“Ste

35、p Into”命令按钮,可以单步跟踪程序。每执行一次此命令按钮,可以单步跟踪程序。每执行一次此命令,程序将运行一条命令,程序将运行一条指令指令(以指令为基本执行单以指令为基本执行单元元)。当前的指令用黄色箭头标出,每执行一步箭头。当前的指令用黄色箭头标出,每执行一步箭头都会移动,已执行过的语言呈绿色。在汇编语言调都会移动,已执行过的语言呈绿色。在汇编语言调试下,可以跟踪到每一个汇编指令的执行。试下,可以跟踪到每一个汇编指令的执行。uVision2处于全速运行期间,处于全速运行期间,uVision2不允许对任不允许对任何资源的查看,也不接受其他命令。何资源的查看,也不接受其他命令。(4) 单步运

36、行单步运行(F10)v用用“Debug”工具栏的工具栏的“Step Over”或快捷命令或快捷命令“Step Over”按钮,即可实现单步运行程序,此时单步运行命按钮,即可实现单步运行程序,此时单步运行命令将把函数和函数调用当作一个实体来看待,因此单步令将把函数和函数调用当作一个实体来看待,因此单步运行是以运行是以语句语句(该语句不管是单一命令行还是函数调用该语句不管是单一命令行还是函数调用)为为基本执行单元。基本执行单元。(5) 执行返回执行返回(Ctrl+F11)v在用单步跟踪命令跟踪到子函数或子程序内部时,使用在用单步跟踪命令跟踪到子函数或子程序内部时,使用“Debug”菜单栏中的菜单栏

37、中的“Step Out of Current Function”或快捷命令按钮或快捷命令按钮“Step Out”,即可将程序的,即可将程序的PC指针返指针返回到调用此子程序或函数的下一条语句。回到调用此子程序或函数的下一条语句。(6) 停止调试停止调试(Ctrl+F5)v由于由于“Led_Light”程序使用了系统资源程序使用了系统资源P1口,为了更好口,为了更好地观察这些资源的变化,用户可以打开它们的观察窗口。地观察这些资源的变化,用户可以打开它们的观察窗口。选择选择“Peripherals-I/O-Ports-Port1”命令,即可打开命令,即可打开并行并行I/O口口P1的观察窗口。的观察

38、窗口。5.5 Proteus与单片机电路的交互式与单片机电路的交互式仿真与调试仿真与调试 5.5.1 加载目标代码加载目标代码在在Proteus ISIS界面中编辑电路原理图实例,如图界面中编辑电路原理图实例,如图5-31所示所示 图图5-31 实例电路原理图实例电路原理图v双击单片机双击单片机AT89C51,打开其属性编辑框,在,打开其属性编辑框,在“Program File”栏中,单击打开按钮,选取目标代栏中,单击打开按钮,选取目标代码文件,这里是码文件,这里是“MYDESIGN.HEX”。在。在“Clock Frequency”栏中设置时钟频率为栏中设置时钟频率为12MHz,如图,如图5

39、-32所示。所示。v因为仿真运行时的时钟频率是以单片机属性中设置因为仿真运行时的时钟频率是以单片机属性中设置的频率值为准,所以在的频率值为准,所以在Proteus ISIS界面中设计电路界面中设计电路原理图时,可以略去单片机的时钟电路。另外,复原理图时,可以略去单片机的时钟电路。另外,复位电路也可略去。对于位电路也可略去。对于MCS-51系列单片机而言,在系列单片机而言,在不进行电路电气检测时,不进行电路电气检测时,EA引脚也可悬空。引脚也可悬空。 图图5-32 加载目标代码文件和时钟设加载目标代码文件和时钟设置置5.5.2 单片机系统的单片机系统的Proteus交互仿真交互仿真v在在Prot

40、eus仿真界面中单击按钮,全速启动仿真,仿真界面中单击按钮,全速启动仿真,此时电路中的此时电路中的LED不亮。用鼠标单击电路图中的按不亮。用鼠标单击电路图中的按钮,进行交互仿真。单击一次按钮,钮,进行交互仿真。单击一次按钮,LED灯亮,再灯亮,再单击一次,单击一次,LED灯灭,如此循环交替。本实例仿真灯灭,如此循环交替。本实例仿真片段如图片段如图5-33所示。单击仿真按钮,可停止仿真。所示。单击仿真按钮,可停止仿真。图图5-33 实例仿真片实例仿真片段段5.5.3 调试菜单与调试窗口调试菜单与调试窗口v系统在全速仿真运行时不系统在全速仿真运行时不显示调试窗口,可单击暂显示调试窗口,可单击暂停按

41、钮,然后单击停按钮,然后单击Proteus ISIS界面的界面的“Debug”菜单,弹出如菜单,弹出如图图5-34所示的下拉菜单。所示的下拉菜单。v从图中可以看出,调试菜从图中可以看出,调试菜单包含有单包含有3个存储器窗口,个存储器窗口,调试过程中可分别打开这调试过程中可分别打开这3个存储器窗口进行观察。个存储器窗口进行观察。图图5-34 “Debug”下拉菜单下拉菜单1. 单片机寄存器窗口单片机寄存器窗口v通过菜单通过菜单【Debug】【8051 CPU Registers-U1】打开单片机寄存器窗口,如图打开单片机寄存器窗口,如图5-35所示。里面有常用所示。里面有常用的的SFR,如,如S

42、P、PC、PSW、R0R7、ACC及将要及将要执行的指令等。在本窗口内右击,可以设置窗口的字执行的指令等。在本窗口内右击,可以设置窗口的字体和颜色。体和颜色。 图图5-35 单片机寄存器窗口单片机寄存器窗口 2. 单片机单片机SFR 窗口窗口v通过菜单通过菜单【Debug】【8051 CPU SFR Memory-U1】打开单片机的打开单片机的SFR窗口,如图窗口,如图5-36所示。所示。图图5-36 单片机单片机SFR窗口窗口 3. 单片机单片机IDATA窗口窗口v通过菜单通过菜单【Debug】【8051 CPU Internal(IDATA)Memory-U1】打开单片机的打开单片机的ID

43、ATA窗口,如图窗口,如图5-37所示。所示。v对于单片机的对于单片机的SFR寄存器,既可以从单片机的寄存寄存器,既可以从单片机的寄存器窗口中查看,也可以在器窗口中查看,也可以在SFR寄存器窗口中查看。寄存器窗口中查看。v在在SFR、IDATA窗口中右击,可弹出该窗口的设置窗口中右击,可弹出该窗口的设置菜单,如图菜单,如图5-38所示。可使用所示。可使用“Goto”命令快速运命令快速运动到指定的显示单元,还可复制数据或改变显示方动到指定的显示单元,还可复制数据或改变显示方式等。式等。 图图5-37 单片机单片机IDATA窗口窗口 图图5-38 单片机单片机IDATA窗口的快捷菜单窗口的快捷菜单

44、5.5.4 观察窗口观察窗口v虽然通过以上方法可以观察单片机各个存储器的内虽然通过以上方法可以观察单片机各个存储器的内容,但因显示内容比较分散,观察起来不方便。对容,但因显示内容比较分散,观察起来不方便。对此,此,Proteus又同时提供了一个观察窗口又同时提供了一个观察窗口“Watch Window”,它可以将所关心的各项寄存器的内容集,它可以将所关心的各项寄存器的内容集中于一个窗口中,观察起来十分方便,克服了上述中于一个窗口中,观察起来十分方便,克服了上述缺点。缺点。5.5.4 观察窗口观察窗口1. 观察项添加观察项添加v通过菜单通过菜单【Debug】【Watch Window】打开空白的

45、观察窗口,打开空白的观察窗口,在观察窗口内右击,弹在观察窗口内右击,弹出快捷菜单,如图出快捷菜单,如图5-39所示。由该菜单可添加、所示。由该菜单可添加、删除观察项,设置观察删除观察项,设置观察项的数据类型,显示格项的数据类型,显示格式以及设置窗口的字体、式以及设置窗口的字体、颜色等。颜色等。图图5-39 观察窗口及快捷菜单观察窗口及快捷菜单v若单击若单击“Add Items(By Name)”项,便会弹出如图项,便会弹出如图5-40所示的对话框,双击相应的所示的对话框,双击相应的SFR寄存器名称,即可寄存器名称,即可以观察项名称方式将观察项添加到观察窗口中。也可以观察项名称方式将观察项添加到观察窗口中。也可选择以观察项的地址来添加观察项的方式。添加了观选择以观察项的地址来添加观察项的方式。添加了观察项的观察窗口如图察项的观察窗口如图5-41所示。所示。图图5-40 “Add Memory Item”对话框对话框 图图5-41 添加了观察项的观察窗口添加了观察项的观察窗口2. 观察项删除观察项删除v要删除已添加的观察项,有两种方法:要删除已添加的观察项,有两种方法:v在观察窗口单击选中相应的观察项,按键盘上的在观察窗口单击选中相应的观察项,按键盘上的“Del”键即可。键即可。v在观察窗口右击相应的观察项,在弹出的快捷菜单在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论