51281c_CN.book

Similar documents
00872a.book

untitled

ICD ICD ICD ICD ICD

,Microchip Technology PIC LCD, PIC16F913/914/ 916/917/946 PIC18F6390/6490/8390/8490 PIC16F65J90/85J90 Microchip LCD LCD, Microchip 的优势 LCD PIC, LCD LC

61146A.book

untitled

21999a_cn.book

AN901.book

第5章:汇编语言程序设计

21928a.book

01262B.book

PIC16F F MPLAB 08 16F LED 15 LED

文件名

61127c_cn.book

手册 doc

21666b.book

PIC18F65J90/85J90 Product Brief

MCP47x6_DaughterBoard.book

41632B.book

21498c_cn.book

目 录

Introduction to Utility Metering

Symantec™ Sygate Enterprise Protection 防护代理安装使用指南

00966A.book

_LIT MAN USR LX380-L-CHI

SST SPAC SST SoftICE SST89C5x/SST89x554RC /564RD /SST89x516/5xRD / SoftICE SoftICE MCU SoftICE SS

Cadence SPB 15.2 VOICE Cadence SPB 15.2 PC Cadence 3 (1) CD1 1of 2 (2) CD2 2of 2 (3) CD3 Concept HDL 1of 1

(Load Project) (Save Project) (OffLine Mode) (Help) Intel Hex Motor

CTMU Temperature Measurement AN.book

ARM JTAG实时仿真器安装使用指南

00513D_CN.FM

33023A.book(31001A_cn.fm)

untitled

01018A.book

AN579

2 Bamboo Windows Macintosh 2.0 I1009 Wacom Co., Ltd Wacom Wacom Wacom Wacom /96/EC (WEEE) WEEE Wacom 2002/96/EC Wacom RoHS 2002/95

MPLABIDEPDF.book

2.5 idlocs PIC idloc idloc 0x1234 ; 0x config idloc HEX errorlevel errorlevel Error (Warning) Message HEX 3-14 errorlevel

epub83-1

EK-STM32F

PFO_300a_GSG_ENG.book

MCP1630

专注于做最好的嵌入式计算机系统供应商

C PICC C++ C++ C C #include<pic.h> C static volatile unsigned char 0x01; static volatile unsigned char 0x02; static volatile unsigned cha

MPLABIDEQS.book

Chapter 2

第2 章 MPLAB IDE 入门:基础教程

The DatasheetArchive - Datasheet Search Engine

第2 章 MPLAB IDE 入门:基础教程

ebook140-9

39697b.book

#00chp_ii-viiiCS.p65

00686A.Book

untitled

untitled


mdt1030

V39用户手册0227.doc

0507A_Auto Tech_Microchip

<C8EBC3C5C6AAA3A8B5DA31D5C2A3A92E696E6464>

Microsoft Word - Front cover_white.doc

ch08.PDF

93002A.book

93004A.book

68369 (ppp quickstart guide)

IP505SM_manual_cn.doc

2.0 MHz, 500 mA Synchronous Buck Regulator

「兆豐商業銀行」原交通銀行客戶重要權益手冊

δÃüÃû-6

1 SQL Server 2005 SQL Server Microsoft Windows Server 2003NTFS NTFS SQL Server 2000 Randy Dyess DBA SQL Server SQL Server DBA SQL Server SQL Se

HD ( ) 18 HD ( ) 18 PC 19 PC 19 PC 20 Leica MC170 HD Leica MC190 HD 22 Leica MC170 HD Leica MC190 HD Leica MC170 HD

Table of Contents Design Concept 03 Copyrights & TradeMark 04 Special Notice 05 Notice to concerned 05 Installation and Registration Introduction 07 s

DR-7080C 使用说明

2 Intuos 4 Windows Macintosh 1.0 G2208 Wacom Co., Ltd Wacom Wacom Wacom Wacom /96/EC (WEEE) WEEE Wacom 2002/96/EC Wacom RoHS 2002/

00992A.book

AL-M200 Series

Ác Åé å Serial ATA ( Sil3132) S A T A (1) SATA (2) BIOS SATA (3)* RAID BIOS RAID (4) SATA (5) SATA (a) S A T A ( S A T A R A I D ) (b) (c) Windows XP

CANVIO_AEROCAST_CS_EN.indd

第10章:CCP捕捉/比较/脉宽调制

GoFlex Home UG Book.book

CD DX Onkyo CD CD Cs

Abstract arm linux tool-chain root NET-Start! 2

JTAG ICE PC JTAG ICE JTAG ISP... 5 IDE AVR STUDIO JTAGICE JTAGICE... 12

01096B.book

ICD2PDF.book

2 Intuos 4 Windows Macintosh 1.0 L1409 Wacom Co., Ltd., 2009 Wacom Wacom Wacom Wacom Tool ID DuoSwitch Wacom Co., Ltd. Intuos Wacom Wacom Co., Ltd. Bl

SA-DK2-U3Rユーザーズマニュアル

(Guangzhou) AIT Co, Ltd V 110V [ ]! 2

第 15 章 程 式 編 写 語 言 15.1 程 式 編 写 語 言 的 角 色 程 式 編 寫 語 言 是 程 式 編 寫 員 與 電 腦 溝 通 的 界 面 語 法 是 一 組 規 則 讓 程 式 編 寫 員 將 字 詞 集 合 起 來 電 腦 是 處 理 位 元 和 字 節 的 機 器, 與

1-1 SH79F6431 A. 2( ) 9~15V ( 12V) U2 U3 3.3V SH79F B. 1(VCC/GND) SH79F6431 C. VDDIO SH79F6431 P4 P5 P0.6 P0.7 VDDIO VDDIO=5V D. 2 V 1.0

操作指导手册

<4D F736F F D20CAB5D1E9CAD2B9DCC0EDC6BDCCA856342E315FD1A7C9FAD3C3BBA7B2D9D7F7D6B8C4CF2E646F63>

Model P53 pH-ORP Analyzer CH.doc

X713_CS_Book.book

Copyright 2007 Hewlett-Packard Development Company, L.P. Microsoft 和 Windows 是 Microsoft Corporation 在 美 国 的 注 册 商 标 Bluetooth 是 其 所 有 者 拥 有 的 商 标,Hew

WebSphere Studio Application Developer IBM Portal Toolkit... 2/21 1. WebSphere Portal Portal WebSphere Application Server stopserver.bat -configfile..

: WICE-PIC 1.1 WICE-PIC 1.2 WICE-PIC : WICE-PIC WICE-PIC 2.5 WICE-PIC 2.6 : : : : A. B.E.V.Board 1. Internet Internet WWW: http//

SDS 1.3

01277A_cn.book

Transcription:

MPLAB IDE v6.xx 快速入门指南 2003 Microchip Technology Inc. DS51281C_CN

注意以下 Microchip 器件代码保护功能 : Microchip 的产品均满足 Microchip 数据手册上所述的技术指标 Microchip 确信 : 在正常使用情况下, 其系列产品是当今市场上同类产品中最安全的产品之一 恶意 甚至是非法破坏代码保护功能的现象是存在的 据我们所知, 所有这些现象均使用 Microchip 数据手册中规定的操作规范以外的方法 这种人极有可能侵犯了知识产权 Microchip 愿与所有保护代码完整性的客户合作 Microchip 或任何其它半导体厂商均不能保证其代码的安全性 代码保护并不意味着我们保证产品是 无法侵入 的 代码保护功能在不断演化着 Microchip 承诺将持续改善我们产品的代码保护功能 企图侵犯 Microchip 代码保护功能的行为可能违反 数字器件千年版权法案 如果这种行为导致他人在未经授权的情况下, 能访问您的软件或其它受版权保护的成果, 您有权依据本法案提起诉讼, 从而对这种行为予以制止 本出版物所述的器件应用信息及其它类似内容仅作为建议, 它们可能由更新信息替代 应用时确保符合技术规范是您自身的责任, Microchip Technology Inc. 不对此类信息的准确性或使用作任何代言或保证, 也不对因使用或以其它方式处理这些信息引发的对专利或其它知识产权的侵权行为承担任何责任 未经 Microchip 书面批准, 不得将 Microchip 的产品用于生命支持系统中的关键部件 在知识产权保护下, 不得暗中或以其它方式转让任何许可证 商标 Microchip 名称和商标图案 Microchip 商标图案 Accuron dspic KEELOQ MPLAB PIC PICmicro PICSTART PRO MATE 和 PowerSmart 均为 Microchip Technology Incorporated 在美国和其它国家或地区的注册商标 AmpLab FilterLab microid MXDEV MXLAB PICMASTER SEEVAL SmartShunt 和 The Embedded Control Solutions Company 均为 Microchip Technology Incorporated 在美国的注册商标 Application Maestro dspicdem dspicdem.net dspicworks ECAN ECONOMONITOR FanSense FlexROM fuzzylab In-Circuit Serial Programming ICSP ICEPIC microport Migratable Memory MPASM MPLIB MPLINK MPSIM PICkit PICDEM PICDEM.net PICtail PowerCal PowerInfo PowerMate PowerTool rflab rfpic Select Mode SmartSensor SmartTel 和 Total Endurance 均为 Microchip Technology Incorporated 在美国和其它国家或地区的商标 Serialized Quick Turn Programming (SQTP) 是 Microchip Technology Incorporated 在美国的服务标记 本文提及的所有其它商标均为其各自公司的财产 2003, Microchip Technology Inc. 版权所有 Microchip 位于美国亚利桑那州 Chandler 市和 Tempe 市的全球总部 设计中心和晶圆生产厂, 已于 1999 年 7 月通过了 QS-9000 质量体系认证, 位于加州的 Mountain View 也于 2002 年 3 月通过该质量体系认证 公司在 PICmicro 8 位单片机 KEELOQ 跳码器件, 串行 EEPROM 单片机外设 非易失性存储器和模拟产品方面的质量体系流程均符合 QS-9000 而且, Microchip 开发系统的设计和生产质量体系也通过了 ISO 9001 认证 DS51281C_CN 第 ii 页 2003 Microchip Technology Inc.

MPLAB IDE v6.xx 快速入门 目录 第 1 章. MPLAB IDE 入门...1 1.1 简介... 1 1.2 主要内容... 1 1.3 开始使用 MPLAB IDE... 2 第 2 章. 调试一个简单的项目...5 2.1 简介... 5 2.2 写源代码... 5 2.3 创建项目... 6 2.4 编译项目... 10 2.5 运行模拟器... 11 2.6 调试应用程序... 12 第 3 章. 深入学习...19 3.1 简介... 19 3.2 烧写芯片... 19 3.3 用模拟器的高级特性进行调试... 20 3.4 访问 MPLAB IDE 在线帮助... 22 3.5 配置工作区和项目调试设置... 24 全球销售及服务网点...28 2003 Microchip Technology Inc. DS51281C_CN 第 iii 页

MPLAB IDE v6.xx 快速入门 注 : DS51281C_CN 第 iv 页 2003 Microchip Technology Inc.

第 1 章. MPLAB IDE 入门 MPLAB IDE v6.xx 快速入门 1.1 简介 MPLAB 集成开发环境 (IDE) 是综合的编辑器 项目管理器和设计平台, 适用于使用 Microchip 的 PICmicro 系列单片机进行嵌入式设计的应用开发 本手册叙述了 MPLAB IDE 6.20 版及更新版本的安装和设置 我们将引用一个应用示例对各项调试功能作一个概略的介绍 另外, 这里还将对 MPLAB IDE 众多系统特性中的一部分进行介绍, 以帮助用户提高应用开发的速度 1.2 主要内容 本手册旨在帮助用户入门, 但是用户界面上的某些部分可能会在将来的版本中有所变化, 当新的器件推出时, 新的功能也会添加进来 本手册中某些信息可能很快过期 ; 欲获得产品最新信息, 可以访问 Microchip 的网站 在线帮助始终为最新版本的 MPLAB IDE 提供最新的参考信息 本手册的第一部分详细描述了把 MPLAB IDE 安装到用户计算机上的过程 第二部分是一个简单易学的教程, 将告诉你如何一步一步地去创建一个项目, 并对 MPLAB 的调试功能做了详细说明 最后一部分介绍了如何使用其它工具以及如何针对特定的调试环境来定制 MPLAB MPLAB IDE 入门 调试一个简单的项目 - 创建项目 - 运行模拟器 - 调试应用程序 深入学习 - 烧写芯片 - 用模拟器的高级特性进行调试 - 访问 MPLAB IDE 在线帮助 - 配置工作区和项目调试设置 2003 Microchip Technology Inc. DS51281C_CN 第 1 页

MPLAB IDE v6.xx 快速入门 1.3 开始使用 MPLAB IDE MPLAB IDE 是适用于 PICmicro 系列单片机和 dspic TM 数字信号控制器, 基于 Windows 操作系统的集成开发环境 MPLAB IDE 提供以下功能 : 使用内置编辑器创建和编辑源代码 汇编 编译和链接源代码 通过使用内置模拟器观察程序流程调试可执行逻辑 ; 或者使用 MPLAB ICE 2000 和 MPLAB ICE 4000 仿真器或 MPLAB ICD 2 在线调试器实时调试可执行逻辑 用模拟器或仿真器测量时间 在观察窗口中查看变量 使用 MPLAB ICD 2 PICSTART Plus 或 PRO MATE II 器件编程器烧写固件 使用 MPLAB IDE 丰富的在线帮助快速找出问题的答案 注 : MPLAB 也支持某些第三方工具 详情请参阅版本说明或 readme 文件 1.3.1 系统要求 运行 MPLAB IDE 所需的最低系统配置 : PC 兼容的奔腾 (PENTIUM ) 级系统 操作系统 :Microsoft Windows 98 SE, Windows 2000 SP2, Windows NT SP6, Windows ME 或 Windows XP 64 MB 内存 ( 推荐 128MB) 45 MB 硬盘空间 Internet Explorer 5.0 或更高版本 1.3.2 安装 / 卸载 MPLAB IDE 在系统中安装 MPLAB IDE : 对于某些 Windows 操作系统, 要在计算机中安装软件, 需要管理员访问权限 如果从光盘安装, 将光盘放入驱动器内, 跟随屏幕上的菜单安装 MPLAB IDE 假如屏幕上没有出现菜单, 可以使用资源管理器找到可执行文件 menu.exe, 然后双击该文件 如果 MPLAB IDE 是从 Microchip 的网站上下载的, 双击下载的可执行文件开始安装 卸载 MPLAB IDE: 从 Start>Programs>Microchip MPLAB IDE 菜单选择 UNWISE32, 或者 执行 MPLAB IDE 安装目录下的文件 unwise32.exe DS51281C_CN 第 2 页 2003 Microchip Technology Inc.

MPLAB IDE 入门 1.3.3 运行 MPLAB IDE 要启动 IDE, 安装后双击桌面上的图标, 或者选择 Start>Programs>Microchip MPLAB IDE>MPLAB IDE 屏幕上首先会显示 MPLAB IDE 的商标图案, 然后出现 MPLAB IDE 的主窗口 ( 图 1-1) 图 1-1: MPLAB IDE 主窗口 2003 Microchip Technology Inc. DS51281C_CN 第 3 页

MPLAB IDE v6.xx 快速入门 注 : DS51281C_CN 第 4 页 2003 Microchip Technology Inc.

第 2 章. 调试一个简单的项目 调试一个简单的项目 2.1 简介 为了生成可由目标 PICmicro 单片机执行的代码, 需要将源文件放入同一个项目中, 然后用所选择的语言工具 ( 汇编器 编译器和链接器等 ) 编译代码 在 MPLAB IDE 中, 项目管理器负责管理这一过程 第一步是写一个非常短的源代码文件 然后, 创建一个项目, 将源代码加入此项目, 并且为此项目指定语言工具 最后, 编译和测试代码 2.2 写源代码 首先使用 MPLAB IDE 编辑器为应用编写代码 选择 File>New, 在工作区中打开一个空白的编辑窗口 输入下面列出的示例汇编代码 ( 或者从文档中复制 粘贴这些代码 ) title "PIC18F452 counting program" list p=18f452,f=inhx32 #include <p18f452.inc> ; This header file contains all ; the PIC18F252 special function ; register names and addresses. ; This file is located in the same ; directory as MPASMWIN.EXE. COUNT equ 0x00 DVAR equ 0x01 DVAR2 equ 0x02 Start org 00h ;reset vector goto Start org 1Ch clrf WREG ;clear W register movwf PORTC ;clear PORTC movwf TRISC ;config PORTC as outputs Init clrf COUNT ;clr count IncCount incf COUNT,F ;increment count movf COUNT,W ; movwf PORTC ;display on port c call Delay ;wait goto IncCount ;loop Delay D0 D1 movlw 0xFF ;set delay loop movwf DVAR2 ; movwf DVAR decfsz DVAR,F goto D1 ;reset inner loop decfsz DVAR2,F goto D0 return end 2003 Microchip Technology Inc. DS51281C_CN 第 5 页

MPLAB IDE v6.xx 快速入门 输入完代码后, 选择 File>Save 把文件保存在一个名为 C:\MyProj 的新文件夹下, 取名为 cnt452.asm 图 2-1: 保存源文件 注 : 保存代码后, 文本中的代码 保留字和注释等会以不同的颜色显示 用户可以自己设定这些文本的颜色 欲获得关于编辑器的更多信息, 请参阅 Help>MPLAB Editor Help 2.3 创建项目 开发应用程序的下一步是创建项目 最简单的方法是使用 MPLAB 项目向导 2.3.1 启动向导 1. 选择 Project>Project Wizard 启动项目向导, 出现 Welcome! ( 欢迎 ) 屏幕, 选择 Next 按钮继续 图 2-2: 项目向导 DS51281C_CN 第 6 页 2003 Microchip Technology Inc.

调试一个简单的项目 2. 在 Device 下拉列表中选择 PIC18F452, 这是本范例将要使用的 PICmicro 单片机 选择 Next 按钮进入下一步 图 2-3: 项目向导 : 选择器件 3. 确定 Microchip 工具包的路径 点击 MPASM Assembler (mpasmwin.exe), MPASM 汇编器可执行文件的完整路径就会出现在 Location of Selected Tool 域中, 如下图所示 假如路径不正确或者为空白, 点击 Browse 按钮指定 mpasmwin.exe 文件的位置 如果 MPLAB 安装在默认文件夹下, 路径将如下图所示 选择 Next 按钮进入下一步 图 2-4: 项目向导 : 选择工具包 2003 Microchip Technology Inc. DS51281C_CN 第 7 页

MPLAB IDE v6.xx 快速入门 4. 输入项目的名字 为便于说明, 把这个项目取名为 NewProj, 然后点击 Browse 按钮, 把这个项目放在前面为源文件创建的文件夹中, 即 C:\MyProj 图 2-5: 项目向导 : 为项目命名 5. 点击 Next 按钮 出现提示框要求添加现有源文件到项目中 浏览 C:\MyProj 文件夹, 然后选择 cnt452.asm 文件 图 2-6: 项目向导 : 选择源文件 DS51281C_CN 第 8 页 2003 Microchip Technology Inc.

调试一个简单的项目 6. 点击按钮 Add>> 把 cnt452.asm 文件添加到项目中, 这是此项目需要的唯一文件 ( 文件 P18F452.H 除外, 这个文件已经用 include 命令包含在文件 cnt452.asm 中了, 不需要添加到项目的文件列表中 ) 图 2-7: 项目向导 : 添加源文件 7. 单击 Next 按钮完成项目创建, 屏幕显示 项目向导 的 摘要 对话框 查看这个最终对话框中的信息, 以验证是否已正确创建了项目 图 2-8: 项目向导 : 摘要 8. 点击 Finish 按钮退出向导 2003 Microchip Technology Inc. DS51281C_CN 第 9 页

MPLAB IDE v6.xx 快速入门 现在桌面上应显示如图 2-9 所示的项目窗口 图 2-9: 项目窗口 提示 : 可以在项目窗口中用鼠标右键添加文件或保存项目 如果操作错误, 可以选择要删除的文件并单击鼠标右键, 通过弹出菜单手动删除文件 2.4 编译项目 完成项目创建后, 就可以编译项目了 在本范例中, 将使用 Microchip 的 MPASM 工具包对源代码进行汇编 选择 Project>Build All 编译项目 如果文件汇编成功, 将会出现如图 2-10 所示的输出窗口 图 2-10: 输出窗口 假如文件汇编失败, 检查下列几项, 然后重新编译项目 : 检查编辑器窗口中所输入代码的拼写和格式 如果汇编器在输出窗口中报告错误, 则在该错误信息上双击鼠标,MAPLAB 会打开源代码窗口, 并且在源代码中相应行的左边空白处显示绿色箭头标志 检查是否为 PICmicro 器件使用了正确的汇编器 (MPASM 汇编器 ) 选择 Project>Set Language Tool Locations, 点击 MPASM Assembler (mpasmwin.exe), 然后检查显示出的文件路径 如果路径正确, 单击 Cancel ; 如果路径错误, 则更改路径, 然后单击 OK DS51281C_CN 第 10 页 2003 Microchip Technology Inc.

调试一个简单的项目 编译成功后, 将装入由语言工具生成的输出文件, 这个文件包含可以写入 PICmicro 单片机的目标代码和调试信息, 从而可以调试源代码和在 Watch ( 观察 ) 窗口中查看变量 注 : 在实际应用中, 当有许多文件需要汇编或编译, 然后链接成最终的可执行应用程序时, 项目的作用就非常明显了 项目可以跟踪和管理这整个过程 可以为每个文件设置不同的编译选项来使用语言工具的其它功能, 例如报告输出和编译器最优化 2.5 运行模拟器 编译项目后, 用户希望检查项目能否正常运行 这可以通过调试工具来实现 调试工具是在执行程序 ( 本范例中是 cnt452.asm) 时用来检查代码的软件或硬件工具 本教程中我们使用 MPLAB SIM 模拟器 模拟器是运行在计算机上, 模拟 PICmicro 单片机指令的软件程序 因其运行速度取决于计算机的速度 代码的复杂程度 操作系统的开销以及有多少任务在运行, 所以它并不是实时运行的 然而, 模拟器可以准确地测量在应用中实时运行这些代码所消耗的时间 注 : 其它调试器还包括 MPLAB ICE 2000 MPLAB ICE 4000 和 MPLAB ICD 2, 这些都是在应用 PCB 上测试代码的可选硬件工具 这些工具的大部分 MPLAB IDE 调试操作和模拟器相同, 但是这些工具都允许目标 PICmicro 单片机在实际目标应用中全速运行, 这是和模拟器不同的地方 通过选择 Debugger>Select Tool>MPLAB SIM 来选择 MPLAB SIM 模拟器为调试器 图 2-11: 选择模拟器为调试器 2003 Microchip Technology Inc. DS51281C_CN 第 11 页

MPLAB IDE v6.xx 快速入门 选择 MPLAB SIM 后, 界面会出现以下一些变化 ( 参见图 2-12 中的编号 ): 1. MPLAB IDE 窗口底部的状态栏上应该显示为 MPLAB SIM 2. 在 Debugger ( 调试器 ) 菜单中应该出现更多菜单项 3. 在 Debug Tool Bar ( 调试工具栏 ) 中会出现更多工具栏图标 提示 : 把鼠标指针放在工具栏按钮上可以看到对按钮功能的简单描述 图 2-12: 把 MPLAB SIM 设为调试器时 MPLAB IDE 的界面 3 2 2 1 2.6 调试应用程序 现在可以运行应用程序了 2.6.1 运行代码首先, 选择 Debugger>Reset, 将在源代码窗口的左边空白处出现一个绿色的箭头, 表明这是要执行的第一行代码 图 2-13: 复位后的源代码窗口 DS51281C_CN 第 12 页 2003 Microchip Technology Inc.

调试一个简单的项目 选择 Debugger>Run 运行应用程序, 状态栏上显示文本消息 Running 选择 Debugger>Halt 暂停程序执行, 绿色箭头将指向应用程序暂停时所在的代码行 要单步运行应用程序, 选择 Debugger>Step Into 将会执行当前代码行, 然后箭头会指向要执行的下一行代码 下面是调试工具栏中常用功能的快捷方式 图 2-14: 调试的快捷方式和图标 Debugger ( 调试器 ) 菜单 工具栏按钮 热键 Run F9 Halt F5 Step Into F7 Reset F6 提示 : 重复执行单步运行时, 点击工具栏上的相应按钮或者使用菜单项旁边显示的热键通常是最好的方法 2.6.2 查看变量 可以把鼠标指针放在源文件中的变量名上查看变量的值, 会弹出小窗口显示变量的当前值 注 : 只有程序被编译和链接 生成了相关信息之后, 弹出变量值功能才能显示局部变量的值 图 2-15: 鼠标放在变量上 2003 Microchip Technology Inc. DS51281C_CN 第 13 页

MPLAB IDE v6.xx 快速入门 2.6.3 观察窗口 用户常常需要全程观察某几个关键变量的值, 可以打开一个观察窗口, 而不必每次都把鼠标放在变量名上来查看变量值 观察窗口会保持在屏幕上, 显示当前变量值 可以利用 View( 查看 ) 菜单打开观察窗口 1. 选择 View>Watch 打开一个新的观察窗口 2. 在窗口顶部的 SFR( 特殊功能寄存器 ) 选择框中选择 PORTC 点击 Add SFR 把它添加到观察窗口的列表中 为了加快选择的速度, 可以在选择下拉图标之后输入 PORTC 3. 在窗口顶部的 symbol ( 符号 ) 选择框中选择 COUNT 点击 Add Symbol 把它添加到观察窗口的变量列表中 4. 符号变量名既可以直接输入, 也可以从下拉菜单中选择 直接输入时, 把指针移到下一个空白行, 输入 DVAR, 然后按 Enter 键 或者在窗口顶部的符号选择框中选择 DVAR, 点击 Add Symbol 把符号变量添加到观察窗口的变量列表中 图 2-16: 变量观察窗口 现在观察窗口中有三个变量 第一列是变量的文件寄存器 (RAM 数据存储器 ) 地址, 然后是变量名, 最后是变量的值 用户可以在单步执行程序时观察变量值的变化 1. 选择 Debugger>Reset 复位应用程序 2. 选择 Debugger>Step Into ( 或者点击相应的工具栏图标 ), 直到单步运行到以下 程序行 : incf COUNT,F ;increment count 3. 再单步运行一次, 可以看到观察窗口中 COUNT 的值从 0 变成了 1 4. 再单步运行两次, 可以看到观察窗口中 PORTC 的值从 0 变成了 1 5. 再单步运行 4 次, 可以看到观察窗口中 DVAR 的值变成了 FF 我们可以注意到, 如 果观察窗口中的变量值在上一次调试操作中发生了改变, 则其值用红色显示, 否 则用黑色显示 DS51281C_CN 第 14 页 2003 Microchip Technology Inc.

调试一个简单的项目 图 2-17: 单步运行代码 2.6.4 设置断点 通过设置断点, 可以使代码运行到特定的位置后暂停 这可以通过下列步骤实现 : 1. 选择 Debugger>Reset 复位程序 2. 找到如下代码行, 并且在此行上单击鼠标右键 : movlw 0xFF ;set delay loop 3. 从右键单击弹出的菜单中选择 Set Break Point 在这一行左边的空白处会出现停 止符号 ( 图 2-18) 图 2-18: 源代码窗口 - 设置断点 2003 Microchip Technology Inc. DS51281C_CN 第 15 页

MPLAB IDE v6.xx 快速入门 4. 选择 Debugger>Run 运行应用程序 程序会连续运行然后在设置了断点的那一行暂停 图 2-19: 源代码窗口 - 在断点处暂停 注 : 当程序在断点处暂停时, 如果想运行到代码中断点之后的某个位置的话, 一个方便的办法就是把光标放到那一条指令行上, 单击右键, 选择 Run to Cursor ( 运行到光标 ) 使用这种方法不会添加永久断点, 指令行旁边也不会出现断点符号 只有标志程序运行的箭头会移动 但是, 如果那条指令没有被执行, 应用程序就会一直运行下去, 直到我们选择 Debugger>Halt 暂停程序的运行 2.6.5 跟踪代码 可以使用模拟器的跟踪功能来记录程序的执行 它可在程序运行的时候捕获代码, 而不是单步运行代码行 可以通过点击 Debugger>Settings, 然后选择 Trace/Pins 选项卡启用模拟器的跟踪功能 图 2-20: 启用模拟器的跟踪功能 在 Trace Options 中有两个复选框控制模拟器的跟踪功能 当只有上面的复选框被选中时, 模拟器将在运行模式下采集数据, 直到遇到断点暂停或者手动停止模拟器 它可以显示最后的 8192 个周期中采集到的数据, 这种模式适用于观察断点前的指令记录 DS51281C_CN 第 16 页 2003 Microchip Technology Inc.

调试一个简单的项目 如果第二个复选框也被选中, 则跟踪存储器将在采集了 8192 个周期的数据后停止采集, 并且在断点处暂停应用程序 这种模式适用于观察程序开始运行之后的指令记录 选择 View>Simulator Trace ( 图 2-21) 模拟器跟踪不仅显示已执行的指令序列, 还显示更多信息 跟踪窗口还在每条指令上显示时间戳 读出或者写入文件寄存器 (RAM 数据存储器 ) 的数据都被捕捉下来, 显示在 SA SD DA 和 DD 列中, 如下图所示 图 2-21: 模拟器跟踪显示 跟踪显示由几列组成 最左边是程序计数器地址 (Addr) 和指令的机器码 (Op) Label 列显示的是源代码中的标号 Instruction 列显示的是未经汇编的原始指令 Instruction 列右边的四列分别显示从文件寄存器读出或写入文件寄存器的数据 : SA - 是 Source Address ( 源地址 ), 指的是读操作的寄存器地址 SD - 是 Source Data ( 源数据 ), 指的是从寄存器读出的数据 DA - 是 Destination Address ( 目标地址 ), 指的是写操作的寄存器地址 DD - 是 Destination Data ( 目标数据 ), 指的是写到寄存器的数据 如果某行的这些值都是用破折号表示的, 则表示执行这条指令不会访问任何文件寄存器 最右端是时间戳, 可以用来测量程序执行的时间 时间的计算是基于在 Debugger>Settings 的 Clock 选项卡中设置的的时钟频率 2003 Microchip Technology Inc. DS51281C_CN 第 17 页

MPLAB IDE v6.xx 快速入门 把鼠标指针放在跟踪显示窗口顶端的列标题上, 单击右键, 会弹出一个配置对话框 图 2-22: 模拟器跟踪配置 选中的项将会在跟踪窗口中显示 为了使界面更简洁, 如果对某些列中的数据不感兴趣, 可以不选中那些列, 使其不在窗口中显示 DS51281C_CN 第 18 页 2003 Microchip Technology Inc.

MPLAB IDE v6.xx 快速入门 第 3 章. 深入学习 3.1 简介 在 MPLAB IDE 的帮助菜单下, 可以找到在线教程 MPLAB IDE 及其组件的许多相关文档都可以从网上得到, 这些都是 MPLAB IDE 帮助系统的一部分 以下各节将会介绍一些在项目教程中没有提到的功能, 如果有兴趣的话, 不妨看看 3.2 烧写芯片 如果应用程序可以正常运行, 接下来就可以把程序写入所用的芯片了 如果有一片 PIC18F452 和下列任何一种编程器, 就可以把示例代码烧写到芯片中了 MPLAB ICD 2 PICSTART Plus 开发编程器 PRO MATE II 器件编程器按照下列步骤选择和设置编程器 : 1. 选择 Programmer>Select Programmer, 选择要使用的编程器 Programmer ( 编程器 ) 菜单项将会随所选择的工具而改变, 并且工具栏中的项目会增加 2. 建立与编程器的通讯 对于 PICSTART Plus 或者 PRO MATE II, 选择 Programmer>Enable Programmer 对于 MPLAB ICD 2, 选择 Programmer>Connect 3. 对选定的编程器, 使用 Programmer>Settings 对话框来选择正确的通讯方式 本例使用默认的存储空间范围 图 3-1: PRO MATE II 设置对话框 2003 Microchip Technology Inc. DS51281C_CN 第 19 页

MPLAB IDE v6.xx 快速入门 4. 设定配置位 如果你正在使用本教程, 使用默认的配置位设置就可以了 如果使用自己的应用程序, 则要在源代码中设定配置位 ( 推荐这样做 ), 或者通过选择 Configure>Configuration Bits, 在 Configuration Bits 窗口中设定配置位 提示 : 如果在源代码中设定配置位, 它们会影响调试操作 例如, 如果在源代码中对振荡器作了配置, 那么调试器将会使用此配置 5. 点击 Programmer>Program, 将 MPLAB IDE 中当前装载的信息烧写到芯片中 状态栏会显示烧写的进程 programmer ( 编程器 ) 选项卡下的 Output ( 输出 ) 窗口将显示烧写的结果, 例如, 对于 PRO MATE II: PRO MATE Error Log File Programming 31-May-2002. 13:06:19 Device Type: PIC18F452 Programming/Verification Successful! 写完芯片后, MPLAB IDE 会自动对其进行校验 点击 Programmer>Verify, 可以再次校验对芯片的烧写是否正确 3.3 用模拟器的高级特性进行调试 可以利用 MPLAB IDE 对话框配置模拟器的其它特性 3.3.1 配置位的设置通常, 默认的配置启用看门狗定时器 (WDT), 内部看门狗定时器超时将会导致模拟器复位 选择 Configure>Configuration Bits 打开此对话框 在 Setting 列中, 将看门狗定时器设置为 Disabled 图 3-2: 禁用看门狗定时器 DS51281C_CN 第 20 页 2003 Microchip Technology Inc.

深入学习 3.3.2 模拟器调试设置 选择 Debugger>Settings 打开调试器设置对话框, 在这里, 调试器指的是 MPLAB SIM 模拟器 在 Clock 选项卡中设定模拟器的时钟频率 这是很重要的, 因为模拟器跟踪功能的时间戳和 Stopwatch 对话框中的计时都是据此计算出来的 它允许用户根据目标应用的实际速度精确地测量时间 图 3-3: 模拟器设置 : 时钟 Break Options 选项卡中包括了一些其它的断点功能 如果没有选中 Global Break Enable, 那么断点操作将被禁止 当程序中插入了许多断点, 而用户希望禁用而不删除它们时, 这是很有用的 回到这个对话框重新启用这些断点, 可以重新激活它们 图 3-4: 模拟器设置 : 断点选项 2003 Microchip Technology Inc. DS51281C_CN 第 21 页

MPLAB IDE v6.xx 快速入门 3.4 访问 MPLAB IDE 在线帮助 MPLAB IDE 提供了大量的在线帮助, 其内容一直在不断扩展 在使用 MPLAB IDE 时出现任何问题, 都可以到这里来寻找答案 更重要的是, 在线帮助列出了特定工具在支持特定芯片时的局限性 在使用一组新的工具和芯片组合时, 最好多查看本节的内容 Limitations 选项卡给出了模拟器相对于所模拟实际芯片的局限性 文本区域给出了一般局限性的概要信息 图 3-5: 模拟器设置 : 局限性 点击 Details 按钮以显示模拟器相对于所模拟芯片的特定局限性, 也可以从中访问关于模拟器一般局限性的帮助 图 3-6: 局限性的详细说明 DS51281C_CN 第 22 页 2003 Microchip Technology Inc.

深入学习 图 3-7: MPLAB IDE 帮助菜单 MPLAB IDE 帮助涵盖了 MPLAB IDE 的所有方面和所有 Microchip 工具 它也会告诉用户如何得到其它形式的帮助, 例如 Microchip 的升级通知系统 图 3-8: MPLAB IDE 帮助对话框 2003 Microchip Technology Inc. DS51281C_CN 第 23 页

MPLAB IDE v6.xx 快速入门 3.5 配置工作区和项目调试设置 MPLAB IDE 同时使用工作区和项目来帮助用户对其应用代码开发进行管理 MPLAB IDE 工作区是 MPLAB IDE 应用程序窗口的桌面区域 工作区记录打开了哪些窗口, 选择了哪一种 PICmicro 单片机, 使用了哪一种调试器和编程器, 以及硬件工具是如何连接到计算机上的 一般来说, 在开始建立一个项目前需要先设置工作区 项目是在 MPLAB IDE 工作区中打开的, 包括源文件 以及关于如何编译项目和使用哪些工具编译项目的信息 项目是可移植的, 可以移动到不同的目录或不同的计算机上 通过 Configure>Settings 对话框 ( 图 3-9) 可调整 MPLAB IDE 的调试桌面工作区 对于本手册中的快速入门, 是不需要更改默认设置的 但是用户应该知道这些设置, 以便在需要时对工作区设置进行修改 图 3-9: 选择设置菜单 在这个包含多个选项卡的对话框中, 用户首先会看到最左边名为 Workspace 的选项卡 图 3-10: 设置 : 工作区选项卡 DS51281C_CN 第 24 页 2003 Microchip Technology Inc.

深入学习 Configure>Settings 对话框中的 Workspace 选项卡允许用户进行以下操作 : 当进入 MPLAB IDE 时, 重新加载上次的工作区 如果用户想继续上次未完成的项目, 这是很方便的 开始仿真或者模拟前, 保存所有文本文件, 这可以确保开始调试前所做的工作都已被保存, 而且所有的修改都会重新编译到应用程序中 当导入一个 HEX 文件时移除断点 通常这是用户期望的操作, 但如果由于某种原因, 只对代码做了一些小的改动, 再重新加载 HEX 文件时, 用户可能不希望清除所有的断点 注 : 导入 HEX 文件的主要原因是将前面编译过的代码写入芯片 每个项目在编译后都会生成 HEX 文件 Configure>Settings 对话框中的 Program Loading 选项卡允许用户在加载一个新程序时选择清除不同的存储区 图 3-11: 设置 : 程序加载选项卡 Configure>Settings 对话框中的 Projects 选项卡设有附加控制功能, 允许用户在编译项目时按自己的要求来定制操作 图 3-12: 设置 : 项目选项卡 2003 Microchip Technology Inc. DS51281C_CN 第 25 页

MPLAB IDE v6.xx 快速入门 这个选项卡确定一些与项目相关的操作 其中有默认设置, 推荐保留这些默认设置 如果用户不小心, 没有选中某些复选框, 可能会导致已编辑材料的丢失 最后一个选项, Use one-to-one project-workplace model ( 工作区与项目一一对应模式 ), 是关于 MPLAB IDE 怎样处理项目的 当选中此项时, 工作区中只允许存在一个项目, 工作区和项目实际上是等同的 注 : 如果没有选中这个复选框, 那么工作区可以容纳多个项目 这在以 a block at a time ( 每次一块 ) 方式编译应用程序时是很有用的, 不同的代码块被编译到不同的内存区 例如, 一个项目有一个引导加载程序和应用程序的第一个版本 引导加载程序是独立于应用程序的, 它可用于在日后下载应用程序的升级版本 欲获得更多信息, 请参阅 MPLAB IDE 的在线帮助 DS51281C_CN 第 26 页 2003 Microchip Technology Inc.

深入学习 注 : 2003 Microchip Technology Inc. DS51281C_CN 第 27 页

全球销售及服务网点 美洲 公司总部 Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 1-480-792-7200 Fax: 1-480-792-7277 Technical Support: 1-480-792-7627 Web Address: http://www.microchip.com 亚特兰大 Atlanta 3780 Mansell Road, Suite 130 Alpharetta, GA 30022 Tel: 1-770-640-0034 Fax: 1-770-640-0307 波士顿 Boston 2 Lan Drive, Suite 120 Westford, MA 01886 Tel: 1-978-692-3848 Fax: 1-978-692-3821 芝加哥 Chicago 333 Pierce Road, Suite 180 Itasca, IL 60143 Tel: 1-630-285-0071 Fax: 1-630-285-0075 达拉斯 Dallas 4570 Westgrove Drive, Suite 160 Addison, TX 75001 Tel: 1-972-818-7423 Fax: 1-972-818-2924 底特律 Detroit Tri-Atria Office Building 32255 Northwestern Highway, Suite 190 Farmington Hills, MI 48334 Tel: 1-248-538-2250 Fax: 1-248-538-2260 科科莫 Kokomo 2767 S. Albright Road Kokomo, IN 46902 Tel: 1-765-864-8360 Fax: 1-765-864-8387 洛杉矶 Los Angeles 18201 Von Karman, Suite 1090 Irvine, CA 92612 Tel: 1-949-263-1888 Fax: 1-949-263-1338 菲尼克斯 Phoenix 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 1-480-792-7966 Fax: 1-480-792-4338 圣何塞 San Jose 1300 Terra Bella Avenue Mountain View, CA 94043 Tel: 1-650-215-1444 加拿大多伦多 Toronto 6285 Northam Drive, Suite 108 Mississauga, Ontario L4V 1X5, Canada Tel: 1-905-673-0699 Fax: 1-905-673-6509 亚太地区澳大利亚 Australia Suite 22, 41 Rawson Street Epping 2121, NSW Australia Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 中国 - 北京北京市朝阳门北大街 6 号北海万泰大厦 706B 室邮编 :100027 电话 :86-10-85282100 传真 :86-10-85282104 中国 - 成都成都市提督街 88 号四川建行大厦 2401-2402 室邮编 :610016 电话 :86-28-86766200 传真 :86-28-86766599 中国 - 福州福州市五四路 71 号国贸广场 28 层 F 单元邮编 :350001 电话 :86-591-7503506 传真 :86-591-7503521 中国 - 香港特别行政区香港新界葵芳兴芳路 223 号新都会广场 2 座 901-906 室电话 :852-24011200 传真 :852-24013431 中国 - 上海上海市仙霞路 317 号远东国际广场 B 栋 701 室邮编 :200051 电话 :86-21-62755700 传真 :86-21-62755060 中国 - 深圳深圳市福田区滨河大道 5022 号联合广场 A 座 1812 室邮编 :518033 电话 :86-755-82901380 传真 :86-755-82951393 中国 - 顺德佛山市顺德区容桂镇凤祥南路 2 号宏建大厦 401 室邮编 :528303 电话 :86-757-28395507 传真 :86-757-28395571 中国 - 青岛青岛市香港中路 12 号丰合广场 B505A 室邮编 :266071 电话 :86-532-5027355 传真 :86-532-5027205 台湾地区 Kaohsiung Branch 30F - 1 No. 8 Min Chuan 2nd Road Kaohsiung 806, Taiwan Tel: 886-7-536-4818 Fax: 886-7-536-4803 台湾地区 Taiwan Branch 11F-3, No. 207 Tung Hua North Road Taipei, 105, Taiwan Tel: 886-2-2717-7175 Fax: 886-2-2545-0139 印度 India Divyasree Chambers 1 Floor, Wing A (A3/A4) No. 11, O Shaugnessey Road Bangalore, 560 025, India Tel: 91-80-2290061 Fax: 91-80-2290062 日本 Japan Benex S-1 6F 3-18-20, Shinyokohama Kohoku-Ku, Yokohama-shi Kanagawa, 222-0033, Japan Tel: 81-45-471-6166 Fax: 81-45-471-6122 韩国 Korea 168-1, Youngbo Bldg. 3 Floor Samsung-Dong, Kangnam-Ku Seoul, Korea 135-882 Tel: 82-2-554-7200 Fax: 82-2-558-5932 或 82-2-558-5934 新加坡 Singapore 200 Middle Road #07-02 Prime Centre Singapore, 188980 Tel: 65-6334-8870 Fax: 65-6334-8850 欧洲 奥地利 Austria Durisolstrasse 2 A-4600 Wels Austria Tel: 43-7242-2244-399 Fax: 43-7242-2244-393 丹麦 Denmark Regus Business Centre Lautrup hoj 1-3 Ballerup DK-2750 Denmark Tel: 45-4420-9895 Fax: 45-4420-9910 法国 France Parc d Activite du Moulin de Massy 43 Rue du Saule Trapu Batiment A - ler Etage 91300 Massy, France Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 德国 Germany Steinheilstrasse 10 D-85737 Ismaning, Germany Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 意大利 Italy Via Quasimodo, 12 20025 Legnano (MI) Milan, Italy Tel: 39-0331-742611 Fax: 39-0331-466781 荷兰 Netherlands P. A. De Biesbosch 14 NL-5152 SC Drunen, Netherlands Tel: 31-416-690399 Fax: 31-416-690340 英国 United Kingdom 505 Eskdale Road Winnersh Triangle Wokingham Berkshire, England RG41 5TU Tel: 44-118-921-5869 Fax: 44-118-921-5820 01/08/04 DS51281C_CN 第 28 页 2003 Microchip Technology Inc.