深入解析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系列微控制器时遇到过哪些问题?又是如何解决的呢?欢迎在评论区分享你的经验和见解。
-
微控制器
+关注
关注
49文章
8830浏览量
165578 -
microchip
+关注
关注
53文章
1669浏览量
121103
发布评论请先 登录
深入解析Microchip PIC16F5X系列8位CMOS微控制器
评论