打印
[学习资料]

PIC16F877A框架与存储器

[复制链接]
1636|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
nawu|  楼主 | 2021-7-6 13:14 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
1.PIC16F877A单片机框架

1.1 为何性能如此之高?
PIC单片机之所以有很高的性能是因为其具备如下特性:
内部为哈佛结构、寄存器文档、大多数单指令周期、指令流水线操作、长字型指令、指令数很少、指令实现的功能基本不重复
1.2 什么是哈佛结构?
冯诺依曼结构可以如下表示:

从同一存储器空间取指令和取操作数据,限制了数据流量。

哈佛结构可以用下图表示:

从两个独立存储空间分别取指令和存取操作数。数据流量增加。针对程序区和数据区可以设计不同的数据线宽度
1.3 指令流水线
大部分单片机, 其取指和执行过程是顺序进行的。指令流水线的引入允许取指和执行可以同步进行。使得指令可以在一个指令周期内执行。程序分支例外 (如 GOTO, CALL 或直接修改PC),这需两个指令周期。
指令流水线操作形式如下图所示:

1.4 寄存器文档概念

RAM被看作是一组通用的寄存器。周边模块(I/O)也作为寄存器。所有的指令操作都可针对所有的寄存器。长字指令使得在指令中直接寻址寄存器。
1.5 指令实例
PIC MCU 指令编码为操作码和参数.编码用一个字完成。


使用特权

评论回复
沙发
nawu|  楼主 | 2021-7-6 13:16 | 只看该作者
2.PIC16F877A单片机存储器
单片机的存储器主要就是两种类型:程序、(RAM 和EEPROM)。存储器的构成主要也是两个部分:Pages - 页 (程序存储器)、Banks – 组 (数据存储器) 。
2.1 存储器表


2.2 分页的程序存储器 (14bit 核)

在14-bit 核的器件中:11 位访问 2048 (2k) 空间,访问更多的空间,需要更多位。程序存储器的分页提供这些位。

程序存储器最大8K(0x0000~0x1FFF)字:四页,每页 2k ;使用  PCLATH<4:3>访问页;复位地址 0000h;中断地址 0004h。
2.3 PC的绝对地址是如何计算的?
用CALL和GOTO指令修改PC

2.4 分组的 数据存储器 (14 bit core)

在14-bit 核的器件中:7 位访问 128 空间;访问更多的空间,需要更多的位;程序存储器的分组提供这些位。
数据存储器: 直接寻址:
低7位的数据地址直接在指令中描述。
高2位在STATUS寄存器中 (又称寄存器组号BANK)。


2.5 数据存储器的组成
数据存储器共分成4个组:SFR映射到最顶端32 位置;通过RP0,1 和 IRP 选择组。


使用特权

评论回复
板凳
nawu|  楼主 | 2021-7-6 13:16 | 只看该作者
3. PIC12F675单片机的寄存器图


使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

72

主题

3307

帖子

3

粉丝