Download presentation
Presentation is loading. Please wait.
1
第4章 PIC软件开发设计基础
2
PIC单片机本身不具备开发编程能力,要进行PIC应用系统的设计开发,其离不开硬件开发和软件开发两种工具。在进行软件开发时,首先利用相关的编辑软件,按照相应的格式创建PIC单片机的源程序,然后对源程序进行汇编。在完成汇编之后,用户可以利用模拟调试软件或者硬件在线仿真器对其目标程序(机器代码)进行运行调试,发现其错误并修改之。经过调试、修改、再汇编之后,即可将修改后的目标程序用硬件编程器将目标代码烧写到用户的PIC芯片中,最终将固化的芯片插入到用户板(实验板)脱机运行。本章主要讲述PIC软件开发工具MPLAB的使用方法等。
3
4.1 MPLAB 软件开发工具简介 Microchip公司在推出PIC系列单片机产品的同时,也推出了相对应的软件开发和硬件开发工具,例如PIC在线仿真器、MPLAB集成开发软件、MPSIM软件仿真器、MPASM宏汇编程序以及PIC通用编程器等。不仅如此,国内开发PIC系列单片机的工作也很迅速,许多公司或研究机构也推出了相应的开发装置,其中既有适用于初学者、低价位的软件仿真和编程器,也有适用于产品开发的高中档开发应用装置。有些高档的开发器还能支持C编译器(如MP-C)与模糊逻辑开发系统等。这些开发装置既可独立运行,也可以和PC机联机运行。总之,目前开发PIC系列单片机的工具不仅十分成熟也是多种多样的。 在PC机上对PIC系列单片机的源程序汇编时,早期可以选择DOS环境或者Windows环境。目前一般都是Windows环境。 MPLAB-IDE (Integrated Development Environment) 是PIC的开发商 Microchip Technology Inc。MPLAB是Microchip公司为PIC系列单片机开发产品提供的适用于PC机Windows的集成开发软件。MPLAB的版本从早期到现在已发展到多种:如MPLAB V3.01版、V3.02版、V4.0版、V4.99版、V5.0版和V6.0版等。各版本之间向下兼容,所以尽管PIC系列单片机品种如此之多,用户只需选择相应版本的MPLAB集成开发软件,均可达到开发目的。该软件包可从该PIC开发商网站免费下载使用。 网站地址 MPLAB综合开发软件能在Windows PC上运行,能实现软件的编辑,Assemble编译和软件模拟Simulator。 这样的综合开发环境能给用户带来极大的方便,有效缩短软件开发周期。
4
MPLAB综合开发环境包括以下程序包: MPLAB项目管理器(MPLAB Project Manager)
能对源程序 (Sourse),目标程序 (Objector) 等在开发环境中综合统一管理。 MPLAB软件编辑器(MPLAB Editor) 具有编程Windows环境,能对源程序进行编辑,存储,消除,改写等。 MPLAB通用汇编编译器(MPASM Universal Assembler) 可对源程序直接进行Assemble编译,生成PIC机器代码 (目标代码)。 MPLAB软件仿真模拟器(MPLAB-SIM Software Simulator) 开发环境还包括Debug调式、模拟功能。这样就能使开发者简单地对程序进行即时测试而不用每次对软体改动后都需在硬件上测试。在Debug时可采用断点测试,能对程序运行状态,寄存器状态进行检查等。也能对变量、存储器内容进行监视,确认。另外,还可根据设置的系统时钟F,在Simulation中对程序运行所需时间进行测试。也能针对实际的硬件,测试应用程序运行时间。
5
PIC单片机主题模拟器(PIC MASTER Emulator)
MPLAB还具有对硬件的模拟工具,也能对ROM写入器进行控制。 MPLAB的最新版 MPLAB Ver7.00已出。但与2003年的MPLAB Ver6.30大同小异,只是加强了Editor,Simulation功能。使用方式方法基本相同。 另外与以前的MPLAB Version 5.70,6.10,6.20版本相比,虽没有本质上的差别,主要的改进在于软件使用的便利性的改良和PIC新品种 (PIC18系列) 及对最新PC Windows操作系统 (Windows XP等) 的支持。其功能比较等请见表4.1。其主要改进如下: 针对32 Bits 的Windows系统的MPLAB开发环境。能对应Windows 98以后的所有Windows系统。(Windows2000,Windows XP等) 能开发PIC的新芯片。(PIC18 系列) 能控制ICD和Progarmmer编程器等,且支持USB连接。 为大规模开发,MPLAB能并行处理多个开发芯片。这样在MPLAB中引 入了 Workspace 新概念,软体且能对多个开发Projects进行统一的管理。 增强程序的Editor编辑功能。 增强了程序Debug调试功能。
6
表4.1 MPLAB软件各版本功能比较 对应PIC种类 MPLAB 5.70 MPLAB 6.10 MPLAB 6.20
× ○ PIC18 △ PIC17 PIC16midrange PIC16baseline PIC14 PIC12 rfPIC 发表时间 已 ’02/11 '03/4 '03/7
7
4.2 MPLAB 软件安装 本节主要介绍MPLAB Ver6.30开发软件的下载和软件的安装 (Installation)。首先从Microchip 公司的网站下载MPLAB Ver6.30的文件。文件的下载可一次性全文件下载。由于文件容量较大,也可分割成多个小文件下载。下载的文件如下 文件一次性下载,文件名 mp630full.zip。 多文件分割下载 文件名 mp630_1.zip mp630_2.zip ……………….. mp630_20.zip
8
下载完文件到指定子目录后,在子目录中解压所有的文件 (文件解压请见参考书)。解压后执行带有exe扩张名的文件 (如MPLAB FULL v6
下载完文件到指定子目录后,在子目录中解压所有的文件 (文件解压请见参考书)。解压后执行带有exe扩张名的文件 (如MPLAB FULL v6.30.EXE),进入程序安装。执行MPLAB FULL v6.30。EXE后出现以下安装Welcom Window窗口,如图所4.1所示。请按Next键进入安装程序。 图4.1 安装欢迎窗口
9
按Next键后出现以下版权规则确认窗口,如图4.2所示。请用鼠标点 I Agree后按Next键进入下一安装过程。
图4.2 版权规则窗口
10
在按Next键后出现以下安装目标子目录选择窗口,如图4.3所示。用鼠标点Browse键来指定希望的目标子目录。选测完后按Next键。
图4.3 安装目录选择窗口
11
按Next键后再出现BackUp提问、Start Menu登录提问和Desk Top表示提问时,请全部选择Yes后按Next键,最后进入Ready to Install。在此请再选择Next开始MPLAB程序展开如下。 图4.4 安装进度窗口 图4.5 Readme文件确认窗口
12
安装过程中需设置Readme文件。出现以下选择窗口,在读时请均选择Yes后按Next键继续下一阶段的安装。在完成多个Readme文件的确认消去后会出现USB接口驱动安装确认选择窗口。如不使用USB口全部请按Next键,最后出现安装完成窗口。请按Finish键完成整个MPLAB程序的安装。 在按Finish之后还会出现并行接口 (Parallel) 和USB接口的Installation确认Web窗口3页,请确认内容后安装过程全部完成。如使用USB,请遵照Web的指示进行USB的驱动程序的安装。 完成以上安装过程后,在计算机操作系统桌面上出现以下icon窗口,如图4.6所示说明安装正常。 图4.6 MPLAB程序启动
13
MPLAB程序启动只需用鼠标双击以上Icon窗口,启动后出现以上基本窗口。如图4
MPLAB程序启动只需用鼠标双击以上Icon窗口,启动后出现以上基本窗口。如图4.7所示。在窗口中,白色窗口部分称为项目窗口(Project Window)。Project文件均在此窗口中显现,管理等。
14
4.3 项目的生成 本节主要讲述工作区(Workspace)和项目(Project)的创建和生成。
在使用MPLAB开发环境编写PIC应用程序时,首先必须生成Project项目。在对PIC应用程序源文件进行编译等过程中,由Project自动生成各种开发中需要的文件,且由Project统一管理。 到MPLAB Ver5.70开发环境为止,开发的源程序与Project是一对一的管理方式。在MPLAB Ver6。00以后可用于1个源程序对应多个Project。为达到此目的,MPLAB Ver6.00以后引入了工作区Workspace概念。它与项目Project的关系如下所示: Workspace | Project A | ¯¯¯¯¯¯¯¯¯Project B | ¯¯¯¯¯¯¯¯ Project C ¯¯¯¯¯¯¯ 但是在使用MPLAB时,大部分就使用1个Project已足够,所以也不用注意这点问题。 所以经常可设定为1个Workspace,1个Project 这样的1对1的关系。
15
1. Project生成的方法-Project Wizard
开始编写程序就应生成Project项目。MPLAB Ver6.00版以来生成Project可使用Project Wizard项目来追加Project。使用该方法可很简单地生成Project项目。具体生成方法如下。
16
图4.8 Project Wizard的启动欢迎窗口
启动MPLAB开发环境后,在MPLAB窗口中请选择Project后再选Project Wizard后出现以下Welcom窗口,如图4.8所示。 图4.8 Project Wizard的启动欢迎窗口
17
在Welcom窗口中请选择Next后出现以下设置窗口
PIC 芯片种类选择 图4.9 PIC芯片选择窗口 在以上PIC芯片选择窗口中请选择自己开发中将使用的PIC型号,如图4.9所示。选择完后请点Next后出现以下开发使用的语言种类。
18
开发语言选择 图4.10 开发语言选择窗口 如图4.10所示,在以上语言选择Window中Active Toolsute选项中存在有Microchip MPASM Toolsute (Microchip公司汇编),且也正需要使用。这里可以不管别的选项,仅选择Next后完成此选项。 如在Active Toolsute选项中无Microchip MPASM Toolsute,请用鼠标点Location of Selected Tool选项中的Browse键,选择指定存有mpasmwin.exe文件的子目录。如果还需使用其它公司提供的语言,请在计算机中安装相应软件后点激活Show all installed toolsuites,在Active Toolsuites栏中追加。
19
指定Project名称 图4.11 指定项目名称及位置窗口 在语言选项完成后进入Project名称指定选项Window,如图4.11所示。在该选项中需要指定Project名和存储的目标目录。在此请用户自己根据自己需要指定Project名和目录。两者名称可不一样 (MPLAB Ver5.70版需同样)。如不指定存储目录,将出现“是否需自动生成?”,如选择OK,系统自动生成子目录。
20
在Project中登录源程序 图4.12 项目登陆处理窗口 在完成Project名指定后,进入在Project中登录源程序Window,如图4.12所示Wndow (Step Four)。在此如还未编写生成源程序,就此直接选择Next选项。如有源程序的情况下,请选择相应子目录后选Add追加。
21
项目完成 在完成以上全部选项后就完成了整个Project的生成,为进一步的工作作了最基本的准备。如在选项过程中出现选择错误需修改请选择Back进行修改
22
2.不使用Wizard的Project生成
Workspace 和 Project关系的初设置 图4.13 完成后的项目窗口 如图4.13所示是完成后的Project Window。在此窗口中可看到登录的源程序等内容。
23
图4.14 项目设置窗口 这里要设置Workspace和Project为1对1的设置关系。操作顺序:Configure选项->Settings选项->Projects选项,如图4.14所示.鼠标双击后进入以下选项Window。激活所有选项。特别是在最后的选项Use one to one project workspace model必须选择检查后按OK键结束。
24
PIC芯片类型选项窗口 完成Workspace和Project对应关系选择后需选择开发的PIC种类。操作顺序Configure选项->Select Device选项后,双击该选项后进入以下Window。在该窗口中打开Device选项可看到PIC种类列表,在其中可选择开发时所用的PIC芯片种类。 图4.15 PIC芯片类型选项窗口 在PIC Device选项下面有MPLAB对应该PIC芯片使用的功能和选择。其中绿色代表该MPLAB功能能对应该PIC芯片。标有红色Mark的MPLAB不对应该PIC芯片。用户确认后选OK项结束。
25
再回到MPLAB设置,请选Project选项到New后进入以下Window。使用Browse选项选择所需Project名和子目录登录。
新生成项目 至此为止已基本完成了生成Project的基本工作。在生成Project前还必须创建存储Project的子目录。通常可通过Windows系统生成相应的子目录,如图4.16所示。比如可生成 D: \ MPLAB IDE \Projects \sample1 的2层子目录。 再回到MPLAB设置,请选Project选项到New后进入以下Window。使用Browse选项选择所需Project名和子目录登录。 图4.16 新生成项目名称及位置设置窗口
26
在以上新生成项目窗口中输入Project名和指定好存储的目录路径后请选OK。Project生成后出现在次的窗口中。该窗口通常称为Project Pane窗口,如图4.17所示。在该窗口中可见Project相关的全部各种文件。 图4.17 项目Pane窗口
27
4.4 源程序文件的生成 在完成Project生成设置后,就可以开始编写各种应用源程序。当然源程序的编写是硬件设计完成后的工作。在编写源程序前还必须有以下设置,因为编写程序必须用相应的语言。程序编写完后还必须转换为PIC的机器码。
28
1.语言设置 对源程序转换成PIC机器码前必须指定编写程序所使用的语言。指定语言时由MPLAB菜单中请选择Projiect选项到Select Language Toolsuite选项然后进入以下Window。 在该窗口中请用鼠标选Active Toolsuite栏的▼ Mark可看到可用的语言列表。在此如需要使用汇编语言,请选择Microchip MPASM Toolsuite后选OK即可。如选择其它语言,可能需要安装该语言的编译程序。
29
2.源程序文件的生成 图4.18 源程序文件生成窗口 到此为止就可真正地编写应用程序了。从MPLAB菜单打开File选项到New选项时MPLAB进入源程序的编写窗口,如图4.18所示。在此窗口中就可编写程序、改写程序、写程序注释等。
30
图4.19 程序编辑设置窗口 在编写程序过程中,还可设置调整程序书写格式及字体等。如需改变时请选Edit选项到Properties选项再到Text选项双击后弹出设置窗口,如图4.19所示。窗口中可选择字体大小,色彩等。另外还可选Tabs选项能改变TAB的文字数。TAB的文字数如设置为4文字,但对源程序编译后变为8文字。 在编辑窗口中编写完源程序后可选File选项到Save As选项对编写的程序进行存储。 存储时需输入程序名。在对程序编译式程序自动追加上后缀名,如xx.asm。另外MPLAB对程序通过不同的色彩来区分不同的单字(Word)。
31
图4.20 源程序编辑窗口 当然也可根据爱好设置不同的色彩。设置过程与字体设置方法相同。在MPLAB菜单中选Edit选项->Properties选项->Text后鼠标双击后再选Choose Colors选项进入设置窗口。其中不仅可改变色彩,还可设置不同字体。
32
3.源文件登录项目 在源程序编写完成后就可把该源程序追加至相应的Project中,如图4.21所示。具体操作由MPLAB菜单选Project选项到Add Files to Project选项后进入文件File选择窗口中选择已生成的源文件后打开。可以进入编辑器进行颜色调整窗口,如图4.22所示。处理后在Project Windows窗口中可以看到的源程序文件已追加到Project中了。在Project Windows窗口中也可在Sourse Files行用点鼠标右键会出现右图的小窗口,如图4.23及4.24所示。在此小窗口中如选择Add Files也可进行以上的源程序登录。这样能使操作更方便。
33
图4.21 源文件登陆项目窗口 完成以上工作后,至此即可进入对源程序的汇编编译工作 (Comply)。 图4.22 编辑器颜色调整窗口
34
图4.23 项目文件排列窗口 图4.24项目添加文件窗口
35
4.5 源程序的编译及调试 1.源程序的编译 对源程序进行编译可单纯简单在MPLAB开发环境完成。 从MPLAB菜单选择到Project选项到Build Add选项即可完成。在对源程序编译过程中,如源程序有书写错误,格式错误,逻辑错误等会出现如图4.25所示的信息输出Window窗口。在此窗口中现有Error错误的场所。还可在此窗口中错误行双击的话,即可跳转(Jump)至错误行,这样利于对程序的判定,修改。 图4.25中还可看到,按错误的严重性对错误进行了3分类,即信息(Message),警告(Warning)和错误(Error)3种。对Message不需要马上修改源程序,但要注意。特别是程序将来动态运行时可能出现动态错误。但也可能不出错误,但一出现程序的修改较难。对于Warning错误,可用Defaud进行自动修改,所以在很多暂时也不需修改但要确认。对真正的Error是必须要修改,否则不能生成相关的其它文件。 编译时对源程序的错误诊断能力也可在MPLAB中进行设置。由MPLAB菜单进入Project选项到Build Options选项再到Project选项进入如图4.25所示的窗口。这时鼠标双击MPASM Assembler,Categories选项中请选Output后进入下窗口。如图4.26所示表明编译不通过。在此即可选则3种类的Diagnostics levels模式,也就能设置编译源程序时能对源程序的诊断级别。同时也能指定输出文件种类且也能交叉输出 (Cross Reference)。在修改完所有Error错误后即可完程对源程序的编译。如图4.27所示窗口中显示类似信息。且出现Build Succeeded,同时生成相应的目标程序 (Object File)。 对生成的目标程序即可用MPLAB来模拟和最后对PIC芯片的写入。
36
2.软件的模拟(Simulation)和调试(Debug)
对编写的应用程序进行模拟通常有两种方法。一种是在MPLAB开发环境中单纯用MPLAB的模拟器进行模拟。另一种方式是硬件 (ICD或ICE等) 和软件一起模拟。两种方式中前一种比较简单,但对有些可能出现的动态错误比较难发现。后者方法较复杂,必须有相应的硬件,但它更接近于实际的开发系统。后一种模拟涉及具体开发的硬件,所以本章节仅介绍前一种模拟法。 图4.25 编译窗口1
37
图4.26 编译窗口2 图4.27 编译窗口3
38
模拟器的设置 (Simulator) 为正确使用MPLAB的模拟器必须先设置模拟器。设置比较简单,从MPLAB开发环境窗口菜单中的Debugger项目进入Select Tool再到指定MPLAB SIM项目。 指定MPLAB SIM后在此小窗口下出现数个选择项目,如图4.28所示。 图4.28 模拟器设置窗口 从生成的数个小项目中,可控制程序的开始,结束以及运行中的各种断点控制等。与以前的MPLAB Version相比,在这些小项目中,MPLAB Ver6.30特别增加有Animate动画功能。
39
Debug 本节中将介绍用模拟器Simulator对程序的模拟调试进行说明。 下面对要使用的功能键和断点的设置进行详细的说明。 1)程序的启动和停止 F6 : Processor Reset 硬件复位的状态 F9 : Run 从当前地址开始执行程序 图4.29 设置断点窗口 F5 : 强制停止进入HALT状态 F7 : 进入单步执行状态,指令逐条执行 F8 : 对CALL指令执行进入子程序调用,但子程序非单步运行 如在程序运行中停止,如下图中所示出现绿色箭头指向下一将执行指令行。
40
2)断点(Breakpoint)的设置 作为MPLAB Ver6.30功能强化,能简单指定断点以实现断点控制。在图4.29中可在想设置断点的指令行用鼠标双击此行即可产生如上图命令行开头处出现红色B标志,即完成断点设置。如在此红色B标志用鼠标双击,即可解除断点。 设置断点还可用另一种方法。用鼠标指在当前指令行点鼠标右键即可出现如上图中的小窗口选择菜单。在其中只需选Set Breakpoint即可。选择完后也产生如上图命令行开头处出现红色B标志。解除断点时可用同样方法选择Remove Breakpoint即可。
41
3)变量值的检查 变量值的检查非常简单。在程序处于断点停止状态时,只需把鼠标放在想要检查的变量此刻即可现出当前该变量的值,如图4.30所示。这种检查方式使用户使用非常方便。另外不仅可显示变量的值,通过设置还可显示地址。该设置由Edit进入Properties项到Editor项选Show Address in Mouseover即可。 图4.30 变量值的检查窗口
42
观察窗口的设置 (Watch Window)
对变量和SFR特殊功能寄存器的值的检查,可以通过设置Watch窗口来实现,且能在任何时候对它们进行监控。这个观查窗口的设置非常简单。从MPLAB主窗口菜单View选项到Watch选项即可进入以下窗口,如图4.31所示,在此窗口中,选Add SFR项的▼标志。 图4.31 观察窗口1 即可看到变量和SFR寄存器名称的一览表,从中可选择指定需要监控的变量和SFR寄存器。在MPLAB Ver6.30,也可从源程序中直接考贝相关变量和SFR寄存器到Watch 窗口完成该功能
43
当前断点时,被指定的变量和SFR寄存器的值与上次停止时相比改变时,如图4
当前断点时,被指定的变量和SFR寄存器的值与上次停止时相比改变时,如图4.32所示它们的值变为红色以示区分。由于该功能,通过一个断点后,按F7键进入单步运行,就可观察到每条指令运行时对各变量和SFR寄存器的影响。 这样即可对程序进行Debug调试。 图4.32 观察窗口2
44
其它辅助Debug法 如上的Debug功能还有另外几种。它们的表示,设置均由MPLAB View和MPLAB主菜单统一管理。具体的功能如下。 1)硬件堆栈 (Hardware Stack) 对于硬件堆栈 (Hardware Stack) 的状态,可由以下Window表示。PIC有8级硬件堆栈。 图4.33中标有各硬件堆栈存储的内容和当前位置。通过该窗口,可监视堆栈的使用情况。 图4.33 硬件堆栈窗口
45
2)File Register,Program Memory,EEPROM和SFR寄存器的监控
MPLAB Ver6、30版开发环境可使用户直接从显示窗口监视以上各种寄存器,程序存储器等的动态变化情况。在此还强调一点,还可直接改变程序存储器的值 (程序指令的改变),这样就改变了程序。能利用该功能,可动态模拟调试应用程序。 3) Stimulus的设置 Stimulus的设置可从MPLAB主菜单Debugger选项到Stimulus选项后进入以下Simulator Stimulus窗口。在窗口中鼠标双击Pin Stimulus后,可出现输入输出端子的模拟画面。在其中可看到各输入输出口的类型,高低电平等状态信息。
46
4.6 源文件生成 在完成应用程序的编写和模拟 (Simulation) 运行后,就可把开发的应用程序真正写入PIC的程序存储器中实现实机运行。把程序写入PIC芯片还需要一定的写入工具。通常这个工具称为Programmer或Writer等。本章节介绍PICSTART Plus这种Programmer如下。 图4.34 模拟窗口
47
1)Programmer的连接设置 连接 PICSTART Plus通过RS-232串行接口接入计算机 MPLAB开发环境中对Programmer的选择 如图4.35所示,由MPLAB主菜单选Programmer选项到Select Progarmmer选项再选择PICSTART Plus即可。再打开Output窗口就能正常连接。 图4.35 连接设置窗口
48
2)COM 接口的设置 虽然COM接口的确认是自动完成,但也可能出现开不了Output窗口的情况。 如打不开Output窗口,就必须先设置连接的COM接口。如图4.36所示,设置从MPLAB主菜单选Programmer选项到Setting选项再双击Communications即可进如以下Programmer窗口。通常首选COM1,如连接不成功可选COM2再试。 如均失败请确认Computer的COM配置情况再设置。 图4.36 COM接口设置窗口
49
3)Programmer的启动 由MPLAB主菜单Programmer选项到Progarmmer Enable击活即可追加如下图所示的多项选择。如图4.37所示,不仅有Program还有Verify,Read等多项可选择使用的功能。对这些功能均可选择使用。 图4.37 程序运行启动窗口
50
4)对PIC芯片程序写入 如在Programmer设备上设置好PIC芯片,选择上图中的Progarm选项点击后即可开始写入。写入完成后会出现如下图所示的信息。 如程序写入正常结束会出现Completed Successfully。如写入有错,则会出现如图4.38所示的窗口。 图4.38 程序写入窗口
51
5)配置(Configuration)手动设置法
在使用CONFIG命令指定Configuration时不需设置。如没有指定则需要设置。设置方法为从MPLAB主菜单Configure选项到Configuration Bits选项即可进入如图4.39所示窗口。选择Setting栏即可现示出选择栏供用户选择,以选择合适选项。 图4.39 配置手动设置窗口
52
在如本章所述完成对PIC写入后即可使用该PIC芯片进行实际动作确认。如出现与期望的逻辑不符,出现错误,则需要修改源程序再模拟再修改直至最后完成所有功能。
Similar presentations