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

Microchip Technology 的 PIC® 系列 微控制器 因多种原因而受到设计工程师的欢迎,包括价格、性能和广泛的设计支持。还有各种各样的 PIC 微控制器 (MCU) 可供选择,这些微控制器经过精心设计,可以满足不同应用的需求。

开始使用 PIC 与开始使用几乎任何 MCU 类似:在最基本的层面上,设计人员必须详细了解将在 MCU 上的硬件中实现的逻辑。很多设计遇到问题,都是因为设计者没有把逻辑想清楚。

除了构建坚实的电路逻辑基础之外,对应用程序的详细了解还可以解答关键任务问题,例如所需的输入和输出数量、性能水平、必须满足的成本和开发时间预算。

除了简单的电子设计之外,还有一些重要的问题需要 MCU 处理:系统级设备将在何处使用(环境条件和地理位置)?它必须符合哪些行业标准,必须与哪些其他产品互操作?必须满足哪些有关健康、安全和环境要求的行业和政府法规?

图 1 显示了 Microchip Technology 的 PIC16F84 带有 I/O 和一些外设的框图。它于 20 世纪 90 年代初推出,具有基本功能。当今的 8 位 MCU 通常集成多个外设,这给应用程序开发人员带来了更大的软件复杂性。

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

图 1. PIC16F84 是最早采用串行编程算法和 EEPROM 存储器的 MCU 之一。消息来源:Microchip Technology Inc.

PIC 微控制器硬件要点

要对 PIC 微控制器进行编程,您需要了解特定设备的基本构建模块,例如配置寄存器、总线和内存类型。了解 PIC 编程语言非常有用——即使不是必需的。选择一套正确的软件开发工具也会使升级变得更容易、更快速。

许多 PIC 的底层存储器架构是哈佛架构,该架构最早在 Intel 的 8051 MCU 中得到广泛部署。该架构有一个内存空间用于存储程序命令,并分配另一个空间用于存储数据。拥有独立的内存空间(可以是片上闪存、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 微控制器架构的设计人员来说,PIC16F 系列芯片可能是最好的选择,该系列芯片已经存在十多年了,并且仍然很受欢迎。因此,该系列拥有互联网上最大的代码库,这意味着许多基本代码已经编写完成,只需下载即可。

这宝贵的资源是无价的。特别是 PIC16F877 的大量代码和原理图,已被在线和课堂教师以及大量专业设计师在许多“入门”项目中使用。然而,它是一种旧的 MCU 设计,Microchip 不建议将其用于新项目。幸运的是,几乎所有的 PIC16F877 设计支持仍然可用于 PIC16F887,其引脚布局和外围设备选项几乎相同。

PIC16F887 运行相同的代码,最多只进行微小的修改。它还使用较便宜的软件开发工具。

PIC16F887 具有 256 字节的 EEPROM 数据存储器和一组外设,使其适用于汽车、工业、家电或消费应用中的 A/D 应用。其数据表可在 此处找到

如何对 PIC 微控制器进行编程

要对 PIC 微控制器(或任何 MCU)进行编程,通常需要以下软件工具:

  • IDE(集成开发环境),将为应用程序编写的符号逻辑转换为程序命令
  • 编译器,将程序转换为设计工程师通常称为 HEX 文件的 MCU 汇编语言
  • IPE(集成编程环境),经过程序调试后,最终可将十六进制文件传输到 PIC 中
  • 在线调试器/编程器

Microchip 的软件开发工具因其性能和易用性而备受推崇。该公司的 MPLAB®X IDE、MPLAB®XC 编译器和 MPLAB® IPE 减轻了设计人员比较和购买第三方工具的负担。Microchip 的基本工具是免费提供的。有关所有 Microchip 开发工具的概述,请访问此处

图 2 显示了 Microchip 公司 MPLABX 集成开发环境 (IDE) 五个类别中的产品。

Microchip-products-available-in-five-categories-of-the-company-MPLABX-Integrated-Development-Environment-IDE

图 2. MPLAB X IDE 涵盖了广泛的辅助 MCU 编程功能。资料来源:Microchip Technology Inc.

对于首次使用 8 位 PIC 的用户,Microchip 推出了 MPLAB® Xpress,使其入门变得更加容易,这是一款基于云的 IDE,可消除下载、安装、配置和定期更新工具的繁琐过程。MPLAB Xpress 包括 MPLAB 代码配置器,它使用户能够使用图形界面和引脚图为 8 位(和 16 位)PIC MCU 自动生成初始化和应用 C 代码。

与任何 MCU 一样,第一步是设置配置寄存器。在这些寄存器中编程的位指定了设备的基本操作,如振荡器模式、看门狗定时器、编程模式和代码保护。必须正确设置这些位才能使代码成功运行。

一旦设置了配置位,程序创建过程的其余部分就取决于应用程序。代码完成后,接下来的步骤就是将基于逻辑的实体移入现实的比特世界。

集成编程环境 (IPE) 具有多种功能,包括将 PC 或工作站上创建的程序传输到 MCU。如前所述,Microchip 的环境结合了这些功能,但三个重要的概念是模拟、调试和编程 PIC。对于软件工具及其使用方法的完整描述超出了本文的范围。

然而, PICkit™ 3 在线调试器/编程器 值得一提,因为它是附加硬件,因此从概念上来说比其他工具的软件配置更进一步。在应用程序传输到 MCU 后使用。PICkit 3 由运行 MPLABX IDE 软件的 PC 控制,是工具套件的一个组成部分。

图 3 中的图例显示了正在编程或调试的 MCU 与运行 Microchip Technology 的 MPLABX IDE 的 PC 之间的主要连接。

Legend-showing-the-primary-connections-between-the-MCU-being-programmed-or-debugged-Microchip-PICkit-3-In-Circuit-Debugger-Programmer

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

PIC 单片机的优点

开始使用 PIC MCU 需要彻底了解应用程序、要使用的 PIC 的基本硬件架构以及软件工具链。Microchip 使熟悉其他 MCU 的工程师和真正的设计新手都能非常容易地掌握实际设计过程。免费软件工具使设置成本变得合理,并且 Microchip 的设计生态系统内部和网络上都有大量的代码和建议。对于未来的 PIC 设计师来说,所需要的只是开始的愿望和坚持完成项目的毅力。


您是否在邮件列表上?
注册后可接收专属优惠信息、产品消息以及最新行业新闻。

相关新闻文章

最新消息

Sorry, your filter selection returned no results.

请仔细阅读我们近期更改的隐私政策。当按下确认键时,您已了解并同意艾睿电子的隐私政策和用户协议。

本网站需使用cookies以改善用户您的体验并进一步改进我们的网站。此处阅读了解关于网站cookies的使用以及如何禁用cookies。网页cookies和追踪功能或許用于市场分析。当您按下同意按钮,您已经了解并同意在您的设备上接受cookies,并给予网站追踪权限。更多关于如何取消网站cookies及追踪的信息,请点击下方“阅读更多”。尽管同意启用cookies追踪与否取决用户意愿,取消网页cookies及追踪可能导致网站运作或显示异常,亦或导致相关推荐广告减少。

我们尊重您的隐私。请在此阅读我们的隐私政策。