《《片机开发系统》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《片机开发系统》PPT课件.ppt(54页珍藏版)》请在三一办公上搜索。
1、第2章 单片机开发系统,实训2 单片机开发系统及应用 2.1 单片机开发系统 2.2 单片机开发系统的功能 2.3 单片机应用系统的调试 2.4 Keil软件的使用 本章小结 习题2,实训2 单片机开发系统及应用1实训目的(1)了解单片机开发系统的基本组成及功能。(2)通过最简应用系统实例了解单片机开发系统的使用方法。2实训设备与器件(1)实训设备:单片机开发系统。(2)实训器件与电路:与实训1相同。3实训步骤及要求(1)系统连接。参照图2.1将单片机仿真器、实验板及计算机连接起来。,图2.1 单片机开发系统连接图,(2)输入、编辑汇编语言源程序。先打开计算机中的仿真软件,进入仿真环境,新建源
2、文件,输入下面的程序。注意,分号后面的文字为说明文字,输入时可以省略。保存文件时,程序名后缀应为.asm,例如LED2.asm。程序;说明 ORG 0000H;程序从地址0000H开始存放 MOV A,#0FEH;把立即数FEH送ASTART:MOV P1,A;把A送P1口,点亮一个发光二极管 RL A;左移 ACALL DELAY;延时 AJMP START;重复闪动DELAY:MOV R3,#200;延时(200 ms)子程序开始,DEL2:MOV R4,#250 DEL1:NOP NOP DJNZ R4,DEL1 DJNZ R3,DEL2 RET;子程序返回 END;汇编程序结束注:下一
3、次打开该文件时,可直接用Open命令打开。,(3)启动单片机开发系统调试软件。使用的单片机开发系统不同,所用的调试软件也不同。例如:MICE-51单片机开发系统的调试软件是MBUG,Insight-51单片机开发系统的调试软件是Medwin,美国Keil Software公司出品的51单片机开发系统的调试软件是Keil。不同的调试软件,其功能大致相同。在调试软件中,可完成以下操作:打开(Open)上一步输入的汇编语言源程序文件。将汇编语言源程序汇编(Assembly),生成十六进制文件。将汇编后生成的十六进制文件装载(Load)到单片机开发系统的仿真RAM中。,(4)运行及调试程序:运行(Ex
4、ecute)程序,观察实验板上8个发光二极管的亮灭状态。单步运行(Step)程序,观察每一句指令运行后实验板上8个发光二极管的亮灭状态。(5)修改、运行程序。将程序的第2行MOV A,#0FEH修改为MOV A,#01H,重复步骤(2)步骤(4)。,4.实训分析与总结(1)利用单片机开发系统运行、调试程序的步骤一般包括:输入源程序、汇编源程序、装载汇编后的十六进制程序及运行程序。(2)为了方便程序调试,单片机开发系统一般提供以下几种程序运行方式:全速运行(简称运行Execute)、单步运行(Step)、跟踪运行(Trace)、断点运行(Breakpoint)等。全速运行可以直接看到程序的最终运
5、行结果,本实训中程序的运行结果是实验板上8个发光二极管轮流闪动,跟实训1中的运行结果不相同。单步运行可以使程序逐条指令地运行,每运行一步都可以看到运行结果。单步运行是调试程序中用得比较多的运行方式。,跟踪运行与单步运行类似,不同之处在于跟踪运行可以进入子程序运行。试将本实训中的程序跟踪运行,观察它与单步运行过程的不同。断点运行是预先在程序中设置断点,当全速运行程序时,遇到断点即停止运行,用户可以观察此时的运行结果。断点运行给调试程序提供了很大的方便。试将本实训中的程序进行断点运行,观察其运行过程。(3)程序调试是一个反复的过程。一般来讲,单片机硬件电路和汇编程序很难一次设计成功,因此,必须反复
6、调试,不断修改硬件和软件,直到运行结果完全符合要求为止。,2.1 单片机开发系统单片机应用系统建立以后,电路正确与否,程序是否有误,怎样将程序装入机器等,都必须借助单片机开发系统(装置)来完成。单片机开发系统是单片机编程调试的必需工具。单片机开发系统和一般通用计算机系统相比,在硬件上增加了目标系统的在线仿真器、编程器等部件,在软件上除有类似一般计算机系统的简单的操作系统之外,还增加了目标系统的汇编和调试程序等。单片机开发系统有通用和专用两种类型。通用的单片机开发系统配备多种在线仿真器和相应的开发软件,使用时,只要更换系统中的仿真器板,就能开发相应的单片机或微处理器。只能开发一种类型的单片机或微
7、处理器的开发系统称为专用开发系统。,功能强、操作方便的单片机开发系统能加快单片机应用系统的研制周期。国外早已研制出功能较全的产品,但价格昂贵,在国内没有得到推广。国内很多单位根据我国国情研制出以8031作为开发芯片的MCS-51单片机开发系统的系列产品,例如MICE-51、DVCC-51、SICE、SYBER等。这些产品大部分是开发型单片机,通过软件手段可达到或接近国外同类产品的水平。尽管它们的功能强弱并不完全相同,但都具有较高的性能价格比。,2.2 单片机开发系统的功能2.2.1 在线仿真功能单片机的仿真器本身就是一个单片机系统,它具有与所要开发的单片机应用系统相同的单片机芯片(如8031或
8、8051等)。当一个单片机用户系统接线完毕后,由于自身无调试能力,无法验证好坏,因此可以把应用系统中的单片机芯片拔掉,插上在线仿真器提供的仿真头(参考图2.1)。此时单片机应用系统和仿真器共用一块单片机芯片。在开发系统上通过在线仿真器调试单片机应用系统时,就像使用应用系统中真实的单片机一样,这种觉察不到的“替代”称为“仿真”。仿真是单片机开发过程中非常重要的一个环节,除了一些极简单的任务外,一般产品的开发过程中都需要仿真。,在线仿真器的英文名为In Circuit Emulator(简称ICE)。ICE是由一系列硬件构成的设备。开发系统中的在线仿真器应能仿真目标系统(即应用系统)中的单片机,并
9、能模拟目标系统的ROM、RAM和I/O口,使在线仿真时目标系统的运行环境和脱机运行的环境完全“逼真”,以实现目标系统的一次性开发。仿真功能具体地体现在以下几个方面:(1)单片机仿真功能。在线仿真时,开发系统应能将在线仿真器中的单片机完整地出借给目标系统,不占用目标系统单片机的任何资源,使目标系统在联机仿真和脱机运行时的环境(工作程序、使用的资源和地址空间)完全一致,实现完全的一次性仿真。,单片机的资源包括:片上的CPU、RAM、SFR、定时器、中断源、I/O口以及外部可扩充的程序存储器和数据存储器地址空间。这些资源应允许目标系统充分自由地使用,而不应受到任何限制,使目标系统能根据单片机固有的资
10、源特性进行硬件和软件的设计。(2)模拟功能。在开发目标系统的过程中,单片机的开发系统允许用户使用它内部的RAM存储器和输入/输出来替代目标系统中的ROM程序存储器、RAM数据存储器和输入/输出,使用户在目标系统样机还未完全配置好以前,便可以借用开发系统提供的资源进行软件的开发。,在研制目标系统的初级阶段,目标程序还未生成,此时用户编写的程序必须存放在开发系统的RAM存储器内,以便于对程序进行调试和修改。开发系统所能出借的可作为目标系统程序存储器的RAM,常称为仿真RAM。仿真RAM的容量和地址映射应和目标机系统完全一致。对于MCS-51系列单片机开发系统,最多能出借64 KB的仿真RAM,并保
11、持原有复位入口和中断入口地址不变。注意:不同的开发系统所能出借的仿真RAM的容量不一定相同,使用时应参考有关说明。,2.2.2 调试功能1.运行控制功能开发系统应能使用户有效地控制目标程序的运行,以便检查程序运行的结果,对存在的硬件故障和软件错误进行定位。单片机开发系统提供了以下几种程序运行方式:(1)单步运行:能使CPU从任意的程序地址开始,执行一条指令后停止运行。(2)断点运行:允许用户任意设置断点条件,启动CPU从规定地址开始运行后,当断点条件(程序地址和指定断点地址符合或者CPU访问到指定的数据存储器单元等条件)符合以后停止运行。,(3)全速运行:能使CPU从指定地址开始连续地全速运行
12、目标程序。(4)跟踪运行:类似单步运行过程,但可以跟踪到子程序中运行。上述几种运行方式在实训2中已经初步涉及,读者在今后的单片机系统开发过程中,可逐步深入地理解各种方式的应用。只有灵活运用这些方法,才能够对程序进行全方位的纠错、调试与运行。,2.目标系统状态的读出修改功能当CPU停止执行目标系统的程序后,允许用户方便地读出或修改目标系统资源的状态,以便检查程序运行的结果、设置断点条件以及设置程序的初始参数。可供用户读出/修改的目标系统资源包括:(1)程序存储器(开发系统中的仿真RAM存储器或目标机中的程序存储器)(2)单片机中片内资源(工作寄存器、特殊功能寄存器、I/O口、RAM数据存储器、位
13、单元)。(3)系统中扩展的数据存储器、I/O口。,3.跟踪功能高性能的单片机开发系统具有逻辑分析仪的功能,在目标程序运行过程中,能跟踪存储目标系统总线上的地址、数据和控制信号的状态变化,跟踪存储器能同步地记录总线上的信息。用户可以根据需要显示跟踪存储器搜集到的信息,也可以显示某一位总线状态变化的波形,从而掌握总线上状态变化的过程,这对各种故障的定位特别有用,可大大提高工作效率。,2.2.3 软件辅助设计功能1.程序设计语言单片机的程序设计语言有机器语言、汇编语言和高级语言。使用机器语言开发时,程序的设计、输入、修改和调试都很麻烦,因而只能用来开发一些非常简单的单片机应用系统。汇编语言具有使用灵
14、活、程序容易优化的特点,是单片机中最常用的程序设计语言。但是用汇编语言编写程序还是比较复杂的,只有对单片机的指令系统非常熟悉,并具有一定的程序设计经验的人,才能编写出功能复杂的应用程序。,2.程序编辑单片机大都在一些简单的硬件环境中工作,因此大都直接使用机器代码程序。可借助开发系统提供的软件将用户系统的源程序翻译成目标程序。,几乎所有的单片机开发系统都能与PC机连接,允许用户使用PC机的编辑程序编写汇编语言或高级语言程序。例如,PC机上的EDLIN行编辑和PE、WS等屏幕编辑程序,可使用户方便地将源程序输入到计算机开发系统中,生成汇编语言或高级语言的源文件。然后利用开发系统提供的交叉汇编或编译
15、系统,将源程序编译成可在目标机上直接运行的目标程序。开发型单片机一般都具有能和PC机串行通信的接口,在PC机上生成的目标程序可通过命令直接传输到开发机的RAM中,这大大减轻了人工输入机器码的繁重劳动。一些单片机的开发系统还提供反汇编功能,并可提供用户宏调用的子程序库,以减少用户研制软件的工作量。,2.2.4 程序固化功能在单片机应用系统中常需要扩展EPROM或EEPROM,作为存放程序和常数的存储器。应用程序尚未调试好时可借用开发系统的存储器。当系统调试完毕,确认软件无故障时,应把用户应用系统的程序固化到EPROM或单片机内部的FPEROM中去。程序固化器就是完成这种任务的专用设备,它也是单片
16、机开发系统的重要组成部分。,2.3 单片机应用系统的调试2.3.1 硬件调试方法1.常见的硬件故障1)逻辑错误样机硬件的逻辑错误是由设计错误和加工过程中的工艺性错误造成的。这类错误包括错线、开路、短路等几种,其中短路是最常见的故障。在印刷电路板布线密度高的情况下,极易因工艺原因造成短路。,2)器件失效元器件失效的原因有两个方面:一是器件本身已损坏或性能不符合要求;二是由于组装错误造成的元器件失效,如电解电容、二极管的极性错误,集成块安装方向错误等。3)可靠性差引起系统不可靠的因素很多,如金属化孔、接插件接触不良会造成系统时好时坏;内部和外部的干扰、电源纹波系数过大、器件负载过大等造成逻辑电平不
17、稳定。另外,走线和布局的不合理等也会造成系统可靠性差。,4)电源故障若样机中存在电源故障,则加电后将造成器件损坏。电源的故障包括:电压值不符合设计要求,电源引出线和插座不对应,电源功率不足、负载能力差等。,2.硬件调试方法1)脱机调试脱机调试是在样机加电之前,先用万用表等工具,根据硬件电气原理图和装配图仔细检查样机线路的正确性,并核对元器件的型号、规格和安装是否符合要求。应特别注意电源的走线,防止电源之间的短路和极性错误,并重点检查扩展系统总线是否存在相互间的短路或其它信号线的短路。样机所用的电源,事先必须单独调试。调试好后,确认其电压值、负载能力、极性等均符合要求,才能加到系统的各个部件上。
18、在不插片子的情况下,加电检查各插件上引脚的电位,仔细测量各点电位是否正常,尤其应注意单片机插座上的各点电位是否正常。若有高压,联机时将会损坏开发机。,2)联机调试通过脱机调试可排除一些明显的硬件故障。有些硬件故障需要通过联机调试才能发现和排除。联机前先断电,把开发系统的仿真插头插到样机的单片机插座上,检查一下开发机与样机之间的电源、接地是否良好。如一切正常,即可打开电源。,通电后,执行开发机读/写指令,对用户样机的存储器、I/O端口进行读/写操作、逻辑检查,若有故障,可用样机的存储器、I/O端口进行读/写操作、逻辑检查,若仍有故障,可用示波器观察波形(如输出波形、读/写控制信号、地址数据波形以
19、及有关控制电平)。通过对波形的观察分析,寻找故障原因,并进一步排除故障。可能的故障有:线路连接上有逻辑错误、有断路或短路现象、集成电路失效等。在用户系统的样机(主机部分)调试好后,可以插上用户系统的其它外围部件,如键盘、显示器、输出驱动板、A/D或D/A板等,然后再对这些部件进行初步调试。在调试中若发现用户系统工作不稳定,可能有下列原因:电源系统供电电流不够;联机时公共地线接触不良;用户系统主机板负载过大;用户系统各级电源滤波不完善等。,2.3.2 软件调试方法对于模块结构程序,要一个个子程序分别调试。调试子程序时,一定要符合现场环境,即入口条件和出口条件。调试的手段可采用单步运行方式和断点运
20、行方式,通过检查用户系统CPU的现场、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求。通过检测,可以发现程序中的死循环错误、机器码错误及转移地址的错误,同时也可以发现用户系统中的硬件故障、软件算法及硬件设计错误。在调试过程中不断调整用户系统的软件和硬件,逐步调通一个个程序模块。,各程序模块调通后,可以把各功能块联合起来一起进行整体程序综合调试。在这一阶段,若发生故障,可以考虑各子程序在运行时是否破坏现场,缓冲单元是否发生冲突,零位的建立和清除在设计上是否失误,堆栈区域是否溢出,输入设备的状态是否正常,等等。若用户系统是在开发系统的监控程序下运行的,则还要考虑用户缓冲单元是否和监
21、控程序的工作单元发生了冲突。单步和断点调试后,还应进行连续调试,这是因为单步运行只能验证程序正确与否,而不能确定定时精度、CPU的实时响应等问题。待全部完成后,应反复运行多次,除了观察稳定性之外,还要观察用户系统的操作是否符合原始设计要求,安排的用户操作是否合理等,必要时还要作适当修正。,实时多任务操作系统的调试方法与上述方法有很多相似之处,只是实时多任务操作系统的应用程序是由若干个任务程序组成的,一般是逐个任务进行调试。在调试某一个任务时,同时也要调试相关的子程序、中断服务程序和一些操作系统的程序。各个任务调试好以后,再使各个任务同时运行,如果操作系统中没有错误,一般情况下系统就能正常运转。
22、在全部调试和修改完成后,将用户软件固化于EPROM或单片机内部的FPEROM中,插入用户样机后,用户系统即能脱离开发机独立工作,至此,系统研制完成。,2.4 Keil软件的使用Keil软件的使用步骤如下:(1)首先启动Keil软件的集成开发环境。从桌面上直接双击uVision的图标以启动该软件,出现的窗口如图2.2所示。,图2.2 启动窗口,(2)建立工程文件。在项目开发中并不是仅有一个源程序就行了,还要建立一个工程文件,并为这个工程选择CPU,确定编译、汇编、链接的参数,指定调试的方式。Keil使用工程(Project)这一概念,将这些参数设置和所需的所有文件都加在一个工程中。点击“工程-新
23、建工程”菜单,出现一个对话框,如图2.3所示。,图2.3 建立工程文件,要求给将要建立的工程起一个名字,可以在编缉框中输入一个名字(例如LED),不需要扩展名,点击“保存”按钮,则出现第二个对话框,如图2.4所示。这个对话框要求选择目标CPU(即所用芯片的型号)。Keil支持的CPU很多,我们选择Atmel公司的AT89C51芯片,即点击Atmel前面的“+”号,展开该层,点击其中的AT89C51,然后再点击“确定”按钮,回到主界面。(3)建立源文件。使用菜单“文件-新建”或者点击工具栏的新建文件按钮,即可在项目窗口的右侧打开一个新的文本编缉窗口,如图2.5所示。在该窗口中输入源程序。保存该文
24、件,注意必须加上扩展名,如le01.asm。需要说明的是,源文件就是一般的文本文件,不一定使用Keil软件编写,可以使用任意文本编缉器编写。,图2.4 选择目标CPU,图2.5 文本编缉窗口,将左边LED前面的“+”号展开,在它下面的字符“File Group”上点击鼠标右键,再点击弹出的快捷菜单中的“追加文件到文件组”命令,如图2.6所示。在随后出现的如图2.7所示的对话框中,在文件类型中点击asm源文件。在文件中找到前面新建的le01.asm文件,然后点击“打开”按钮加入工程中,如图2.8所示。,图2.6 追加文件到文件组,图2.7 选择文件类型,图2.8 加入文件,此时,左边的文件夹“F
25、ile Group”前面就有了一个“+”号,点击该“+”号展开后,下面就出现了一个名为“le01.asm”的文件,说明已经将文件加进来了。接下来将鼠标移到“LED”上,点击右键,再点击“配置目标工程”命令,将弹出如图2.9所示的窗口,在该窗口中点击“输出”选项卡,将新弹出一个窗口,如图2.10所示,此时一定要选中“创建应用文件”选项,然后再点击“确定”;最后在图2.9中点击“调试”选项卡,在新弹出的窗口(如图2.11所示)中选择“使用软件仿真”或“使用仿真器”选项,最后再点击“确定”。,图2.9 配置目标工程,现在可以进行程序调试了。在图2.12中点击“调试”菜单,在出现的子菜单项中,点击“启
26、动/停止调试”命令,即可以单步、跟踪、断点或全速运行等方式进行调试,如图2.13所示。此时可以观察到工作寄存器、特殊功能寄存器以及I/O端口的状态,如图2.14所示。,图2.10 创建应用文件,图2.11 选择仿真方式,图2.12 启动调试,图2.13 汇编程序,图2.14 观察寄存器窗口,本 章 小 结 本章从实训入手,介绍了单片机开发系统的概念、功能及使用方法。由于目前市场上流行的单片机开发系统很多,尤其是各大单片机厂商纷纷推出了Windows界面下的单片机开发系统,因此本章没有强调单片机开发系统的具体型号,而是从宏观上介绍了单片机开发系统的组成、功能及调试步骤和方法。最后以目前最流行的开
27、发51系列单片机的Keil软件的使用为例,介绍了程序的调试和运行过程。本章介绍了单片机的初步使用方法,对单片机开发系统的深入认识和熟练应用必须在以后章节中逐步建立起来。,习 题 22.1 单项选择题。(1)仿真器的作用是()。A.能帮助调试用户设计的软件 B.能帮助调试用户设计的硬件 C.能帮助调试用户设计的硬件和软件 D.只能做各种模拟实验(2)使用单片机开发系统调试程序时,对原程序进行汇编的目的是()。A.将源程序转换成目标程序 B.将目标程序转换成源程序C.将低级语言转换成高级语言 D.将高级语言转换成汇编语言,(3)使用单片机开发系统调试汇编语言程序时,首先应新建文件,该文件的扩展名是()。A.c B.hex C.bin D.asm(4)单片机能够直接运行的程序是()。A.汇编源程序 B.C语言源程序 C.高级语言程序 D.机器语言源程序2.2 什么是单片机应用系统?什么是单片机开发系统?为什么研制单片机应用系统必须要有开发装置?2.3 常用的单片机开发系统有哪些类型?应如何选用?2.4 一般来说开发系统应具备哪些基本功能?2.5 开发单片机应用系统的一般过程是什么?,
链接地址:https://www.31ppt.com/p-5550201.html