工业控制 | 能源技术 | 汽车电子 | 通信网络 | 安防监控 | 智能电网 | 移动手持 | 无线技术 | 家用电器 | 数字广播 | 消费电子 | 应用软件 | 其他方案

PIC16C84单片机介绍

作者:dolphin时间:2011-05-05

PIC16C84是8位CMOS EEPROM微控制器。它有高性能的类似于RISC的指令,共有35条单字节的指令,所有的指令除程序分支指令需要两个指令周期外,都只需要一个指令周期。当主振频率为10MHZ时一个指令周期为400ns。程序指令的宽度为14位,在芯片内有1K×14的EEPROM程序存储器。

数据的宽度为8位,在芯片内有36×8的静态RAM的通用寄存器,64×8的EEPROM的数据存储器。8级深度的硬堆栈。具有直接、间接、相对寻址方式。有4个中断源;外部RBO/INT引脚;TMRO计时器溢出,PORTB<7:4>引脚上信号的改变;数据写入EEPROM完成。

数据存储器的擦/写可达1000000次,数据的保持大于40年。有13位的I/O引脚,可以单独直接控制。每一个I/O引脚均可承受25mA的输入/输出电流,这样就可以直接驱动LED。有8位的计时/计数器(TMRO)并带有8位可编程的预分频。有通电复位(POR);功耗上升(POWER-UP)计时器(PWRT);振荡器起动计时器(OST);看门狗计时器(WDT),为了能可靠工作,它有自己的RC振荡器。有代码保证功能。有SLEEP(睡眠)方式,以节者功耗。有4种可供选择的振荡器:RC(低成本的RC振荡器);XT(标准的晶体/谐振器);HS(高速晶体/谐振器);LP(低功耗,低频率的晶体)。工作电压的范围宽2.0V~6.0V。

PIC16C84最大的特点是具有1K×14位的电可擦除的程序存储器和64×8位的电可擦除的数据存储器,这将为系统开发和各种应用提供了更多的方便。

时钟和指令周期

从OSCI来的时钟输入在内部经4分频。产生互不叠加的时佛周期,每4个时钟周期(θ1,θ2,θ3,θ4)组成一个指令周期。在内部、程序计数内对每一个θ1加1,然后从程序存储器取指令,取出的指令在θ4时放入指令寄存内。在下一个θ1利θ4期间指令被执行。取指令和执行指令采用流水线技术,一个指令周期取指令,下一个指令周期执行已取出的指令,同时又取出下一条指令。所以每条指令执行,CPU的时间是一个指令周期。当某条指令要改变程序计数器的内容时(如分支指令),则需要两个指令周期才能完成。被取出的指令在执行指令周期的θ1时放入指令寄存器,在θ2,θ3,θ4时译码并执行指令。在θ2期间读操作在θ4期间写操作数。

存贮器的结构

在PIC16C84中有两个存储器块。即程序存储器和数据存储器。每一块具有它自己的总线,即可在同一时钟周期访问每一块。数据存储器被进一步分成通用RAM和专用功能寄存器(SFRs)。专用功能寄存器用于控制外设模式。数据存储器也包含有数据EEPROM存储器。这个存储器并不直接映象到数据存储器,而是间接映象的。即由一个间接寻址的指针指明要读/写的数据EEPROM的地址。64个字节的数据EEPROM具有的地址是0~3FH。

3-1程序存储器的结构

PIC16C84具有13位程序计数器,寻址能力为8K×14位的程序存储器空间。实际上对于PIC16C84能供使用的只有1K×14位的程序存储器(地址为0000~03FFH)。寻址上述单元,如超过了上述地址范围,地址将卷绕。例对20H单元与地址420H,820H,C20H,1020H,1420H,1820H,1C20H都将访问到它。系统复位时PC的值为0000H,中断向量是0004H。

PC<12:0>

CALL,RETURN13

RETFIE,RETLW1级堆栈

8级堆栈

复位地址0000H

外部中断向量0004H

用户存贮空间3FFH

1FFFH

图4-2程序存储的映象和堆栈

 

3-2数据存储器的结构

数据存储器被分成两个区域。第一个是专用功能寄存器(SFR)区域,第二是通用寄存器区域(GPR)。SFR控制着器件的操作。数据存储器被分成0块和1块。通过程序时状态寄存器STATUS中的RP1:RP0位的设置来选择0块(RP1=0,RP0=0)或1块(RP0=1)。

其中带有斜线的部分是实际不存在的单元,带有*号的单元没有物理寄存。指令MOVWF和MOVF可以把W寄存器的值(W寄存器是器件内部的工作寄存器)传送到寄存器文件(“F”)中的任何单元,反之也可以。整个数据存储器可以直接寻址或通过文件选择寄存器(FSR)进行间接寻址。间接寻址要根据状态寄存器的RP1:RP0位的状态决定访问数据存储器的某一块,数据存储器的两块中都被分成通用寄存器和专用寄存器。其中每块低地址单元留作专用寄存器,专用寄存器以上地址的单元为通用寄存器,它们是静态RAM。

1.通用寄存器文件寄存器文件可以直接寻址或通过FSR间接寻址。所有器件都有一定数量的通用寄存器(GPR),它们的数据宽度是8位。PIC16C84只有36个字节的通用寄存器,地址为0CH~2FH,对1块对应的8CH~AFH的访问都将实际访问0CH~2FH(地址的高位被忽略)。

文件地址

00间接寻址地址(*)间接寻址地址(*)80

01TMRO OPTION81

02PCL PCL82

03STATUS STATUS83

04FSR FSR84

05PORTA TRISA85

06PORTB TRISB86

0787

08EEDATA EECON188

09EEADR EECON2(*)89

0A PCLATH PCLATH8A

0B INTCON INTCON8B

36个通用寄映象到存器(SRAM)0块2F AF7F FF0块1块

2.专用功能寄存器

CPU和外设使用专用寄存器以控制器件的操作。专用寄存是静态RAM。下面介绍几个重要的专用寄存器

①状态寄存器

状态寄存器包含有ALU(复术逻辑运算单元)的算术状态,复位状态和对数据存储器的块选择,与任何寄存器一样,状态寄存器可以作为任何指令的目的寄存器。如果状态寄存器作为某指令的目的寄存器,而那条指令要影响Z、DC,C位的状态,则禁止写这三位。图4-4是状态寄存器及其状态。

R/WR/W R/W R R R/W R/W R/W

IRP RP1RP0TO PD Z DC Cbit7bit0

其中C是进位位,对ADDWF和ADDLW指令,当这一位为1,表示指令运算的结果的最高有效位产生了进位输出。减法指令执行的是加第二操作数的新码。对于循环指令(RRF,RLF),这一位即可以来自于源寄存器的高位,也可以来自于低位。如果这一位为0,表明结果的最高有效位没有产生进位输出。对于减法,这一位的极性取反。DC是数字进位或数字借位位。当这一位为1时,结果的D3位向D4位有进位,否则无进位。对于减法,这位的极性取反。Z是结果为0标志。当这一位为1时,表明算术运算和逻辑运算的结果为0,否则这一位为0,表明运算结果不为0。PD:低功耗位。当这一位为1表明电源加上按正常供电或执行了C LRWDT指令以后,这一位为0表示执行了SLEEP指令(即器件进入了低功耗状态)。TO超时位。当这一位为1时,表明电源加上,进入了正常供电,且执行了CLRWDT和SLEEP指令,这一位为0表明产生了看门狗计时器超时。


关键词: PIC16C84 单片机 介绍

评论

技术专区