PIC微控制器编程:每位设计师的基础知识
Microchip Technology 的 PIC® 系列微控制器因其价格、性能以及广泛的设计支持而受到设计工程师的欢迎。此外,PIC 微控制器(MCU)具有丰富的选择,可精准满足各种应用的需求。 入门 PIC 和大多数 MCU 的基本方法类似:在最基础的层面上,设计师必须详细了解将在 MCU 硬件中实现的逻辑。许多设计之所以出现问题,是因为设计师未全面考虑逻辑。 除了构建坚实的电路逻辑基础外,对应用的详细了解能为关键问题提供答案,例如所需的输入和输出数量;性能水平;以及需要满足的成本和开发时间预算。 除了简单的电子设计之外,还有许多重要问题需要 MCU 处理:系统级设备将在哪些环境条件和地理位置中使用?它必须符合哪些行业标准?需要与哪些其他产品互操作?需要满足哪些关于健康、安全以及环境要求的行业和政府法规? 图 1 显示了 Microchip Technology 的 PIC16F84 的块图,包含 I/O 和部分外设。该产品于 1990 年代初推出,能够执行基本功能。如今的 8 位 MCU 通常集成了多个外设,从而为应用开发者带来了更多的软件复杂性。

图1. PIC16F84 是最早采用串行编程算法和 EEPROM 存储器的微控制器之一。来源:Microchip Technology Inc.
PIC微控制器硬件基础
要编程PIC微控制器,您需要了解特定设备的基本构建模块,例如配置寄存器、总线和存储器类型。了解PIC编程语言非常有用——甚至可以说是必不可少的。选择合适的软件开发工具也可以让上手过程更轻松更快捷。 许多PIC的底层存储架构是哈佛架构,该架构最广泛的应用是在Intel的8051 MCU中。这种架构为存储程序指令分配了一个存储空间,为数据分配了另一个存储空间。分离的存储空间——可以是片上Flash存储器、ROM、RAM或外部芯片——通常能够提高程序的执行速度。(“哈佛架构”这一术语通常被广泛使用。许多被称为“哈佛”的MCU通过混合哈佛架构和冯·诺依曼存储架构进行了修改。) 在进一步讨论之前,我们必须明确将为设计选择的PIC MCU的具体类型。选择8位PIC是一个不错的选择,因为它们通常比16位和32位的MCU成本更低,具备足够的外设(如A/D转换器),并且性能良好。 Microchip 提供了几个8位PIC系列。PIC10F和PIC12F是最便宜的,但提供的存储器较少、引脚数较少且外设较少。选择最低成本的PIC芯片存在的风险是,在设计进行到一半时可能会发现该MCU无法完全满足应用需求。PIC18F系列则位于Microchip 8位产品性能范围的另一端。它设计更复杂,提供高度专业化的片上外设,同时也是成本最高的系列。对于初次设计,选择PIC18F系列可能有些过于复杂。
使用PIC微控制器进行设计
要编程一个PIC微控制器(或任何MCU),通常需要以下软件工具:
- 集成开发环境(IDE),用于将为应用程序编写的符号逻辑转换为程序命令
- 编译器,将程序转换为设计工程师通常称为HEX文件的MCU汇编语言
- 集成编程环境(IPE),最终用于在一些程序调整后将HEX文件传输到PIC中
- 在线调试器/编程器

图 2. MPLAB X IDE 覆盖了广泛的辅助 MCU 编程功能。来源:Microchip Technology Inc.
对于首次使用8位PIC的用户,Microchip通过推出基于云的集成开发环境MPLAB® Xpress,使入门变得更加简单。这一工具消除了下载、安装、配置以及定期更新工具的繁琐操作。MPLAB Xpress包含了MPLAB Code Configurator,它通过图形界面和引脚映射,使用户能够自动生成用于8位(及16位)PIC MCU的初始化和应用C代码。 与任何MCU一样,第一步是设置配置寄存器。编程到这些寄存器中的位规定了设备的基本操作,例如振荡器模式、看门狗计时器、编程模式和代码保护。这些位必须正确设置,代码才能成功运行。 在设置完配置位后,程序创建过程的其余部分取决于具体应用。一旦代码完成,接下来的步骤涉及将基于逻辑的实体带入比特的实际世界中。 集成编程环境(IPE)用于执行多种功能,包括将您在PC或工作站上创建的程序转移到MCU上。如前所述,Microchip的环境将这些功能结合在一起,但有三个重要的概念:仿真、调试及编程PIC。软件工具的完整描述及其使用方法超出了本文的范围。 然而,PICkit™ 3 In-Circuit Debugger/Programmer值得一提,因为它是额外的硬件,因此在概念上超越了其他工具的软件配置。它在应用程序被转移到MCU之后使用。PICkit 3由运行MPLABX IDE软件的PC控制,是工具套件的不可或缺的一部分。 图3中的图例显示了被编程或调试的MCU与运行Microchip Technology的MPLABX IDE的PC之间的主要连接。

图 3. Microchip 的 PICkit 3 提供用于调试和/或编程多种 MCU 的硬件。来源:Microchip Technology。
PIC微控制器的优势
入门使用PIC MCU需要全面了解应用程序、所使用的PIC的基本硬件架构以及软件工具链。Microchip 已使实际设计过程对于熟悉其他MCU的工程师以及真正的新手设计师非常易于访问。免费的软件工具使启动成本变得合理,并且在Microchip的设计生态系统内以及整个网络上都有大量的代码和建议。对于潜在的PIC设计师来说,只需要有开始的愿望以及坚持完成项目的决心。
文章标签
