PIC单片机的存储器幻灯片

上传人:爱****1 文档编号:928219 上传时间:2017-05-22 格式:PPT 页数:71 大小:1.21MB
返回 下载 相关 举报
PIC单片机的存储器幻灯片_第1页
第1页 / 共71页
PIC单片机的存储器幻灯片_第2页
第2页 / 共71页
PIC单片机的存储器幻灯片_第3页
第3页 / 共71页
PIC单片机的存储器幻灯片_第4页
第4页 / 共71页
PIC单片机的存储器幻灯片_第5页
第5页 / 共71页
点击查看更多>>
资源描述

《PIC单片机的存储器幻灯片》由会员分享,可在线阅读,更多相关《PIC单片机的存储器幻灯片(71页珍藏版)》请在金锄头文库上搜索。

1、第三章,PIC单片机的存储器,存储器是单片机的一个非常重要的部件,专门用于存放指令、数据和运算结果。PIC16F877单片机配置了三大存储器模块。 8K14位Flash型程序存储器 5128位RAM型数据存储器 2568位E2PROM型数据存储器,3.1 存储器分类,从使用功能上,存储器可为:随机存储器RAM (Random Access Memory)和只读存储器ROM (Read Only Memory)两类。,随机存储器RAM又称为读/写存储器,用于存放从外部读入的程序、各种输入/输出的数据和运算结果。通信缓冲区、外设的内存映像区和堆栈一般也安排在RAM中。只读存储器ROM通常用于存放固

2、化的程序和常用表格,如微机中的监控程序和BIOS配置等。,3.2 程序存储器架构,程序指针计数器PC宽13位,其输出的13位地址最大可寻址8K程序存储器空间,编码范围为0000H1FFFH。由于PIC单片机指令代码的限制,CALL指令和GOTO指令代码只能提供11位的调用和转移地址,即2K范围。,为实现2K范围外的调用和转移,需用特殊的方式。因此,将8K程序存储器以2K为单位进行分页,共分成4页。,程序存储器的分页,页0 地址范围0000H07FFH页1 地址范围0800H0FFFH页2 地址范围1000H17FFH页3 地址范围1800H1FFFH特殊功能寄存器PCLATH的Bit4、Bit

3、3为程序存储器页面选择位。,3.3 数据存储器构架,RAM是用寄存器实现的,每个单元都可以实现移位、置位、复位和位测试,所以又称为文件寄存器。理论上讲有512个RAM单元。在管理上分成4个体,每128个RAM单元为1个体。,3.3.1 通用寄存器,PIC16F877单片机的通用寄存器(GPR)可由用户根据程序设计的需要,自行支配存取过程数据或计算数值。,通用寄存器在单片机上电复位后,一般各单元的内容是不确定的。尽管在单片机程序运行中时常发现在系统复位后的RAM单元内容处于清0状态,但使用者应注意并养成良好的程序设计习惯,绝不能以此为依据而直接使用。,实际上通用RAM并不足512个单元,仅有36

4、8个单元。这是因为:有19个单元保留未用;有77个特殊功能寄存器;体1、体2和体3的最后16个单元地址映射到体0的070H07FH。这样可用RAM单元的总数为: 512-19-77-48=368,3.3.2 特殊功能寄存器,特殊功能寄存器是为某种专用目的而设计的特殊寄存器,每个寄存器单元,甚至每一位名称的构成方式,都有自己特定的名称和功能。,特殊功能寄存器主要涉及算术逻辑运算结果的状态、PIC基本功能结构、专用功能模块的配置和数据通信方式等内容的定义和系统信息的返回窗口,是单片机赖以正常运行的媒介和工作平台。因此,特殊功能寄存器又称为专用寄存器。,按用途分为两类:一类是与CPU内核相关的寄存器

5、另一类是与专用模块相关的寄存器本章仅介绍最常用的几个特殊功能寄存器,其他寄存器则放在各种功能部件和外围模块的介绍中讲解。,为了更好地说明各位参数,把需要设置定义后才起作用的位参数称为主动参数;而需要根据指令执行结果系统自动返回状态信息的位参数称为被动参数。,主动参数和被动参数,几个专业术语,对某寄存器单元或某位赋值“0”称为“清0”对某寄存器单元或某位赋值“1”称为“置位”或“置1”对于模块中断功能的设定,以“使能”表示,最常用的几个专用寄存器,1、状态寄存器STATUS 地址:03H、83H、103H、183H状态寄存器用于记录算术逻辑单元ALU的运算结果状态和CPU的特殊运行状态以及RAM

6、数据存储器体选择等信息。,状态寄存器STATUS,Bit0(C):进位/借位标志,被动参数 0:执行加法(或减法)指令时,如果最高位无进位(或有借位); 1:执行加法(或减法)指令时,如果最高位有进位(或无借位)。,状态寄存器各位的定义如下:,Bit1(DC):辅助进位/借位标志,被动参数0:执行加法(或减法)指令时,如果低4位向高4位无进位(或有借位);1:执行加法(或减法)指令时,如果低4位向高4位有进位(或无借位)。,Bit2(Z):零标志,被动参数0:算术运算或逻辑运算结果不为0;1:算术运算或逻辑运算结果为0。,Bit6Bit5(RP1RP0):数据存储器体选择位,主动参数,仅用于直

7、接寻址。,PIC16F877单片机寄存器直接寻址, 7位地址直接从指令中获取 2位地址从STATUS寄存器中获取,Bit7(IRP):RAM数据存储器体选位,主动参数,仅用于间接寻址。0:选择数据存储器的低位体,体0或体1,地址是000H0FFH;1:选择数据存储器的高位体,体2或体3,地址是100H1FFH。,PIC16F877单片机寄存器间接寻址, 8位地址来自FSR寄存器 1位地址从STATUS寄存器中获取,直接寻址/间接寻址方式示意图,2、间接寻址寄存器FSR、INDF FSR、INDF用于间接寻址,但需注意,INDF为非物理存在的寄存器。对INDF的操作实际上是以FSR的内容作为要操

8、作的RAM单元的低8位地址。,PIC16F877单片机间接寻址,movlw0x20movwfFSRLOOPclrfINDFincfFSR,FbtfssFSR,7gotoLOOP,例:清除从0x20到0x7F所有RAM单元的内容,程序指针计数器PC宽13位,其内容总是CPU要执行的下一条指令所在的程序存储器的地址,所以执行一条指令后PC自动加1。通常可以将PC指针分成PCL和PCH两部分:,3、与PC指针相关的寄存器PCL和PCLATH,PCLPC的低8位有专用地址:02H、82H、102H、182HPCHPC的高5位PCH不在RAM中,是根本不存在的,用户不可访问,只能通过PCLATH进行间接

9、加载。,寄存器PCLATH在RAM中是真实存在的,地址:0AH、8AH、10AH、18AH。因此,可以认为寄存器PCLATH是程序计数器PC的高位地址(5位),而且是通过特殊的方式装载到PCH中。 PCLATH对于高5位PCH的装载分2种情况:,一种情况是当执行以PCL为目标的写操作指令时,PC的低8位来自算术逻辑单元ALU,PC的高5位来自PCLATH的低5位;另一种情况是当执行跳转指令GOTO或调用子程序指令CALL时,PC的低11位来自指令码中直接携带的11位地址,高2位由PCLATH3-4提供。,1、当执行以PCL为目标的写操作指令时,PC的低8位来自算术逻辑单元ALU,PC的高5位来

10、自PCLATH的低5位。,2、当执行跳转指令GOTO或调用子程序指令CALL时,PC的低11位来自指令码中直接携带的11位地址,高2位由PCLATH3-4提供。,PIC16F877单片机程序指针计数器PC的装载之一,PIC16F877单片机程序指针计数器PC的装载之二,4、选项寄存器OPTION_REG可读/写的寄存器8位地址:81H (体1), 181H (体3)主要用于设置定时器/计数器TMR0、前后分频器、外部INT中断及RB的弱上拉功能等各种控制位。,OPTION_REG选项寄存器,Bit2Bit0(PS2PS0):分频器倍率选择位,主动参数。其倍率与分频器位值的关系如下表:,Bit3

11、(PSA):预计数器分配位(前后分频器分配位),主动参数。预计数器是一个分频器,它是通过开关设置给定时器0(TMR0)和看门狗WDT分时复用。0:将预计数器分配给TMR0,作为TMR0的前分频器;1:将预计数器分配给WDT,作为WDT的后分频器。,Bit4(T0SE):TMR0用于计数器时,外部时钟信号的边沿选择位,主动参数。 0:RA4/T0CKI引脚上的信号上升沿有效(增量); 1:RA4/T0CKI引脚上的信号下降沿有效(增量)。,Bit5(T0CS):TMR0计数脉冲时钟信号源选择位,主动参数。0:用内部指令周期时钟作为TMR0的触发脉冲;1:用RA4/T0CKI引脚上的外部时钟作为T

12、MR0的触发脉冲。,Bit6 (INTEDG): “Interrupt Edge Select”:外中断沿选择位,主动参数。 0:外中断RB0/INT选择上升沿触发; 1:外中断RB0/INT选择下降沿触发。,Bit7(RBPU):“PORTB Pull-up Enable”端口B弱上拉使能位,主动参数 0:使能端口B的弱上拉功能; 1:禁止端口B的弱上拉功能。,5、电源控制寄存器 地址8EH 电源控制寄存器只有2个有效位其中一位用来记录和区分是否发生了上电复位和手动复位或看门狗超时溢出复位另外一位记录用来记录和鉴别是否发生了掉电复位。,电源控制寄存器,Bit0(BOR):电源上电复位标志,被

13、动参数0:发生了上电复位。当发生上电复位时,系统自动清零,应及时用软件将其置位,以便能再次使用该位判断是否发生上电复位;1:未发生上电复位。,两个有效位的含义如下:,Bit1(POR):掉电锁定复位标志,被动参数0:发生了掉电锁定复位,当发生掉电锁定复位时,系统自动清0。应及时用软件将其置位,以便能再次利用该位判断是否发生了电源掉电锁定复位;1:未发生掉电锁定复位。,3.4 失电保护数据存储器构架,E2PROM数据存储器特点:失电数据不丢失,可以进行读/写操作,自动采用先擦除后写入方式。容量:2568位,地址:00HFFH。不能直接访问,只能通过特殊功能寄存器间接访问。,涉及E2PROM数据存

14、储器读/写操作的特殊功能寄存器共有4个:1、EEDATA2、EEADR3、EECON14、EECON2,EEDATA:是一个专用数据读/写寄存器,用于临时存放对于E2PROM数据存储器进行读/写操作的数据。该寄存器的内容是将要读/写的E2PROM数据存储器里的数据。地址:RAM体2的10CH,EEADR:是一个专用地址读/写寄存器,用于临时存放对于E2PROM数据存储器进行读/写操作的单元地址。该寄存器的内容是将要读/写的E2PROM数据存储器的地址。地址:RAM体2的10DH,自E2PEOM中读出的数据或要写入E2PROM的数据,将要读/写的E2PEOM的地址,30H,11001100,EE

15、CON1:E2PROM数据存储器读/写控制寄存器1,主要用于读/写方式的设定和初始化控制。地址:体3的18CH,EECON1的46位是无效定义,其他各位的含义如下:,Bit0(RD):E2PROM数据存储器读操作启动控制位兼状态位。1:启动一次读操作,软件主动置位;0:还没有启动读操作,或表示一次读操作已经完成,由硬件自动清0。,Bit1(WR):E2PROM数据存储器写操作启动控制位兼状态位。1:启动一次写操作,软件主动置位;0:还没有启动写操作,或表示一次写操作已经完成,由硬件自动清0。,Bit2(WREN):E2PROM写操作允许位,主动参数。设置WREN1,允许写E2PROM;设置WREN0,禁止写E2PROM。,Bit3 (WRERR):E2PROM写过程错误标志位,被动参数。当WRERR=1时,一次写操作没有执行完毕,被手动复位或WDT复位;当WRERR=0时,一次写操作完成,没有发生错误。,Bit7(EEPGD):Flash程序存储器 /E2PROM数据存储器选择位。当EEPGD1时,访问Flash程序存储器;当EEPGD0时,访问E2PROM数据存储器。,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > PPT模板库 > 教育/培训/课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号