购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.2 呼吸灯的设计思路

1.2.1 呼吸灯的工作流程

呼吸灯的工作流程如图1.1所示,相当简单,就是一个“明→暗→明”的过程。

图1.1 呼吸灯的工作流程图

1.2.2 呼吸灯的需求分析与设计

设计呼吸灯系统时需要考虑如下几个方面的内容。

(1)要发光,则需要一个合适的光源。

(2)需要一个与光源进行相应控制的驱动电路。

(3)PIC单片机需要驱动电路进行的接口。

(4)需要设计合适的单片机软件。

1.2.3“呼吸”效果实现原理

对于PIC单片机的应用系统而言,最常用的发光源是发光二极管(LED)。发光二极管的发光强弱和通过其的电流大小相关,当电流越大时发光二极管越亮。通过对这个电流大小的控制,即可以实现对发光二极管亮度的控制;当这个电流逐步增大时灯光会变亮,反之灯光会变暗。

1.2.4 PIC单片机(PIC16F87×A)简介

PIC16F87×A系列是Microchip公司出品的8位Flash精简指令集(RISC)单片机,其采用了数据总线和指令总线分离独立的哈佛结构,具有很高的流水处理速度。

PIC16F87×A系列单片机包括了PIC16F873A、PIC16F874A、PIC16F876A和PIC16F877A等型号,各个型号的参数对比参见表1.1。

表1.1 PIC16F87×A系列单片机

PIC16F87×A系列单片机的主要特点如下所述。

(1)采用RISC结构,速度快,性能高。

(2)仅有35条单字指令,除了程序分支指令需要两个执行周期外,都仅需要一个执行周期。

(3)最高支持20MHz的时钟输入频率。

(4)内置4KB/8KB的14位宽度的Flash程序存储器、192/368B的数据存储器、128/256B的E 2 PROM数据存储器。

(5)提供了14个中断源的中断系统。

(6)内置8级深度的硬件堆栈。

(7)内置上电复位(POR)、上电定时器(PWRT)和振荡启动定时器(OST)。

(8)内置三个定时/计数器,包括带预分频的8位定时/计数器Timer0;带预分频的,可以使用外部晶体振荡时钟的16位定时/计数器Timer1;带有8位周期寄存器,预分频器和后分频器的8位定时/计数器Timer2。

(9)内置2个16位最大分辨率为12.5ns的捕捉器。

(10)内置2个16位最大分辨率为200ns的比较器。

(11)内置2个最大分辨率为10位的PWM模块。

(12)内置5~8通道的10位多通道A/D模块。

(13)内置带有SPI(主模式)和I 2 C(主/从)模式的SSP。

(14)内置带有9位地址探测的通用同步异步发送/接收器(USART/SCI)。

(15)内置带RD(读)、WR(写)、CS(使能)的并行端口。

(16)内置支持降压复位的降压检测模块。

(17)内置监视定时器(WDT)和片内RC振荡器。

(18)支持在线串行编程ICSP和单5Ⅴ电压供电的内部电路串行编程。

(19)支持2.0~5.5Ⅴ的宽电压工作。

PIC16F87×A系列单片机提供了28/40引脚的PDIP、SOIC、PLCC和QFP封装,可供用户选择。如图1.2所示为40引脚PDIP封装的PIC16F874A/PIC16F877A的引脚示意图。

图1.2 40引脚PDIP封装的PIC16F874A/PIC16F877A的引脚示意图

图1.2中各引脚详细说明如下所述。

(1)外部I/O引脚RA~RE:具有第二或者第三功能的I/O引脚。

(2) :复位输入、可编程电压输入或者高电压测试模式控制引脚,当用作复位输入时,为Active Low动作。

(3)OSC1/CLKI:振荡器输入/外部时钟源输入引脚。

(4)OSC2/CLKO:振荡器输出引脚,在振荡模式下该引脚应该连接到外部晶体/晶振。在RC模式下,该引脚输出为OSC1上频率的四分频的时钟信号CLKOUT。

(5)Ⅴ SS :电源地引脚。

(6)Ⅴ DD :电源输入引脚。

注意: 本书的实例通常使用PIC16F877A来作为核心控制器,除了第24章所介绍的“μCOS-II实时操作系统应用”实例。

1.2.5 RCL电路

PIC单片机的输出是一个数字信号,只有“0”和“1”两种状态,也就是说只有“大电流”和“小电流”,不能直接对LED进行控制,此时需要一个相应的电路来将这个数字信号转化为模拟信号。

RCL响应电路是一种可以进行储能释放的电路,其电路原理如图1.3所示。如果在电容C1两端加上一个电源,其将对C1进行充电,在C1两端累积电荷;如果此时电源被撤去,C1开始通过R1和L1组成的回路开始放电,但是电感L1会产生逆电动势同时继续给C1充电,所以此时C1处于一个反复的充放电过程,直到最开始存储的电能全部都在电阻R2上消耗掉。

图1.3 RCL响应电路原理图

如果在RCL电路的R1和L1之间串联一只发光二极管,而在电容两端加上高低的数字逻辑电平,则可以实现在发光二极管上电流的变化。

注意: 这个充放电的过程,被称为RCL的阶跃响应,其充放电的时间是可以通过相关的公式计算得出的,有兴趣的读者可以自行查阅电路方面的相关书籍。

1.2.6 PWM控制

虽然RCL电路能够将对应的数字逻辑高低电平转换为模拟信号并且实现电流的大小变化,但是此时还是需要PIC单片机提供这个数字逻辑电平,此时可以应用PWM控制原理。

PWM是脉冲宽度调制(Pulse Width Modulation)的缩写,简称脉宽调制,是一种使用PIC单片机或者其他处理器的数字输出来对模拟电路进行控制的方法。这种方法可以数字方式来控制模拟电路,可以大幅度降低系统的成本和功耗。

在采样控制理论中有一个重要结论:冲量相等而形状不同的窄脉冲加在具有惯性的环节上时,其效果基本相同。PWM控制技术就是以该结论为理论基础,利用PIC单片机的I/O引脚输出一系列幅值相等而宽度不相等的脉冲,用这些脉冲来代替正弦波或其他所需要的波形,按一定的规则对各脉冲的宽度进行调制,既可以改变逆变电路输出电压的大小,也可以改变输出频率。

对于PWM控制来说,其关键的参数有两个:脉冲的频率和脉冲的宽度。在实际的PIC单片机应用系统中,通常可以使用定时器来实现对这两个参数的控制。

在呼吸灯实例中,修改PWM的输出波形,可以改变外加在RCL电路的电源时间长度和对RCL电路进行充电的频率,从而可以达到修改吸气和呼气的分别长度,以及呼吸的频率的目的。

1.2.7 PIC单片机的软件开发环境使用

MPLAB是Microchip公司为PIC系列单片机提供的集成开发环境,其是一个集多个应用开发工具为一体、功能完备的软件包。其主要包括的功能如下所述。

(1)工程项目管理器(Project Manager):是MPLAB的核心部分,用于创建和管理工程项目。

(2)代码编辑器(MPLAB Editor):是一个文本编辑器,给用户提供一个源代码的编辑环境,提供了关键字高亮等功能。

(3)汇编器(MPASM Assembler):用于将汇编语言的源文件(.asm文件)转换为单片机可执行的目标文件(.hex文件)。

(4)调试器(Debugger):用于对当前用户代码进行调试,允许使用断点、单步调试、Watch窗口以及目前MPLAB IDE调试器中的所有功能。将它与编辑器配合使用,可以将正在调试的目标中的信息与源代码相关联。

(5)硬件仿真器(MPLAB-ICE Emulator):这是一个可将仿真器搭配外围电路来进行实时在线仿真和调试的设备。

(6)硬件模拟器(PLAB-SIM Software Simulator):这是一种非实时、非在线的纯软件调试工具,可以实现PIC单片机对于用户源程序的模拟运行。

(7)编程器(Programmer):用于将对应的代码烧写入PIC单片机,PICSTART Plus、PRO MATE II、MPLAB PM3以及MPLAB ICD 2都可以将代码编程到目标单片机中。MPLAB IDE 提供了对代码和数据编程的完全控制,还可以使用MPLAB IDE 对配置位进行设置来设定目标单片机的各种操作模式。

注意: 最新版的MPLAB集成开发环境内置了HI-TECH ANSI C Compiler C语言编译器,可以对PIC单片机的C语言代码源程序进行编译。

1.MPLAB的工作界面

MPLAB集成开发环境提供了丰富的内部工具,常用命令都具有快捷工具栏,并且提供了项目向导(Project Wizard)快速开发工具用于帮助用户快速建立一个应用工程文件。MPLAB集成开发环境的界面是一个可以调整大小的窗口,它的操作独立于其他菜单项。此界面由菜单栏、快捷工具栏、状态栏和任何打开的窗口和/或对话框组成,如图1.4所示。

图1.4 MPLAB的工作界面

2.MPLAB的菜单栏

MPLAB的菜单栏包括File、Edit、Ⅴiew、Project、Debugger、Programmer、Tools、Configure、Window、Help菜单项。本节将详细介绍这些菜单的用途。

1)File菜单

如图1.5所示为File(文件)菜单的列表。

该菜单包含了用于文件操作的相关菜单命令,详细说明如下所述。

(1)New(新建):显示一个文件名为“Untitled”(未命名)的空编辑器窗口。

(2)Add New File to Project(将文件加入项目):将一个文件加入当前项目。

图1.5 File菜单

(3)Open(打开):打开现有的源文件。可以通过在按下CTRL键或Shift键的同时单击文件名,在“打开”对话框中选择多个文件。

(4)Close(关闭):关闭当前的编辑器窗口,如果文件自上一次保存之后已经被更改,会提示用户保存更改。

(5)Save(保存):将当前的编辑器窗口保存到磁盘上它的原始文件名下。

(6)Save As(另存为):将文件另存为其他名称。

(7)Save All(保存所有):将所有打开的编辑器窗口保存到磁盘。

(8)Open Workspace(打开工作区):打开工作区会在打开一个新的工作区之前关闭前面的工作区。

(9)Save Workspace(保存工作区):保存工作区将保存当前的工作区。可以通过在Configure→Settings中的Workspace(工作区)选项卡下设置相关项以在关闭时自动保存工作区。

(10)Save Workspace As(将工作区另存为):将工作区另存为其他名称。

(11)Close Workspace(关闭工作区):关闭工作区将返回默认的启动工作区配置。

(12)Import(导入):将调试文件或.hex文件导入到MPLAB集成开发环境的项目。

(13)Export(导出):从MPLAB集成开发环境的项目导出.hex文件。

(14)Print(打印):打印当前的编辑器窗口。将弹出“打印”对话框,可在此设置打印机和打印选项。

(15)Recent Files(最近使用文件):显示在当前的MPLAB集成开发环境会话过程中打开过的文件的列表。可在Configure→Settings的Workspace选项卡中设置所显示的文件数。

(16)Recent Workspaces(最近的工作区):显示在当前的MPLAB集成开发环境会话过程中打开过的工作区的列表。可在Configure→Settings的Workspace选项卡中设置所显示的工作区数。

(17)Exit(退出):关闭MPLAB集成开发环境。

2)Edit菜单

如图1.6所示为Edit(编辑)菜单的列表。

该菜单包含了编辑操作的相关菜单命令,其详细说明如下所述。

(1)Undo(撤销):撤销对当前窗口所进行的上一次更改。当没有编辑操作可撤销时,此菜单命令将灰掉且不能选择。

(2)Redo(重复):恢复上一次Undo操作对当前窗口所进行的更改。当没有编辑操作可恢复时,此菜单命令将灰掉且不能选择。

(3)Cut(剪切):删除当前窗口中选定的文本并将它放在剪贴板中。在这个操作之后,可将所删除的文本粘贴到另一个MPLAB编辑器窗口、同一MPLAB编辑器窗口中的另一个位置或另一个Windows应用程序中。

(4)Copy(复制):将当前窗口中选定的文本复制到剪贴板上。在这个操作之后,可将所复制的文本粘贴到另一个MPLAB编辑器窗口、同一MPLAB编辑器窗口中的另一个位置或另一个Windows应用程序中。

图1.6 Edit菜单

(5)Paste(粘贴):将剪贴板上的内容粘贴到当前窗口的插入点上。仅可当剪贴板包含文本格式的数据时执行此操作,MPLAB编辑器不支持位图粘贴或其他剪贴板格式。

(6)Delete(删除):删除选定的文本。

(7)Select All(全选):选择Edit窗口中的所有文本和图形。

(8)Find(查找):弹出“Find”对话框。

(9)Find Next(查找下一个):查找“查找文本”的下一个实例,此时使用“F3按键”重复上一次查找;使用“Shift+F3”组合键按照上一次查找的相反方向查找。

(10)Replace(替换):弹出“Replace”对话框。

(11)Go to(转到指定行):转到编辑器窗口中指定的文本行。

(12)Advanced(高级):高级编辑功能,包括使选定的文本全部变为大写或小写、将文本或常规代码注释掉或者缩进文本或不缩进文本。除此之外还有一个Match(匹配)功能。该功能可转到与光标处的括号相匹配的括号处。该功能适用于大括号、圆括号、尖括号和方括号的匹配查找。

(13)Bookmarks(书签):使用书签进行工作。切换书签(交替的启用/禁止书签)、转到下一个或上一个书签或者禁止所有书签。

(14)Properties(属性):弹出“Editor Options”(编辑器选项)对话框。

3)Ⅴiew菜单

如图1.7所示为Ⅴiew(视图)菜单的列表。

该菜单包含了用于视图操作的相关菜单命令,其详细说明如下所述。

(1)Project(项目窗口):打开和关闭项目管理器窗口。

(2)Output(输出窗口):打开和关闭输出窗口。

(3)Toolbars(工具栏):打开和关闭相应的工具栏。

(4)CPU Registers(处理器寄存器):打开和关闭处理器寄存器窗口。

(5)Call Stack(调用堆栈):打开和关闭调用堆栈窗口。

(6)Disassembly Listing(汇编列表):打开和关闭汇编列表窗口。

图1.7 Ⅴiew菜单

(7)EEPROM(E 2 PROM):打开和关闭E 2 PROM窗口。

(8)File Registers(文件寄存器):打开和关闭文件寄存器窗口。

(9)Flash Data(Flash数据存储器):打开和关闭Flash数据存储器窗口。

(10)Hard Stack(硬件堆栈):打开和关闭硬件堆栈窗口。

(11)LCD Pixel(LCD液晶面板):打开和关闭LCD液晶面板窗口。

(12)Locals(当地):打开和关闭当地窗口。

(13)Memory(内存):打开和关闭内存窗口。

(14)Program Memory(程序内存):打开和关闭程序内存窗口。

(15)SFR/Peripherals(特殊寄存器和外围器件):打开和关闭特殊寄存器和外围器件窗口。

(16)Special Function Registers(特殊功能寄存器):打开和关闭特殊功能寄存器窗口。

(17)Watch(观察):打开和关闭观察窗口。

(18)Memory Usage Gauge(内存使用统计):打开和关闭内存使用统计。

4)Project菜单

如图1.8所示为Project(项目)菜单的示意图,其中包含了对当前工程项目进行管理的相应操作菜单命令。

● Project Wizard(项目创建向导):用于引导用户一步步创建工程项目。

● New(新建):新建一个工程项目。

● Open(打开):打开一个已经存在的工程项目。

● Close(关闭):关闭一个指定的工程项目。

● Set Active Project(设置当前项目):在同时打开了多个项目的情况下设置其中一个为当前项目。

● Quickbuild(快速编译):对当前项目进行快速编译,通常来说不支持.asm汇编文件。

● Package in.zip(建立zip压缩包):将当前项目打包成zip压缩包。

● Clean(清除):清除当前项目。

● Build(编译):编译当前项目。

● Rebuild(重编译):对当前项目进行再次编译。

图1.8 Project菜单

● HI-TECH C Manual(HI-TECH C语言帮助手册):打开HI-TECH C语言帮助手册。

● Build Configuration(编译配置):对编译的生成结果进行配置。

● Build Options(编译选项):对编译中的一些选项进行设置。

● Save Project(保存项目):保存当前项目。

● Save Project As(保存项目为):将当前项目保存为一个指定项目。

● Add Files to Project(将文件添加到项目):添加文件到当前项目。

● Add New File to Project(将新文件添加到项目):添加一个新文件到当前项目。

● Remove File From Project(移除文件):将一个指定文件从项目中移除。

● Select Language Toolsuite(选择语言工具):选择项目编译环境的语言。

● Set Language Tool Locations(设置语言工具位置):设置语言工具的位置。

● Ⅴersion Control(版本控制):版本控制工具。

5)Debugger菜单

如图1.9所示为Debugger(调试器)菜单的列表。

图1.9 Debugger菜单

(1)Select Tool(选择工具):选择一个调试工具。默认选择为None。可用的调试器列表根据已安装的调试工具而定。

(2)Clear Memory(清空存储器):清空全部或仅清空在此项目中使用的特定类型的MPLAB IDE存储器,例如程序、数据、E 2 PROM和配置。

一旦选择了调试工具,Debugger菜单就会添加以下选项命令。

● Run(运行):执行程序代码直到遇到断点或者选择了“Halt”。程序从当前的程序计数器开始执行(如状态栏中所示)。当前程序计数器的位置也可以由Program Memory窗口中的一个箭头表示。在运行程序时,将禁止几个其他功能。

● Animate(单步连续):单步连续运行使得调试器在运行程序时实际执行单步运行,在运行时会更新寄存器的值。Animate比Run功能运行要慢,但是这样做允许在Special Function Register窗口或Watch窗口中查看寄存器值的变化过程。要暂停单步连续运行,请使用菜单选项Debugger→Halt而不是工具栏上的Halt或快捷键F5。

● Halt(暂停):暂停程序代码的执行。当单击“Halt”按键时,将更新状态信息。

● Step Into(单步运行):单步运行整个程序代码。对于汇编代码来说,此命令执行一条指令(单周期或多周期指令),然后暂停。在执行了一条指令之后,所有窗口都被更新。对于C代码来说,此命令执行一行C代码,这可能意味着执行一条或多条汇编指令,然后停止。在执行完之后,所有窗口将被更新。

● Step Over(单步通过):在当前程序计数器处执行指令。当遇到CALL指令时,单步跳过调用的子程序并在CALL之后的地址处暂停。如果单步跳过太长或者显示出已经“挂起”,单击Halt按键。

● Step Out(单步跳过):单步跳出子程序。如果正在单步运行子程序代码,可以使用Step Out在完成执行子程序的剩余部分后在CALL之后的地址处暂停。

● Reset(复位):执行指定的复位,可以是MCLR、Watchdog Timer(看门狗定时器)、BrownOut(欠压)或Processor(处理器)复位。Reset选项和操作取决于选定的器件。

● Breakpoints(断点):弹出“Breakpoint”对话框。在此对话框中设置多个断点。

● Settings(设置):打开特定于工具的设置窗口。在此设置工具功能,并查找工具限制。

6)Programmer菜单

如图1.10所示为Programmer(项目)菜单列表。该菜单包含了用于对PIC单片机进行编程操作的选项命令,其详细说明如下所述。

图1.10 Programmer菜单

● Select Programmer:(选择编程器)选择一个编程器。默认选择为None,可用的编程器列表取决于已安装的调试工具,列表中条目的顺序与安装顺序一致。

根据所选择的编程器,出现在Programmer菜单上的选项可能有所不同。一般出现的基本项有:

✧ Enable Programmer(启用编程器)。在MPLAB集成开发环境和编程器之间建立通信,如果该编程器已经被启用,此选项会灰掉。

✧ Disable Programmer(禁止编程器)。结束MPLAB集成开发环境和编程器之间的通信,如果该编程器已经被禁止,此选项会灰掉。

✧ Program(编程)。编程指定的存储区,即程序存储器、配置位、ID单元和/或E 2 PROM数据存储器。

✧ Verify(校验)。校验对指定的存储区的编程,这些存储区包括:程序存储器、配置位、ID单元和/或E 2 PROM数据存储器。

✧ Read(读)。读指定的存储区,即程序存储器、配置位、ID单元和/或E 2 PROM数据存储器。

✧ Blank Check All(完全空白检查)。检查所有器件存储区是否被擦除或者为空白。

✧ Blank Check OTP(OTP空白检查)。检查OTP器件,查看程序存储器、数据存储器和E 2 PROM存储器是否被擦除或者为空白。

✧ Erase Flash Device(擦除闪存器件)。擦除PIC micro闪存MCU器件上的所有数据,包括存储器、ID和配置位。

✧ Reset Program Statistics(复位编程统计)。将编程统计(例如错误数)设置为默认值。

✧ Download OS(下载OS)。为编程器下载最新的固件系统。

注意: 必须升级了PICSTART Plus之后才可使用此功能,请遵循该工具的帮助中的说明。

● About(关于):在此对话框中查看与工具相关的信息。

● Settings(设置):打开工具特定的设置对话框。在此对话框中设置与工具相关的信息,即Memory Ranges(存储区范围)和Communications Port Setup(通信端口设置),如果可用的话,还可设置Ⅴoltages(电压)和SQTP。

7)Tools菜单

Tools工具菜单可以调用MPLAB中集成的大量实用工具,读者可以参考其他相应的资料。

8)Configure菜单

如图1.11所示为Configure(配置)菜单的列表。

该菜单中包含了用于对MPLAB进行配置的相应操作命令,其详细说明如下所述。

图1.11 Configure菜单

(1)Select Device(器件选择):为开发模式选择器件并且在Debugger或Programmer菜单下选择开发工具。

(2)Configuration Bits(位配置):选择器件配置位的值,设置这些值将影响调试器和编程器的操作。

(3)External Memory(外部存储器选择):选择是否使用外部存储器。同时也指定外部存储器的范围。

(4)ID Memory(ID 存储区):输入值到ID存储区。

(5)Settings(设置):输入工作区、调试器、程序装载、热键和项目的默认设置。

9)Windows菜单

如图1.12所示为Windows(窗口)菜单的列表。

该菜单中包含了用于对MPLAB的窗口进行管理的相应操作命令,其详细说明如下所述。

(1)Close All(关闭所有):关闭所有打开的窗口。

(2)Cascade(层叠):层叠排列打开的窗口以便看到每个标题栏。

图1.12 Windows菜单

(3)Tile Horizontally(水平平铺):一个接一个的用较小的尺寸、水平排列打开的窗口。

(4)TileⅤertically(垂直平铺):一个接一个的用较小的尺寸、垂直排列打开的窗口。

(5)Arrange Icons(排列图标):在集成开发环境的底部排列所有已最小化为图标的窗口。

(6)Windows Sets(窗口状态):显示当前所有窗口状态。

(7)Create Window Set…(创建窗口状态):激活一个窗口。

(8)Destroy Window Set…(摧毁窗口状态):撤销激活的窗口。

10)Help菜单

Help菜单是MPLAB软件的相关信息、帮助手册、升级以及注册帮助等操作的菜单,如图1.13所示。在此不再赘述。

图1.13 Help菜单

3.MPLAB的快捷工具栏

1)工具栏的功能

根据正在使用的功能或工具,MPLAB集成开发环境会显示不同的工具栏,工具栏中的图标提供执行常规任务的快捷方式,工具栏的功能说明如下所述。

● 单击并拖动工具栏可以让它变成浮动的工具栏。

● 单击并将工具栏拖动到MPLAB集成开发环境界面的顶部或者边上来停驻它。

● 单击并将工具栏拖出MPLAB集成开发环境界面。

● 将鼠标悬停在图标上就会弹出图标名称。

● 右击工具栏,更改内容或显示/隐藏工具栏。

2)工具栏的内容

MPLAB可用的工具栏包括如下:

● 标准工具栏;

● 项目管理器工具栏;

● 调试工具栏;

● 编程器工具栏;

● 校验和工具栏。

(1)标准(编辑)工具栏目前包含具有以下功能的按钮图标。

●New File:打开新建文件窗口。

●Open File:在窗口中打开现有的文件。

●Save File:将当前文件窗口的内容保存到一个文件中。

●Cut:将选定的文本剪切到剪贴板。

●Copy:将选定的文本复制到剪贴板。

●Paste:粘贴来自剪贴板的文本。

●Print File:打印当前文件窗口中的内容。

●Find:打开Find对话框,在当前文件窗口中查找文本。

●Help:显示MPLAB集成开发环境Help选择对话框。

(2)项目管理器工具栏目前包含具有以下功能的按钮图标。

●New Project:设置新项目的名称和位置。

●Open Project:打开现有的项目。

●Save Workspace:将当前项目和工作区保存为文件。

●Build Options:查看或更改项目设置。

●Find in Project Files:打开Find对话框,在所有项目文件中搜索文本。

注意: 如果已经装载了项目,还可能找到其他项目。

●Make:仅编译当前项目中已经更改的文件。

●Build All:编译当前项目中的所有文件。

(3)调试工具栏目前包含具有以下功能的按钮图标。

●Run:运行程序。

●Halt:暂停程序执行。

●Animate:连续单步运行指令,使用Debugger→Halt执行暂停。

●Step Into:单步跳入下一条指令。

●Step Over:单步跳过下一条指令。

●Step Out:单步跳出子程序。

●Reset:执行MCLR复位。

注意: 根据选定的调试工具,还可能出现其他图标。

(4)根据所选择的编程器,编程器工具栏上出现的按钮图标也会有所不同,通常出现以下几个基本图标。

●Blank Check All/Blank Check(完全空白检查/空白检查):检查器件存储器是否为空。

●Read:读取在Programmer→Settings的Program选项卡中指定的器件存储区。

●Program:为在Programmer→Settings的Program选项卡中指定的器件存储区编程。

●Ⅴerify:验证目标存储器是否已经被正确编程。

●Erase Flash Device(擦除闪存器件):如果器件具有闪存程序存储器,则将其擦除。

●Program Statistics(编程统计):显示编程统计数据,如编程成功、失败的次数以及尝试编

程的总次数。

此工具栏仅显示校验和的值,可以在该器件的编程规范中找到校验和的算法,当器件有代码保护时,可以使用未受保护的校验和来确定器件的校验和。以前,此项在状态栏上,现在它在状态栏中的位置被存储区信息占用了。

4.MPLAB的状态栏

状态栏用于提供用户和MPLAB集成编程环境会话状态相关的最新信息,当当前项目在运行中时会显示“Running”和一个进度条;当当前项目没有处于运行状态时会提供如下信息。

● 当前调试工具——显示当前选定的调试工具。

● 当前编程器——显示当前选定的编程器。

● 当前处理器——显示当前选定的处理器。

● 当前程序计数器——显示当前的程序计数器。

● W寄存器的当前值——显示W寄存器的当前值。

● 状态位——当为大写状态时为“置位”,当为小写状态时为“复位”。

● 全局断点使能——显示全局断点使能的当前状态。

● 处理器频率——显示处理器的当前频率。

● 存储信息——显示数据存储器中的当前存储区。

● 打开窗口中的行号和列号——显示文件中的当前行号和列号。

● 插入/改写——在插入和改写之间切换输入模式,“INS”表示插入字符,“OⅤR”表示改写字符。

● 写/只读——显示写/只读状态,“WR”表示可编辑文件,“RO”表示只读文件。

5.MPLAB的库函数

MPLAB也提供了相当的现成库函数以供用户调用,使用这些函数可以大大提高代码编写效率,在使用这些库函数之前必须先引用如下所列的相对应的头文件。

(1)io*.h:IO寄存器操作函数的头文件。

(2)macros.h:宏和定义声明的头文件。

(3)assert.h:宏声明的头文件

(4)ctype.h:字符类型函数头文件。

(5)float.h:浮点数原型头文件。

(6)limits.h:数据类型的大小和范围头文件。

(7)math.h:浮点运算函数头文件。

(8)stdarg.h:变量参数表头文件。

(9)stddef.h:标准定义头文件。

(10)stdio.h:标准输入/输出IO函数头文件。

(11)stdlib.h:内存分配函数的标准库头文件。

(12)string.h:字符串处理函数头文件。

(13)pic.h:PIC单片机的头文件。

6.MPLAB的使用

由于MPLAB自带项目管理器,所以用户不需要在项目管理上花费过多的精力,只需要按照以下步骤操作即可建立一个属于自己的项目。

(1)启动MPLAB,建立工程文件并且选择器件。

(2)建立源文件、头文件等相应的文件。

(3)将工程需要的源文件、头文件、库文件等添加到工程中。

(4)修改启动代码并且设置工程相关选项。

(5)编译并且生成HEX/COFF或者LIB文件。

注意: MPLAB不支持中文路径名,一定要注意这个问题。 0hfli/zpVsNqH1ImrftkYSMkAFsGpdzg1YI/MnGbDR4//bQ9nxGoQMa6cycAYYH9

点击中间区域
呼出菜单
上一章
目录
下一章
×