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

上传人:牧羊曲112 文档编号:1321656 上传时间:2022-11-09 格式: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页
点击查看更多>>
资源描述

《单片机C语言第9章Keil和Proteus使用基础2课件.ppt》由会员分享,可在线阅读,更多相关《单片机C语言第9章Keil和Proteus使用基础2课件.ppt(39页珍藏版)》请在三一办公上搜索。

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

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

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

4、文件,单击Add按钮即可将源文件加入项目当中。,(6)虽然源文件已经保存好,但此时与工程项目没有任何关系,还,2、工程设置,Vision2允许为目标硬件及其相关元件设置必要的参数。Vision2还可设置C51语言编译器、A51汇编器、链接及定位和转换等软件开发工具选项。 在选择Project /Options for Target命令后弹出的对话框中,可以通过各个选项卡定义目标硬件及所选的所有相关参数。,2、工程设置 Vision2允许为目标硬件及,工程设置界面(Debug选项卡),工程设置界面(Debug选项卡),各目标硬件选项卡说明,各目标硬件选项卡说明选项卡说 明Target定义应用的目

5、标,常用的设置选项如下:,(1)Target选项卡 Xtal(MHz)用来设置单片机的工作频率,单片机所用的晶振常设置为12MHz或11.0592MHz。,(2)Output选项卡 Create Hex File选项选中后,编译之后就可生成HEX文件。如果要把程序写入(烧录)到硬件(CPU)当中,必须选中该项。,常用的设置选项如下:(1)Target选项卡(2)Outpu,常用的设置选项如下:,(3) Debug选项卡 Debug选项卡用来设置Vision2 调试器。仿真有两种方式:Use Simulator(软件仿真)和Use:Keil Monitor-51 Driver(硬件仿真)。软件仿

6、真方式不需要实际的目标硬件就可以模拟80C51单片机系列很多功能。在硬件做好之前,就可以测试和调试嵌入式应用程序。Vision2可以模拟许多外围部件,例如串行口、外部I/O和定时器等。 硬件仿真方式选项有高级GDI驱动和Keil Monitor-51驱动。运用该功能,用户可以把 Keil C51嵌入到自己的系统当中,从而实现在目标硬件中调试程序。若要使用硬件仿真,则应选择Use选项,选择合适的端口,设置合适的波特率。,常用的设置选项如下:(3) Debug选项卡,3、编译与链接,工程建立并设置好后,需要对工程进行编译,编译命令位于如右图所示的Project菜单下,也可单击下图所示工具栏中的相应

7、按钮。编译分为编译单个文件和编译所有文件。,Project菜单中的编译命令,工具栏中的编译命令按钮,3、编译与链接工程建立并设置好后,Project菜单中的编译,编译之后,如果没有错误,开发环境的下方会出现编译成功的信息。,编译成功信息,编译之后,如果没有错误,开发环境的下方会出现编,(1)建立工程,点击“Project-New Project ”菜单,在编缉框中输入一个名字(设为exam1),无需扩展名。,工程创建、设置、编译与链接实例,(1)建立工程 点击“Project-New Projec,选择目标CPU(Intel系列的80C51BH),选择目标CPU(Intel系列的80C51BH

8、),(2)输入源程序点击新建文件按钮打开一个新的文本编缉窗口,(2)输入源程序,输入程序源代码,以*.c保存该文件。,输入程序源代码,以*.c保存该文件。,(3)添加源程序 (右击“Source Group1” 点击“Add file to Group”Source Group1” 添加生成的.c文件),(3)添加源程序 (右击“Source Group1” 点,(4)工程设置,右击Project 窗口的Target 1选择“Project-Option for target target 1” 工程设置对话框,(4)工程设置右击Project 窗口的Target 1选,设置对话框中的Outp

9、ut 页面 (勾选“ Creat Hex file”),设置对话框中的Output 页面 (勾选“ Creat He,设置对话框中的Debug 页面 (选中Use和下拉框“PROTEUS VSM MONITOR ”),设置对话框中的Debug 页面 (选中Use和下拉框“PRO,(5)编译源程序(形成hex文件),点击F7或工具按钮启动编译、连接功能。,完成后将在命令窗口中显示编译结果,(5)编译源程序(形成hex文件)点击F7或工具按钮启动编译,若有语法错误,双击出错提示可指出错误所在行号,若有语法错误,双击出错提示可指出错误所在行号,9.2.2 用Vision2调试工程,1、程序执行与断点

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

11、,程序就停止运行,可以观察相关变量或特殊寄存器的取值,从而分析程序当中存在的问题。,9.2.2 用Vision2调试工程1、程序执行与断点设,(4) 一般调试过程,启动调试过程Ctrl+F5、 、 Debug-Start/Stop Debug Session 开始调试详见下页 结束调试 、Debug-Stop Running,(4) 一般调试过程启动调试过程Ctrl+F5、,调试工具栏,复位,运行到光标行,单步执行跳出当前函数,过程单步,单步,停止,运行,调试菜单栏,快捷键,指向下条运行行,调试工具栏复位运行到光标行单步执行跳出当前函数过程单步单步停,基本调试手段:1)运行到光标行从当前行运行

12、到光标所在行(Ctrl+F10)2)严格单步运行遇到函数时亦单步进行(F11)3)跨函数单步运行遇到函数时将其视作一行语句(F10)4)断点运行 全速运行到断点行停止(双击设置/解除断点)5)监视输出端口打开I/O窗口 (Peripherals-I/O-Ports)6)监视运行变量打开Watch#1窗口(点击 ),基本调试手段:,2、调试窗口,Vision2编译环境的信息窗口主要有观察窗口(Watch & Call Stack Windows)、输出窗口(Output Windows)、存储器窗口(Memory Window)、反汇编窗口(Dissambly Window)、串行窗口(Seri

13、al Window)等。,调试窗口,2、调试窗口 Vision2编译环境的信息窗口,(1)观察窗口,观察窗口,观察窗口可以查看和修改程序变量,并列出当前函数的嵌套调用。观察窗口的内容会在程序运行后自动更新。,(1)观察窗口观察窗口 观察窗口可以查看和修改,(2)存储器窗口,存储器窗口能显示各种存储区的内容。在存储器窗口Address后的文本框内输入“字母:数字”,即可显示相应存储单元的内容。字母C、D、I和X分别代表程序存储空间、直接寻址的片内存储空间、间接寻址的片内存储空间和扩展的片外RAM单元的值。数字表示要显示的起始地址。,(2)存储器窗口 存储器窗口能显示各种存储区的内容。,(3)反汇

14、编窗口,反汇编窗口用源程序和汇编程序的混合代码或汇编代码显示目标应用程序,可以在该窗口在线汇编,利用该窗口跟踪已执行的代码,并在该窗口按汇编代码的方式单步执行。,(3)反汇编窗口 反汇编窗口用源程序和汇编程序的,(4)串行窗口,Vision2有两个串行窗口,可以用于串行口输入和输出 。,(5)工程窗口的寄存器页面 寄存器页面包括当前的工作寄存器组和一些特殊的寄存器(累加器A、乘法器B、堆栈寄存器SP、状态寄存器PSW等)。当程序运行改变某一寄存器的值时,该寄存器反色显示,用鼠标单击后按下F2键,就可修改该寄存器的值。,(4)串行窗口 Vision2有两个串行窗口,9.2.3 C51程序调试举例

15、说明HELLO.C,HELLO.C是一个样例程序,位于C:KEILC51EXAMPLESHELLO中。 这个程序只是将Hello World输出到串行口。整个程序只包含一个源文件HELLO.C。 HELLO的硬件是基于标准的8051CPU的。使用的唯一片内功能器件是串行口。不需要实际的目标CPU,因为uVision2可以模拟程序所需要的硬件。,9.2.3 C51程序调试举例说明HELLO.C,9.2.4 Keil C51的调试技巧及举例,(1)如何设置和删除断点(2)如何查看和修改寄存器的内容(3)如何观察和修改变量(4)如何观察存储区域,1、 Keil C51的调试技巧,9.2.4 Keil

16、 C51的调试技巧及举例(1)如何设置,9.2.4 Keil C51的调试技巧及举例,【例9-1】P口模拟:P1口内容送P0口。#includevoid main(void)unsigned char i;P1=0 xff;while(1)i=P1;P0=i;,2、应用举例,9.2.4 Keil C51的调试技巧及举例【例9-1】P,【例9-2】定时器:定时器/计数器T0定时,定时时间到则中断,显示相应提示信息。#include#includevoid main(void)SCON=0X52;TMOD=0X22;TH1=0XF3;TR1=1;TL0=TH0=-200;EA=1;ET0=1;TR

17、0=1;while(1);void timer0_int(void) interrupt 1printf(I am TIMER0,I will serve you heart and son);,【例9-2】定时器:定时器/计数器T0定时,定时时间到则中断,【例9-3】计数器:定时器/计数器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(voi

18、d) interrupt 1printf(I am COUNTER0,I will serve you heart and son);,【例9-3】计数器:定时器/计数器T0计数,工作于方式2,计,【例9-4】串行口:把P1口接收的数据通过串行口发送出去,再从串行口接收进来。#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-4】串行口:把P1口接收的数据通过串行口发送出去,再,【例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);,【例9-5】中断:当外部中断INT0中断一次则显示提示信息一,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号