datasheet
超过460,000+ 应用技术资源下载
pdf

ICD2 user MAUAL

  • 1星
  • 日期: 2015-06-14
  • 大小: 1.22MB
  • 所需积分:1分
  • 下载次数:0
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: ICD2munal

fwgsdgsfdgwsdfsdsdgdsf

MPLAB® ICD 2 在线调试器 用户指南  2004 Microchip Technology Inc. DS51331A_CN 请注意以下有关 Microchip 器件代码保护功能的要点: • Microchip 的产品均达到 Microchip 数据手册中所述的技术指标。 • Microchip 确信:在正常使用的情况下, Microchip 系列产品是当今市场上同类产品中最安全的 产品之一。 • 目前,仍存在着恶意、甚至是非法破坏代码保护功能的行为。就我们所知,所有这些行为都不 是以 Microchip 数据手册中规定的操作规范来使用 Microchip 产品的。这样做的人极可能侵犯 了知识产权。 • Microchip 愿与那些注重代码完整性的客户合作。 • Microchip 或任何其它半导体厂商均无法保证其代码的安全性。代码保护并不意味着我们保证 产品是 “牢不可破”的。 代码保护功能处于持续发展中。 Microchip 承诺将不断改进产品的代码保护功能。任何试图破坏 Microchip 代码保护功能的行为均可视为违反了 《数字器件千年版权法案 (Digital Millennium Copyright Act) 》 。如果这种行为导致他人在未经授权的情况下,能访问您的软件或其它受版权保护的成 果,您有权依据该法案提起诉讼,从而制止这种行为。 提 供 本 文 档 的 中 文 版 本 仅 为 了 便 于 理 解。 Microchip Technology Inc. 及其分公 司和相关公司、各级主管与员工及事务代理 机构对译文中可能存在的任何差错不承担任 何责任。建议参考 Microchip Technology Inc. 的原版文档。 本出版物中所述的器件应用信息及其它类似 内容仅为您提供便利,它们可能由更新之信 息所替代。确保应用符合技术规范,是您自 身应负的责任。 Microchip 对这些信息不作 任 何 明 示 或 暗 示、书 面 或 口 头 的 声 明 或 担 保,包括但不限于针对其使用情况、质量、 性能、适销性或特定用途的适用性的声明或 担保。 Microchip 对因这些信息及使用这些 信 息 而 引 起 的 后 果 不 承 担 任 何 责 任。未 经 Microchip 书面批准,不得将 Microchip 的产 品 用 作 生 命 维 持 系 统 中 的 关 键 组 件。在 Microchip 知识产权保护下,不得暗中或以其 它方式转让任何许可证。 商标 Microchip 的名称和徽标组合、 Microchip 徽标、 Accuron、 dsPIC、 KEELOQ、 microID、 MPLAB、 PIC、 PICmicro、 PICSTART、 PRO MATE、 PowerSmart、 rfPIC 和 SmartShunt 均为 Microchip Technology Inc. 在美国和其它国家 或地区的注册商标。 AmpLab、 FilterLab、 Migratable Memory、 MXDEV、 MXLAB、 PICMASTER、 rfPIC、 SEEVAL、SmartSensor 和 The Embedded Control Solutions Company 均为 Microchip Technology Inc. 在美国的注册商标。 Analog-for-the-Digital Age、 Application Maestro、 dsPICDEM、 dsPICDEM.net、 dsPICworks、 ECAN、 ECONOMONITOR、 FanSense、 FlexROM、 fuzzyLAB、 In-Circuit Serial Programming、 ICSP、 ICEPIC、 MPASM、 MPLIB、 MPLINK、 MPSIM、 PICkit、 PICDEM、 PICDEM.net、 PICLAB、 PICtail、 PowerCal、 PowerInfo、 PowerMate、 PowerTool、 rfLAB、 rfPICDEM、 Select Mode、 Smart Serial、 SmartTel 和 Total Endurance 均为 Microchip Technology Inc. 在美国和其它国家或地 区的商标。 SQTP 是 Microchip Technology Inc. 在美国的服务 标记。 在此提及的所有其它商标均为各持有公司所有。 © 2004, Microchip Technology Inc。版权所有。 Microchip 位于美国亚利桑那州Chandler和Tempe及 位于加利福尼亚州 Mountain View 的全球总部、设 计中心和晶圆生产厂均于 2003 年 10 月通过了 ISO/ TS-16949:2002 质量体系认证。公司在 PICmicro® 8 位单片机、 KEELOQ® 跳码器件、串行 EEPROM、 单片机外设、非易失性存储器和模拟产品方面的质 量体系流程均符合 ISO/TS-16949:2002。此外, Microchip 在开发系统的设计和生产方面的质量体系 也已通过了 ISO 9001:2000 认证。 DS51331A_CN 第 ii 页  2004 Microchip Technology Inc. MPLAB® ICD 2 用户指南 目录 客户支持 简介 ....................................................................... 1 主要内容 ................................................................ 1 Microchip 网站 ...................................................... 1 客户变更通知服务 ................................................. 2 联络信息 ................................................................ 3 第 1 章 MPLAB ICD 2 如何工作 1.1 简介 ................................................................. 5 1.2 主要内容 ........................................................ 5 1.3 ICD 与 ICE ....................................................... 6 1.4 模块接口连接 ................................................... 7 1.5 调试模式 ...................................................... 11 1.6 调试模式的要求 ............................................. 12 1.7 调试保留资源 ................................................. 16 1.8 编程器模式 .................................................... 17 第 2 章 入门指南 2.1 简介 .............................................................. 19 2.2 主要内容 ...................................................... 19 2.3 MPLAB ICD 2 系统组件 ................................ 19 2.4 为 MPLAB ICD 2 安装和配置 MPLAB IDE .... 20 2.5 供电 .............................................................. 23  2004 Microchip Technology Inc. DS51331A_CN 第iii 页 MPLAB® ICD 2 用户指南 2.6 概述:配置环境 ............................................. 25 2.7 概述:MPLAB ICD 2 开发过程 ...................... 26 第 3 章 MPLAB ICD 2 教程 3.1 简介 .............................................................. 31 3.2 主要内容 ...................................................... 31 3.3 配置环境 ...................................................... 32 3.4 运行项目向导 ................................................ 35 3.5 查看项目 ...................................................... 38 3.6 生成 Hex 文件 ............................................... 39 3.7 设置调试选项 ................................................ 39 3.8 设置演示板 .................................................... 41 3.9 加载程序代码以进行调试 .............................. 42 3.10 运行 Tut452 ................................................. 43 3.11 调试 Tut452 ................................................. 44 3.12 编程 ............................................................. 48 3.13 Tut452 主程序和源代码 ............................... 49 第 4 章 USB 安装细节 4.1 简介 .............................................................. 53 4.2 在 Windows 98 和 Windows ME 下安装 ........ 54 4.3 在 Windows 2000 下安装 .............................. 59 4.4 在 Windows XP 下安装 ................................. 66 第 5 章 故障诊断 5.1 出现故障时该如何处理 .................................. 73 第 6 章 常见问题 6.1 常见问题 ...................................................... 79 索引 ..........................................................................89 全球销售及服务网点 .................................................96 DS51331A_CN 第iv 页  2004 Microchip Technology Inc. MPLAB® ICD 2 用户指南 客户支持 简介 这一章详细介绍了如何获得本书所提到产品的支持。 主要内容 本章包括的主题有: • Microchip 网站 • 客户变更通知服务 • 联络信息 MICROCHIP 网站 Microchip 网站为您提供在线支持: http://www.microchip.com 客户从这个网站上可以很方便地获取文件和信息。要访问这个站 点,用户必须能访问 Internet,系统必须安装有诸如 Netscape® Navigator 或 Microsoft® Explorer® 的网络浏览器。文件也可以从 FTP 站点上下载。 使用一个 FTP 程序/客户端可以连接到以下文件传输站点: ftp://ftp.microchip.com 用户可以下载关于最新开发工具的文件、数据手册、应用笔记、 用户指南、文章以及范例程序。用户还可以获得 Microchip 各办事 处和分销商的列表。  2004 Microchip Technology Inc. DS51331A_CN 第 1 页 MPLAB® ICD 2 用户指南 技术支持 • 常见问题 (FAQ) • 在线论坛 — 关于产品、开发系统和技术信息等的讨论会 • Microchip 顾问计划成员列表 • 到与 Microchip 产品相关的其它网站的链接 开发人员工具箱 • 设计技巧 • 器件勘误表 其它信息 • 最新的 Microchip 新闻稿 • 研讨会及活动列表 • 招聘信息 客户变更通知服务 客户变更通知服务帮助客户了解 Microchip 产品的最新信息。订阅 这项服务后,每当特定的产品系列或开发工具有变更、更新、修 改或勘误时,用户都会收到一份电子邮件通知。进入 Microchip 网 站 (www.microchip.com)并点击 “客户变更通知”,然后根据 提示注册。 开发系统产品分类如下: 编译器 — Microchip C 编译器及其它语言工具的最新消息。包 括:MPLAB® C17、 MPLAB C18 和 MPLAB C30 C 编译器; MPASM 和 MPLAB ASM30汇编器; MPLINK™ 和MPLAB LINK30 链接器; 以及 MPLIB™ 和 MPLAB LIB30 库管理器。 仿真器 — Microchip 在线仿真器的最新消息。包括:MPLAB ICE 2000 和 MPLAB ICE 4000。 DS51331A_CN 第 2 页  2004 Microchip Technology Inc. 客户支持 在线调试器 — Microchip 在线调试器的最新消息。包括:MPLAB ICD 和 MPLAB ICD 2。 MPLAB IDE — 关于 Microchip MPLAB IDE 的最新消息,这是开 发系统工具的 Windows® 集成开发环境。主要介绍 MPLAB IDE、 MPLAB SIM 软件模拟器、 MPLAB IDE 项目管理器及其一般的编 辑和调试功能。 编程器 — Microchip PICmicro® 系列单片机编程器的最新消息。 包括:PRO MATE® II 器件编程器和 PICSTART® Plus 开发编程 器。 联络信息 可通过以下方式获得 Microchip 产品支持: • 分销商 • 当地销售办事处 — 在本书结尾附有各销售办事处地址的列 表。 • 应用工程师 (FAE) • 应用工程师 (CAE) • 热线 客户可致电其分销商、代表或应用工程师 (FAE)寻求支持。请 查看本指南后封面的销售办事处及地址列表。 欲获得技术支持,可访问网站 http://support.microchip.com,也 可致电应用工程师 (CAE),中国大陆地区请拨打 800-8206247。 此外还有系统信息和更新热线。此热线为系统用户提供开发系统 软件产品最新版本的列表。此热线还提供有关客户如何获得目前 更新工具包的信息。 热线号码为: 美国和加拿大大部分地区,请拨打 1-800-755-2345。 全球其它国家或地区,请拨打 1-480-792-7302。  2004 Microchip Technology Inc. DS51331A_CN 第 3 页 MPLAB® ICD 2 用户指南 注: DS51331A_CN 第 4 页  2004 Microchip Technology Inc. MPLAB® ICD 2 用户指南 第 1 章 MPLAB ICD 2 如何工作 1.1 简介 本章简要介绍了 MPLAB ICD 2 是如何工作的。试图提供足够的信 息,帮助用户设计出与 MPLAB ICD 2 兼容的目标板,并能让 MPLAB ICD 2 对目标板进行编程和调试。还提供了编程和在线调 试的基本原理,因此如果用户遇到问题,能够很快得到解决。 1.2 主要内容 本章首先概述了 MPLAB ICD 2,接着描述了 MPLAB ICD 2 的编 程模式和调试模式,其中包括以下主题: • 在线调试器 (ICD)与在线仿真器 (ICE) • 模块接口连接 • 调试模式 • 调试模式的要求 • 调试保留资源 • 编程器模式  2004 Microchip Technology Inc. DS51331A_CN 第 5 页 MPLAB® ICD 2 用户指南 1.3 ICD 与 ICE 在线调试器 (ICD)是在线仿真器 (ICE)的一个廉价替代品。 它能完成很多以前只有更昂贵的硬件才能做的工作,但这些好处 是以牺牲在线仿真器的一些便利为代价的。如果用户的应用设计 为设计与 ICD 兼容,那么他们就能享受到低成本硬件调试器所带 来的好处了。 与 ICE 相比,在线调试器需要满足如下要求: • 在线调试器需要占用目标板的一些软硬件资源。 • 目标 PICmicro 单片机必须有一个正常运行的时钟。 • 只有当系统中所有的连接都正常时, ICD 才能进行调试。 仿真器提供存储器和时钟,并能运行代码 — 即使没有与目标应用 板相连。在开发和调试期间, ICE 提供了最强大的能力来发挥系 统的所有功能,而 ICD 在应用不运行时将根本无法进行调试。另 一方面,在系统量产后,仍然可在应用板上安装一个在线调试连 接插座,并与 ICD 相连,这样允许用户对应用方便地进行测试、 调试和再编程。尽管 ICD 与 ICE 相比有一些不足,但它也有一些 突出的优点: • 在量产后可直接与应用相连,而不需要取下单片机来插入 ICE 仿真头。 • ICD 可以在目标应用中对固件再编程,而不需要其它连接或设 备。 DS51331A_CN 第 6 页  2004 Microchip Technology Inc. MPLAB® ICD 2 如何工作 注: ICE 需要使用用户设计的硬件来仿真目标单片机。 ICD 则使用目标单片机上的硬件来完成 ICE 的某些 功能。 ICD 还通过在目标单片机上运行软件来实现一 些类似 ICE 的功能,因此 ICD 依赖于目标单片机的 一些存储空间、 CPU 控制、堆栈存储空间以及用于 通讯的 I/O 引脚。 1.4 模块接口连接 MPLAB ICD 2 通过六芯的模块接口电缆与目标 PICmicro 单片机 相连。从目标 PCB 的反面可以看到 MPLAB ICD 2 连接插座的引 脚编号,如图 1-1 所示。 注: ICD 电缆在每一端是镜像连接,在 MPLAB ICD 2 模 块上的连接与此处所示相反。 图 1-1: 模块连接插座的引脚编号 MPLAB ICD 2 连接插座 PGD VDD 246 PGC 13 5 目标 VPP/MCLR VSS PCB 反面  2004 Microchip Technology Inc. DS51331A_CN 第 7 页 MPLAB® ICD 2 用户指南 图 1-2 显示了 MPLAB ICD 2 与目标板上模块连接插座的互连状 况。 ICD 连接插座有六个引脚,但只使用了其中的五个引脚。该 图还显示了目标 PCB 上 PICmicro 单片机与连接插座的连线。建 议在 VPP/MCLR 线和 VDD 之间接一个上拉电阻 (通常约为 10KΩ 左右),这样 VPP/MCLR 线可置为低电平来复位 PICmicro 单片 机。 图 1-2: MPLAB ICD 2 与目标板的连接 用户复位 2 1K - 10K 1 5 4 3 MPLAB ICD 2 接口 连接插座 应用 PCB VDD PICXXXX VPP/MCLR PGC PGD VSS AVDD AVSS DS51331A_CN 第 8 页  2004 Microchip Technology Inc. MPLAB® ICD 2 如何工作 尽管在某些条件下引脚 2 (VDD)能为目标应用提供有限的功率, 但下面为方便叙述,引脚 2 和 3 (VSS)将被忽略掉。他们显示 在图中是为了完整性考虑,但在下面的叙述中将只谈到与核心 MPLAB ICD 2 运行相关的三根线:VPP/MCLR、PGC 和 PGD。 注: 在下面的讨论中, VDD 引脚被忽略掉了。但应注意目 标 VDD 也被用来对 MPLAB ICD 2 中的输出驱动器供 电 。这使得目标低电压操作的电平转换成为可能。 如果 MPLAB ICD 2 在其 VDD (ICD 连接插座的第二 个引脚)上没有电压 (来自 MPLAB ICD 2 提供给目 标板的电源,或来自独立的目标电源),它将不能工 作。 不是所有的 PICmicro 单片机都有 AVDD 和 AVSS 引脚,但如果目 标 PICmicro 单片机有这些引脚,为使 MPLAB ICD 2 正常工作, 这些引脚必须连接上。 MPLAB ICD 2 与目标板的互连非常简单,出现的问题往往是由这 几条关键线上的其它连接或元器件对 MPLAB ICD 2 的运行造成干 扰引起的,具体参见 1.4.1 节。  2004 Microchip Technology Inc. DS51331A_CN 第 9 页 MPLAB® ICD 2 用户指南 1.4.1 影响 MPLAB ICD 2 正常工作的电路 图 1-3 显示了在 MPLAB ICD 2 的三根有效线上连接某些元器件会 影响 MPLAB ICD 2 正常运行: 图 1-3: 不正确的电路元器件 1 不允许! 不允许! 5 4 不行! 不 允 许! VPP/MCLR PGC PGD 确切地说,必须遵循以下规则: • PGC/PGD 不要接上拉 — 由于在 MPLAB ICD 2 中这些线有 4.7KΩ 的下拉电阻,上拉会分压。 • PGC/PGD 不要接电容 — 在编程或调试通讯期间,它们会阻 止在数据和时钟线上电平的快速转换。 • MCLR 不要接电容 — 他们会阻止 VPP 上电平快速转换。通常 一个简单的上拉电阻就足够了。 • PGC/PGD 不要接二极管 — 他们会阻止 MPLAB ICD 2 和目 标 PICmicro 单片机之间的双向通讯。 DS51331A_CN 第 10 页  2004 Microchip Technology Inc. MPLAB® ICD 2 如何工作 1.5 调试模式 使用 MPLAB ICD 2 作为调试器有两个步骤。第一步要求将应用程 序烧写到目标 PICmicro 单片机中。第二步使用目标 FLASH PICmicro 单片机内部的在线调试硬件来运行和测试应用程序。这 两步与 MPLAB IDE 的操作直接相关: 1. 烧写代码到目标单片机中。 2. 使用调试器设置断点和运行。 如果目标 PICmicro 单片机不能被正确编程, MPLAB ICD 2 将无 法进行调试。 图 1-4 显示了编程所要求的基本电路连接。注意这个图与图 1-2 相同,但是为了更简洁,来自 MPLAB ICD 2 的 VDD 和 VSS 线没 有显示出来。 图 1-4: 编程要求的正确电路连接 编程 电压 +5V MPLAB ICD 2 内部电路 VDD 1 VPP/MCLR 4.7KΩ 5 PGC 4 PGD 4.7KΩ VSS  2004 Microchip Technology Inc. DS51331A_CN 第 11 页 MPLAB® ICD 2 用户指南 上图显示了 MPLAB ICD 2 部分内部接口电路的简化电路图。编程 时,目标 PICmicro 单片机不需要时钟,但必须提供电源。当编程 时, MPLAB ICD 2 将编程电压加到 VPP 引脚上,通过 PGC 发送 时钟脉冲,通过 PGD 发送串行数据。为校验单片机是否已被正确 编程,可以给 PGC 发送时钟,并通过 PGD 读回数据。这与 PICmicro 单片机的 ICSP™ 协议一致。 1.6 调试模式的要求 为使用 MPLAB ICD 2 进行调试 (设置断点、查看寄存器等),以 下几个关键因素必须正确: • MPLAB ICD 2 必须与 PC 机相连。MPLAB ICD 2 必须通过外部 电源,或者通过 PC 机的 USB 电缆来供电,并且必须通过 RS-232 或 USB 电缆与 MPLAB IDE 软件通讯。详细信息请查 看在线帮助。 • MPLAB ICD 2 必须按照图示,通过模块接口电缆 (或类似电 缆)连接到目标 PICmicro 单片机的 VPP、 PGC 和 PGD 引 脚。 MPLAB ICD 2 和目标 PICmicro 单片机之间的 VSS 和 VDD 引脚也必须连接起来。 • 目标 PICmicro 单片机必须有电源和正常工作的振荡器。无论 是什么原因使目标 PICmicro 单片机不工作, MPLAB ICD 2 都不能进行调试。 • 必须对目标 PICmicro 单片机的配置字正确编程: - 振荡器配置位应与 RC、 XT 和 HS 等相对应,具体取决于 目标板的设计。 - 不要使能目标 PICmicro 单片机的看门狗。 - 不要使能目标单片机的代码保护功能。 - 不要使能目标单片机的表读保护功能。 DS51331A_CN 第 12 页  2004 Microchip Technology Inc. MPLAB® ICD 2 如何工作 1.6.1 进入调试模式的操作顺序 如果上述条件都满足,那么当 MPLAB ICD 2 被设置为当前调试器 (Debugger>Select Tool)时,可以进行以下操作: • 当选择 Debugger>Program 时,应用代码就会通过前面所述的 ICSP 协议烧写到 PICmicro 单片机的存储器中。 • 一个小的 “调试执行”程序被载入到目标 PICmicro 单片机程 序存储器的高地址段。由于调试执行程序必须驻留在程序存储 器中,因此应用程序不能使用这段保留的空间。调试执行程序 一般需要 0x120 字的程序存储空间。 • 使能目标 PICmicro 单片机中的特殊 “在线调试”寄存器。这 使得调试执行程序能被 MPLAB ICD 2 激活。 • 通过将 VPP/MCLR 保持为低电平,使目标 PICmicro 单片机复 位。  2004 Microchip Technology Inc. DS51331A_CN 第 13 页 MPLAB® ICD 2 用户指南 1.6.2 调试模式细节 图 1-5 显示了准备好调试的 MPLAB ICD 2。 图 1-5: 准备好调试的 MPLAB ICD 2 +12V +5V MPLAB ICD 2 内部电路 4.7KΩ 4.7KΩ VDD 1 VPP/MCLR 5 4 与调试执行 程序共用的 硬件堆栈 PGC PGD 调试执行程序 约占用 0X10 字节 内部 调试 寄存器 调试 执行程序 程序 存储器 数据 寄存器 为使调试 执行程序 正常运行, 目标单片机 必须运行 保留给调试 执行程序的 存储空间 一般来说,为判断应用程序能否正确运行,可在程序代码中设置 断点。当通过 MPLAB IDE 的用户界面设置断点时,断点的地址保 存在目标 PICmicro 单片机的特殊内部调试寄存器中。 PGC 和 PGD 引脚上的命令直接传送到这些寄存器来设置断点地址。 接着,在 MPLAB IDE 中选择 Debugger>Run,或点击 Run 图标 (前向箭头)。 MPLAB ICD 2 将抬升 VPP/MCLR 的电压使目标单 片机运行。目标单片机将从地址零开始运行,直到程序计数器达 到先前存储在内部调试寄存器中的断点地址。 DS51331A_CN 第 14 页  2004 Microchip Technology Inc. MPLAB® ICD 2 如何工作 断点地址的指令执行之后,目标 PICmicro 单片机的在线调试机制 启动,并将 PICmicro 单片机的程序计数器转移到调试执行程序 (很像中断),同时用户的应用程序也暂停执行。 MPLAB ICD 2 通过 PGC 和 PGD 与调试执行程序通讯,获得断点状态信息,并 将这些信息传送回 MPLAB IDE。 MPLAB IDE 接着向 MPLAB ICD 2 发送一系列的请求以获得目标 PICmicro 单片机的信息,如文 件寄存器的内容和 CPU 的状态。这些请求最终由调试执行程序来 执行。 调试执行程序象程序存储器中的应用程序一样运行。它使用硬件 堆栈的某些 (通常仅使用一个或两个)地址单元,且通常大约使 用 14 个数据寄存器来存放临时变量。如果 PICmicro 单片机不工 作 — 不管什么原因;没有振荡器、电源故障、目标板短路等 — 则调试执行程序不能传送信息回 MPLAB ICD 2,并且 MPLAB 会 发出一个错误消息。 另一种获得断点的方法是按下 MPLAB IDE 的 “Halt”按钮 (Run 箭头右边的 “暂停”符号)。这将触发 PGC 和 PGD 线, 这样目标 PICmicro 单片机的在线调试机制将程序计数器从程序存 储器中的用户代码切换到调试执行程序。 目标应用程序再次暂停, MPLAB IDE 使用 MPLAB ICD 2 与调试执行程序通讯以获得目标 PICmicro 单片机的状态。  2004 Microchip Technology Inc. DS51331A_CN 第 15 页 MPLAB® ICD 2 用户指南 1.7 调试保留资源 当使用 MPLAB ICD 2 进行开发时,用户必须知道保留给调试用的 器件资源。可查看 MPLAB IDE 在线帮助或者当前软件的 README 文件来获得所使用处理器资源的细节。通常来说,在线 调试使用如下片内资源: • MCLR/VPP 为编程所共用。 • 低电压编程 (Low-voltage programming, LVP)禁止。 • PGC 和 PGD 被保留用于编程和在线调试。 • 一或两个堆栈单元被 MPLAB ICD 2 调试器使用。 • 几个通用数据寄存器被保留用于在线调试。 • 程序存储器的高地址部分保留给调试执行代码。 • PIC18FXXXX 单片机的影子堆栈在调试时不可用。应用程序 可以使用影子堆栈,但不能调试快速中断返回或快速 CALL 子 程序返回,因为 ICD 在获得一个断点时会覆盖影子堆栈。 DS51331A_CN 第 16 页  2004 Microchip Technology Inc. MPLAB® ICD 2 如何工作 1.8 编程器模式 当使用 Programmer>Program 选项烧写器件时,应该在 MPLAB IDE 中禁止在线调试寄存器,这样 MPLAB ICD 2 将只烧写目标应用 代码和配置位 (以及 EEPROM 数据,如果有并选择的话)到目 标 PICmicro 单片机中。调试执行程序不会被加载。在这种模式 下, MPLAB ICD 2 只能通过转换 MCLR 电平来复位和启动目标 器件。不能设置断点,也不能查看或改变寄存器的内容。 MPLAB ICD 2 使用 ICSP 对目标单片机进行编程。编程时不需要时 钟,并且处理器的所有模式都能被编程,包括代码保护、使能看 门狗以及表读保护。 注: 在使用 MPLAB ICD 2 调试低引脚数器件时,需要一 个转接头。如前所述连接这些器件的 VPP、 PGC 和 PGD 线来编程时,不需要转接头。  2004 Microchip Technology Inc. DS51331A_CN 第 17 页 MPLAB® ICD 2 用户指南 注: DS51331A_CN 第 18 页  2004 Microchip Technology Inc. MPLAB® ICD 2 用户指南 第 2 章 入门指南 2.1 简介 本章将介绍 MPLAB ICD 2 和 MPLAB IDE 软件的使用,并说明电 源选项和推荐的上电顺序。第三章是一步步教您如何使用 MPLAB ICD 2 的教程。在开始教程之前,首先确保软硬件都按照本章 2.3 节到 2.5 节的要求进行了配置。 2.2 主要内容 本章涵盖的主题有: • MPLAB ICD 2 系统组件 • 为 MPLAB ICD 2 安装和配置 MPLAB IDE • 供电 • 概述:配置环境 • 概述:MPLAB ICD 2 开发过程 2.3 MPLAB ICD 2 系统组件 除了 MPLAB ICD 2 模块,还需要以下这些组件: • MPLAB IDE 软件(6.20 或更高版本版本) — 安装在 PC 上, 控制 MPLAB ICD 2。 • RS-232 或 USB 电缆 — 将 MPLAB ICD 2 模块连接到 PC 的串 口或 USB 口。  2004 Microchip Technology Inc. DS51331A_CN 第19 页 MPLAB® ICD 2 用户指南 注: 在完成 MPLAB IDE 软件安装和配置 USB 驱动的指 令之前,不要连接 USB 电缆。 • 模块接口电缆 — 将 MPLAB ICD 2 模块连接到演示板或用户 应用。 • 演示板或者目标应用 — 将带片内调试能力的 PICmicro 单片 机连接到模块接口 (和 MPLAB ICD 2)。尽管从 MPLAB IDE 到 MPLAB ICD 2 的串行或 USB 通讯不连接目标板也能建立, 但 MPLAB ICD 2 不连接到目标板不能作为调试器工作。 • 电源适配器 — 为 MPLAB ICD 2 和目标应用提供电源。 2.4 为 MPLAB ICD 2 安装和配置 MPLAB IDE 注: 当使用 USB 电缆时,不要在安装 MPLAB IDE 软件 前与其连接。 要安装 MPLAB IDE 软件,首先从 Microchip 网站 (www.microchip.com)上或 MPLAB IDE CD-ROM (DS51123) 中获取最新版本的 MPLAB IDE 安装可执行程序 (MP6xxxx.exe,其中 6xxxx 代表 MPLAB IDE 的版本)。 2.4.1 建立通讯 按照指示安装 MPLAB IDE,然后从 MPLAB IDE 下的 DriversXX 文件夹安装 USB 驱动。请参阅第四章,“USB 安装细 节”。 如果使用 RS-232 电缆,将它连接到 MPLAB ICD 2 和 PC 机。 DS51331A_CN 第 20 页  2004 Microchip Technology Inc. 入门指南 注: 不要将 USB 和 RS-232 电缆同时连接到 MPLAB ICD 2。 2.4.2 启动 MPLAB IDE 安装完 MPLAB IDE 软件后,用如下任一种方法启动该软件: • 选择 Start>Programs>Microchip MPLAB IDE>MPLAB IDE。 • 双击桌面上的 MPLAB IDE 图标。 • 执行在MPLAB IDE安装目录中\dlls子目录下的mplab.exe 文件。 注: 若需要关于 MPLAB IDE 使用方面的更多信息,请参 阅 -“MPLAB v6.xx Quick Start”, DS51281 -MPLAB IDE 的在线帮助 -MPLAB IDE 安装目录下的文件 Readme for MPLAB IDE.txt。 -关于 MPLAB ICD 2 的最新信息,也可以参阅 Readme for MPLAB ICD 2.txt。 启动 MPLAB IDE 后,需要为使用 MPLAB ICD 2 进行配置: 1. 选择一个 MPLAB ICD 2 支持的 PICmicro 器件。 2. 把 MPLAB ICD 2 设置为当前的调试器。 3. 配置 MPLAB ICD 2 的 RS-232 或 USB 接口。  2004 Microchip Technology Inc. DS51331A_CN 第21 页 MPLAB® ICD 2 用户指南 2.4.3 选择器件 使用器件选择对话框 (Configure>Select Device)来选择要用 MPLAB ICD 2 调试的器件。 MPLAB ICD 2 支持的器件会在 Microchip Programmer Tool Support 下 MPLAB ICD 2 旁边有一个 “绿灯”图标。不支持的器件则有一个 “红灯”图标。而 “黄 灯”图标表明可以选择这个器件,但可能有某些限制,可能不适 于量产,但它可以让 MPLAB ICD 2 做试用。 2.4.4 设置 MPLAB ICD 2 作为调试工具 选择 Debugger>Select Tool>MPLAB ICD 2 来选择 MPLAB ICD 2 作为调试工具。一旦选择了这个工具, Debugger 菜单和 MPLAB IDE 工具栏会显示调试选项。 Output (输出)窗口也会打开,关 于 ICD 状态和通讯的消息会显示在 MPLAB ICD 2 选项卡中。 注: MPLAB ICD 2 既可作为调试工具 (Debugger 菜 单),又可作为编程器 (Programmer 菜单)。不要 同时选择。 2.4.5 配置接口 点击 Debugger>Settings 下的 Communications 选项卡来选择 USB 接口或 RS-232 通讯的正确串口。 DS51331A_CN 第 22 页  2004 Microchip Technology Inc. 入门指南 2.5 供电 对 MPLAB ICD 2 和目标板供电有多种配置。下面是配置要点: • 当使用 USB 连接时,MPLAB ICD 2 可由 PC 供电,但必须给目 标板提供一个电源。 • 当使用RS-232连接到PC时,MPLAB ICD 2必须接一个外部电 源。 • 当 MPLAB ICD 2 有自己的电源时,它可以对较小的目标板在 5V 电压下提供一定大小的电流,最高可达 200 mA。 • MPLAB ICD 2 不能通过目标板供电。 • 应先给 MPLAB ICD 2 加电,再给目标板加电。 2.5.1 MPLAB ICD 2 给目标板供电时的上电顺序 按照如下顺序来由 MPLAB ICD 2 给目标板供电。这种配置只允许 在 5V 电压,最高 200 mA 电流下使用。 1. 给 MPLAB ICD 2 加电。不要给目标板供电。 2. 启动 MPLAB IDE 6.xx。 3. 在 MPLAB IDE 的 Debugger 菜单下,选择 Connect。 4. 在与 MPLAB ICD 2 建立通讯后,选择 Debugger>Settings。 5. 在 Settings 对话框中,点击 Power 选项卡并确保复选框 “Power target circuit from MPLAB ICD 2”被选中。单击 OK。 注: 如果在 Settings 对话框 Status 选项卡中任何自检没 有通过,将不能擦除和烧写芯片。这需要进一步的故 障检查。请查看第五章、第六章或在线帮助获取更多 信息。  2004 Microchip Technology Inc. DS51331A_CN 第23 页 MPLAB® ICD 2 用户指南 2.5.2 目标板有独立电源时的上电顺序 按照下列顺序来给目标板通过自己的电源上电。这种配置下,目 标板电源可为 2-5V,电流可以比 MPLAB ICD 2 提供的电流高 (>200 mA)。请查看 PICmicro 单片机的数据手册来确认所使用 器件的电压范围。 1. 给 MPLAB ICD 2 加电。不要给目标板供电。 2. 启动 MPLAB IDE 6.xx。 3. 在 MPLAB IDE 的 Debugger 菜单下,选择 Connect。 4. 在和 MPLAB ICD 2 建立通讯后,选择 Debugger>Settings。 5. 在 Settings 对话框中,点击 Power 选项卡并确保复选框 “Power target circuit from MPLAB ICD 2”未被选中。点击 OK。 6. 给目标系统上电,然后选择 Debugger>Connect。 注: 如果 Settings 对话框 Status 选项卡中的任何自检没 有通过,将不能擦除和烧写芯片。这需要进一步的故 障检查。查看第五章、第六章或在线帮助获取更多的 信息。 DS51331A_CN 第 24 页  2004 Microchip Technology Inc. 入门指南 2.6 概述:配置环境 本章余下的部分将对 MPLAB ICD 2 的使用进行概述,对功能和菜 单作了一般性描述。本节简要总结了 MPLAB ICD 2 的操作。 2.6.1 设置调试和编程选项 有多种不同的对话框允许用户设置调试和编程选项。 • Configuration Bits 对话框 (Configure>Configuration Bits) — 选择 PICmicro 处理器的配置位。关于这些选项的完整细 节,参见被烧写器件数据手册中的 Special Features – Configuration Bits 部分。 注: 配置位可以不在对话框中设置,而在源代码中指定。 指定配置位后,配置位会在每次项目重建时,被设置 为源代码中指定的值。 • Program 选项卡, ICD Settings 对话框 (Debugger>Settings 或 Programmer>Settings)— 设置编程选项 (选择存储器 (Select Memories)、程序存储器和外部存储器范围 (Program and External Memory Ranges)、ID 以及编程选项 (Program Options)和全部擦除 (Erase All))。如果要编程 ID 位,在 Configure>ID Memory 对话框中设置要烧写的值。 • Power 选项卡, ICD Settings 对话框 (Debugger>Settings 或 Programmer>Settings)— 检查 MPLAB ICD 2 电压和目标 电压的值,如果 MPLAB ICD 2 连接了一个电源 (5V,最高 200mA),则选择 “Power the target from the MPLAB ICD 2”。  2004 Microchip Technology Inc. DS51331A_CN 第25 页 MPLAB® ICD 2 用户指南 • Status 选项卡, ICD Settings 对话框 (Debugger>Settings 或 Programmer>Settings)— 在这个对话框中,除了可以设 置在启动时自动连接外,还可以设置输出消息到文件。这些消 息可以帮助用户或 Microchip 技术支持发现问题。 2.6.2 创建一个项目 创建一个新项目最简单的方法是选择 Project>Project Wizard。在 Project Wizard 的帮助下,可创建一个新项目,并选择用于编译该 项目的语言工具。项目向导将一步步指导用户添加源文件、库文 件、链接描述文件等到项目窗口中的不同 “节点”。第三章的教 程中会给出使用这个向导的详细步骤。 2.6.3 编译项目 创建项目后,选择 Project>Build All 来编译应用程序。这将为应用 程序生成可使用 MPLAB ICD 2 烧写到目标单片机中的目标代码。 2.7 概述:MPLAB ICD 2 开发过程 使用 MPLAB ICD 2 进行开发的过程由四步组成: 1. 使用 MPLAB ICD 2 作为当前的调试工具,将应用代码烧写到 目标应用中。 2. 调试应用程序。 3. 修改源代码,重新编译项目,并重复上述步骤,直到应用程 序按照设计正常运行。 4. 选择 MPLAB ICD 2 作为当前的编程器,然后对目标应用中使 用的器件编程。 DS51331A_CN 第 26 页  2004 Microchip Technology Inc. 入门指南 2.7.1 为进行调试烧写目标处理器 为使用 MPLAB ICD 2 将应用项目的代码烧写到目标单片机中进行 调试,可按照以下步骤进行: 1. 选择 Debugger>Settings,然后点击 Program 选项卡,为应 用设置程序存储器的起始和结束地址。 2. 选择 Configure>Configuration Bits,设置相应的配置位。 3. 选择 Debugger>Program。 2.7.2 调试应用程序 为了实时地执行代码,执行如下步骤: 1. 打开源文件 (在项目窗口中双击文件名或使用 File>Open) 或程序存储器窗口 (View>Program Memory)来查看。 2. 选择 Debugger>Run (或点击工具栏中的 Run 按钮)。 处理器会一直运行,直到遇到一个断点,或通过选择 Debugger>Halt (或者点击了工具栏上的 Halt 按钮)暂停运行。 选择 Debugger>Breakpoints 来指定断点的位置。或者,在希望设 置断点的源代码行或程序存储器位置点击右键,选择 Set Break Point 选项。 MPLAB ICD 2 一次只允许设置一个断点。 当处理器暂停运行后,可以通过单步模式执行代码。要单步执行 代码,选择 Debugger>Step Into (或点击工具栏中的 Step Into 按 钮)。处理器会在每一步后暂停。 注: 单步执行代码时,中断被禁止,因此无法进入中断服 务程序。但可在中断服务程序中设置断点,然后运行 到断点处,来调试中断代码。  2004 Microchip Technology Inc. DS51331A_CN 第27 页 MPLAB® ICD 2 用户指南 2.7.3 修改目标应用代码并重新生成 HEX 文件 要修改代码并重新生成 HEX 文件: 1. 打开源文件 (在项目窗口中双击文件名或使用 File>Open)。 2. 对代码做适当修改。 3. 使用 Project>Build All 来编译,重新生成 HEX 文件。 4. 选择 Debugger>Program ,将更新过的HEX文件烧写到器件 中。 2.7.4 完成应用:使用 MPLAB ICD 2 作为编程器 一旦用户完成代码调试,并且应用按照期望运行,就可以不使能 调试器,来烧写器件了。器件中保留给 ICD 操作的资源就可以用 作其它用途了。 注: MPLAB ICD 2 既可以作为调试工具,又可以作为编 程器。但不要同时选择两者。 首先,从 Debugger>Select Tool 菜单中,设置调试器为 “None”。 然后,选择 Programmer>Select Programmer>MPLAB ICD 2 来选 择 MPLAB ICD 2 作为编程器。一旦选择了这一工具, Programmer菜单和MPLAB IDE 的工具栏会变为显示编程器选项。 另外, Output 窗口会打开,在 MPLAB ICD 2 选项卡下显示关于 ICD 状态和通讯的消息。 DS51331A_CN 第 28 页  2004 Microchip Technology Inc. 入门指南 现在项目需要重建,这样所有的调试模式都会被禁止,并且在源 代码中定义的配置位会被烧写到目标单片机中。 编程选项 (如存储区和范围)可在 Programmer>Settings 对话框 下的 Program 选项卡中设置。 配置位将按照源文件中的定义设置。它们可以通过使用 Configuration>Configuration Bits 对话框来手动选择。 如果需要,也可以通过选择 Configure>ID Memory 来设置 ID 位。  2004 Microchip Technology Inc. DS51331A_CN 第29 页 MPLAB® ICD 2 用户指南 注: DS51331A_CN 第 30 页  2004 Microchip Technology Inc. MPLAB® ICD 2 用户指南 第 3 章 MPLAB ICD 2 教程 3.1 简介 本教程使用示例程序 TUT452.asm 来介绍开发一个简单项目的整 个过程,这个示例程序可在 MPLAB IDE 安装目录下的一个文件夹 中找到。这个程序使用 PICDEM 2 Plus 演示板 (DM163022)来 实现 PIC18F452 A/D 转换的功能。程序配置 A/D 模块,对 A/D 通道 0 (与演示板上的电位器相连)的输入进行转换,并将结果 显示在四个 PORTB LED (RB3:RB0)上。 3.2 主要内容 本章所涵盖的主题有: • 配置环境 • 运行项目向导 • 查看项目 • 生成 HEX 文件 • 设置调试选项 • 设置演示板 • 加载程序代码进行调试 • 运行 TUT452 • 调试 TUT452 • 编程 • TUT452 主程序和源代码  2004 Microchip Technology Inc. DS51331A_CN 第31 页 MPLAB® ICD 2 用户指南 3.3 配置环境 在开始本教程之前,按照第 2 章 “入门指南”中第 2.3 节到 2.5 节的步骤设置硬件和 MPLAB IDE 软件。本教程中涉及的一些初始 设置可能已经在第 2 章中设置好了。 启动后, MPLAB IDE 桌面应如图 3-1 所示。 图 3-1: MPLAB IDE V6.XX DS51331A_CN 第32 页  2004 Microchip Technology Inc. MPLAB® ICD 2 教程 3.3.1 选择器件和开发模式 选择本教程使用的器件: 1. 选择 Configure>Select Device。 2. 在 Select Device 对话框中,从 Device 列表框中选择 PIC18F452。在 Microchip Programmer Tool Support 部分 中, MPLAB ICD 2 旁边的 “灯”图标应为绿色。 3. 点击 OK。 选择 MPLAB ICD 2 作为调试器: 1. 选择 Debugger>Select Tool>MPLAB ICD 2。 Debugger 菜 单会显示可用的其它调试选项。同时, Output 窗口会打开 显示连接信息。 注: 如果 MPLAB IDE 在启动时尝试连接到 MPLAB ICD 2,但由于 USB 口或非 COM1 的 COM 口被使用导 致连接失败,则允许转到第 2 步进行通讯端口设置。 2. 选择 Debugger>Settings, Communications 选项卡。选择 USB 或 COM 端口/波特率。 3. 如果希望 MPLAB ICD 2 自动连接,点击 Status 选项卡,选择 “Automatically connect at startup”。检查确保 Message Level 设为 Minimal。 4. 点击 OK。 5. 选择 Debugger>Connect 连接到 MPLAB ICD 2。  2004 Microchip Technology Inc. DS51331A_CN 第33 页 MPLAB® ICD 2 用户指南 3.3.2 更新 MPLAB ICD 2 固件 (操作系统) 可能会出现一条消息提示固件需要更新,这取决于 MPLAB IDE 的 版本或者选择的器件。 MPLAB IDE 会自动安装新固件。 更新对话框可能如下图所示: 图 3-2: 更新 MPLAB ICD 2 固件的对话框 另外,由于不同系列的 PICmicro 单片机使用不同的 MPLAB ICD 2 固件,当切换到一个不同的 PICmicro 单片机时,这个对话框也可 能出现。 固件也可以按照以下步骤手动更改: 1. 选择 Debugger>Download ICD2 Operating System。Select ICD 2 Firmware File 对话框会打开。 2. 从列表中选择或者浏览需要下载的固件。文件名形式为 icdxxxxxx.hex,其中 xxxxxx 为版本号。关于 MPLAB IDE 最新版本的信息,可参见 README 文件或 MPLAB ICD 2.txt。根据所选择的 PICmicro 器件,版本可 能会有所不同。 3. 点击 Open。MPLAB IDE 会把新的操作系统下载到 MPLAB ICD 2。 DS51331A_CN 第34 页  2004 Microchip Technology Inc. MPLAB® ICD 2 教程 3.4 运行项目向导 这个项目中会使用到 MPASM 汇编器。 1. 要建立第一个项目,选择 Project>Project Wizard。 2. 进行到向导的第二个对话框。应该选择 PIC18F452。 3. 继续进行到向导的下一个对话框,设置 MPASM 作为语言工 具。在 “Active Toolsuite”下拉列表中,选择 “Microchip MPASM Toolsuite”。确保MPASM和MPLINK设置在MPLAB IDE\MCHIP_Tools 文件夹中的正确可执行文件上。 MPASM 应指向 mpasmwin.exe,而 MPLINK 应指向 mplink.exe。 图 3-3: 向导:语言工具包对话框  2004 Microchip Technology Inc. DS51331A_CN 第35 页 MPLAB® ICD 2 用户指南 下一步,可以向项目添加文件。 缺少的文件也可以稍后添加。对于这个例子,选择 Browse 转到 MPLAB IDE 安装文件夹 (默认文件夹为硬盘的 C:\Program Files\MPLAB IDE),再转到 MCHIP_Tools\Example 文件夹 选择 TUT452.ASM。 图 3-4: 向导:添加文件 点击 TUT452.ASM 选中它,再点击 ADD>> 将它添加到右边。 DS51331A_CN 第36 页  2004 Microchip Technology Inc. MPLAB® ICD 2 教程 这个项目所需的第二个文件是链接描述文件。点击 \LKR 文件夹 展开它,然后向下滚动选择文件 18F452i.lkr。确保文件名中 有 “i.”。 图 3-5: 向导:添加文件 — 链接描述文件 点击 ADD>> 将链接描述文件移到右边的列表中。完成后,点击 Next。当向导结束时,会出现类似图 3-6 的汇总界面。 图 3-6: 退出向导屏幕  2004 Microchip Technology Inc. DS51331A_CN 第37 页 MPLAB® ICD 2 用户指南 3.5 查看项目 退出向导后, MPLAB IDE 桌面会再次出现。关闭桌面上所有其它 窗口以查看 Project 窗口。 项目窗口应如图 3-7 所示。 图 3-7: 项目窗口 如果有错误,文件可以手动添加到项目窗口。将光标移动到 “Source Files”行或 “Linker Scripts”行来添加文件。要删除一 个文件,可以选中它,再点击鼠标右键,通过弹出菜单删除文件。 DS51331A_CN 第38 页  2004 Microchip Technology Inc. MPLAB® ICD 2 教程 3.6 生成 HEX 文件 要为调试生成 HEX 文件,选择 Project>Build All 或在项目窗口中 的项目名称上点击右键,并从弹出菜单中选择 “Build All”。 MPASM 汇编器总会生成文件名与源文件 (.asm 文件)名相同的 .hex 文件。 Output 窗口应如图 3-8 所示。 图 3-8: OUTPUT 窗口 3.7 设置调试选项 3.7.1 配置位 设置要烧写到器件中的配置位,选择 Configure>Configuration Bits。通过点击 “Settings”栏中的文本,可以更改这些配置位。 对于本教程,应该在这个对话框中设置这些配置位如下: • Oscillator — EC-OS2 as RA6 (这是针对 PICDEM 2 Plus, 如果使用其它目标板,应进行相应更改) • OSC Switch Enable — Disabled • Power Up Timer — Enabled • Brown Out Detect — Disabled • Watchdog Timer — Disabled • CCP2 Mux — RC1  2004 Microchip Technology Inc. DS51331A_CN 第39 页 MPLAB® ICD 2 用户指南 • Low Voltage Programming — Disabled • Background Debug — Enabled (这将使能在线调试功能。 通常选择 MPLAB ICD 2 作为当前调试器时,这项会自动使 能) • Stack Overflow Reset — Disabled • 所有其它配置位都应被禁止。 3.7.2 编程选项 设置编程选项,选择 Debugger>Settings,然后点击 Program 选 项卡。 图 3-9: MPLAB ICD 2 设置对话框 , PROGRAM 选项卡 DS51331A_CN 第40 页  2004 Microchip Technology Inc. MPLAB® ICD 2 教程 • 对于 PIC18FXX2 器件,每次烧写芯片时,所有存储器都会被 擦除 。因此,“Erase all before Program”将无效。 • Select Memories 部分应该选中 “Program”,不选中 “EEPROM”和 “ID”。当使用 MPLAB ICD 2 作为调试器 时,总是会烧写配置位, Configuration 复选框将被选中并灰 掉。 • Program Memory Addresses(Start 地址和 End 地址)设置被 读、烧写和校验的程序存储器范围。点击 Full Range ,设置 地址范围为所选择器件中可供使用的最大程序存储空间。注意 程序存储器的结束地址做了调整,以保留空间给 MPLAB ICD 2 调试执行程序。当使用 MPLAB ICD 2 作为调试器时,程序 不能超过这个地址上限。 3.8 设置演示板 在开始调试之前,确保 PICDEM 2 Plus 演示板已按如下设置: • EC OSC 选项已经通过跳线 J7 选中 • LED 已经通过跳线 J6 使能 • 提供了电源  2004 Microchip Technology Inc. DS51331A_CN 第41 页 MPLAB® ICD 2 用户指南 3.9 加载程序代码以进行调试 选择 Debugger>Program,把 TUT452.hex 烧写到 PICDEM 2 Plus 演示板上的 PIC18F452 中。 注: 调试执行代码会自动烧写到程序存储器的高端地址来 使用 MPLAB ICD 2 进行调试。必须把调试代码烧写到 目标 PICmicro 单片机中,才能使用 MPLAB ICD 2 的 在线调试功能。 烧写可能需要几分钟时间。在烧写过程中, Output 对话框的 MPLAB ICD 2 选项卡下会显示目前的操作阶段。当烧写完毕时, 对话框看起来应该与图 3-10 类似。 图 3-10: 显示目前的操作阶段 DS51331A_CN 第42 页  2004 Microchip Technology Inc. MPLAB® ICD 2 教程 3.10 运行 TUT452 MPLAB ICD 2 可实时或单步执行代码。 • 在 MPLAB IDE 的运行模式下, PICDEM 2 Plus 演示板上的 PIC18F452 将实时执行。 • 处理器暂停后,可单步执行。 以下这些工具栏按钮可用于快速操作常用的调试功能。 Debugger 菜单 运行 暂停 单步执行 复位 工具栏按钮 开始实时模式: 1. 打开 TUT452.asm 文件(在 Project 窗口中双击文件名或使 用 File>Open)。 2. 选择 Debugger>Run (或点击 Run 工具栏按钮)。 3. 在演示板上,转动电位器上的箭头 (RA0)。观察 LED。如 果程序正常工作,用户将看到二进制形式的电压值随着电位 器箭头的转动而变化。但在 TUT452 程序中有错误, 3.11 节将详细介绍调试代码并更正代码。 4. 选择 Debugger>Halt(或点击 Halt 工具栏按钮)来中止程序 执行。 5. 选择 Debugger>Reset 复位程序。  2004 Microchip Technology Inc. DS51331A_CN 第43 页 MPLAB® ICD 2 用户指南 3.11 调试 TUT452 以下任何一点都可能导致 TUT452 程序不能正常工作: • A/D 转换值没有正确写入 PORTB (LED)。 • A/D 转换器没有开启或者没有被设置成转换状态。 • 源代码输入错误导致程序不能正常工作。 要探究第一种可能性,在源文件中,在把 A/D 转换结果的值写入 PORTB 的那一行设置断点。 1. 选中TUT452.asm文件的下面这行代码或把光标放置在这一 行: movwfPORTB;Write A/D result to PORTB 2. 单击右键显示快捷菜单。 3. 从快捷菜单中选择 Set Break Point。这一行现在就如图 3-11 所示标记了一个断点 (红色的 B 停止标记)。 图 3-11: 设置断点 DS51331A_CN 第44 页  2004 Microchip Technology Inc. MPLAB® ICD 2 教程 4. 选择 Debugger>Run(或者点击 Run 工具栏按钮),再次以 实时模式运行程序。 当程序执行到被标记断点的行时,断点会中止程序的执行。但 是,示例程序并没有暂停运行。 5. 选择 Debugger>Halt (或者点击工具栏上的 Halt 按钮),暂 停程序运行。 在源代码窗口中,示例程序会如图 3-12 所示,在 Wait 子程序 两行中的一行 (箭头所指)暂停运行。 图 3-12: 程序暂停执行 根据暂停运行的位置以及程序一直没有执行到断点的事实,可 以得出结论,问题出在 A/D 转换上。 A/D 转换完成的标志位 没有被置位。 A/D 转换初始化和设置在程序的开头部分进行。 6. 要复位程序,选择 Debugger>Reset。第一条指令旁边应该 显示一个绿色箭头。  2004 Microchip Technology Inc. DS51331A_CN 第45 页 MPLAB® ICD 2 用户指南 7. 打开一个新的 Watch 窗口来观察随着程序的执行,A/D 寄存 器值的变化。选择 View>Watch。 Watch 对话框打开且 Watch 1 选项卡被选中。从 Add SFR 按钮旁边的列表中选择 “ADCON0”,再点击这个按钮。 ADCON0 加到了 Watch 窗口中。对 ADCON1 重复上述步骤。选中的符号现在应该 出现在 Watch 窗口中,如图 3-13 所示。 图 3-13: WATCH 窗口 8. 在TUT452.asm源代码中,在Start后的第一条指令设置一个 断点。选中或将光标放在 TUT452.asm 中的如下代码行: clrfPORTB;Clear PORTB 单击右键显示快捷菜单。从快捷菜单中选择 Set Break Point。 这一行现在会被标记一个断点。 9. 选择 Debugger>Run (或点击 Run 工具栏按钮),在实时模 式下运行程序。 这次,程序在执行完设置断点的代码行后停止。绿色箭头指向 断点后下一条指令。如图 3-14 所示。 DS51331A_CN 第46 页  2004 Microchip Technology Inc. 图 3-14: MPLAB® ICD 2 教程 断点后程序暂停 10. 单步执行五次,选择 Debugger>Step (或者点击 Step 工具 栏按钮)来单步执行程序。当完成时,绿色箭头会指向以下 这行代码: movlwB'11000111' ;TMR0 prescaler, 1:256 11. 查看 Watch 窗口中寄存器 ADCON0 和 ADCON1 的值。注意 ADCON0 值为 0X40。这和程序中指定的二进制值对应,但 这个值正确吗? 回顾一下 PIC18F452 数据手册 (DS39564B_CN)中关于 A/D 的章节,其中表明要开启 A/D 模块,最后一位应为 1,而 不是 0。 要修复这个错误,将: movlwB'01000000';Fosc/8, A/D enabled 更改为: movlwB'01000001';Fosc/8, A/D enabled 12. 选择 File>Save 来保存修改。  2004 Microchip Technology Inc. DS51331A_CN 第47 页 MPLAB® ICD 2 用户指南 13. 选择 Project>Build All 来重新编译项目。会出现一条消息指 示程序被重新编译了。必须使用 MPLAB ICD 2 来重新烧 写,使更改生效。 14. 选择 Debugger>Program,使用 MPLAB ICD 2 来重新烧写修 改过的程序。当 MPLAB ICD 2 对话框显示 “...Programming succeeded”时,就可以运行程序了。 15. 在前面设置断点的代码行 (现在有一个红色停止标记轮廓) 上点击右键。选择 Remove Break Point。 16. 选择 Debugger>Run(或者点击 Run 工具栏按钮),在实时 模式下运行程序。转动电位器 (RA0)来改变显示在 LED 上的值。 本教程中使用的源代码只包含一个错误。但是,实际的代码可能 有更多错误。使用 MPLAB ICD 2 和 MPLAB IDE 的调试功能,用 户可以成功地定位和修复其代码中存在的问题。 3.12 编程 当程序成功调试并运行时,通常下一步是烧写 PICmicro 单片机, 以使其在最终设计中独立工作。进行这一步时,为 ICD 保留的资 源被释放,可由应用使用。 按照以下步骤进行烧写: 1. 选择 Debugger>Select Tool>none,禁止 MPLAB ICD 2 作为 调试工具。 2. 在Programmer>Select Tool菜单中,选择MPLAB ICD 2作为 编程器。 3. 可选操作:通过 Configure>ID Memory 设置 ID (图 3-15)。 DS51331A_CN 第48 页  2004 Microchip Technology Inc. 图 3-15: MPLAB® ICD 2 教程 USER ID MEMORY 对话框 4. 在 Programmer>Settings 的 Program 选项卡中设置编程参 数。 5. 选择 Programmer>Program。 现在 MPLAB ICD 2 可以复位并运行目标应用了 (MPLAB ICD 2 也可以与目标板断开,选择 Reset 按钮来运行应用程序)。 3.13 TUT452 主程序和源代码 TUT452.asm 的主程序 (图 3-16)从配置 PORTB、 A/D 模块和 Timer0 开始。接着它等待 Timer0 溢出来启动对电位器值的 A/D 转 换。当转换完成后,转换结果显示在 LED 上,然后程序返回等待 Timer0 再次溢出以启动下一次 A/D 转换。 关于 A/D 模块操作的信息以及相关应用笔记的列表,可参阅 《PICmicro® 18C 单片机系列参考手册》(DS39500A_CN)。  2004 Microchip Technology Inc. DS51331A_CN 第49 页 MPLAB® ICD 2 用户指南 图 3-16: TUT452 主程序流程图 开始 配置 PORTB 所有引脚为输出 配置 A/D 左对齐,FOSC/8 时钟 1 个模拟通道 配置 Timer0 预分频器分配给 Timer0 1:256 预分频比 否 Timer0 溢出? 是 启动 A/D 转换 否 转换 完成? 是 将 A/D 转换结果写到 PORTB DS51331A_CN 第50 页  2004 Microchip Technology Inc. MPLAB® ICD 2 教程 ;**************************************** ;* TUT452.ASM * ;**************************************** list p=18f452 include "p18f452.inc" Reset_Vector code 0x0 ; Put a GOTO at reset address goto Start code 0x0002A Start clrf PORTB clrf TRISB movlw movwf movlw movwf movlw movwf B'01000000' ADCON0 B'00001110' ADCON1 B'11000111' T0CON ; Start app beyond vector area ;Clear PORTB ;PORTB all outputs, ;display 4 MSB's of A/D result on LEDs ;Fosc/8,A/D enabled ;Left justify,1 analog channel ;VDD and VSS ref’s ;TMR0 prescaler,1:256 Main btfss goto bcf INTCON,TMR0IF ;Wait for Timer0 to timeout Main INTCON,TMR0IF bsf ADCON0,GO Wait btfss PIR1,ADIF goto Wait ;Start A/D ;conversion ;Wait for conversion to complete swapf ADRESH,W andlw 0x0f movwf PORTB ;Swap A/D result nibbles ;Mask off lower 4 bits ;Write A/D result to PORTB clrf PORTB WaitPush btfss PORTA,4 goto WaitPush ;Pause while switch is pressed movwf PORTB goto Main ;Do it again end  2004 Microchip Technology Inc. DS51331A_CN 第51 页 MPLAB® ICD 2 用户指南 注: DS51331A_CN 第52 页  2004 Microchip Technology Inc. MPLAB® ICD 2 用户指南 第 4 章 USB 安装细节 4.1 简介 本章描述了在不同 Windows 操作系统下安装 USB 驱动的细节。 这些操作系统包括: • Windows 98/ME • Windows 2000 • Windows XP 如果安装了错误的驱动,USB 会有问题。Windows 经常会尝试安 装默认的 USB 驱动。 MPLAB ICD 2 不能使用默认的驱动。如果 遇到了问题,应查看硬件设备管理器来确认 Microchip 的 USB 驱 动列在 USB 设备下。有时未知的 USB 设备会出现在 “other devices (其它设备)”列表下。如果发现这样的设备,应将其移 除,然后根据 PC 的相应操作系统按以下步骤进行操作。 图 4-1 显示了正确的配置: 图 4-1: 设备管理器  2004 Microchip Technology Inc. DS51331A_CN 第53 页 MPLAB® ICD 2 用户指南 4.2 在 WINDOWS 98 和 WINDOWS ME 下安装 4.2.1 步骤 1 当一个新的 USB 设备第一次插入 Windows 98/ME 系统时,会出 现一个对话框提示系统找到了新硬件设备。也可能出现对话框告 知用户设备的数据库正在建立或更新。 在这些对话框出现之后,会显示 “Add New Hardware Wizard” 对话框。点击 Next 继续安装。 图 4-2: WINDOWS 98/ME 新硬件向导 1 DS51331A_CN 第54 页  2004 Microchip Technology Inc. USB 安装细节 4.2.2 步骤 2 确保选择了 “Search for the best driver...”并点击 Next。 注: 如果在随后的步骤中没有找到或识别出 INF 或设备 驱动文件,重复步骤 2,选择 “Display a list of all the drivers...”。下一个屏幕会询问设备类型。此时, 点击 Have Disk 按钮。下一个对话框会让用户选择 .INF 文件的目录。选择了目录后,点击 OK 继续安 装。 图 4-3: WINDOWS 98/ME 新硬件向导 2  2004 Microchip Technology Inc. DS51331A_CN 第55 页 MPLAB® ICD 2 用户指南 4.2.3 步骤 3 下一个对话框让用户指定新设备所需文件的路径。确保除了 “Specify a location”之外的所有复选框都没有选中。选择 “Specify a location”,然后输入设备驱动文件的路径 (输入路径 或使用 Browse 按钮来查找)。在常规安装下,这个路径应该为: C:\Program Files\MPLAB IDE\Drivers98\ICD2_USB 这个路径必须包括以下文件: • ICD2W98.INF • ICD2W98.SYS • ICD2W98L.SYS 选择了路径后,点击 Next。 图 4-4: WINDOWS 98/ME 新硬件向导 3 DS51331A_CN 第56 页  2004 Microchip Technology Inc. USB 安装细节 4.2.4 步骤 4 下一个对话框应该提示 “Microchip MPLAB ICD 2 Firmware Loader”已经找到并显示前面所选择的路径。点击 Next。 图 4-5: WINDOWS 98/ME 新硬件向导 4  2004 Microchip Technology Inc. DS51331A_CN 第57 页 MPLAB® ICD 2 用户指南 4.2.5 步骤 5 最后一个对话框会提示 “Microchip MPLAB ICD 2 Firmware Loader”已经安装完毕。点击 Finish 来结束安装。 此时, MPLAB ICD 2 会 “re-enumerate”。可能会出现提示这种 情形的多个对话框。系统应该自动加载与设备通讯所需的 MPLAB ICD 2 USB 客户端驱动。 当出现新的对话框请求另一个路径,指定在步骤 3 中给出的相同 路径。 图 4-6: WINDOWS 98/ME 新硬件向导 5 DS51331A_CN 第58 页  2004 Microchip Technology Inc. USB 安装细节 4.3 在 WINDOWS 2000 下安装 当 MPLAB ICD 2 第一次插入 Windows 2000 系统的 USB 时,用 户需要执行以下步骤来正确安装设备驱动。 4.3.1 步骤 1 当一个新的 USB 设备第一次插入 Windows 2000 系统时,会出现 对话框提示系统找到了一个新硬件设备。也可能出现一个对话框 告知用户设备的数据库正在建立或更新。 在这些对话框出现之后,会显示 “Found New Hardware Wizard”对话框。点击 Next 继续安装。 图 4-7: WINDOWS 2000 新硬件向导 1  2004 Microchip Technology Inc. DS51331A_CN 第59 页 MPLAB® ICD 2 用户指南 4.3.2 步骤 2 确保选择了 “Search for the suitable driver...”并点击 Next。 图 4-8: WINDOWS 2000 新硬件向导 2 注: 如果在随后的步骤中没有找到或识别出 INF 或设备 驱动文件,重复步骤 2,选择 “Display a list of the known drivers...”。下一个屏幕会询问设备类型。此 时,点击 Have Disk 按钮。下一个对话框会让用户 选择 INF 文件的目录。一旦选择好了目录,点击 OK 继续安装。 DS51331A_CN 第60 页  2004 Microchip Technology Inc. USB 安装细节 4.3.3 步骤 3 下一个对话框让用户指定新设备所需文件的查找路径。确保除 “Specify a location”之外的所有复选框都没有选中。选择 “Specify a location”并点击 Next。 图 4-9: WINDOWS 2000 新硬件向导 3  2004 Microchip Technology Inc. DS51331A_CN 第61 页 MPLAB® ICD 2 用户指南 4.3.4 步骤 4 在 “Copy manufacturer's files from:”编辑域内输入设备驱动文 件的路径 (键入路径或使用 Browse 按钮来查找)。在常规安装 下,这个路径应该为: C:\Program Files\MPLAB IDE\Drivers2000\ICD2_USB 这个路径中必须包括以下文件: • ICD2W2K.INF • ICD2W2K.SYS • ICD2W2KL.SYS 指定了路径后,点击 Next。 图 4-10: WINDOWS 2000 新硬件向导 4 DS51331A_CN 第62 页  2004 Microchip Technology Inc. USB 安装细节 4.3.5 步骤 5 下一个对话框会提示向导在前一步指定的位置找到了设备驱动。 点击 Next 继续。 图 4-11: WINDOWS 2000 新硬件向导 5  2004 Microchip Technology Inc. DS51331A_CN 第63 页 MPLAB® ICD 2 用户指南 4.3.6 步骤 6 下一个对话框应该提示 “Microchip MPLAB ICD 2 Firmware Loader”已经找到并显示前面所选择的路径。点击 Next。 图 4-12: WINDOWS 2000 新硬件向导 6 最后一个对话框将提示 “Microchip MPLAB ICD 2 Firmware Loader”已经安装完毕。点击 Finish 来结束安装。 此时, MPLAB ICD 2 将 “re-enumerate”。可能会出现提示这种 情形的一系列对话框。系统应会自动加载与设备通讯所需的 MPLAB ICD 2 USB 客户端驱动。 DS51331A_CN 第64 页  2004 Microchip Technology Inc. USB 安装细节 如果出现新对话框请求输入另一个路径,则指定在步骤 4 中给出 的相同路径。 图 4-13: WINDOWS 2000 新硬件向导 7  2004 Microchip Technology Inc. DS51331A_CN 第65 页 MPLAB® ICD 2 用户指南 4.4 在 WINDOWS XP 下安装 4.4.1 步骤 1 当一个新的 USB 设备第一次插入 Windows XP 系统时,会出现对 话框提示系统找到了一个新硬件设备。也可能出现对话框告知用 户设备的数据库正在建立或更新。 在这些对话框出现之后,会显示 “Found New Hardware Wizard”对话框。选择 “Install from a list or specific location (Advanced)”,并点击 Next 继续安装。 图 4-14: WINDOWS XP 新硬件向导 1 DS51331A_CN 第66 页  2004 Microchip Technology Inc. USB 安装细节 4.4.2 步骤 2 确保 “Search for the best driver...”被选中。不选择 “Search removable media”,并选中 “Include this location in the search”。浏览至 MPLAB IDE 安装目录,并选择 DriversXP\ICD2_USB 子目录。点击 Next。 在安装过程中,会弹出对话框提示,“The software you are installing for this hardware...has not passed Windows Logo testing...”点击 Continue Anyway。 注: 如果在随后的步骤中没有找到或识别出 INF 或设备 驱动文件,重复步骤 2,选择 “Don't search. I will choose...”并点击 Next。下一个屏幕会询问设备类 型。确保选中 “Show All Devices”并点击 Next。 在 “Select the device driver...”窗口,点击 Have Disk 按钮。下一个对话框会让用户选择 INF 文件的 目录。浏览至 MPLAB IDE 安装目录,并选择 DriversXP\ICD2_USB 子目录。选择好目录后,点击 OK 继续安装。  2004 Microchip Technology Inc. DS51331A_CN 第67 页 MPLAB® ICD 2 用户指南 图 4-15: WINDOWS XP 新硬件向导 2 DS51331A_CN 第68 页  2004 Microchip Technology Inc. USB 安装细节 4.4.3 步骤 3 Microchip MPLAB ICD 2 Firmware Loader (固件加载程序)安装 完毕,将出现 “Completing the Found New Hardware Wizard” 对话框。点击 Finish 结束安装,并开始 Firmware Client (固件 客户端)的安装。 图 4-16: WINDOWS XP 新硬件向导 3  2004 Microchip Technology Inc. DS51331A_CN 第69 页 MPLAB® ICD 2 用户指南 4.4.4 步骤 4 会出现对话框提示系统完成了添加硬件设备,并随后说明系统找 到了新硬件设备。 在这个对话框出现之后, Found New Hardware Wizard 对话框再 次显示,这一次是提示安装 Microchip MPLAB ICD 2 Firmware Client。选择 “Install from a list or specific location (Advanced)” 并点击 Next 来继续安装。 图 4-17: WINDOWS XP 新硬件向导 4 DS51331A_CN 第70 页  2004 Microchip Technology Inc. USB 安装细节 4.4.5 步骤 5 确保 “Search for the best driver...”被选中。不选中 “Search removable media”,选中 “Include this location in the search”。 浏览至 MPLAB IDE 安装目录,并选择 DriversXP\ICD2_USB 子 目录。点击 Next。 在安装过程中,会弹出对话框说明,“The software you are installing for this hardware...has not passed Windows Logo testing...”点击 Continue Anyway。 图 4-18: WINDOWS XP 新硬件向导 5  2004 Microchip Technology Inc. DS51331A_CN 第71 页 MPLAB® ICD 2 用户指南 4.4.6 步骤 6 一旦 Microchip MPLAB ICD 2 Firmware Client 安装完毕, “Completing the Found New Hardware Wizard”对话框会出现。 点击 Finish 来结束 USB 安装。 图 4-19: WINDOWS XP 新硬件向导 6 DS51331A_CN 第72 页  2004 Microchip Technology Inc. MPLAB® ICD 2 用户指南 第 5 章 故障诊断 5.1 出现故障时该如何处理 由于 MPLAB IDE、 MPLAB ICD 2 和 PICmicro 单片机目标应用电 路中的许多因素都可能影响 MPLAB ICD 2 的运行,因此理解 ICD 2 功能链中每一环节的操作是很重要的。 图 5-1 显示了各个环节。为使用 MPLAB ICD 2 进行编程和调试, 每一环节都必须工作正常。本章讨论这些环节,以帮助发现和修 复故障。 图 5-1: MPLAB ICD 2 功能链 PC to MPLAB ICD 2 Communication MPLAB ICD 2 Firmware MPLAB ICD 2 to Target PICmicro MCU Target Power Target OSC In-Circuit Debug Resources In-Circuit Debug Registers Debug Executive Application Code  2004 Microchip Technology Inc. DS51331A_CN 第73 页 MPLAB® ICD 2 用户指南 5.1.1 PC 与 ICD 2 通讯环节 这一环节是所有随后环节的基础。如果这个环节不工作,用户将 遇到 MPLAB IDE 通讯错误。确保 MPLAB USB 驱动按照指示正 确安装。查看 Windows 硬件管理器对话框的 USB 部分,确认是 否在 PC 上正确安装了 MPLAB ICD 2 驱动。如果使用 RS-232, 确保在 COM 驱动对话框中, FIFO 缓冲已关闭,并且流量控制设 置为硬件方式。如果 MPLAB ICD 2 USB 驱动在硬件管理器的 USB 部分不可见,则转到 MPLAB IDE 安装目录,打开 \DriversXXX 文件夹 (XXX 对应操作系统,即 98、 NT 和 XP 等)。用网页浏览器打开 .HTM 文件来查看相应操作系统的驱动安 装细节。更多信息可参见第 4 章, USB 安装细节。 5.1.2 ICD 2 固件环节 确保最新版本的固件加载到 MPLAB ICD 2。更新的固件可通过 MPLAB IDE 下载。最新版本的软件应该总能从 Microchip 网站上下 载到。 固件的版本将决定支持哪些目标 PICmicro 单片机。请查看 README 文件,获取有关固件和 MPLAB ICD 2 的最新信息。 DS51331A_CN 第74 页  2004 Microchip Technology Inc. 故障诊断 5.1.3 ICD 2 连接到目标 PICmicro 单片机的环节 确认所有线已正确连接,并且在 VPP、 PGC 和 PGD 上没有其它 信号或元器件对 ICD 信号有干扰。如果 MPLAB ICD 2 的 VDD 和 VSS 线没有连接到目标电源和地,它将不能工作。当 MPLAB ICD 2 对目标电路供电 (通过 Debugger>Settings 对话框的 Power 选 项卡)时,将提供 VDD 给目标板 (仅 <200mA, 5V)和这些输出 缓冲电路。否则,将使用目标板的 Vdd。 MPLAB ICD 2 检测 VDD 值来确认电平是否正确。由目标 VDD 供电可实现目标单片机低电 压操作的电平转换。 MPLAB ICD 2 的简化内部缓冲电路如图 5-2 所示。 图 5-2: MPLAB ICD 2 的内部缓冲电路 tVDD tVDD tVDD 4.7KΩ 目标 VDD (到 ICD 连接插座 的第 2 个引脚) 到 PGC tVDD tVDD 4.7KΩ 到 PGD  2004 Microchip Technology Inc. DS51331A_CN 第75 页 MPLAB® ICD 2 用户指南 如果 MPLAB ICD 2 在其 VDD 线 (ICD 连接插座的第 2 个引脚) 上没有电压,将不能工作。使用示波器观测,能看到 PGC 和 PGD 上的通讯有着完整的从目标 VDD 到 VSS 的峰 - 峰波形。VPP 上 应显示 +12、+5 和 0V 电平,具体值取决于进行的操作。仅当从 MPLAB 用户界面执行一个 MPLAB ICD 2 功能后,才能在这些线上 看到信号。否则,所有这些线都应空闲且没有噪声。 5.1.4 目标电源环节 MPLAB ICD 2能在目标PICmicro单片机VDD电平为2V到5.5V的范 围内工作。目标应用必须由其自己的电源供电。记住 MPLAB ICD 2 PGC 和 PGD 的 I/O 驱动器是通过目标 VDD 供电的(参见 图 5-2)。 5.1.5 目标振荡器环节 烧写器件时不需要一个运行的振荡器,但如果目标振荡器不工作, 将无法进行调试。这点与在线仿真器不同,在调试时, MPLAB ICD 2 需要目标 PICmicro 单片机处于运行状态。 为确认目标系统是否正确地执行指令,测试是必不可少的。例如, 可以写一个小程序让 LED 闪烁,然后禁止 MPLAB ICD 2 的调试 功能,将程序烧写到目标 PICmicro 单片机中。断开 ICD 并复位 目标系统。如果 LED 不闪烁,检查电路并找出不工作的原因。如 果在禁止调试的情况下烧写目标器件后, MPLAB ICD 2 还连接 着, MPLAB 还可以控制复位。如果目标系统单独运行,没有连 接 ICD (在 MPLAB IDE 中选择 Debugger>Run 后),那么可能 互连有问题。使用示波器观察 PGC、 PGD 和 VPP。确保振荡器 快速起振。如果目标振荡器起振时间过长,那么 MPLAB ICD 2 可 能会超时并给出错误。 DS51331A_CN 第76 页  2004 Microchip Technology Inc. 故障诊断 确保选择了正确的振荡模式 (查看 Configure>Configurations Bits)。振荡模式取决于选择的振荡器。对于晶体可以尝试使用 HS 模式,对于外部阻 / 容振荡器可以尝试使用 RC 模式。这些设置 在最终设计中可能需要改变,但它们是一些最容易上手的模式。 当烧写时设置了配置位,并在调试或普通模式下加了电源之后, 就能够在 OSC2 上检查振荡器操作。 5.1.6 应用代码环节 通过进行与目标振荡器环节中描述类似的 LED 闪烁测试或者通过 把代码烧写到目标器件中的方法,校验 MPLAB ICD 2 烧写是否正 确。 MPLAB ICD 2 会在烧写后执行校验功能来确认目标 PICmicro 单片机中的数据是否与MPLAB 程序存储器中的数据相匹 配。也可以手动选择 Programmer>Verify 来对目标 PICmicro 单片 机的存储器内容与 MPLAB IDE 映像进行比较。如果目标 PICmicro 单片机有 AVDD 和 AVSS,确保它们已正确连接。这两根 线应分别与电源 (VDD)和地 (VSS)相连。详细信息请参考器 件的数据手册。如果这两根线存在但其中任何一根没有连接, MPLAB ICD 2 将不能工作。确保 Low Voltage Programming (低 电压编程)被禁止 (Config>Configuration Bits...)。 5.1.7 调试执行程序环节 当在 MPLAB IDE 中使用 Debugger>Program 功能时,将下载调 试执行程序,目标 PICmicro 单片机中的在线调试寄存器将被使 能。在调试时,应总是通过 Debugger 菜单而不是 Programmer 菜单编程 (选择 Program)。当从 Programmer 菜单编程时 (在 禁止 MPLAB ICD 2 作为调试器后),不会下载调试执行程序,并 且在线调试寄存器将被禁止。  2004 Microchip Technology Inc. DS51331A_CN 第77 页 MPLAB® ICD 2 用户指南 通过查看 Config>Configuration Bits... 的菜单选择,可以确定 MPLAB 是否会下载调试执行程序。如果 “Background Debug (后台调试)”位被使能,那么在烧写器件时,将下载调试执行程 序。 5.1.8 在线调试寄存器环节 确保在烧写器件之前,已在 MPLAB 中的 MPLAB ICD 2 对话框使 能了调试功能。通过查看 Config> Configuration Bits... 对话框, 可以确认在线调试寄存器是否已被使能。标有 “Background Debug”的行应为 “使能”。编程应从 Debugger 菜单而不是 Programmer 菜单进行。 5.1.9 在线调试资源环节 在在线帮助中查看器件使用的具体寄存器。不能使用为 MPLAB ICD 2 保留的数据寄存器和程序存储空间。如果使用 xxxxxi.lkr 链接描述文件 (文件名以 “i”结尾),那么除非已经修改了链 接描述文件,否则这些资源将被标记为保留,将不能在应用中使 用。如果没有使用链接器,在代码中使用 CBLOCK 或 EQU 用于变 量的存储,确保没有使用 MPLAB ICD 2 需要的寄存器。如果使能 了 “code protect (代码保护)”或 “table read protect (表读 保护)”,如果看门狗正在运行,或振荡器没有通过配置位设置为 正确的模式,在线调试器将不能工作。如果使用 快速中断或者 CALL FAST 指令,MPLAB ICD 2 使用了影子堆栈,用户将不能从 快速中断程序或 CALL FAST 功能正确地退出。 DS51331A_CN 第78 页  2004 Microchip Technology Inc. MPLAB® ICD 2 用户指南 第 6 章 常见问题 6.1 常见问题 本章谈到如下常见问题: 6.1.1 为什么我的系统编程或校验失败? 6.1.2 为什么我需要 ICD 转接头? 6.1.3 无法连接到 MPLAB ICD 2。我现在该怎么做? 6.1.4 ICD 2 响应“Target not in debug mode error.”,这是什么意 思? 6.1.5 MPLAB ICD 2能和一个低电压运行的目标器件一起工作吗? 6.1.6 MPLAB ICD 2 支持低电压编程 (LVP)吗? 6.1.7 为什么我在配置锁相环 (PLL)振荡器时有问题? MPLAB ICD 2 被挂起。 6.1.8 当我尝试安装时,为什么找不到驱动,即使当我能在驱动文 件夹中看到它们,并且我在驱动向导中指向了正确的文件夹 也不行? 6.1.9 我能使用 MPLAB ICD 2 实现代码保护吗? 6.1.10 MPLAB ICD 2 如何处理校准数据? 6.1.11 为什么我从我的 EEDATA 区内得到了错误的值? 6.1.12 为什么 “Erase All Before Programming”灰掉了? 6.1.13 我的程序能不能在不干扰 MPLAB ICD 2 的情况下,从 Port B 或者 GPIO 进行读写 ?  2004 Microchip Technology Inc. DS51331A_CN 第79 页 MPLAB® ICD 2 用户指南 6.1.14 在单步执行时,定时器为什么运行不正常? 6.1.15 当使用 PIC12F629/675 或 PIC16F630/676 时,为什么会 有警告和错误? 6.1.16 什么使电源和忙信号 LED 闪烁? 6.1.17 MPLAB ICD 2 中的 “Self Test”起什么作用? 6.1.18 通过 RETFIE 指令来使用高优先级中断时,为什么 W、 STATUS 和 BSR 寄存器的值会改变? 6.1.19 当我在程序的起始位置设置一个断点时,为什么它停止在 地址 0001,而不是地址 0000? 6.1.20 为什么我的校准存储器显示已擦除的数值? 6.1.21 单步执行代码时,我的定时器超时了,但为什么我的定时 器中断程序没有执行? 6.1.1 问:为什么我的系统编程或校验失败? 答:按照第 5 章,故障诊断中所述,检查 PGC、 PGD 和 VPP 连 接以及电压,诊断故障。确保目标 PICmicro 单片机已上电。如果 目标 PICmicro 单片机有 AVSS 和 AVPP 引脚,确认这些引脚都已 正确连接。 6.1.2 问:为什么我需要 ICD 转接头? 答:对于 MPLAB ICD 2 支持的低引脚数器件,如果在线调试引脚 被保留,将不能有效地使用这些器件。试想一下,对于 8 个引脚 的器件, 6 个 I/O 引脚失去其中 3 个的情形。为此,生产了特殊的 外合 (bond-out) PICmicro 单片机,这种单片机能通过一个转接 头来仿真这些低引脚数器件,这使得能在目标应用中使用所有引 脚。外合 (bond-out) PICmicro 单片机具有在线通讯引脚与 MPLAB ICD 2 接口。 DS51331A_CN 第80 页  2004 Microchip Technology Inc. 常见问题 这样做的优点是可以用 MPLAB ICD 2 开发低引脚数器件。缺点 是,对于这些器件,为进行在线调试,不能只在目标应用中采用 一个 ICD 2 连接插座,还要使用外合 (bond-out) PICmicro 单片 机。这些外合 (bond-out) PICmicro 单片机类似于仿真器芯片, 能支持多种器件。在 ICD 转接头电路板上有跳线来配置芯片,以 与开发使用的器件相匹配。这些低引脚数器件可通过通用编程适 配器,或者在目标应用上放置一个 ICD 2 连接插座来连接这些器 件的 VPP、 PGC 和 PGD,来采用 MPLAB ICD 2 编程。 6.1.3 问:无法连接到 MPLAB ICD 2。我现在该怎么 做? 答:MPLAB ICD 2 的电源灯亮了吗?这个 LED 应该是明亮的。如 果它比较暗,可能只连接了 USB,用户可能需要连接一个电源。 PC 的 RS-232 口不能为 MPLAB ICD 2 提供电源,不过 USB 口可 以。注意有些 USB 集线器不能提供电源。请针对当前的故障线 索,查看在线帮助。 USB 驱动安装正确吗?在 Windows 设备管 理器对话框 (如图 6-1 所示)中应该可以看到 MPLAB ICD 2 的 USB 驱动。一些 USB 集线器不能给连接的 USB 设备提供电源。 使用这些集线器时,需要在 MPLAB ICD 2 上接一个电源。 图 6-1: 系统属性对话框  2004 Microchip Technology Inc. DS51331A_CN 第81 页 MPLAB® ICD 2 用户指南 6.1.4 问:ICD 2 响应 “Target not in debug mode error.”这是什么意思? 答:通常这说明 MPLAB ICD 2 不能和调试执行程序通讯。只能通 过选择 Debugger>Program 菜单,对用户应用中的目标 PICmicro 单片机编程,来下载调试执行程序。也可能是其它原因使得调试 执行程序不能通讯,如目标时钟或电源问题。查看配置位,确保 “Background Debug”使能。查看 Config>Configuration Bits..., 确保看门狗被禁止,代码保护被关闭,并且振荡器设置正确。 6.1.5 问:MPLAB ICD 2 能和一个低电压运行的目标器 件一起工作吗? 答:是的。只要目标 PICmicro 单片机支持低电压运行,它就能在 VDD 低至约 2V 的情况下运行。在 MPLAB ICD 2 的输入 / 输出缓 冲器中有电平转换器。这些输入 / 输出缓冲器通过目标器件的 VDD 供电。另外, MPLAB ICD 2 会检测目标器件的工作电压,并 正确地调整其功能来处理低电压操作,即使用正确的 FLASH 擦除 算法。在 MPLAB ICD 2 的 “Settings”对话框中, VDD 需选择为 “From Target”,并且在目标板上要有一个电源用于低电压运行。 6.1.6 问:MPLAB ICD 2 支持低电压编程 (LVP)吗? 答:不支持。但这并不表示当目标器件运行在低电压 VDD 时, MPLAB ICD 2 不能正常工作。只是表示施加到 VPP 上的编程电压 应总是 +12V。 DS51331A_CN 第82 页  2004 Microchip Technology Inc. 常见问题 6.1.7 问:为什么我在配置锁相环 (PLL)振荡器时有 问题? MPLAB ICD 2 被挂起。 答:这是 PICmicro 单片机所要求的。在对 PLL 振荡器的配置位 编程后,电源需要断开然后再加到目标板上。如果没有这样做, 目标 PICmicro 单片机将没有时钟。没有时钟,调试模式将不能工 作。同样,如果在切换到 PLL 模式时,电源没有被断开再连接, 器件可能会运行,但没有使用 PLL。 6.1.8 问:当我尝试安装时,为什么找不到驱动,即使当 我能在驱动文件夹中看到它们,并且我在驱动 向导中指向了正确的文件夹也不行? 答:这个问题可以这样解决:退出驱动安装向导,再到控制面板 选择 “Add New Hardware (添加新硬件)”。在系统搜索新硬件 后,选择 “No, the device isn’t in the list.”,然后选择 “No, I want to select the hardware from a list.”,再选择 “Universal Serial Bus Controller,”。当出现 “Have Disk...”按钮时,进入驱 动文件夹,并选择正确的驱动。 6.1.9 问:我能使用 MPLAB ICD 2 实现代码保护吗? 答:不能。代码保护,特别是程序存储器中任何区域的表读保护 会妨碍 MPLAB ICD 2 正常工作。当使用 MPLAB ICD 2 调试时, 不要使用任何代码保护或表读保护的配置设置。当烧写器件进行 测试时,如果没有连接 MPLAB ICD 2,可以使能代码保护。  2004 Microchip Technology Inc. DS51331A_CN 第83 页 MPLAB® ICD 2 用户指南 6.1.10 问:MPLAB ICD 2 如何处理校准数据? 答:是自动处理的。在擦除、编程和调试时,程序存储器中由 PICmicro 单片机用于校准数据的任何值都被 MPLAB ICD 2 读出 并保存。不需要额外措施来保护这些数据。 6.1.11 问:为什么我从我的 EEDATA 区内得到了错误的 值? 答:MPLAB ICD 2 能直接读取 EEDATA 区域,而不需要执行 EECON 寄存器要求的 TABLRD 指令序列。 MPLAB 使用的缓冲 器有时会干扰用户的代码。当单步执行代码时,应避免在程序读 数据和 MPLAB ICD 2 读 EEDATA 区域之间来回切换。 6.1.12 问:为什么 “Erase All Before Programming” 灰掉了? 答:在一些较新的 FLASH 器件中,编程算法要求非邻近的程序存 储器区域按 bank 编程。对于这些器件,在编程之前必须擦除所有 存储器。 6.1.13 问:我的程序能不能在不干扰 MPLAB ICD 2 的情 况下,从 Port B 或者 GPIO 进行读写 ? 答:是的。当在线调试功能使能时,PGC 和 PGD 总是被 MPLAB ICD 2 使用,并且从 PORT B 进行读写的用户代码不会造成干扰。 注意从 PGC 和 PGD 读出的值不一定正确,而且写到这两个引脚 的值会被忽略。另外,如果 Port B 电平变化中断被使能, PGC 和 PGD 上的信号将不能产生中断。 DS51331A_CN 第84 页  2004 Microchip Technology Inc. 常见问题 6.1.14 问:单步执行时,定时器为什么运行不正常? 答:这是使用在线调试器的缺点之一。由于代码实际上是在调试 执行程序中运行,在调试执行程序运行期间,即使用户的应用程 序被中止,定时器也会继续运行。 6.1.15 问:在使用 PIC12F629/675 或 PIC16F630/676 时, 为什么会有警告和错误? 答:在使用 MPLAB ICD 2 过程中,这些器件的 GP1/RA1 引脚不 能被拉高。参见 MPLAB ICD 2 Header (DS51292)文档,获得 更多关于对这些器件使用 ICD 2 的信息。 6.1.16 问:什么使电源和忙信号 LED 闪烁? 答:这可能表示目标板上 MPLAB ICD 2 连接插座的接线顺序反了 (与接线图相反)。灯闪烁表示由于有大电流, MPLAB ICD 2 正 在关闭。下面的测试表明目标板上接线顺序反了: • 查找闪烁的 Power 和 Busy 信号 LED (电源可能都关断了)。 • 执行一次 “Self Test”,查找 “MCLR=VPP”上的小错误 (所有其它测试可能都会通过)。 • 使用目标单片机的默认地址范围,执行一次编程。引脚 1 (VPP)上 7-8V 的电平太低了。 注意,如果目标板接线顺序相反, MPLAB ICD 2 中的保护电路会 防止对模块造成破坏。当目标板正确连线时,可以看到其正常运 作。  2004 Microchip Technology Inc. DS51331A_CN 第85 页 MPLAB® ICD 2 用户指南 6.1.17 问:MPLAB ICD 2 中的 “Self Test”起什么作 用? 答:“Self Test”按钮有助于确定 MPLAB ICD 2 模块或目标板连 接的问题。 目标 VDD 如果选择了 “Power from ICD2”,则测试由 MPLAB ICD 2 提供的 VDD 〔仅 5 V〕。如果选择了 “Power from target”,则测试由目标 板提供的 VDD 〔2 至 6V〕。 Pass/Fail 码: 00 = Pass VDD 在指定的范围内 01 = Min error VDD 低于指定的范围 80 = Max error VDD 高于指定的范围 错误表示在 Advanced 对话框中 “Power”设置不正确,或者目标 板的 VDD 高于 / 低于规定值。 模块 VPP 测试在编程过程中由 MPLAB ICD 2 提供给目标板 VPP/MCLR 引脚 的编程电压 (VPP)。 Pass/Fail 码: 00 = Pass VPP 在指定的范围内 01 = Min error VPP 低于指定的范围 80 = Max error VPP 高于指定的范围 出现错误表明目标板 VPP/MCLR 引脚接线不正确。 MCLR=Gnd 测试 MPLAB ICD 2 为复位目标单片机,提供地电平给目标 VPP/ MCLR 引脚的能力。 Pass/Fail 码: 00 = Pass 地电平可以提供给目标 VPP/MCLR 引脚 80 = Max error 地电平对于目标 VPP/MCLR 引脚太高 出现错误表明 VPP/MCLR 引脚接线不正确。 DS51331A_CN 第86 页  2004 Microchip Technology Inc. 常见问题 MCLR=VDD 测试正常工作 〔如 ‘Run’〕期间, MPLAB ICD 2 提供 VDD 给目 标 VPP/MCLR 引脚的能力。 Pass/Fail 码: 00 = Pass VDD 可提供给目标 VPP/MCLR 引脚 01 = Min error VDD 对于目标 VPP/MCLR 引脚太低 80 = Max error VDD 对于目标 VPP/MCLR 引脚太高 出现错误表明在 Advanced 对话框中 “Power”设置不正确,或者 目标的 VDD 高于 / 低于规定值。 MCLR=VPP 测试在编程过程中 MPLAB ICD 2 提供 VPP 给目标 VPP/MCLR 引脚 的能力。 Pass/Fail 码: 00 = Pass VPP 可提供给目标 VPP/MCLR 引脚 01 = Min error VPP 对于目标 VPP/MCLR 引脚太低 80 = Max error VPP 对于目标 VPP/MCLR 引脚太高 出现错误表明 VPP/MCLR 引脚接线不正确。 6.1.18 问:通过 RETFIE 指令来使用高优先级中断时,为 什么 W、STATUS 和 BSR 寄存器的值会改 变? 答:用于高优先级中断和 CALL FAST 的影子寄存器被 MPLAB ICD 2 使用了。这些是保留给 MPLAB ICD 2 操作的资源。如果断 点设置在 CALL FAST 子程序内,或者在通过 RETURN FAST 或 RETFIE 指令使用了影子寄存器的高优先级中断服务程序内,将会 出现问题。  2004 Microchip Technology Inc. DS51331A_CN 第87 页 MPLAB® ICD 2 用户指南 6.1.19 问:当我在程序的起始位置设置一个断点时,为什 么它停止在地址 0001,而不是地址 0000? 答:MPLAB ICD 2 在断点后的指令上暂停。这意味着设置了断点 的地址 0000 处的指令会被执行,接着当它发现断点时,程序计数 器会指向地址 0001。如果用户需要在其代码的第一条指令处暂 停,他们必须在地址 0000 处插入一条 NOP 指令。 6.1.20 问:为什么我的校准存储器显示已擦除的值? 答:MPLAB IDE 正在显示默认的存储器值。要显示器件上的实际 值,必须使用 MPLAB ICD 2 进行一次器件读操作。 6.1.21 问:单步执行代码时,我的定时器超时了,但为什 么我的定时器中断服务程序没有执行? 答:单步执行时,在线调试器不允许 PICmicro 单片机响应中断。 如果允许的话,当用户有外部中断时,那么单步执行将几乎总是 在中断服务程序中结束。要调试中断,应在中断服务程序中设置 断点并运行,这样在产生中断后执行到断点。 DS51331A_CN 第88 页  2004 Microchip Technology Inc. MPLAB® ICD 2 用户指南 索引 A 安装 .......................................................................................... 20 AVdd ..................................................................................... 9, 77 AVss ..................................................................................... 9, 77 B 保留资源 ................................................................................... 16 编程 .......................................................................................... 48 编程器 ....................................................................................... 28 编程模式 ................................................................................... 17 表读保护 ................................................................................... 78 C 常见问题 ................................................................................... 79 CALL FAST .............................................................................. 87 D 代码保护 ............................................................................. 78, 83 单步执行 ................................................................................... 88 低电压 ................................................................................. 79, 82 电容 .......................................................................................... 10 电源 .................................................................................... 76, 81 电阻 .......................................................................................... 10 定时器 ................................................................................. 85, 88 定位工具对话框 ........................................................................ 37 断点,设置 ............................................................................... 44 E Erase all before Program ................................................... 41, 84  2004 Microchip Technology Inc. DS51331A_CN 第89 页 MPLAB® ICD 2 用户指南 G 高优先级 ...................................................................................87 更新固件 ...................................................................................34 工具栏按钮,调试菜单 ..............................................................43 固件 ...........................................................................................74 故障诊断 ...................................................................................73 GP1/RA1 ...................................................................................85 GPIO ...................................................................................79, 84 H 红灯 ...........................................................................................22 互连 .............................................................................................8 黄灯 ...........................................................................................22 I ICD 电缆 ......................................................................................7 转接头 .................................................................................80 ICD 2 .........................................................................................74 ICE 与 ICD ..................................................................................6 ICSP ...................................................................................12, 17 Internet 网址 ................................................................................1 J 加载程序和调试代码 .................................................................42 校准数据 .............................................................................84, 88 K 看门狗 .......................................................................................12 客户变更通知服务 .......................................................................2 快速中断 ...................................................................................78 L 连接 ICD 2 ....................................................................................7 绿灯 .....................................................................................22, 33 LED 闪烁 ...................................................................................85 LVP .....................................................................................79, 82 DS51331A_CN 第90 页  2004 Microchip Technology Inc. 索引 M 模块接口电缆 ............................................................................ 12 Microchip Internet 网站 ............................................................... 1 modular interface cable .............................................................. 7 MPASM 汇编器 ........................................................................ 35 MPLAB ICD 2 教程 ................................................................... 31 MPLAB ICD 2 如何工作 .............................................................. 5 N 内部缓冲电路, MPLAB ICD 2 ................................................. 75 P 配置位 ................................................................................. 12, 39 PGC ...................................................................................... 9, 80 PGD ...................................................................................... 9, 80 PIC18F452 ............................................................................... 31 PICDEM 2 Plus 演示板 ............................................................. 31 Port B ................................................................................. 79, 84 Program 选项卡, MPLAB ICD 2 设置对话框 .......................... 40 R 入门指南 ................................................................................... 19 RETFIE ..................................................................................... 87 RETURN FAST ........................................................................ 87 RS-232 ..................................................................................... 19 S 上拉 .......................................................................................... 10 生成 hex 文件 ........................................................................... 39 设置编程和调试选项 ................................................................. 39 设置断点 ................................................................................... 44 设置软硬件 ............................................................................... 32 使能调试 ................................................................................... 40 Self Test ................................................................................... 86 T 调试 .................................................................................... 27, 44 调试工具 ................................................................................... 22  2004 Microchip Technology Inc. DS51331A_CN 第91 页 MPLAB® ICD 2 用户指南 调试执行程序 ................................................................15, 77, 82 调试资源 ...................................................................................78 调试模式 操作顺序 .............................................................................13 要求 ....................................................................................12 调试寄存器 ................................................................................78 tut452.asm ................................................................................43 源代码 .................................................................................49 U USB ..........................................................................................19 驱动程序 .............................................................................74 系统驱动 .............................................................................81 集线器 .................................................................................81 USB 安装细节 ...........................................................................53 V Vdd .............................................................................................9 W 网址 .............................................................................................1 W 寄存器 ...................................................................................87 Watch 窗口 ................................................................................46 Windows 设备管理器 ................................................................81 X 系统组件, MPLAB ICD 2 .........................................................19 选择器件和开发模式 .................................................................33 Y 演示板 .......................................................................................41 影响 MPLAB ICD 2 正常工作的电路 .........................................10 影子堆栈 ...................................................................................78 Z 在线调试寄存器 .........................................................................17 振荡器:目标 ............................................................................76 找不到驱动 ................................................................................83 中断 .....................................................................................84, 87 DS51331A_CN 第92 页  2004 Microchip Technology Inc. 索引 转接头板 ................................................................................... 17  2004 Microchip Technology Inc. DS51331A_CN 第93 页 MPLAB® ICD 2 用户指南 注: DS51331A_CN 第94 页  2004 Microchip Technology Inc. 索引 注:  2004 Microchip Technology Inc. DS51331A_CN 第95 页 全球销售及服务网点 美洲 公司总部 Corporate Office 2355 West Chandler Blvd. Chandler, AZ 852246199 Tel: 1-480-792-7200 Fax: 1-480-792-7277 技术支持: support.microchip.com 网址: www.microchip.com 亚特兰大 Atlanta Alpharetta, GA Tel: 1-770-640-0034 Fax: 1-770-640-0307 波士顿 Boston Westford, MA Tel: 1-978-692-3848 Fax: 1-978-692-3821 芝加哥 Chicago Itasca, IL Tel: 1-630-285-0071 Fax: 1-630-285-0075 达拉斯 Dallas Addison, TX Tel: 1-972-818-7423 Fax: 1-972-818-2924 底特律 Detroit Farmington Hills, MI Tel: 1-248-538-2250 Fax: 1-248-538-2260 科科莫 Kokomo Kokomo, IN Tel: 1-765-864-8360 Fax: 1-765-864-8387 洛杉矶 Los Angeles Mission Viejo, CA Tel: 1-949-462-9523 Fax: 1-949-462-9608 圣何塞 San Jose Mountain View, CA Tel: 1-650-215-1444 Fax: 1-650-961-0286 加拿大多伦多 Toronto Mississauga, Ontario, Canada Tel: 1-905-673-0699 Fax: 1-905-673-6509 Fax: 886-7-536-4803 亚太地区 中国 - 北京 Tel: 86-10-8528-2100 Fax: 86-10-8528-2104 中国 - 成都 Tel: 86-28-8676-6200 Fax: 86-28-8676-6599 中国 - 福州 Tel: 86-591-8750-3506 Fax: 86-591-8750-3521 中国 - 香港特别行政 区 Tel: 852-2401-1200 Fax: 852-2401-3431 中国 - 上海 Tel: 86-21-5407-5533 Fax: 86-21-5407-5066 中国 - 沈阳 Tel: 86-24-2334-2829 Fax: 86-24-2334-2393 中国 - 深圳 Tel: 86-755-8203-2660 Fax: 86-755-8203-1760 中国 - 顺德 Tel: 86-757-2839-5507 Fax: 86-757-2839-5571 中国 - 青岛 Tel: 86-532-502-7355 Fax: 86-532-502-7205 台湾地区 - 高雄 Tel: 886-7-536-4818 台湾地区 - 台北 Tel: 886-2-2500-6610 Fax: 886-2-2508-0102 台湾地区 - 新竹 Tel: 886-3-572-9526 Fax: 886-3-572-6459 亚太地区 澳大利亚 Australia - Sydney Tel: 61-2-9868-6733 Fax: 61-2-9868-6755 印度 India - Bangalore Tel: 91-80-2229-0061 Fax: 91-80-2229-0062 印度 India - New Delhi Tel: 91-11-51608631 Fax: 91-11-51608632 日本 Japan - Kanagawa Tel: 81-45-471- 6166 Fax: 81-45-471-6122 韩国 Korea - Seoul Tel: 82-2-554-7200 Fax: 82-2-558-5932 或 82-2-558-5934 新加坡 Singapore Tel: 65-6334-8870 Fax: 65-6334-8850 欧洲 奥地利 Austria - Weis Tel: 43-7242-2244-399 Fax: 43-7242-2244-393 丹麦 Denmark - Ballerup Tel: 45-4450-2828 Fax: 45-4485-2829 法国 France - Massy Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 德国 Germany - Ismaning Tel: 49-89-627-144-0 Fax: 49-89-627-144-44 意大利 Italy - Milan Tel: 39-0331-742611 Fax: 39-0331-466781 荷兰 Netherlands - Drunen Tel: 31-416-690399 Fax: 31-416-690340 英国 England - Berkshire Tel: 44-118-921-5869 Fax: 44-118-921-5820 10/20/04 DS51331A_CN 第96 页  2004 Microchip Technology Inc.
更多简介内容

评论

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人消费电子

$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })