深入解析Microchip PIC16F5X系列8位CMOS微控制器

电子说

1.4w人已加入

描述

深入解析Microchip PIC16F5X系列8位CMOS微控制器

在电子设计领域,选择一款合适的微控制器至关重要。Microchip的PIC16F5X系列8位CMOS微控制器以其低成本、高性能和丰富的特性,成为众多工程师的首选。今天,我们就来深入了解一下这款微控制器。

文件下载:PIC16F54T-I/SO.pdf

一、产品概述

PIC16F5X是一系列低成本、高性能的8位全静态Flash基CMOS微控制器。它采用RISC架构,仅有33条单字/单周期指令(除程序分支为双周期外),性能远超同价位竞品。12位宽的指令具有高度对称性,相比同类8位微控制器,代码压缩比可达2:1,大大减少了开发时间。

该系列产品适用于多种应用场景,从高速汽车和家电电机控制,到低功耗远程发射器/接收器、指向设备和电信处理器等。其Flash技术便于快速定制应用程序,小尺寸封装适合空间受限的应用。此外,低成本、低功耗、高性能、易用性和I/O灵活性等特点,使其在一些以往未考虑使用微控制器的领域也能发挥作用。

产品型号对比

特性 PIC16F54 PIC16F57 PIC16F59
最大工作频率 20 MHz 20 MHz 20 MHz
Flash程序存储器(x12字) 512 2K 2K
RAM数据存储器(字节) 25 72 134
定时器模块 TMR0 TMR0 TMR0
I/O引脚 12 20 32
指令数量 33 33 33
封装形式 18 - 引脚DIP、SOIC;20 - 引脚SSOP 28 - 引脚DIP、SOIC;28 - 引脚SSOP 40 - 引脚DIP、44 - 引脚TQFP

二、架构概述

哈佛架构优势

PIC16F5X采用哈佛架构,程序和数据通过独立总线访问,与传统冯·诺伊曼架构相比,提高了带宽。12位宽的指令使所有指令均为单字指令,12位宽的程序存储器访问总线可在单周期内获取指令。两级流水线设计使指令的获取和执行重叠,除程序分支外,所有33条指令均在单周期内执行。

寄存器与ALU

PIC16F5X可直接或间接寻址寄存器文件和数据存储器,所有特殊功能寄存器(SFR),包括程序计数器,都映射在数据存储器中。其指令集高度正交,操作简单高效,学习曲线短。此外,它包含一个8位ALU和工作寄存器,可执行算术和布尔运算,运算结果可能影响状态寄存器中的C、DC和Z位。

三、存储器组织

程序存储器

PIC16F54的程序计数器(PC)为9位,可寻址512 x 12的程序存储器空间;PIC16F57和PIC16F59的PC为11位,可寻址2K x 12的程序存储器空间。访问超出物理地址的位置会导致回绕。复位向量在PIC16F54中位于1FFh,在PIC16F57和PIC16F59中位于7FFh。

数据存储器

数据存储器由寄存器或RAM字节组成,分为特殊功能寄存器(SFR)和通用寄存器(GPR)。不同型号的寄存器文件组成有所不同,PIC16F54包含7个SFR和25个GPR,PIC16F57包含8个SFR、8个GPR和64个可通过银行机制寻址的额外GPR,PIC16F59包含10个SFR、6个GPR和128个可通过银行机制寻址的额外GPR。

特殊功能寄存器

SFR用于控制设备的操作,包括TMR0寄存器、程序计数器、状态寄存器、I/O寄存器和文件选择寄存器等。状态寄存器包含ALU的算术状态、复位状态和程序存储器的页面预选位;选项寄存器用于配置Timer0/WDT预分频器和Timer0。

四、振荡器配置

PIC16F5X可在四种不同的振荡器模式下工作,通过编程两个配置位(FOSC1:FOSC0)选择:LP(低功耗晶体)、XT(晶体/谐振器)、HS(高速晶体/谐振器)和RC(电阻/电容)。

晶体振荡器

在XT、LP或HS模式下,需将晶体或陶瓷谐振器连接到OSC1/CLKIN和OSC2/CLKOUT引脚以建立振荡。使用时需注意选择合适的电容和电阻,并参考制造商的建议。

RC振荡器

对于对精确计时要求不高的应用,可选择RC振荡器。其振荡频率受电源电压、电阻和电容值以及工作温度等因素影响,不同封装类型的引脚框架电容差异也会影响频率。

五、复位机制

PIC16F5X可通过多种方式复位,包括上电复位(POR)、MCLR复位、MCLR唤醒复位、WDT复位和WDT唤醒复位。不同的复位条件会影响PC和状态寄存器的状态,可通过状态寄存器中的(overline{TO})和(overline{PD})位确定复位的性质。

上电复位

芯片内置上电复位电路,大多数上电情况下可提供内部芯片复位。若VDD上电过慢,可能需要外部RC电路来实现更长的POR延迟时间。

设备复位定时器

设备复位定时器(DRT)提供约18 ms的复位超时时间,确保VDD上升到最小值以上,并使所选振荡器稳定。该定时器基于内部RC振荡器工作,可减少外部RC网络的使用,降低成本。

欠压复位

当设备电源(VDD)下降到最小值以下但未降至零,然后恢复时,需要进行欠压复位。可通过外部欠压保护电路实现。

六、I/O端口

I/O寄存器可在程序控制下读写,复位时所有I/O端口均定义为输入。不同型号的I/O端口数量和功能有所不同,PORTA为4位I/O寄存器,PORTB为8位I/O寄存器,PORTC、PORTD和PORTE在不同型号中的功能也有所差异。

TRIS寄存器

TRIS寄存器用于控制输出驱动器,写入‘1’使对应输出驱动器处于高阻抗(输入)模式,写入‘0’使输出数据锁存器的内容输出到所选引脚,启用输出缓冲器。

I/O编程注意事项

在使用I/O端口时,需注意一些指令的内部操作可能会影响端口状态。例如,BCF和BSF指令会先读取整个端口,执行位操作后再重写结果,可能会覆盖双向I/O引脚的输入信号。此外,连续的写和读操作需要确保引脚电压稳定,避免读取到旧状态。

七、Timer0模块

Timer0模块具有8位定时器/计数器寄存器TMR0、8位软件可编程预分频器,可选择内部或外部时钟源,并可选择外部时钟的边沿。

定时器模式

通过清除T0CS位选择定时器模式,Timer0模块将在每个指令周期(无预分频器)递增。写入TMR0寄存器会抑制接下来两个周期的递增,可通过写入调整值来解决。

计数器模式

通过设置T0CS位选择计数器模式,Timer0将在T0CKI引脚的上升或下降沿递增,具体取决于T0SE位。

预分频器

预分频器可分配给Timer0模块或看门狗定时器(WDT),但不能同时使用。通过PSA和PS<2:0>位控制预分频器的分配和分频比。

八、CPU特殊功能

配置位

配置位可用于选择各种设备配置,包括振荡器类型、看门狗定时器启用和代码保护等。

看门狗定时器

看门狗定时器(WDT)是一个独立的片上RC振荡器,即使主时钟停止,它仍能运行。可通过配置位WDTE永久禁用WDT。WDT的超时周期可通过预分频器调整,最长可达约2.3秒。

低功耗模式

通过执行SLEEP指令可进入低功耗模式,此时看门狗定时器(若启用)将被清除但继续运行,振荡器驱动关闭,I/O端口保持之前的状态。可通过外部复位或看门狗定时器超时唤醒设备。

代码保护

启用代码保护后,除0x00 - 0x3F的程序存储器位置外,其他位置读取均为‘0’。用户ID位置和配置字可在代码保护启用后进行编程。

在线串行编程

PIC16F5X微控制器可在最终应用电路中进行串行编程,只需两根时钟和数据线,以及三根电源线。这允许制造商在产品发货前对微控制器进行编程,实现最新固件或定制固件的加载。

九、指令集

PIC16F5X的指令集分为字节操作、位操作、字面量和控制操作。所有指令通常在一个指令周期内执行,除非条件测试为真或程序计数器发生改变,此时需要两个指令周期。

指令示例

以ADDWF指令为例,它用于将W寄存器和指定文件寄存器相加,结果可存储在W寄存器或文件寄存器中。其他常见指令如ANDWF、CLRF、COMF等,都有各自的功能和操作方式。

十、开发支持

Microchip为PIC16F5X系列提供了丰富的开发工具,包括集成开发环境(MPLAB IDE)、汇编器、编译器、链接器、模拟器、仿真器、在线调试器和设备编程器等。

MPLAB IDE

MPLAB IDE是一个基于Windows操作系统的应用程序,提供统一的图形界面,可集成各种调试工具,支持源代码编辑、汇编/编译、下载和调试等功能。

其他工具

MPASM汇编器可生成可重定位的目标文件、Intel标准HEX文件等;MPLAB C18和MPLAB C30 C编译器提供强大的集成能力和代码优化;MPLINK对象链接器和MPLIB对象库管理器可有效管理代码库;MPLAB SIM软件模拟器可在PC上模拟微控制器的指令执行,方便代码开发和调试。

十一、电气规格

绝对最大额定值

不同型号的PIC16F5X在环境温度、电源电压、引脚电压、功耗和电流等方面有不同的绝对最大额定值。使用时需注意避免超出这些限制,以免造成设备损坏。

DC特性

包括电源电压、RAM数据保留电压、电源电流和功耗电流等特性,这些特性受工作电压、频率、温度等因素影响。

定时参数

涵盖外部时钟频率、指令周期时间、时钟输入的高低时间和上升/下降时间等参数,这些参数对于确保设备的正常运行至关重要。

十二、封装信息

PIC16F5X系列提供多种封装形式,如18 - 引脚PDIP、SOIC,20 - 引脚SSOP,28 - 引脚PDIP、SOIC、SSOP,40 - 引脚PDIP和44 - 引脚TQFP等。每个封装都有详细的尺寸和引脚布局信息,方便工程师进行设计和布局。

综上所述,Microchip的PIC16F5X系列微控制器凭借其出色的性能、丰富的功能和完善的开发支持,为电子工程师提供了一个强大而可靠的选择。无论是初学者还是有经验的工程师,都能利用其特性开发出高效、稳定的电子系统。你在使用PIC16F5X系列微控制器时遇到过哪些问题?又是如何解决的呢?欢迎在评论区分享你的经验和见解。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分