PIC16F87X单片机的硬件结构.3
发表:2023-08-29 11:57:13 阅读:291

    1.3 PICl6F87X单片机的硬件结构

    PIC16F87X是微芯公司于1998年底推的一款特色鲜明的MCU子系列.其突出优点是内部集成了一个在

线调试器(InCircuitDcbuggcr).可以实现在线调试和在线编程,这是MCS.51和MCS-96系列单片机不具

备的。另外,微芯公司还为PICl6F87X系列单片机研制了廉价的开发工具MPLAB-ICD,用户使用低成木即

可搭建一个PIC微处理器的开发平台。

    PICl6F87X了系列目前共有7款不同型号的单片机,分别是PICl6F870、PICl6F871、  PICl6F872、PICl6F873、PICl6F874、PICl6F876和PlCl6F877。在这7款单片机中, PICl6F877功能最全,它囊括了其他几款单片机的所有功能。 其他几款单片机都是在PICl6F877功能的基础上通过部分精简得来的。

   1.3.1  PICl6F87X的主要特色

    下面分别从PICl6F87X芯片内核的特色和外围特色两个方面对PICl6F87X进行介绍。

    1.PICl6F87X内核的特色

    PICl6F87X内核的主要特色如下:

    ·高性能的RISC结构CPU。

    ·  精简指令集。仅35条单字节指令。

    ·  除地址分支跳转指令为双周期指令外,其余指令均为单周期指令。

    ·  执行速度:DC.20MHz时钟输入,DC.200ns指令周期。

    ·  最大有8K×14字节(对于PICl6F873/4/6/7)/2Kx l4字节(对于PICl6F870/I/2)的Flash程序存储器。

    ·  最大有368×8字节(对于PICl6F873/4/6/7)/128X8字节(对于PICl6F870/1/2)的RAM    ·

    ·  E2PROM数据存储器。

    ·具有多达l4种中断源。

    ·8级硬件堆栈。

    ·4种寻址方式:立即寻址、直接寻址、问接寻址及寄存器间接寻址。

    ·  上电复位。

    ·  具有上电延时器.保证VDD稳定建立。

    · 具有振荡定时器,保证振荡稳定建立。

    ·  自带振荡式看门狗,不需要任何外部器件。

    ·  可编狂代码保护。

    ·  休眠模式   .    ·

    ·  具有下面4种振荡方式可选。

      RC:阻容振荡。

      Xl:标准晶体/陶瓷振荡。

      HS:高速晶体/陶瓷振荡。

      LP:低功耗荡。

    ·  低功托、高速CMOS技术。

    ·  全静态设计。

    ·  在线串行编程技术ICSP(In—Ci rcuit Serial Prograrnming)。

    ·  在线调试功能。

    ·  宽范围操作电压:2.0V~5.5V。

    .  I/O端口驱动电流高达25mA。

    ·  宽工作温度范围。

      商业级:0C~70℃。

      工业级:一40C~85℃。

      军用级:一40℃~l25℃。

     .低功耗设计:

      在5V工作电压、4MHz时钟下的典型工作电流小于2n1A。

      在3V工作电压、32kHz时钟下的典型工作电流小于20uA。

      典型待机电流小于luA。

    2.PICl6F87X微控制器外围特色

    PICl6F87X微控制器外围色如下。

    ·Timer0:8位定时器,计数器,带8位预分频器。

    ·Timerl:16位定时器,计数器,m预分频器。可在睡眠模式中通过外部时钟来计数。

    ·Timer2:8位定时器/计数器,带有8位周期寄存器、预分频器和后分频器。

    ·  具有捕捉(Capture)、比较(Compare)和PWM模式。

    ·  多通道l0位AID转换器。

    ·  同步串行口SSP:SPI(主模式)和12C(主从模式)。

    ·  通川异步小行口USART。

    ·8位宽并行从口,具有外部、读、写和片选信号。

    具有掉电复位检测电路。当VDD低于VBOR一段时间后,芯片自动进入复位状态,所有 I/O端口都变成高阻状态。当VDD恢复上升到标准值后,:芯片恢复常运行。

    1.3.2 PIC16F87X的内部结构

     PIcl6F87X系列微控制器的内部结构如图1-4和图1-5所示,整个控制器可分为核心区域和外围模块两个部分。其中,核心区域各组成部分是每个微控制器必不可少的,由核心区域完成数据的运算、指令译码、寄存器的寻址等核心功能;外围模块主要是单片机用于同外设备“打交道”的,可以根据不同的功能需求进行自由裁减。

    1.PIC16F87X单片机的核心模块

    核心区域包含的主要部件及其功能介绍如下。

    1)运算器(ALU)和工作寄存器(Wreg)

     运算器(ALU)是一个通用算术、逻辑运算单元,使用它可心对工作寄存器(Wreg)

和任何通用寄存器中的两个数进行算术运算(如加、减、乘、除等)如逻辑运算(如与、

或、异或等。PIC16F87X是8位单片机,ALU的字长是8位。在有两个操作数的指令中,

典型的情况是一个操作数在工作寄存器中,而另一个操作数在通用寄存器中(或者是一个

立即数)。在只有一个操作数的情况下,该数要么在工作寄托存器中,要么在通用寄托存

器中。需要注意的是,工作寄托存器是一个专用于ALU操作的寄托存器,它是不可寻址的。

要据所执行的指令,ALU还可能会影响结构框图中状态寄存器(STATUS)的进位标志(C)

、全零标志(z)等。

      2)程序存储器(ProgramMemkry)和程序计数器(ProgramCounter)

      在单片机内存放程序指令的存储器称为程序存储器。PIC16F87X的所有指令字长为14位,所

以和序存储器的各存储单元是14位宽。一个存储单元存放一条指令。PIC16F87X的程序存储器的

存储容量为2KB~8KB不等,这些程序存储器都是由闪速存储器(Flash)构成的,程序存储器由

程序计数器PC寻址。PIC16F87X的程序计数器为13位宽,可寻址8KB的程序存储器空间。

      3)状态寄存器(STATUS)

     状态寄存器又称标志寄存器,用来反映某一逻辑运算或操作结果的特征,例如是否产生进位或借

位,以及结果是否为0等,它常常配合跳转指令来使用。

       4)数据存储器(RAMFileREGISTERS)

       数据存储器包括通用寄存器和特殊功能寄存器两种,用于存储CPU运算过程中产生的中间数据,

既可以读出也可以写入,除此之外,PIC单片机还提供了功能灵活的各种面向位的操作方法,可直接

对数据存储进行位测试、置位、移位等操作。

       5)间接寻址寄存器INDF和FSR

        间接寻址寄存器INDF和FSR位于PIC数据存储器的顶端,地址00单元(地址码最小)的间接寻址

寄存器INDF是一个空的寄存器,它只有地址码,在物理上不是一个真正的寄存器。它的功能常常与寄

存器FSR(又称选择寄存器)配合工作,实现间接寻址的目的。

      6)复用器(MUX)

      复用器包括数据复用器和地址复用器,数据复用器主要对指令码和数据存储器中的数据进行选,地

址复用器主要对指令码和FSR中的地址进行选择(即一个通路选择器)。

      7)堆栈(Stack)

      当发生程序中断或跳转等操作时,需要对当前主程序断点的地址进行保存,以便执行完其他程序后

返回中断点(即现场保护)。此时开辟一部分先进先出(FIFO)的存储区来存储断点地址,这一存储区就称为堆栈。

      除了以上7个基本部件外,还有上电延时(Power-up TIMER)、起振延时(OscillatorStart-upTimer)、上电复位(Power-onReset)、看门狗(WatchdogTimer)、欠压复位(Brown-outReset)、在线调试(In-CircuitDebugger)、低压编程(Low-Voltageprogramming)、等附加电路,它们主要起到电路保护、方便调试、优化运行等作用,以提高运行的可靠性和可操作性。所有一部件通过内部数据总线或程序总线相连,其详细功能在此不再敷述。

       2.PIC16F87X单片机的外围模块

       PIC16F87X的内部可集成种类丰富的外围模块,在开发过程中充分节省了外围电路。各外围电路的功能和使用方法比较复杂,这里只是列出各模块的基本功能,以便读者对PIC16F87X单片机有一个整体的认识。

       1)基本I/O端口

        PIC16F873/876有RA、RB、RC3个基本输入/输出端口,PIC16F87/877有RA、RB、RC、RD、RE5个基本输入/输出端口,其中RB、RC、RD为8位宽,RA为6位宽,RE为3位宽,共33个引脚。输入/输出方式可编程,部分引脚同其他功能复用。

       2)定时、计数器

      单片内集成了TMR0、TMR1、TMR23个可编程定时器。其中TMR0为8位宽,TMR1、TMR2为16位宽,所有的定时器还可作为计数器使用。除此之外,TMR1与CCP模块配合使用可实现捕捉和比较功能,TMR2和CCP模块配合使用可实现脉宽调制输出功能。

      3)E2PROM数据存储器

      可擦除存储器,容量为256字节,其存储的数据掉电之后不会丢失,因此可心用来务份一些数据,但是擦写次数是有限制的,不能无限次使用。

      4)A/D转换器

      A/D转换器具有5个(RIC16F873/876)或8个(PIC16F874/877)10位分辨率的模/数转转换通道,用于对外部的模拟量进行采样。

       5)捕捉、比较、脉宽调制CCP(CaptureComparePWM)

       捕捉功能可捕捉外部输入脉冲的上升沿或下降沿,产生相应中断,从而可用于测量外部信号的周期、频率、脉宽等;比较功能用于从引脚上输出不同宽度的矩形脉冲和延时信号;脉宽调制功能将产生占空比可调的周期性方波信号,可用来实现直流电机的调速、D/A转换及步进电机的控制等。

       6)同步串行端口SSP(SynchronousSerialPort)

      具有SPI和I2C两种工作模式,主要功能用于同其他设备进行数字通信。

       7)同步、异步收发器(USART)

       用于两线制串行通信,可定义为半双工同步方式和全双工异步方式。

       8)并行从动端口PSP

       用于同其他具有开放总线的微处理器进行高速的数据传输,其数据传输,其数据传输权由通信的另一方掌握,故称为从动端口。

1.3.3PIC16F87X的引脚功能

PIC16F87X系列单片机采用PDIP、SOIC、QFP和PLCC4种封装形式,其外形和引脚如图1-6和图1-7所示。

    1.供电引脚

      PIC单片机的工作电压为2.0V~5.5V,VDD接电源“+”端,VSS接电源“-”端,除了28引脚外,其他芯片上一般都有两VDD和VSS引脚。

      2.振荡器输入/输出引脚

      PIC单片机可采用3种不同的振荡器方式。第一,采用晶振或陶瓷谐振器,将一晶体或陶瓷谐振器连到单片机的OSC1/CLKIN和OSC2/CLKOUT引脚上,以建立振荡。第二,除了可以使用已集成在片内的振荡外,也可以使用由TTL门电路构成的简单振荡器电路,当外接振荡器时,外部振荡信号从OSC1端输入,OSC2端开路。第三,还可采用RC振荡频率随电源电压(VDD)、RC值及工作环境温度的变化而变化,同时由于工艺参数的差异,对不同芯片其振荡器频率将不同。

       3.硬件复位引脚

       PIC单片机除了可以实现软件复位之外,还可以通过MCLR引脚接收外部电路的复位信号,产生硬件复位,此时低电平有效。另外,在编程时,还可以用做编程电压输入端。

       4.I/O及功能引脚

       PIC16F873/876单片机共3组22个端口,PIC16F874/877单片机共5组33个端口,所有端口都要可作为双向的输入/输出端口,且具有锁存功能。此外,其中大部分端口还具有第二和第三功能,以及与其I/O功能复用。这些第二和第三功能包括AD转换、捕捉、比较、脉宽调制输出和串口通信等,具体功能如表1-4和表1-5所示。