找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 16808|回复: 9
收起左侧

关于单片机寄存器ACC等到底是属于哪里?什么包含什么

[复制链接]
ID:223571 发表于 2017-8-21 17:01 | 显示全部楼层 |阅读模式
数据存储器RAM里面包含许多特殊功能寄存器,比如累加器ACC,CPU里面也含有累加器ACC,我的困惑是:这些寄存器到底是属于哪里?什么包含什么
回复

使用道具 举报

ID:111634 发表于 2017-8-21 22:35 | 显示全部楼层
没明白你提的问题!“”属于哪里?什么包含什么?“”
回复

使用道具 举报

ID:123289 发表于 2017-8-21 23:56 | 显示全部楼层
楼主问到学习其单片机的要点了:可以认为只有三种:寄存器,外RAM,程序ROM。(这样区分简单明了)
对于51:从00-FFH纳及寄存器(这里就有ACC,SP,PC,R0,P1,P3,THL……),它们是单片机的精华。
外RAM:含EEPROM,放数据用。
程序ROM:含FLASH,ROM……,主要是放程序,也放数据。
重点来说精华的部分:寄存器
单片机是依据指令系统工作的,逐条取指令执行,永不停止(休眠也是一种执行),以8位机为例,理论上只能有256种指令。
你所提到的“东东”在物理上都一样,“统统是存放一个字节地方而矣”,唯一能区分优劣的地方,就是“指令系统”里指令能不能直接访问它们(有,则便于执行),有多少条指令与它相关(多,则利用价值大)。
举例来说:你要将程序存储器2345H单元数与外存1000H单元的数相加,就很麻烦,没有指令将它俩直接相加。所以一般不会用这两个地方来存“数据”,因为存取都麻烦。
但是“指令系统”对A寄存器(即ACC)的眷顾是最多的,操作极其方便,甚至上面所题的两个数相加,都要通过A来间接完成,所以你一定最优先考虑用A来处理数据。
当你看完所有的指令系统的指令后,你就会明白的:
它们都只能存一个字节,不同的是“指令系统”对它们眷顾多寡,从而导致使用的频繁程度不同。
回复

使用道具 举报

ID:223571 发表于 2017-8-22 08:38 | 显示全部楼层
zl2168 发表于 2017-8-21 22:35
没明白你提的问题!“”属于哪里?什么包含什么?“”

就是比如说ACC是在RAM里面还是在CPU里面?RAM与CPU和那么些特殊功能寄存器是什么关系在硬件层面上?
回复

使用道具 举报

ID:223571 发表于 2017-8-22 09:05 | 显示全部楼层
yzwzfyz 发表于 2017-8-21 23:56
楼主问到学习其单片机的要点了:可以认为只有三种:寄存器,外RAM,程序ROM。(这样区分简单明了)
对于51 ...

可以认为只有三种:寄存器,外RAM,程序ROM。(这样区分简单明了),这三者相互独立吗?


外RAM:含EEPROM,放数据用。
我查阅了大量资料,这里面和你讲的理解有点出入,外部有ROM(EEPROM归属于这一类)和RAM,
回复

使用道具 举报

ID:149988 发表于 2017-8-22 10:51 | 显示全部楼层

RE: 关于单片机寄存器ACC等到底是属于哪里?什么包含什么

单片机中RAM为随机存储器,相当于电脑中的内存,ROM相当于电脑中的硬盘。MCS-51单片机中大部分都有片内ROM存储器,少部分,如8031/8032/80C51FA等,片内没有ROM存储器。这就需要外接ROM存储器。有的时候片内的存储器不够用,这就需要外接存储器。在单片机中 是使用片内存储器还是使用外部存储器由单片机EA脚电位决定,当EA脚接高电平时,使用片内存储器,反之,使用片外存储器。累加器ACC是属于CPU中的一个寄存器。它是单片机进行运算的关键部件。
IMG_20200823_091815.jpg
IMG_20200823_091838.jpg
IMG_20200823_091910.jpg
回复

使用道具 举报

ID:123289 发表于 2017-8-22 19:35 | 显示全部楼层
RAM、ROM、EEPROM、EPROM、DRAM、FLASH……只是物理结构不同,逻辑上是可以互换的。都叫存储器!
以51为例:
用MOVX寻址的叫外存储器,可用以上任一种,常用RAM,极少用到DRAM(特殊外设上)。
用MOVC寻址的叫程序存储器,可用以上任一种,常用ROM,FLASH,极少用到RAM(加密程序,复盖运行)。
除外存储器,程序存储器之外,都可以认为是寄存器。
对于单片机,以单片机指令的寻址区分为妥,便于你学习、认识。
当然用其它方式分类一定是可以的。对任何东西的分类总是有前提的。你查再多的资料,着眼点不同,结果不同。明白这个道理就不会限入迷茫。
回复

使用道具 举报

ID:111634 发表于 2017-8-23 21:17 | 显示全部楼层
本帖最后由 zl2168 于 2017-8-23 21:44 编辑
蓝野 发表于 2017-8-22 09:05
可以认为只有三种:寄存器,外RAM,程序ROM。(这样区分简单明了),这三者相互独立吗?

看样子,你是需要系统学一点80C51基础知识。
80C51的存储器组织结构可以分为3个不同的存储空间,分别是:
⑴ 64kB程序存储器(ROM),包括片内ROM和片外ROM;
⑵ 64kB外部数据存储器(简称外RAM);
⑶ 256B(包括特殊功能寄存器)内部数据存储器(简称内RAM)。
从广义上讲,80C51内RAM(128B)和特殊功能寄存器(128B)均属于片内RAM空间,读写指令均用MOV指令。但为加以区别,内RAM通常指00H~7FH的低128B空间。80C51内RAM结构如表1-5所示,它又可以分成三个物理空间:工作寄存器区、位寻址区和数据缓冲区。
80C51系列单片机内的锁存器、定时器、串行口、数据缓冲器及各种控制寄存器、状态寄存器都以特殊功能寄存器(Special Flag Register,缩写为SFR)的形式出现,共有21个,它们离散地分布在高128B片内RAM 80H~FFH中,表1-7为特殊功能寄存器地址映象表。
ACC就是特殊功能寄存器中最常用的寄存器。许多指令的操作数取自于ACC,许多运算的结果存放在ACC中。乘除法指令必须通过ACC进行。累加器ACC的指令助记符为A。
以上摘自张志良编著《80C51单片机实用教程——基于Keil C和Proteus》高等教育出版社ISBN 978-7-04-044532-9, 用于学习51单片机原理,程序(双解c和汇编)语句条条有注解,便于阅读理解,便于自学。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表