如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
存储器是单片机中一个非常重要的部件,专门用于存放指令、数据和运算结果。分析F877单片机存储器构架,可以从其配置的三大模块着手进行,它们是:8K╳l4位FLASH程序存储器;512╳8位数据存储器RAM;256╳8位可掉电保护数据的EEPROM存储器模块。存储器从使用功能上来分,可分为随机存储器RAM(RandomAccessMemory)和只读存储器ROM(ReadOnlyMemory)两类。存储器扩展:SRAM6264,EPROM2764。F877程序存储器具有13位宽的程序计数器PC。PC指针所产生的13位地址最大可寻址的程序存储器空间为8K,相应的地址编码范围为0000H~lFFFH。F877归属于中档单片机,其指令字节宽度为14位,内部构架配置了8K╳l4位的闪烁FLASH程序存储器。一般将整个程序存储器以2KB为单位进行分页(PAGE),如图3-1所示F877单片机,8KB程序存储器共分作4页,分别称为“页0”、“页l”、“页2”和“页3”。程序计数器高8位PCLATH的Bit4~Bit3位构成程序存储器分页的选择位,对应的地址空间如下:PCLATHBit4:Bit3:00页0:0000H~07FFH01页l:0800H~0FFFH10页2:1000H~17FFH11页3:1800H~1FFFHPIC16F877单片机架构程序存储器程序存储器中有2个单元地址比较特殊,除了具备同其他单元地址一样的普通用途外,还具有专门用途:0000H:用作单片机系统的复位矢量;0004H:用作系统特殊模块的中断矢量。F877用于存储数据的RAM单元比一般单片机RAM的功能要强大得多,它除了具备普通RAM的功能之外,每一个单元都能实现移位、置位、复位和位测试等通常由寄存器才能完成的功能操作。RAM数据存储器和FLASH程序存储器一样在空间构架上,进行类似方式进行分区。按横向排列,分为4个“体”(BANK),从左到右分别记为“体0”、“体1”、“体2”和“体3”,每个体为128个8位宽的存储器单元。RP1:RP0体域寄存器地址(二进制地址)00体0:000H~07FH01体1:080H~0FFH10体2:100H~l7FH11体3:180H~lFFH根据直接寻址和间接寻址操作码携带址址信息情况,一般把512字节(包括无效地址)的数据存储器分成4个区域,在PIC中被称为“体”(BANK)。体0(000H~07FH)体1(080H~1FFH)体2(100H~17FH)体3(180H~1FFH)RAM区地址:十六进制、二进制。有些寄存器单元在4个体上是互相映射的,如状态寄存器STATUS、间接寻址寄存器INDF、程序计数器低8位PCL、文件选择寄存器FSR、程序计数器高8位PCLATH和中断控制寄存器INTCON。所谓互为映射就是说,在4个体内的相同位置,物理上对应同一个寄存器单元,所以该单元具备4个不同的地址。F877单片机的通用寄存器GPR(GeneralPurposeRegisters),可由用户自行支配存放随机数据。通用寄存器区域:通用寄存器数量:地址区域:F0H~FFH、170H~l7FH和1F0H~1FFH,都可以索引(或映射)到体0的16个RAM单元。这样安排是为了便于中断服务程序的设计和数据处理,就可以在程序设计中能够有效突破体的限制而定义通用的变量函数。特殊功能寄存器SFR(SpecialFunctionRegisters)是用于专用目的的寄存器,每个寄存器单元,甚至其中的每一位,都有它自己特定的名称和用途。主要涉及PIC内核结构、外围功能模块的配置和数据通信方式的定义,是单片机赖于正常运行的工作平台。所以,特殊功能寄存器又称为专用寄存器。可以依据它们不同的用途分为两类:一类是与CPU内核相关的寄存器;另一类是与外围模块相关的寄存器。状态寄存器的内容用来记录算术逻辑单元ALU的运算结果状态、CPU的特殊运行状态以及RAM数据存储器体间选择等信息。Bit0/C:进位/借位标志,被动参数。0:执行加法(或减法)指令时,如果最高位无进位(或有借位);1:执行加法(或减法)指令时,如果最高位有进位(或无借位)。Bit1/DC:辅助进位/借位标志,被动参数。0:执行加法(或减法)指令时,如果低4位向高4位无进位(或有借位);1:执行加法(或减法)指令时,如果低4位向高4位有进位(或无借位)。Bit2/Z:零标志,被动参数。0:算术或逻辑运算结果不为0;1:算术或逻辑运算结果为全0。Bit3/PD:降耗标志。0:休眠指令执行后;1:上电或看门狗清0指令执行后。Bit4/TO:超时标志。0:看门狗发生超时;1:上电或看门狗清0指令或休眠指令执行后。Bit