PIC16C55X系列8位CMOS微控制器:功能特性与设计应用解析

电子说

1.4w人已加入

描述

PIC16C55X系列8位CMOS微控制器:功能特性与设计应用解析

在电子设计领域,微控制器是众多项目的核心组件,其性能和特性直接影响着产品的功能和稳定性。PIC16C55X系列作为Microchip公司推出的基于EPROM的8位CMOS微控制器,凭借其高性能、低功耗和丰富的功能,在众多应用场景中展现出了卓越的优势。本文将深入探讨PIC16C55X系列微控制器的特性、架构、外设功能以及开发支持等方面,为电子工程师在设计过程中提供全面的参考。

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

一、产品概述

PIC16C55X系列包含PIC16C554、PIC16C557和PIC16C558三款产品,它们属于PIC16CXX家族,具有低成本、高性能、CMOS全静态设计等特点。该系列微控制器采用先进的RISC架构,指令集仅包含35条指令,除程序分支指令为双周期外,其余均为单周期指令(200 ns),工作速度范围为DC - 20 MHz时钟输入,DC - 20 ns指令周期。

1.1 核心特性

  • 高性能RISC CPU:仅需学习35条指令,所有单周期指令(除程序分支),提高了指令执行效率。
  • 丰富的内存配置:不同型号具有不同的程序内存和数据内存容量,如PIC16C554拥有512 x 14的程序内存和80字节的数据内存,PIC16C557和PIC16C558则拥有2K x 14的程序内存和128字节的数据内存。
  • 中断能力:具备3个中断源,可处理外部中断、定时器溢出中断和端口变化中断,增强了系统的实时响应能力。
  • 特殊功能寄存器:包含16 - 18个特殊功能硬件寄存器,用于控制和配置微控制器的各种功能。
  • 硬件堆栈:8级深度的硬件堆栈,方便子程序调用和中断处理。
  • 寻址模式:支持直接、间接和相对寻址模式,提供了灵活的内存访问方式。

1.2 外设特性

  • I/O端口:PIC16C554和PIC16C558拥有13个I/O引脚,PIC16C557拥有22个I/O引脚,每个引脚可独立控制方向,部分引脚具有上拉电阻和高电流源/吸收能力,可直接驱动LED。
  • 定时器:Timer0模块为8位定时器/计数器,具有8位可编程预分频器,可选择内部或外部时钟源,支持溢出中断。

二、架构剖析

2.1 哈佛架构

PIC16C55X采用哈佛架构,程序和数据通过独立的总线从不同的内存中访问,与传统的冯·诺依曼架构相比,提高了带宽。指令操作码为14位宽,使得所有指令均为单字指令,通过14位宽的程序内存访问总线在单周期内获取指令。

2.2 指令流水线

采用两级指令流水线,将指令获取和执行过程重叠,除程序分支指令外,所有指令均能在单周期内执行,提高了指令执行效率。

2.3 内存组织

  • 程序内存:PIC16C554可寻址512 x 14的片上程序内存,PIC16C557和PIC16C558可寻址2K x 14的程序内存。复位向量位于0000h,中断向量位于0004h。
  • 数据内存:数据内存分为两个存储体,包含通用寄存器(GPR)和特殊功能寄存器(SFR)。特殊功能寄存器用于控制和配置微控制器的各种功能,如STATUS寄存器包含算术状态、复位状态和数据存储体选择位。

三、特殊功能特性

3.1 配置位

配置位位于程序内存位置2007h,可通过编程选择不同的设备配置,如代码保护、电源定时器、看门狗定时器和振荡器选择等。

3.2 振荡器配置

支持四种振荡器选项:LP(低功耗晶体)、XT(晶体/谐振器)、HS(高速晶体/谐振器)和RC(电阻/电容)。用户可根据应用需求选择合适的振荡器模式。

3.3 复位机制

PIC16C55X支持多种复位方式,包括上电复位(POR)、MCLR复位、看门狗定时器复位和从睡眠模式唤醒等。不同的复位方式对寄存器的影响不同,可通过STATUS寄存器中的TO和PD位判断复位类型。

3.4 中断系统

具有3个中断源:外部中断RB0/INT、TMR0溢出中断和PORTB变化中断。中断控制寄存器(INTCON)记录中断请求和使能位,全局中断使能位GIE可控制所有未屏蔽的中断。

3.5 看门狗定时器(WDT)

看门狗定时器是一个独立的片上RC振荡器,无需外部组件。可通过配置位WDTE永久禁用,在正常操作中,WDT超时会产生设备复位;在睡眠模式下,WDT超时会使设备唤醒并继续正常操作。

3.6 睡眠模式(SLEEP)

通过执行SLEEP指令进入睡眠模式,此时看门狗定时器清零但继续运行,PD位清零,TO位置位,振荡器驱动关闭。设备可通过外部复位、看门狗定时器唤醒或中断从睡眠模式中唤醒。

3.7 代码保护

可通过配置代码保护位对程序内存进行保护,防止非法读取。

3.8 ID位置

四个内存位置(2000h - 2003h)可用于存储校验和或其他代码标识号,在正常执行期间不可访问,但在编程/验证期间可读可写。

3.9 在线串行编程

PIC16C55X支持在线串行编程,只需两根线用于时钟和数据,三根线用于电源、地和编程电压,方便用户在最终应用电路中对微控制器进行编程。

四、指令集

PIC16C55X的指令集分为字节操作、位操作、文字和控制操作三类,所有指令均为14位字,除条件测试为真或程序计数器改变时需要两个指令周期外,其余指令均在一个指令周期内执行。

4.1 字节操作指令

如ADDWF(将W寄存器和文件寄存器相加)、ANDWF(将W寄存器和文件寄存器进行逻辑与操作)等,可对文件寄存器进行各种算术和逻辑运算。

4.2 位操作指令

如BCF(清除文件寄存器中的位)、BSF(设置文件寄存器中的位)等,可对文件寄存器中的特定位进行操作。

4.3 文字和控制操作指令

如ADDLW(将立即数与W寄存器相加)、CALL(调用子程序)等,可实现数据加载、子程序调用和程序跳转等功能。

五、开发支持

Microchip为PIC16C55X系列微控制器提供了丰富的开发支持工具,包括集成开发环境(MPLAB IDE)、汇编器(MPASM)、编译器(MPLAB C17和MPLAB C18)、模拟器(MPLAB SIM)、仿真器(MPLAB ICE 2000和ICEPIC)、在线调试器(MPLAB ICD)和设备编程器(PRO MATE II和PICSTART Plus)等。

5.1 MPLAB IDE

基于Windows的集成开发环境,提供了编辑、编译、下载和调试等功能,支持多种调试工具,方便用户进行软件开发。

5.2 MPASM汇编器

全功能的通用宏汇编器,可生成可重定位目标文件、Intel标准HEX文件、MAP文件和绝对LST文件等,支持用户自定义宏和条件汇编。

5.3 MPLAB C17和MPLAB C18编译器

完整的ANSI ‘C’编译器,提供强大的集成能力和易用性,支持符号信息调试。

5.4 MPLINK对象链接器和MPLIB对象库管理器

MPLINK可将汇编器和编译器生成的可重定位对象文件进行链接,MPLIB可管理预编译代码库,方便代码的复用和管理。

5.5 MPLAB SIM软件模拟器

在PC主机环境中模拟PIC系列微控制器的指令执行,支持单步执行、执行到断点和跟踪模式,可对数据区域进行检查和修改。

5.6 MPLAB ICE高性能通用在线仿真器

为产品开发工程师提供完整的微控制器设计工具集,支持编辑、构建、下载和源代码调试,具有增强的跟踪、触发和数据监控功能。

5.7 ICEPIC在线仿真器

低成本的在线仿真器,适用于Microchip的PIC16C5X、PIC16C6X、PIC16C7X和PIC16CXXX系列8位一次性可编程(OTP)微控制器,可在无目标应用电路的情况下进行仿真。

5.8 MPLAB ICD在线调试器

基于FLASH PIC MCUs的低成本运行时开发工具,利用FLASH设备的在线调试功能和Microchip的在线串行编程协议,可从MPLAB IDE的图形用户界面进行在线FLASH调试。

5.9 设备编程器

PRO MATE II通用设备编程器和PICSTART Plus入门级开发编程器,可对PIC16C55X系列微控制器进行编程和验证。

六、电气规格

6.1 绝对最大额定值

包括环境温度、存储温度、引脚电压、电源电压、总功耗、最大电流等参数,使用时需确保不超过这些额定值,以保证设备的正常运行和可靠性。

6.2 DC特性

涵盖电源电压、RAM数据保留电压、VDD上升速率、电源电流、掉电电流、看门狗定时器电流等参数,这些参数受工作电压、频率、温度等因素影响。

6.3 定时参数

包括外部时钟频率、周期、高/低时间、上升/下降时间,CLKOUT和I/O定时要求,复位、看门狗定时器、振荡器启动定时器和上电定时器的定时要求,以及Timer0时钟定时要求等。

七、封装信息

PIC16C55X系列微控制器提供多种封装选项,如18引脚PDIP、28引脚PDIP、20引脚SSOP、28引脚SSOP、18引脚SOIC、28引脚SOIC、18引脚CERDIP窗口和28引脚CERDIP窗口等。不同封装的尺寸和引脚定义有所不同,用户可根据应用需求选择合适的封装。

八、应用建议

8.1 代码移植

如果需要将为PIC16C5X编写的代码移植到PIC16C55X,需要注意以下几点:

  • 移除任何程序内存页选择操作(PA2、PA1、PA0位)。
  • 重新审视任何计算跳转操作,确保页位在新方案下设置正确。
  • 消除任何数据内存页切换,重新定义数据变量。
  • 验证所有对STATUS、OPTION和FSR寄存器的写入操作。
  • 将复位向量更改为0000h。

8.2 I/O编程注意事项

  • 双向I/O端口:对I/O端口进行写操作时,内部会先进行读操作,因此在对同时定义了输入和输出的端口使用BCF和BSF等指令时需谨慎,避免意外覆盖输入信号。
  • 连续I/O操作:对同一I/O端口进行写操作后再进行读操作时,需确保引脚电压稳定后再执行读取指令,否则可能读取到旧的引脚状态。

8.3 定时器使用注意事项

  • 外部时钟输入:使用外部时钟输入时,需满足一定的要求,如时钟信号的高/低时间和周期等,以确保定时器的正常工作。
  • 预分频器切换:切换预分频器分配时,需按照特定的指令序列执行,以避免意外的设备复位。

九、总结

PIC16C55X系列微控制器以其高性能、低功耗、丰富的功能和灵活的配置选项,为电子工程师提供了一个强大的设计平台。在实际应用中,工程师可根据具体需求选择合适的型号和配置,结合丰富的开发支持工具,快速开发出稳定、可靠的产品。同时,在设计过程中需注意代码移植、I/O编程和定时器使用等方面的问题,以确保系统的正常运行。希望本文能为电子工程师在使用PIC16C55X系列微控制器进行设计时提供有价值的参考。

你认为PIC16C55X系列微控制器在哪些应用场景中能发挥最大优势呢?欢迎在评论区分享你的看法。

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

全部0条评论

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

×
20
完善资料,
赚取积分