电子说
在嵌入式系统的设计领域,微控制器扮演着至关重要的角色。今天,我们就来深入探讨一下Microchip的PIC16C72系列8位CMOS微控制器,这一系列涵盖了PIC16C72和PIC16CR72两款器件,它们具备高性能、低功耗和丰富的外设功能,广泛适用于各类应用场景。
文件下载:PIC16LC72T-04/SO.pdf
PIC16C72系列采用了高性能的RISC CPU,指令集简单,仅需学习35条单字指令。除程序分支指令为双周期外,其余均为单周期指令,这大大提高了指令执行效率。其工作速度范围为DC - 20 MHz时钟输入,DC - 200 ns指令周期,能满足不同应用场景对处理速度的需求。
该系列拥有2K x 14位的程序内存和128 x 8位的数据内存(RAM)。程序内存可容纳足够的指令,数据内存则能满足数据的存储和处理需求。同时,复位向量位于0000h,中断向量位于0004h,方便进行程序的初始化和中断处理。
芯片具备多种复位机制,包括上电复位(POR)、上电定时器(PWRT)、振荡器启动定时器(OST)和欠压复位(BOR),确保系统在各种情况下都能稳定启动。此外,还有看门狗定时器(WDT),搭配片上RC振荡器,提高了系统的可靠性。同时,支持可编程代码保护,防止程序被非法读取和修改。
支持节能的SLEEP模式,能有效降低功耗。在不同的工作电压和频率下,功耗表现优秀,例如在5V、4 MHz时功耗小于2 mA,在3V、32 kHz时典型功耗为15 μA,典型待机电流小于1 μA 。
提供多种振荡器选项,可根据实际应用需求选择合适的时钟源,如RC、XT、HS和LP等振荡器模式,满足不同的速度和功耗要求。
8位定时器/计数器,具有8位预分频器,可通过软件编程选择内部或外部时钟源,并能设置外部时钟的边沿触发方式。当寄存器溢出(从FFh到00h)时会产生中断,方便进行定时和计数操作。
16位定时器/计数器,同样可选择内部或外部时钟源,具备预分频器。在睡眠模式下,若使用外部晶体/时钟,仍可进行计数操作。此外,还可通过CCP模块触发复位,实现更灵活的定时控制。
8位定时器,拥有8位周期寄存器、预分频器和后分频器。当TMR2与PR2匹配时会产生中断,还可作为CCP模块PWM模式的时基,为PWM输出提供稳定的时钟信号。
该模块包含一个16位寄存器,可工作在捕获、比较和PWM三种模式下。在捕获模式下,可捕获TMR1寄存器的16位值;在比较模式下,将CCPR1寄存器的值与TMR1寄存器的值进行比较,并根据比较结果驱动引脚输出;在PWM模式下,可产生高达10位分辨率的PWM输出,广泛应用于电机控制、电源管理等领域。
支持SPI和I²C两种通信协议,可用于与其他外设或微控制器进行通信。不同模式下的寄存器定义和操作略有差异,用户可根据实际需求进行配置。在SPI模式下,能实现8位数据的同步收发;在I²C模式下,可实现多设备之间的通信,支持7位和10位寻址。
具备5通道的8位模数转换器,可将模拟输入信号转换为相应的数字信号。可选择内部或外部参考电压,并且支持在睡眠模式下进行转换。在进行A/D转换时,需要注意模拟输入源的阻抗和采集时间,以确保转换的准确性。
采用13位程序计数器,可寻址2K x 14位的程序内存空间,地址范围为0000h - 07FFh。访问超出物理地址的位置会发生回绕。复位向量位于0000h,中断向量位于0004h,这为程序的执行和中断处理提供了明确的入口地址。
数据内存分为通用寄存器和特殊功能寄存器(SFRs)。通用寄存器可通过直接或间接寻址方式访问,间接寻址通过INDF和FSR寄存器实现,提高了数据访问的灵活性。特殊功能寄存器用于控制核心和外设模块的操作,不同的寄存器在复位时具有不同的值,用户在使用时需要注意这些复位状态。
PIC16C72系列有PORTA、PORTB和PORTC三个双向I/O端口,部分引脚与外设功能复用。在使用时,需要通过相应的数据方向寄存器(TRISA、TRISB、TRISC)来设置引脚的输入/输出方向。例如,在PORTA端口中,部分引脚可作为模拟输入或参考电压输入,使用时需要注意配置ADC相关寄存器;PORTB端口支持弱上拉功能,部分引脚具备电平变化中断功能,可用于检测外部信号的变化;PORTC端口与多个外设功能复用,如Timer1、CCP和SSP等,在启用外设功能时,需要注意TRIS位的设置。
配置位位于程序内存地址2007h,可用于选择芯片的各种配置,如代码保护、欠压复位、上电定时器、看门狗定时器和振荡器模式等。通过合理配置这些位,可满足不同应用场景对系统功能和性能的要求。
支持四种振荡器模式:LP(低功耗晶体)、XT(晶体/谐振器)、HS(高速晶体/谐振器)和RC(电阻/电容)。用户可根据实际需求选择合适的振荡器模式,并根据晶体或谐振器的特性选择合适的电容值,以确保振荡器的稳定运行。
芯片具备多种复位方式,包括上电复位、MCLR复位、WDT复位和欠压复位等。不同的复位方式对寄存器的影响不同,用户可通过软件检测TO和PD位来确定复位的类型。例如,上电复位后,TO和PD位会被置位;WDT复位后,TO位会被清零。
具有8个中断源,通过中断控制寄存器(INTCON)记录中断请求,并通过全局中断使能位(GIE)和各个中断使能位来控制中断的响应。在中断服务程序中,需要注意清除相应的中断标志位,以避免递归中断的发生。
执行SLEEP指令可进入睡眠模式,此时振荡器驱动关闭,功耗降低。可通过外部复位、WDT唤醒或中断等方式从睡眠模式唤醒。不同的外设中断在睡眠模式下的唤醒能力不同,例如TMR1中断(异步计数模式)、SSP(Start/Stop)位检测中断等可唤醒系统,而其他外设由于在睡眠模式下无时钟信号,无法产生中断。
详细规定了芯片的绝对最大额定值、DC和AC特性等参数。例如,环境温度范围为-55°C至+125°C,电源电压范围根据不同型号有所不同,PIC16C72为2.5V至6.0V,PIC16CR72为2.5V至5.5V。同时,还给出了不同振荡器配置和工作频率下的电流消耗等参数,为设计人员提供了重要的参考依据。
Microchip为PIC16C72系列提供了丰富的开发工具,包括实时在线仿真器(PICMASTER)、低成本在线仿真器(ICEPIC)、通用编程器(PRO MATE II)、入门级原型编程器(PICSTART Plus)以及低成本演示板(PICDEM-2)等。此外,还提供了汇编器(MPASM)、软件模拟器(MPLAB SIM)和C编译器(MPLAB-C17)等软件工具,方便开发人员进行代码编写、调试和仿真。
Microchip的PIC16C72系列微控制器凭借其高性能、低功耗、丰富的外设功能和灵活的配置选项,为嵌入式系统设计提供了强大的支持。在实际应用中,设计人员需要根据具体的需求合理选择芯片型号、配置寄存器和编写代码,以充分发挥芯片的性能优势。同时,还需要注意电气特性和开发工具的使用,确保系统的稳定性和可靠性。
你在使用PIC16C72系列微控制器的过程中遇到过哪些问题?又是如何解决的呢?欢迎在评论区分享你的经验和见解。
全部0条评论
快来发表一下你的评论吧 !