单片机第二章._第1页
单片机第二章._第2页
单片机第二章._第3页
单片机第二章._第4页
单片机第二章._第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、1 存储器是单片机中一个非常重要的部件,专存储器是单片机中一个非常重要的部件,专门用于存放指令、数据和运算结果。门用于存放指令、数据和运算结果。 分析分析F877F877单片机存储器构架,可以从其配置单片机存储器构架,可以从其配置的三大模块着手进行,它们是:的三大模块着手进行,它们是: 8 8K l4K l4位位FLASHFLASH程序存储器程序存储器 5128 5128位数据存储器位数据存储器RAMRAM 25682568位可掉电保护数据的位可掉电保护数据的EEPROMEEPROM存储器模存储器模块。块。 2 存储器从使用功能上来分,可分为随机存存储器从使用功能上来分,可分为随机存储器储器R

2、AMRAM(Random Access MemoryRandom Access Memory)和只读存储和只读存储器器ROMROM(Read Only MemoryRead Only Memory)两类。两类。 3 F877F877程序存储器具有程序存储器具有1313位宽的程序计数位宽的程序计数器器PCPC。PCPC指针所产生的指针所产生的1313位地址最大可寻址的位地址最大可寻址的程序存储器空间为程序存储器空间为8 8K K,相应的地址编码范围为相应的地址编码范围为00000000H H lFFFHlFFFH。 F877 F877归属于中档单片机,其指令字节宽度归属于中档单片机,其指令字节宽

3、度为为1414位,内部构架配置了位,内部构架配置了8 8K l4K l4位的闪烁位的闪烁FLASHFLASH程序存储器。程序存储器。 4 一般将整个程序存储器以一般将整个程序存储器以2 2KBKB为单位进行分为单位进行分页(页(PAGEPAGE),),如图所示如图所示F877F877单片机,单片机,8 8KBKB程序程序存储器共分作存储器共分作4 4页,分别称为页,分别称为“页页0”0”、“页页l”l”、“页页2”2”和和“页页3”3”。 程序计数器高程序计数器高8 8位位PCLATHPCLATH的的Bit4-Bit3Bit4-Bit3位构成程序存储器分页的位构成程序存储器分页的选择位,对应的

4、地址空间如下:选择位,对应的地址空间如下: PCLATH Bit4PCLATH Bit4:Bit3Bit3: 0 0 0 0 页页0 0:00000000H H 07FFH 07FFH 0 1 0 1 页页l l:0800H 0800H 0FFFH 0FFFH 1 0 1 0 页页2 2:10001000H H 17FFH 17FFH 1 1 1 1 页页3 3:18001800H H 1FFFH 1FFFH567最大最大8K字字(13 位位) 程序程序存储空间存储空间程序空间按页面划分,程序空间按页面划分,每页每页2K字字 (11 位位);最;最多四页。多四页。页面选择页面选择 PCLATH

5、复位向量地址复位向量地址 0000h中断向量地址中断向量地址 0004h8 程序存储器中有程序存储器中有2 2个单元地址比较特殊,除个单元地址比较特殊,除了具备同其他单元地址一样的普通用途外,还了具备同其他单元地址一样的普通用途外,还具有专门用途:具有专门用途: 0000 0000H H:用作单片机系统的复位矢量;用作单片机系统的复位矢量; 0004 0004H H:用作系统特殊模块的中断矢量。用作系统特殊模块的中断矢量。 9 F877F877用于存储数据的用于存储数据的RAMRAM单元比一般单片单元比一般单片机机RAMRAM的功能要强大得多,它除了具备普通的功能要强大得多,它除了具备普通RA

6、MRAM的功能之外,每一个单元都能实现移位、的功能之外,每一个单元都能实现移位、置位、复位和位测试等通常由寄存器才能完置位、复位和位测试等通常由寄存器才能完成的功能操作。成的功能操作。 10 RAMRAM数据存储器和数据存储器和FLASHFLASH程序存储器一样在空程序存储器一样在空间构架上,进行类似方式进行分区。按横向排间构架上,进行类似方式进行分区。按横向排列,分为列,分为4 4个个“体体”(BANKBANK),),从左到右分别记从左到右分别记为为“体体0”0”、“体体1”1”、“体体2”2”和和“体体3”3”,每,每个体为个体为128128个个8 8位宽的存储器单元。位宽的存储器单元。

7、RP1 RP1:RP0 RP0 体域体域 寄存器地址寄存器地址 0 0 0 0 体体0 0: 000 000H 07FHH 07FH 0 1 0 1 体体1 1: 080 080H 0FFHH 0FFH 1 0 1 0 体体2 2: 100 100H l7FHH l7FH 1 1 1 1 体体3 3: 180 180H H lFFHlFFH11四个存储体每个 128 字节特殊功能寄存器 存储体选择通过 Status中的 RP0,1 和 IRP512单元368有效GPR1213 有些寄存器单元在有些寄存器单元在4 4个体上是互相映射的,个体上是互相映射的,如状态寄存器如状态寄存器STATUSST

8、ATUS、间接寻址寄存器间接寻址寄存器INDFINDF、程序计数器低程序计数器低8 8位位PCLPCL、文件选择寄存器文件选择寄存器FSRFSR、程序计数器高程序计数器高8 8位位PCLATHPCLATH和中断控制寄存器和中断控制寄存器INTCONINTCON。 所谓互为映射就是说,在所谓互为映射就是说,在4 4个体内的相同位个体内的相同位置,物理上对应同一个寄存器单元,所以该单置,物理上对应同一个寄存器单元,所以该单元具备元具备4 4个不同的地址。个不同的地址。 14 F877F877单片机的通用寄存器单片机的通用寄存器GPRGPR(General General Purpose Regis

9、tersPurpose Registers),),可由用户自行支配存放可由用户自行支配存放随机数据。随机数据。 地址区域:地址区域:F0HF0H- -FFHFFH、170H170H- -l7FHl7FH和和1 1F0HF0H- -1 1FFHFFH,都可以索引(或映射)到体都可以索引(或映射)到体0 0的的1616个个RAMRAM单元。单元。 这样安排是为了便于中断服务程序的设计和这样安排是为了便于中断服务程序的设计和数据处理,就可以在程序设计中能够有效突破数据处理,就可以在程序设计中能够有效突破体的限制而定义通用的变量函数。体的限制而定义通用的变量函数。15 特殊功能寄存器特殊功能寄存器SF

10、RSFR(Special Function Special Function RegistersRegisters)是用于专用目的的寄存器,每个寄是用于专用目的的寄存器,每个寄存器单元,甚至其中的每一位,都有它自己特存器单元,甚至其中的每一位,都有它自己特定的名称和用途。定的名称和用途。 主要涉及主要涉及PICPIC内核结构、外围功能模块的内核结构、外围功能模块的配置和数据通信方式的定义,是单片机赖于正配置和数据通信方式的定义,是单片机赖于正常运行的工作平台。所以,特殊功能寄存器又常运行的工作平台。所以,特殊功能寄存器又称为专用寄存器。称为专用寄存器。 可以依据它们不同的用途分为两类:一类可以

11、依据它们不同的用途分为两类:一类是与是与CPUCPU内核相关的寄存器;另一类是与外围模内核相关的寄存器;另一类是与外围模块相关的寄存器。块相关的寄存器。 16 状态寄存器的内容用来记录算术逻辑单元状态寄存器的内容用来记录算术逻辑单元ALUALU的运算结果状态、的运算结果状态、CPUCPU的特殊运行状态以及的特殊运行状态以及RAMRAM数据存储器体间选择等信息。数据存储器体间选择等信息。 Bit7Bit7Bit6Bit6Bit5Bit5Bit4Bit4Bit3Bit3Bit2Bit2Bit1Bit1Bit 0Bit 0IRPIRPRP1RP1RP0RP0T0 T0PD PDZ ZDC DCC C

12、17Bit0Bit0C C:进位进位/ /借位标志,被动参数。借位标志,被动参数。 0 0:执行加法(或减法)指令时,如果最高:执行加法(或减法)指令时,如果最高位无进位(或有借位);位无进位(或有借位); 1 1:执行加法(或减法)指令时,如果最高:执行加法(或减法)指令时,如果最高位有进位(或无借位)。位有进位(或无借位)。 18Bit1Bit1DCDC:辅助进位辅助进位/ /借位标志,被动参数。借位标志,被动参数。 0 0:执行加法(或减法)指令时,如果低:执行加法(或减法)指令时,如果低4 4位位向高向高4 4位无进位(或有借位);位无进位(或有借位); 1 1:执行加法(或减法)指令

13、时,如果低:执行加法(或减法)指令时,如果低4 4位位向高向高4 4位有进位(或无借位)。位有进位(或无借位)。Bit2Bit2Z Z:零标志,被动参数。零标志,被动参数。 0 0:算术或逻辑运算结果不为:算术或逻辑运算结果不为0 0; 1 1:算术或逻辑运算结果为全:算术或逻辑运算结果为全0 0。 19Bit6-Bit5Bit6-Bit5RP1-RP0RP1-RP0:RAMRAM数据存储器体选位,数据存储器体选位,仅用于直接寻址。仅用于直接寻址。 两位复合选择两位复合选择RAMRAM数据存储器数据存储器4 4个体,具个体,具体关系如下:体关系如下: RP1RP1、RP0 = 0 0 RP0

14、= 0 0 选中体选中体0 0 RP1RP1、RP0 = 0 1 RP0 = 0 1 选中体选中体1 1 RP1RP1、RP0 = 1 0 RP0 = 1 0 选中体选中体2 2 RP1RP1、RP0 = 1 1 RP0 = 1 1 选中体选中体3 320Bit7Bit7IRPIRP:RAMRAM数据存储器体选位,仅用于间数据存储器体选位,仅用于间接寻址。接寻址。 0 0:选择数据存储器低位体:选择数据存储器低位体: 即体即体0 0(FSRFSR的的Bit7=0Bit7=0)或体或体1 1(FSRFSR的的Bit7=1Bit7=1);); 1: 1: 选择数据存储器高位体:选择数据存储器高位体

15、: 即体即体2 2(FSRFSR的的Bit7=0Bit7=0)或体或体3 3(FSRFSR的的Bit7=1Bit7=1)。)。 21 在在RAMRAM数据存储器中,有一个非常特别的寄数据存储器中,有一个非常特别的寄存器存器INDFINDF它的专有功能是与它的专有功能是与FSRFSR寄存器配合,实寄存器配合,实现间接寻址。现间接寻址。 当访问地址当访问地址INDFINDF时,实际上是访问以时,实际上是访问以FSRFSR内内容为地址的数据存储器容为地址的数据存储器RAMRAM单元。单元。 22 在直接寻址中,体选码来自状态寄存器在直接寻址中,体选码来自状态寄存器STATUSSTATUS的的RP1R

16、P1和和RPORPO位,体内的单元地址直接来位,体内的单元地址直接来自指令机器码。而在间接寻址中,体选码由自指令机器码。而在间接寻址中,体选码由STATUSSTATUS的的IRPIRP位和位和FSRFSR寄存器的寄存器的BIT7BIT7组成。组成。 23 程序计数器程序计数器PCPC指针宽指针宽1313位,它的内容指向位,它的内容指向CPUCPU将要执行的下一条指令所在程序存储器单元将要执行的下一条指令所在程序存储器单元的地址。的地址。 低低8 8位位PCLPCL有自己的地址,可读可写;而高有自己的地址,可读可写;而高5 5位位PCHPCH和其它单片机不一样,即没有自己的地址,和其它单片机不一

17、样,即没有自己的地址,不能用软件访问,也就不能直接写人,只能用不能用软件访问,也就不能直接写人,只能用寄存器寄存器PCLATHPCLATH装载的方式进行间接写人。装载的方式进行间接写人。 24 PCLATHPCLATH对于高对于高5 5位位PCHPCH的装载分两种情况:的装载分两种情况: 一种情况是当执行以一种情况是当执行以PCLPCL为目标的写操作指令为目标的写操作指令时,时,PCPC的低的低8 8位来自算术逻辑单元位来自算术逻辑单元ALUALU,PCPC的高的高5 5位来自位来自PCLATHPCLATH的低的低5 5位;位; 另一种情况是当执行跳转指令另一种情况是当执行跳转指令GOTOGO

18、TO或调用子或调用子程序指令程序指令CALLCALL时,时,PCPC的低的低1111位来自指令码中直接位来自指令码中直接携带的携带的1111位地址,高位地址,高2 2位由位由PCLATHPCLATH3-43-4提供。提供。 2526 通过通过 CALL 和和 GOTO修改修改 PC (程序指针程序指针)2728 主要用于设置定时主要用于设置定时/ /计数器计数器TMR0TMR0、前后分频前后分频器、外部器、外部INTINT中断以及中断以及B B端口的弱上拉功能等各端口的弱上拉功能等各种控制位。种控制位。 Bit 7Bit 6Bit 5Bit 4Bit 3Bit 2Bit 1Bit0RBPUIN

19、TEDGT0CST0SEPSAPS2PS1PS029PS2-PS0TMR0倍率WDT倍率0 0 01:021:010 0 11:041:020 1 01:081:040 1 11:161:081 0 01:321:161 0 11:641:321 1 01:1281:641 1 11:2561:12830Bit3Bit3PSAPSA:前后分频器分配位,主动参数。前后分频器分配位,主动参数。0 0: 分配给分配给TMR0TMR0,作为作为TMR0TMR0的前分频器;的前分频器;1 1: 分配给分配给WDTWDT,作为作为WDTWDT的后分频器。的后分频器。31Bit4Bit4T0SET0SE:T

20、MR0TMR0用于计数器,计数脉冲信用于计数器,计数脉冲信号边沿选择位,主动参数。号边沿选择位,主动参数。0 0: RA4/T0CKIRA4/T0CKI引脚上的上升沿增量;引脚上的上升沿增量;1 1: RA4/T0CKIRA4/T0CKI引脚上的下降沿增量。引脚上的下降沿增量。Bit5Bit5T0CST0CS:定时定时/ /计数器计数器TMR0TMR0时钟源选择时钟源选择位,主动参数。位,主动参数。0 0: 用内部指令周期时钟(用内部指令周期时钟(CLKOUTCLKOUT)作为作为TMR0TMR0的触发脉冲;的触发脉冲;1 1: 用用T0CKIT0CKI引脚上的外部时钟作为引脚上的外部时钟作为

21、TMR0TMR0的的触发脉冲。触发脉冲。32Bit6Bit6INTEDGINTEDG:INTINT中断信号触发边沿选择位,中断信号触发边沿选择位,主动参数。主动参数。0 0: BR0/INTBR0/INT引脚上的上升沿触发;引脚上的上升沿触发;1 1: BR0/INTBR0/INT引脚上的下降沿触发。引脚上的下降沿触发。Bit7Bit7RBPURBPU:B B端口弱上拉使能位,主动参数。端口弱上拉使能位,主动参数。0 0: RB0-RB7RB0-RB7引脚弱上拉使能;引脚弱上拉使能;1 1: RB0-RB7RB0-RB7引脚弱上拉不使能。引脚弱上拉不使能。 33 主要用于中断控制主要用于中断控

22、制方式的方式的设置设置。bit7bit7bit6bit6bit5bit5bit4bit4bit3bit3bit2bit2bit1bit1bit0bit0GIEGIEPEIEPEIET0IET0IEINTEINTERBIERBIET0IFT0IFINTFINTFRBIFRBIF343536EEDATA:是一个专用数据读是一个专用数据读/写寄存器,用写寄存器,用于临时存放对于临时存放对EEPROM数据存储器进行读数据存储器进行读/写操作的数据。写操作的数据。 EEADR:是一个专用地址读是一个专用地址读/写寄存器,用写寄存器,用于临时存放对于临时存放对EEPROM数据存储器进行读数据存储器进行读/

23、写访问的单元地址。写访问的单元地址。 37EECON1:EEPROM数据存储器读数据存储器读/写控制第写控制第一寄存器,主要用于读一寄存器,主要用于读/写方式的设定和初写方式的设定和初始化寻址控制。始化寻址控制。 bit7bit7bit6bit6bit5bit5bit4bit4bit3bit3bit2bit2bit1bit1bit0bit0EEPGDEEPGD - - - -WRERRWRERRWRENWRENWR WRRD RD38394041EECON2:EEPROMEEPROM数据存储器读数据存储器读/ /写控制第二写控制第二寄存器,是一个虚拟寄存器,专门用于寄存器,是一个虚拟寄存器,专门用于EEPROMEEPROM数据存储器写操作的次序控制。数

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论