探索Microchip PIC16C5X系列8位微控制器的魅力

电子说

1.4w人已加入

描述

探索Microchip PIC16C5X系列8位微控制器的魅力

在电子工程领域,选择一款合适的微控制器对于项目的成功至关重要。Microchip的PIC16C5X系列8位微控制器以其高性能、低成本和丰富的特性,成为了众多工程师的首选。今天,我们就来深入探讨一下这个系列的微控制器。

文件下载:PIC16C58B-04E SO.pdf

一、PIC16C5X系列概述

PIC16C5X系列是Microchip推出的一系列低成本、高性能的8位全静态、基于EPROM/ROM的CMOS微控制器。它采用了RISC架构,仅有33条单字/单周期指令,除了程序分支指令需要两个周期外,其余指令均为单周期执行,这使得它在相同价格类别中性能远超竞争对手。其12位宽的指令高度对称,与同类8位微控制器相比,代码压缩比达到2:1,易于使用和记忆的指令集大大缩短了开发时间。

1.1 应用领域广泛

PIC16C5X系列适用于从高速汽车和家电电机控制到低功耗远程发射器/接收器、指点设备和电信处理器等各种应用。EPROM技术使得定制应用程序(如发射器代码、电机速度、接收器频率等)变得极为快速和方便。此外,其小尺寸封装适用于空间受限的应用,低成本、低功耗、高性能、易用性和I/O灵活性使其在以前未考虑使用微控制器的领域也具有很高的通用性。

1.1 产品特性丰富

该系列产品具备多种特殊功能,可降低系统成本和功耗。上电复位(POR)和设备复位定时器(DRT)无需外部复位电路;提供四种振荡器配置,包括节能的LP(低功耗)振荡器和低成本的RC振荡器;节能的SLEEP模式、看门狗定时器和代码保护功能提高了系统的成本效益、功耗效率和可靠性。

二、架构剖析

2.1 哈佛架构优势

PIC16C5X采用哈佛架构,程序和数据通过独立的总线访问,与传统的冯·诺依曼架构相比,提高了带宽。这种架构允许指令和8位宽的数据字采用不同的大小,12位宽的程序存储器访问总线可在一个周期内获取12位指令,两级流水线使指令的获取和执行重叠,除程序分支外,所有33条指令均在一个周期内执行。

2.2 灵活的寻址方式

PIC16C5X可以直接或间接寻址其寄存器文件和数据存储器,所有特殊功能寄存器(包括程序计数器)都映射在数据存储器中。其高度正交(对称)的指令集使得可以使用任何寻址模式对任何寄存器执行任何操作,编程简单高效,学习曲线也大大缩短。

2.3 强大的ALU

PIC16C5X包含一个8位ALU和工作寄存器,ALU是一个通用算术单元,能够执行加法、减法、移位和逻辑运算等算术和布尔函数。在双操作数指令中,通常一个操作数是W(工作)寄存器,另一个操作数可以是文件寄存器或立即常量;在单操作数指令中,操作数可以是W寄存器或文件寄存器。

三、振荡器配置

PIC16C5X可以在四种不同的振荡器模式下运行,用户可以通过编程两个配置位(FOSC1:FOSC0)来选择其中一种模式:

3.1 晶体/陶瓷谐振器模式(XT、LP、HS)

在XT、LP或HS模式下,需要将晶体或陶瓷谐振器连接到OSC1/CLKIN和OSC2/CLKOUT引脚以建立振荡。需要注意的是,PIC16C5X振荡器设计需要使用并联切割晶体,使用串联切割晶体可能会导致频率超出制造商的规格。此外,在这些模式下,设备可以由外部时钟源驱动OSC1/CLKIN引脚。

3.2 RC振荡器模式

对于对定时不敏感的应用,RC振荡器选项可以进一步节省成本。RC振荡器的频率受电源电压、电阻(REXT)和电容(CEXT)值以及工作温度的影响,并且由于正常的工艺参数变化,不同单元之间的振荡器频率也会有所不同。为了保证振荡器的稳定性,建议将REXT保持在3k到100k之间,并使用大于20pF的外部电容。

四、复位机制

PIC16C5X设备可以通过以下几种方式进行复位:上电复位(POR)、MCLR复位(正常操作)、MCLR唤醒复位(从SLEEP模式)、看门狗定时器复位(正常操作)和看门狗定时器唤醒复位(从SLEEP模式)。不同的复位条件会设置或清除(overline{TO})和(overline{PD})位(STATUS<4:3>),这些位可以用于确定复位的性质。

4.1 上电复位(POR)

PIC16C5X系列内置了上电复位(POR)电路,在大多数上电情况下提供内部芯片复位。为了使用此功能,用户只需将MCLR/VPP引脚连接到VDD。在某些情况下,如VDD上升过慢,建议使用外部RC电路来实现更长的POR延迟时间。

4.2 设备复位定时器(DRT)

设备复位定时器(DRT)提供了一个标称18ms的超时时间,无论使用何种振荡器模式,只要DRT处于活动状态,处理器就会保持复位状态。DRT延迟允许VDD上升到VDD min以上,并使振荡器稳定,大多数情况下无需外部RC网络连接到MCLR输入,从而节省了成本敏感和/或空间受限应用的成本。

4.3 欠压复位

当设备电源(VDD)降至最小值以下但未降至零,然后恢复时,设备应进行复位。可以构建外部欠压保护电路来实现这一功能。

五、存储器组织

5.1 程序存储器组织

PIC16C54、PIC16CR54和PIC16C55的9位程序计数器(PC)可寻址512 x 12的程序存储器空间;PIC16C56和PIC16CR56的10位PC可寻址1K x 12的程序存储器空间;PIC16CR57、PIC16C58和PIC16CR58的11位PC可寻址2K x 12的程序存储器空间。所有程序存储器均为内部存储器。

5.2 数据存储器组织

数据存储器由寄存器或RAM字节组成,分为特殊功能寄存器和通用寄存器两个功能组。特殊功能寄存器包括TMR0寄存器、程序计数器(PC)、状态寄存器、I/O寄存器(端口)和文件选择寄存器(FSR)等,用于控制I/O端口配置和预分频器选项;通用寄存器用于存储数据和控制信息。

六、I/O端口

I/O寄存器可以在程序控制下进行读写操作,但读指令(如MOVF PORTB,W)始终读取I/O引脚,而不考虑引脚的输入/输出模式。复位时,所有I/O端口均定义为输入(输入处于高阻抗状态),因为I/O控制寄存器(TRISA、TRISB、TRISC)均被设置。

6.1 端口介绍

  • PORTA:是一个4位I/O寄存器,仅使用低4位(RA<3:0>),位7 - 4未实现,读取时为'0'。
  • PORTB:是一个8位I/O寄存器(PORTB<7:0>)。
  • PORTC:对于PIC16C55、PIC16C57和PIC16CR57是8位I/O寄存器,对于PIC16C54、PIC16CR54、PIC16C56、PIC16CR56、PIC16C58和PIC16CR58是通用寄存器。

6.2 TRIS寄存器

TRIS寄存器是写-only寄存器,复位时设置(输出驱动器禁用)。TRIS寄存器的位为'1'时,对应的输出驱动器处于高阻抗(输入)模式;位为'0'时,输出数据锁存器的内容将输出到所选引脚,使能输出缓冲器。

6.3 I/O编程注意事项

一些指令在内部作为读 - 写操作执行,如BCF和BSF指令,在应用于一个或多个引脚用作输入/输出的端口时需要谨慎使用,以免覆盖数据锁存器的内容。此外,在对I/O端口进行写操作后紧接着进行读操作时,需要确保引脚电压稳定,避免读取到错误的状态。

七、定时器0模块

定时器0模块具有8位定时器/计数器寄存器TMR0,可读可写;8位软件可编程预分频器;可选择内部或外部时钟源,并可选择外部时钟的边沿。

7.1 定时器模式

通过清除T0CS位(OPTION<5>)选择定时器模式,在此模式下,定时器0模块将在每个指令周期递增(无预分频器)。如果写入TMR0寄存器,递增将在接下来的两个周期内被禁止,用户可以通过写入调整后的值来解决这个问题。

7.2 计数器模式

通过设置T0CS位(OPTION<5>)选择计数器模式,在此模式下,定时器0将在T0CKI引脚的每个上升或下降沿递增,递增边沿由源边沿选择位TOSE(OPTION<4>)确定。

7.3 预分频器

预分频器可由定时器0模块或看门狗定时器使用,但不能同时使用。通过PSA和PS<2:0>位(OPTION<3:0>)确定预分频器的分配和分频比。当分配给定时器0模块时,所有写入TMR0寄存器的指令将清除预分频器;当分配给看门狗定时器时,CLRWDT指令将清除预分频器和看门狗定时器。

八、特殊功能

8.1 配置位

配置位可用于选择各种设备配置,包括振荡器类型选择和看门狗定时器使能位,以及代码保护位。不同型号的设备代码保护位数量不同。

8.2 看门狗定时器(WDT)

看门狗定时器(WDT)是一个独立的RC振荡器,可通过配置位WDTE永久禁用。它具有标称18ms的超时时间(无预分频器),通过软件控制可分配预分频器,最大超时时间可达约2.3秒。CLRWDT指令可清除WDT和预分频器,SLEEP指令可复位WDT和预分频器。

8.3 低功耗模式(SLEEP)

通过执行SLEEP指令可进入低功耗模式。在此模式下,若看门狗定时器启用,它将被清除但继续运行,(overline{TO})位(STATUS<4>)置位,(overline{PD})位(STATUS<3>)清零,振荡器驱动器关闭,I/O端口保持SLEEP指令执行前的状态。设备可以通过外部复位输入或看门狗定时器超时复位(如果WDT已启用)从SLEEP模式唤醒。

8.4 程序验证/代码保护

如果代码保护位未编程,可读取片上程序存储器进行验证。需要注意的是,Microchip不建议对带窗口的设备进行代码保护。

8.5 ID位置

四个内存位置被指定为ID位置,用户可以存储校验和或其他代码识别号。这些位置在正常执行期间不可访问,但在编程/验证期间可读可写。

九、开发支持

PIC16C5X系列得到了全方位的硬件和软件开发工具的支持,包括集成开发环境(MPLAB® IDE软件)、汇编器/编译器/链接器、模拟器、仿真器、在线调试器、设备编程器和低成本演示板等。这些工具为开发者提供了便利,提高了开发效率。

十、电气特性

文档详细介绍了PIC16C5X系列不同型号在不同温度范围(商业、工业、扩展)下的电气特性,包括绝对最大额定值、直流特性和交流特性等。这些特性为工程师在设计电路时提供了重要的参考依据,确保设备在正常工作条件下稳定运行。

总结

Microchip的PIC16C5X系列8位微控制器以其高性能、丰富的特性和广泛的应用领域,为电子工程师提供了一个强大而可靠的选择。通过深入了解其架构、功能和电气特性,工程师可以充分发挥其优势,设计出更加优秀的电子系统。在实际应用中,我们还需要根据具体需求选择合适的型号和配置,合理使用各种功能,以达到最佳的性能和成本效益。希望本文能对大家在使用PIC16C5X系列微控制器时有所帮助,你在使用过程中有遇到什么问题或者有什么独特的应用经验,欢迎在评论区分享交流。

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

全部0条评论

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

×
20
完善资料,
赚取积分