单片机C语言-第9章Keil和Proteus使用基础-2课件.ppt

上传人(卖家):晟晟文业 文档编号:4289115 上传时间:2022-11-26 格式:PPT 页数:39 大小:1.60MB
下载 相关 举报
单片机C语言-第9章Keil和Proteus使用基础-2课件.ppt_第1页
第1页 / 共39页
单片机C语言-第9章Keil和Proteus使用基础-2课件.ppt_第2页
第2页 / 共39页
单片机C语言-第9章Keil和Proteus使用基础-2课件.ppt_第3页
第3页 / 共39页
单片机C语言-第9章Keil和Proteus使用基础-2课件.ppt_第4页
第4页 / 共39页
单片机C语言-第9章Keil和Proteus使用基础-2课件.ppt_第5页
第5页 / 共39页
点击查看更多>>
资源描述

1、9.2 用用Vision2建立与调试工程建立与调试工程 9.2.1 工程创建、设置、编译与链接工程创建、设置、编译与链接 9.2.2 用用Vision2调试工程调试工程 9.2.3 C51程序调试举例说明程序调试举例说明HELLO.C 9.2.4 Keil C51的调试技巧及举例的调试技巧及举例 1、工程创建 (1)Vision2启动后,程序窗口的左边有一个工程管理窗口。该窗口有3个标签,分别是Files、Rges和Books,分别显示当前项目的文件结构、CPU的工作寄存器和部分特殊功能寄存器以及所选CPU的附加说明文件。(2)从Vision2的Project菜单中选择New Project,

2、打开如图所示的标准Windows对话框。给将要建立的工程文件起一个名字,并保存在合适的位置。9.2.1 工程创建、设置、编译与链接工程创建、设置、编译与链接(3)在出现的对话框中选择CPU型号。供选择的CPU型号种类繁多,几乎所有目前流行的芯片厂家的CPU型号都包括在内。(4)询问用户是否添加如图所示的标准8051启动代码(STARTUP.A51),点击“是”按钮,启动代码自动添加到工程文件组中。文件 STARTUP.A51是8051系列 CPU的启动代码。启动代码主要用来对CPU数据存储器进行清零,并初始化硬件和重入函数堆栈指针等。(5)使用菜单File/New或单击工具栏上的新建文件按钮,

3、即可在项目窗口的右侧打开一个新的文本编辑窗口,在该窗口中输入源程序代码,然后保存文件。保存文件时,必须加上扩展名(*C或*ASM)。源文件的编写可以采用其他文本编辑器。(6)虽然源文件已经保存好,但此时与工程项目没有任何关系,还需采用下述方式将其添加到该项目当中。右击Project 窗口Files 选项卡中的Source Group 1,弹出快捷菜单,单击菜单中的Add Files to Group Group 1选项,打开如图所示的对话框,从对话框中选择用户创建的源文件,单击Add按钮即可将源文件加入项目当中。2、工程设置 Vision2允许为目标硬件及其相关元件设置必要的参数。Vision

4、2还可设置C51语言编译器、A51汇编器、链接及定位和转换等软件开发工具选项。在选择Project/Options for Target命令后弹出的对话框中,可以通过各个选项卡定义目标硬件及所选的所有相关参数。工程设置界面(Debug选项卡)各目标硬件选项卡说明各目标硬件选项卡说明选项卡选项卡说说 明明Target定义应用的目标硬件Output定义Keil工具输出文件,并定义生成处理后执行的用户程序Listing定义Keil工具输出的所有列表文件C51设置C51编译器的特别工具选项,例如代码优化或变量分配A51设置汇编器的特别工具选项,例如宏处理BL51 Locate定义不同类型的存储器和存储

5、器的不同段的位置,可选择Memory Layout from Target Dialog来获得自动设置BL51 Misc其他与链接器相关的设置,例如告警或存储器指示Debug Vision2 Debugger 的设置Utilities文件和文件组的文件信息与特别选项常用的设置选项如下:(1)Target选项卡 Xtal(MHz)用来设置单片机的工作频率,单片机所用的晶振常设置为12MHz或11.0592MHz。(2)Output选项卡 Create Hex File选项选中后,编译之后就可生成HEX文件。如果要把程序写入(烧录)到硬件(CPU)当中,必须选中该项。常用的设置选项如下:(3)De

6、bug选项卡 Debug选项卡用来设置Vision2 调试器。仿真有两种方式:Use Simulator(软件仿真)和Use:Keil Monitor-51 Driver(硬件仿真)。软件仿真方式不需要实际的目标硬件就可以模拟80C51单片机系列很多功能。在硬件做好之前,就可以测试和调试嵌入式应用程序。Vision2可以模拟许多外围部件,例如串行口、外部I/O和定时器等。硬件仿真方式选项有高级GDI驱动和Keil Monitor-51驱动。运用该功能,用户可以把 Keil C51嵌入到自己的系统当中,从而实现在目标硬件中调试程序。若要使用硬件仿真,则应选择Use选项,选择合适的端口,设置合适的

7、波特率。3、编译与链接工程建立并设置好后,需要对工程进行编译,编译命令位于如右图所示的Project菜单下,也可单击下图所示工具栏中的相应按钮。编译分为编译单个文件和编译所有文件。Project菜单中的编译命令工具栏中的编译命令按钮 编译之后,如果没有错误,开发环境的下方会出现编译成功的信息。编译成功信息(1)建立工程 点击“Project-New Project”菜单,在编缉框中输入一个名字(设为exam1),无需扩展名。工程创建、设置、编译与链接实例工程创建、设置、编译与链接实例选择目标CPU(Intel系列的80C51BH)(2)输入源程序点击新建文件按钮打开一个新的文本编缉窗口输入程序

8、源代码,以以*.c保存该文件保存该文件。(3)添加源程序(右击“Source Group1”点击“Add file to Group”Source Group1”添加生成的.c文件)(4)工程设置右击Project 窗口的Target 1选择“Project-Option for target target 1”工程设置对话框 设置对话框中的Output 页面(勾选“Creat Hex file”)设置对话框中的Debug 页面(选中Use和下拉框“PROTEUS VSM MONITOR”)(5)编译源程序(形成hex文件)点击F7或工具按钮启动编译、连接功能。完成后将在命令窗口中显示编译结果

9、若有语法错误,双击出错提示可指出错误所在行号9.2.2 用用Vision2调试工程调试工程1、程序执行与断点设置调试模式(1)全速执行是指一行程序执行完后接着执行下一行程序,中间没有间断,程序执行速度很快,只能看到程序执行完的结果;如果程序中存在错误,则难以判断错误的具体位置。9.2.2 用用Vision2调试工程调试工程1、程序执行与断点设置(2)单步执行是指每一次执行一行程序,执行完该行程序就停止,等待命令执行下一行程序。对于这种方式,可以方便地观察每条程序语句的执行结果,从而可以依次判断程序错误的具体位置。(3)设置断点:Vision2 可以采用几种方式设置断点。设置好断点后。设置好断点

10、后,可以全速运行程序。一旦执行到设置断点的程序行,程序就停止运行,可以观察相关变量或特殊寄存器的取值,从而分析程序当中存在的问题。(4)一般调试过程启动调试过程Ctrl+F5、Debug-Start/Stop Debug Session 开始调试详见下页 结束调试 、Debug-Stop Running调试工具栏复位运行到光标行单步执行跳出当前函数过程单步单步停止运行调试菜单栏快捷键指向下条运行行基本调试手段:1)运行到光标行从当前行运行到光标所在行(Ctrl+F10)2)严格单步运行遇到函数时亦单步进行(F11)3)跨函数单步运行遇到函数时将其视作一行语句(F10)4)断点运行 全速运行到断

11、点行停止(双击设置/解除断点)5)监视输出端口打开I/O窗口(Peripherals-I/O-Ports)6)监视运行变量打开Watch#1窗口(点击 )2、调试窗口 Vision2编译环境的信息窗口主要有观察窗口(Watch&Call Stack Windows)、输出窗口(Output Windows)、存储器窗口(Memory Window)、反汇编窗口(Dissambly Window)、串行窗口(Serial Window)等。调试窗口(1)观察窗口观察窗口 观察窗口可以查看和修改程序变量,并列出当前函数的嵌套调用。观察窗口的内容会在程序运行后自动更新。(2)存储器窗口 存储器窗口能

12、显示各种存储区的内容。在存储器窗口Address后的文本框内输入“字母:数字”,即可显示相应存储单元的内容。字母C、D、I和X分别代表程序存储空间、直接寻址的片内存储空间、间接寻址的片内存储空间和扩展的片外RAM单元的值。数字表示要显示的起始地址。(3)反汇编窗口 反汇编窗口用源程序和汇编程序的混合代码或汇编代码显示目标应用程序,可以在该窗口在线汇编,利用该窗口跟踪已执行的代码,并在该窗口按汇编代码的方式单步执行。(4)串行窗口 Vision2有两个串行窗口,可以用于串行口输入和输出。(5)工程窗口的寄存器页面 寄存器页面包括当前的工作寄存器组和一些特殊的寄存器(累加器A、乘法器B、堆栈寄存器

13、SP、状态寄存器PSW等)。当程序运行改变某一寄存器的值时,该寄存器反色显示,用鼠标单击后按下F2键,就可修改该寄存器的值。9.2.3 C51程序调试举例说明程序调试举例说明HELLO.C HELLO.C是一个样例程序,位于是一个样例程序,位于C:KEILC51EXAMPLESHELLO中。中。这个程序只是将这个程序只是将Hello World输出到串行输出到串行口。整个程序只包含一个源文件口。整个程序只包含一个源文件HELLO.C。HELLO的硬件是基于标准的的硬件是基于标准的8051CPU的。的。使用的唯一片内功能器件是串行口。不需要使用的唯一片内功能器件是串行口。不需要实际的目标实际的目

14、标CPU,因为,因为uVision2可以模拟程序可以模拟程序所需要的硬件。所需要的硬件。9.2.4 Keil C51的调试技巧及举例的调试技巧及举例(1)如何设置和删除断点如何设置和删除断点(2)如何查看和修改寄存器的内容如何查看和修改寄存器的内容(3)如何观察和修改变量如何观察和修改变量(4)如何观察存储区域如何观察存储区域1、Keil C51的调试技巧9.2.4 Keil C51的调试技巧及举例的调试技巧及举例【例例9-1】P口模拟口模拟:P1口内容送口内容送P0口。口。#include void main(void)unsigned char i;P1=0 xff;while(1)i=P

15、1;P0=i;2、应用举例【例例9-2】定时器:定时器:定时器定时器/计数器计数器T0定时,定时时间到则中断,定时,定时时间到则中断,显示相应提示信息显示相应提示信息。#include#includevoid main(void)SCON=0X52;TMOD=0X22;TH1=0XF3;TR1=1;TL0=TH0=-200;EA=1;ET0=1;TR0=1;while(1);void timer0_int(void)interrupt 1printf(I am TIMER0,I will serve you heart and son);【例例9-3】计数器:计数器:定时器定时器/计数器计数器

16、T0计数,工作于方式计数,工作于方式2,计数,计数到则中断,显示相应提示信息。到则中断,显示相应提示信息。#include#includevoid main(void)SCON=0X52;TMOD=0X26;TH1=0XF3;TR1=1;TL0=TH0=0XFE;EA=1;ET0=1;TR0=1;while(1);void COUNTER0_int(void)interrupt 1printf(I am COUNTER0,I will serve you heart and son);【例例9-4】串行口:串行口:把把P1口接收的数据通过串行口发送出去,再口接收的数据通过串行口发送出去,再从串

17、行口接收进来。从串行口接收进来。#include#includevoid main(void)unsigned char i,j;SCON=0X52;TMOD=0X20;TH1=0XF3;TR1=1;P1=0XFF;while(1)i=P1;SBUF=P1;while(!TI)j=SBUF;【例例9-5】中断:中断:当外部中断当外部中断INT0中断一次则显示提示信息一中断一次则显示提示信息一次次。#include#includevoid main(void)SCON=0X52;TMOD=0X22;TH1=0XF3;TR1=1;EA=1;EX0=1;IT0=1;while(1);void int0_int(void)interrupt 0printf(I am INT0,I will serve you heart and son);

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(单片机C语言-第9章Keil和Proteus使用基础-2课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|