深度剖析PIC16F818/819微控制器:特性、应用与设计指南
在当今的电子领域,微控制器扮演着至关重要的角色,广泛应用于各种嵌入式系统、工业控制、消费电子等众多领域。其中,Microchip的PIC16F818/819微控制器以其卓越的性能和丰富的功能,受到了广大电子工程师的青睐。今天,我们就来深入探讨一下这款微控制器的特性、应用以及设计过程中需要注意的要点。
1. 微控制器概述
PIC16F818/819属于PIC® 中低端系列的微控制器,它们在功能上有一定的相似性,但在闪存程序内存、数据内存和数据EEPROM的容量上存在差异。PIC16F818具有1K x 14的闪存程序内存、128字节的数据内存和128字节的数据EEPROM;而PIC16F819则拥有2K x 14的闪存程序内存、256字节的数据内存和256字节的数据EEPROM。这种差异使得工程师可以根据具体的应用需求来选择合适的型号。
这款微控制器具有许多新特性,例如内部RC振荡器,提供了八种可选频率,包括31.25 kHz、125 kHz、250 kHz、500 kHz、1 MHz、2 MHz、4 MHz和8 MHz,可通过配置位将其配置为系统时钟,这为设计带来了极大的灵活性,同时还能减少外部振荡器电路的使用,降低成本。
2. 低功耗特性
在当今追求节能环保的时代,低功耗成为了微控制器的一个重要特性。PIC16F818/819在这方面表现出色,具有多种功耗管理模式。
- 主运行模式(Primary Run):在XT或RC振荡器下,1 MHz、2V时电流仅为87 μA,能够在保证性能的同时,有效降低功耗。
- 内部RC振荡器模式(INTRC):31.25 kHz、2V时电流低至7 μA,非常适合对功耗要求较高的应用场景。
- 睡眠模式(Sleep):2V时电流仅为0.2 μA,几乎达到了极低的功耗水平,能够大大延长电池供电设备的续航时间。
此外,定时器1振荡器在32 kHz、2V时电流为1.8 μA,看门狗定时器在2V时电流为0.7 μA,这些低功耗设计使得PIC16F818/819在一些对功耗敏感的应用中具有明显的优势,如物联网设备、手持设备等。
3. 振荡器配置
PIC16F818/819支持多种振荡器模式,用户可以通过编程三个配置位(FOSC2:FOSC0)来选择适合自己应用的模式,这为不同的设计需求提供了丰富的选择。
- 晶体振荡器模式:包括LP(低功耗晶体)、XT(晶体/谐振器)和HS(高速晶体/谐振器)三种模式。在这些模式下,需要将晶体或陶瓷谐振器连接到OSC1/CLKI和OSC2/CLKO引脚来建立振荡。不同的晶体频率需要选择合适的电容值,以确保振荡器的稳定性和可靠性。例如,对于32 kHz的LP晶体,推荐使用33 pF的电容;对于4 MHz的XT晶体,推荐使用15 pF的电容。
- 外部RC振荡器模式:分为RC和RCIO两种模式。在这种模式下,振荡器频率是电源电压、电阻(REXT)和电容(CEXT)值以及工作温度的函数。推荐的REXT取值范围为3 kΩ至100 kΩ,CEXT > 20 pF。这种模式适合对成本敏感且对时钟精度要求不是特别高的应用。
- 内部振荡器模式:内部振荡器模块可以生成两个不同的时钟信号,其中主输出(INTOSC)是一个8 MHz的时钟源,还可以通过INTOSC后分频器提供从125 kHz到4 MHz的一系列时钟频率;另一个时钟源是内部RC振荡器(INTRC),提供31.25 kHz的输出。这种内部振荡器的设计可以消除对外部振荡器电路的需求,节省电路板空间和成本。
4. 存储器组织
4.1 程序存储器
PIC16F818/819具有13位的程序计数器,能够寻址8K x 14的程序存储器空间。对于PIC16F818,前1K x 14(0000h - 03FFh)是物理实现的;对于PIC16F819,前2K x 14位于0000h - 07FFh。当访问超出物理实现地址的位置时,会发生回绕。复位向量位于0000h,中断向量位于0004h。
4.2 数据存储器
数据存储器分为通用RAM和特殊功能寄存器(SFRs)。特殊功能寄存器用于控制CPU和外设模块的操作。数据EEPROM存储器通过特殊功能寄存器进行间接寻址,PIC16F818的128字节数据EEPROM存储器地址范围为00h - 7Fh,PIC16F819的256字节数据EEPROM存储器地址范围为00h - FFh。
5. 外设功能
5.1 I/O端口
PIC16F818/819具有16个I/O引脚,每个引脚都可以独立配置方向。PORTA是一个8位宽的双向端口,部分引脚与模拟输入和VREF输入复用;PORTB也是一个8位宽的双向端口,部分引脚具有中断变化功能,并且每个引脚都有内部弱上拉电阻。这种丰富的I/O端口配置使得微控制器可以方便地与各种外部设备进行连接和通信。
5.2 定时器模块
- Timer0:8位定时器/计数器,具有8位可编程预分频器,可以选择内部或外部时钟源,并且在溢出时可以产生中断。
- Timer1:16位定时器/计数器,由两个8位寄存器(TMR1H和TMR1L)组成,可以工作在定时器、同步计数器和异步计数器三种模式下。定时器1还可以提供实时时钟(RTC)功能,非常适合需要精确计时的应用。
- Timer2:8位定时器,具有预分频器和后分频器,可以作为CCP1模块PWM模式的时基。
5.3 捕获/比较/PWM(CCP)模块
CCP模块包含一个16位寄存器,可以作为16位捕获寄存器、16位比较寄存器或PWM主/从占空比寄存器。捕获模式可以在CCP1引脚发生特定事件时捕获TMR1寄存器的值;比较模式可以将CCPR1寄存器的值与TMR1寄存器的值进行比较,并根据比较结果进行相应的操作;PWM模式可以产生高达10位分辨率的PWM输出,可用于电机控制、灯光调光等应用。
5.4 同步串行端口(SSP)模块
SSP模块可以工作在SPI(串行外设接口)和I²C(内部集成电路)两种模式下,用于与其他外设或微控制器进行通信。SPI模式可以实现8位数据的同步传输和接收;I²C模式可以实现主/从设备之间的通信,支持7位和10位寻址。
5.5 模数转换器(A/D)模块
A/D模块具有五个输入通道,可将模拟输入信号转换为相应的10位数字信号。该模块具有独特的功能,能够在设备处于睡眠模式时工作,只需将A/D转换时钟设置为内部RC振荡器即可。
6. 特殊功能
6.1 复位
PIC16F818/819支持多种复位方式,包括上电复位(POR)、电源定时器(PWRT)、振荡器启动定时器(OST)、掉电复位(BOR)等。这些复位机制可以确保微控制器在各种情况下都能稳定可靠地工作。
6.2 中断
微控制器具有多达九个中断源,包括外部中断、PORTB变化中断、定时器溢出中断等。通过中断控制寄存器(INTCON)可以记录各个中断请求,并可以通过全局中断使能位(GIE)来启用或禁用所有未屏蔽的中断。
6.3 看门狗定时器(WDT)
WDT由内部RC振荡器驱动,当启用时,INTRC振荡器也会被启用。在正常操作中,WDT超时会导致设备复位;在睡眠模式下,WDT超时会使设备唤醒并继续正常操作。通过配置位可以永久禁用WDT。
6.4 睡眠模式
睡眠模式是一种低功耗模式,通过执行SLEEP指令可以进入该模式。在睡眠模式下,振荡器驱动关闭,I/O端口保持进入睡眠模式前的状态。设备可以通过外部复位、WDT唤醒或中断从睡眠模式中唤醒。
6.5 代码保护
微控制器提供了代码保护功能,可以防止程序内存被非法读取。同时,根据配置位的设置,还可以选择性地禁止对程序内存某些区域的写入操作。
6.6 在线串行编程(ICSP)
PIC16F818/819支持在线串行编程,只需通过两条线用于时钟和数据,以及另外三条线用于电源、接地和编程电压,就可以在最终应用电路中对微控制器进行串行编程。这为产品的生产和维护带来了极大的便利。
7. 开发支持
Microchip为PIC微控制器提供了丰富的开发工具,包括集成开发环境(IDE)、编译器、汇编器、模拟器、仿真器、在线调试器和设备编程器等。这些工具可以帮助工程师更加高效地进行开发和调试工作,提高开发效率和产品质量。
总结
PIC16F818/819微控制器凭借其低功耗特性、丰富的振荡器配置、多样化的外设功能和强大的特殊功能,为电子工程师提供了一个强大而灵活的设计平台。无论是在低功耗应用、实时控制应用还是通信应用方面,它都能够发挥出出色的性能。希望通过本文的介绍,能够帮助各位工程师更好地了解和应用这款微控制器,在实际设计中取得更好的成果。大家在使用过程中遇到什么问题,或者有什么独特的应用经验,欢迎在评论区交流分享。
以上内容为电子工程师设计博文,介绍了PIC16F818/819微控制器的特性、应用和设计要点,语言风格符合工程师的交流习惯,具有一定的专业性和实用性。
-
微控制器
+关注
关注
49文章
8830浏览量
165582 -
低功耗
+关注
关注
12文章
3981浏览量
106848
发布评论请先 登录
深度剖析PIC16F818/819微控制器:特性、应用与设计指南
评论