深入剖析Microchip PIC16F84A微控制器:特性、应用与开发指南

电子说

1.4w人已加入

描述

深入剖析Microchip PIC16F84A微控制器:特性、应用与开发指南

在电子工程师的工具箱中,微控制器是不可或缺的核心组件。Microchip的PIC16F84A作为一款经典的8位微控制器,凭借其高性能、低功耗和丰富的外设功能,在众多应用领域中得到了广泛的应用。本文将深入剖析PIC16F84A的特性、应用场景以及开发过程中的关键要点,希望能为电子工程师们提供有价值的参考。

文件下载:PIC16LF84AT-04/SO.pdf

一、PIC16F84A概述

PIC16F84A属于PIC® 微控制器的中低端系列,采用18引脚封装,集成了增强型FLASH/EEPROM存储器,具备高性能的RISC CPU。其主要特点包括:

  1. 精简的指令集:仅需学习35条单字指令,除程序分支指令为双周期外,其余指令均为单周期执行,大大提高了执行效率。
  2. 丰富的存储器资源:拥有1024字的程序存储器、68字节的数据RAM和64字节的数据EEPROM,满足不同应用场景下的数据存储需求。
  3. 灵活的外设功能:具备13个I/O引脚,可实现独立的方向控制,并支持高电流灌/拉输出,可直接驱动LED等负载。此外,还集成了TMR0定时器/计数器、外部中断、PORTB引脚变化中断等功能,为系统设计提供了更多的灵活性。
  4. 低功耗设计:采用CMOS增强型FLASH/EEPROM技术,具有低功耗、高速的特点,工作电压范围宽(商业级:2.0V - 5.5V;工业级:2.0V - 5.5V),适用于对功耗要求较高的应用场景。

二、存储器组织

PIC16F84A的存储器分为程序存储器和数据存储器两部分,每个部分都有独立的总线,可在同一振荡周期内进行访问。

1. 程序存储器

程序存储器采用13位程序计数器,可寻址8K x 14的程序存储器空间。对于PIC16F84A,实际物理实现的是前1K x 14(0000h - 03FFh)的地址空间,超出该范围的地址访问将导致回绕。复位向量位于0000h,中断向量位于0004h。

2. 数据存储器

数据存储器分为特殊功能寄存器(SFR)区域和通用寄存器(GPR)区域。SFR用于控制设备的操作,GPR则用于存储临时数据。数据存储器采用分页机制,分为两个存储页(Bank 0和Bank 1),通过STATUS寄存器中的RP0位进行选择。

三、数据EEPROM存储器

数据EEPROM存储器支持字节读写操作,写入时会自动擦除原有数据。该存储器具有较高的擦写次数(典型值为10,000,000次),数据保留时间超过40年。读写操作通过特殊功能寄存器EECON1、EECON2、EEDATA和EEADR间接寻址实现。

1. 读取操作

读取数据EEPROM存储器时,需先将地址写入EEADR寄存器,然后设置EECON1寄存器的RD位,数据将在下一个周期出现在EEDATA寄存器中。

2. 写入操作

写入数据EEPROM存储器时,需先将地址和数据分别写入EEADR和EEDATA寄存器,然后按照特定的序列(写入55h到EECON2,写入AAh到EECON2,然后设置WR位)启动写入操作。为避免意外写入,建议在写入过程中禁用中断,并在不使用时将WREN位清零。

四、I/O端口

PIC16F84A的I/O端口包括PORTA和PORTB,部分引脚具有复用功能,可用于实现外设功能。

1. PORTA寄存器

PORTA是一个5位宽的双向端口,通过TRISA寄存器控制引脚的输入/输出方向。在电源复位时,PORTA引脚默认为输入状态。

2. PORTB寄存器

PORTB是一个8位宽的双向端口,同样通过TRISB寄存器控制引脚的输入/输出方向。PORTB的每个引脚都具有弱上拉功能,可通过OPTION寄存器的RBPU位进行控制。此外,PORTB的RB7:RB4引脚具有引脚变化中断功能,可用于检测引脚状态的变化。

五、Timer0模块

Timer0模块是一个8位的定时器/计数器,具有以下特点:

  1. 可读写操作:可通过TMR0寄存器进行读写操作。
  2. 时钟源选择:可选择内部指令周期时钟或外部RA4/T0CKI引脚的时钟信号作为计数时钟。
  3. 边沿选择:对于外部时钟输入,可选择上升沿或下降沿触发计数。
  4. 可编程预分频器:采用8位可编程预分频器,可选择不同的分频比。
  5. 溢出中断:当TMR0寄存器从FFh溢出到00h时,将触发溢出中断。

六、CPU特殊功能

PIC16F84A具备一系列特殊功能,旨在提高系统的可靠性、降低成本、节省功耗并提供代码保护。

1. 配置位

通过配置位可选择不同的设备配置,如代码保护、上电定时器(PWRT)、看门狗定时器(WDT)和振荡器模式等。

2. 振荡器配置

支持四种振荡器模式:LP(低功耗晶体)、XT(晶体/谐振器)、HS(高速晶体/谐振器)和RC(电阻/电容)。用户可通过配置位FOSC1和FOSC0进行选择。

3. 复位机制

支持多种复位方式,包括上电复位(POR)、MCLR复位、WDT复位和中断唤醒等。不同的复位方式对寄存器的影响不同,可通过STATUS寄存器中的TO和PD位判断复位原因。

4. 中断系统

具有4个中断源:外部RB0/INT引脚中断、TMR0溢出中断、PORTB引脚变化中断和数据EEPROM写入完成中断。中断控制寄存器(INTCON)用于记录中断请求和控制中断使能。

5. 看门狗定时器(WDT)

WDT是一个独立的片上RC振荡器,可在设备运行过程中提供可靠的复位机制。通过配置位WDTE可永久禁用WDT。

6. 低功耗模式(SLEEP)

通过执行SLEEP指令,设备可进入低功耗模式,此时振荡器停止工作,I/O端口保持原有状态。设备可通过外部复位、WDT超时或中断唤醒。

7. 代码保护

通过设置代码保护位,可防止程序存储器被非法读取,保护用户的知识产权。

8. ID位置

四个内存位置(2000h - 2004h)用于存储校验和或其他代码标识号,仅在编程/验证过程中可读写。

9. 在线串行编程(ICSP)

支持在线串行编程,用户可在应用电路中对微控制器进行编程,方便产品的生产和升级。

七、指令集

PIC16F84A的指令集分为字节操作、位操作和立即数/控制操作三类,所有指令均为14位字,除条件测试为真或程序计数器改变的情况外,均在一个指令周期内执行。指令集高度正交,具有较高的执行效率。

八、开发支持

Microchip为PIC16F84A提供了丰富的开发工具,包括集成开发环境(IDE)、编译器、汇编器、链接器、模拟器、仿真器、在线调试器和设备编程器等,方便工程师进行软件开发和调试。

九、电气特性

1. 绝对最大额定值

包括环境温度、存储温度、引脚电压、总功耗、电流等参数,使用时需确保不超过这些额定值,以避免设备损坏。

2. DC特性

涵盖电源电压、RAM数据保留电压、VDD上升速率、电源电流、掉电电流等参数,为电路设计提供了重要的参考依据。

3. AC特性

包括外部时钟频率、振荡器频率、指令周期时间、时钟高/低时间、上升/下降时间等参数,确保设备在不同时钟频率下的正常工作。

十、应用场景

PIC16F84A由于其高性能、低功耗和丰富的外设功能,广泛应用于各种领域,如工业控制、消费电子、智能家居、汽车电子等。例如,在工业控制中,可用于电机控制、传感器数据采集和处理;在消费电子中,可用于智能家电、玩具等产品的控制。

综上所述,Microchip的PIC16F84A微控制器是一款功能强大、性能稳定的8位微控制器。通过深入了解其特性和应用,电子工程师们可以更好地利用这款微控制器进行系统设计,开发出更加高效、可靠的电子产品。在实际应用中,还需根据具体需求合理选择配置位、外设功能和开发工具,以充分发挥PIC16F84A的优势。你在使用PIC16F84A过程中遇到过哪些问题?欢迎在评论区分享你的经验和见解。

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

全部0条评论

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

×
20
完善资料,
赚取积分