Arrow Electronics Components Online

PIC微控制器编程:每位设计师的基础知识

微控制器12 2月 2024
特写视图显示电路板上的微控制器插座,一只手用小螺丝刀调整或操作电子元件。
查看所有文章

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

Block diagram of Microchip Technology PIC16F84 with I O and some peripherals

图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中
  • 在线调试器/编程器
Microchip的软件开发工具因其性能和易用性而备受推崇。公司的MPLAB®X IDE、MPLAB®XC编译器和MPLAB® IPE减轻了设计人员比较和购买第三方工具的负担。Microchip的基础工具是免费提供的。可以在此处访问Microchip开发工具的概览。   图2显示了Microchip公司MPLABX集成开发环境(IDE)中的五类产品。

Microchip products available in five categories of the company

图 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之间的主要连接。

Legend showing the primary connections between the MCU

图 3. Microchip 的 PICkit 3 提供用于调试和/或编程多种 MCU 的硬件。来源:Microchip Technology。

PIC微控制器的优势

入门使用PIC MCU需要全面了解应用程序、所使用的PIC的基本硬件架构以及软件工具链。Microchip 已使实际设计过程对于熟悉其他MCU的工程师以及真正的新手设计师非常易于访问。免费的软件工具使启动成本变得合理,并且在Microchip的设计生态系统内以及整个网络上都有大量的代码和建议。对于潜在的PIC设计师来说,只需要有开始的愿望以及坚持完成项目的决心。

文章标签

Microchip Technology
消费电子产品
自主机器
汽车
物联网 (IoT)
嵌入式编程

相关内容