首页 > 其他分享 >关于单片机的地址总线和数据总线

关于单片机的地址总线和数据总线

时间:2024-02-27 10:11:45浏览次数:29  
标签:8051 字节 16 存储器 程序 单片机 数据总线 地址总线

1. 一般来说内存容量是指地址总线还是数据总线

单片机的容量通常指

2. 单片机所说的8位,16位,32位指的是什么,是地址总线的长度还是数据总线

在单片机中,通常所说的"8位","16位","32位"指的是数据总线的宽度,即一次可以传输的数据位数。这决定了单片机一次可以处理的数据量大小。例如,一个"8位"单片机指的是其数据总线宽度为8位,可以一次传输8位的数据;而一个"16位"单片机指的是其数据总线宽度为16位,可以一次传输16位的数据,依此类推。地址总线的宽度则用来指定内存地址,与数据总线的宽度是不同的概念。一次性处理的数据总线的长度叫做字长。

3. 8位单片机的512KB地址和16位单片机的512KB地址有什么区别 (重点关注)

所谓的空间是寻址空间 8位单片机只能运行8位程序,32位的单片机只能运行32位的程序,64位的单片机只能运行64位程序
在这两种单片机中,"512KB地址"指的是单片机可以寻址的内存空间大小。在8位单片机和16位单片机中,"512KB地址"指的都是512千字节的内存地址空间。

区别在于8位单片机和16位单片机的地址总线宽度不同。8位单片机的地址总线宽度为8位,可以寻址$28=256$个地址,即可以寻址256个字节的内存空间。而16位单片机的地址总线宽度为16位,可以寻址$2=65536$个地址,即可以寻址64KB的内存空间。

因此,虽然两种单片机都有"512KB地址",但是在实际情况下,16位单片机可以寻址更大的内存空间,而8位单片机只能寻址更小的内存空间。

4. 数据总线的长度叫字长吗

是的,数据总线的宽度通常被称为"字长"。字长指的是一次可以传输的数据位数,也就是数据总线的宽度。根据不同的计算机架构和处理器,字长可以是8位、16位、32位、64位等不同的长度。字长的大小直接影响了计算机的数据处理能力和性能。

8051程序存储器和数据存储器

在8051单片机中,程序存储器和数据存储器是两种不同的存储器类型:

  1. 程序存储器:在8051单片机中,程序存储器通常指的是存储程序指令的存储器,也称为代码存储器或ROM(只读存储器)。程序存储器用于存储8051单片机的程序代码,包括指令和常量数据。在8051单片机中,程序存储器通常是内置的ROM,用于存储程序代码,而且通常不可修改。

  2. 数据存储器:数据存储器用于存储程序执行过程中产生的数据,包括变量、中间结果和用户数据。在8051单片机中,数据存储器通常指的是RAM(随机存储器),用于存储程序执行过程中的数据。8051单片机通常包含内置的RAM用于存储数据,而且RAM中的数据可以被程序读取、写入和修改。

总的来说,程序存储器用于存储程序代码,而数据存储器用于存储程序执行过程中的数据。在8051单片机中,程序存储器通常是ROM,数据存储器通常是RAM。这两种存储器在单片机的运行过程中起着不同的作用。

内存一个地址对应一个字节还是一个存储单元?(最困惑的问题)

https://www.zhihu.com/question/421675295
由于不同机器对于字长的定义不一致(可能是16bit,32bit或者其他),但是对于字节的长度都定义为8bit。所以实际上很少使用连续的字地址对字进行编码,通常会使用连续的字节地址对字节进行编码,使用该字的低位(或高位)的字节地址作为字地址

经典结构体字节计算题

先看下面定义的两个结构体:

struct { char a; short b; char c; }S1;

struct { char a; char b; short c; }S2;
分别用程序测试得出 sizeof(S1)=6 , sizeof(S2)=4。
注意: 为什么 仅仅改变了结构体成员的顺序,结果不一样?

解:

(1)首先找出成员变量中最大的字节,可见对于 S1 和 S2 最大是 short ,占 2 个字节;
(2)所以以后都已2个字节为准,也就是说最多只要2个字节,其他填充占位,注意下图一个格子表示一个字节;
(3)所以先画2个格子,以后看成员顺序,逐次增加,每次一2为增加基准
对于 S1 来说,顺序是 char->short->char :

image

所以对于 S1 结构体大小为 2*3=6,至于为什么第二个 char,多的那个字节不丢到,就是遵循第三个原则,就是结构体大小结果要为成员中最大字节的整数倍。

S1=2*3=6
对于 S2 嘛,也画个图,但是顺序是 char->char->short:

image

S2=2*2=4

** 进一步证明了只能按字寻址
地址不是连续的,一般取字地址位字节地址的高位或者低位地址,看大端还是小端
image
image

实例

8051程序存储器和数据存储器大小怎么算的
在 8051 微控制器中,程序存储器和数据存储器的大小是固定的,不需要额外计算。以下是 8051 微控制器的存储器大小:

  1. 程序存储器(Code Memory):8051 微控制器的程序存储器大小为 4KB(4096 字节),可以存储程序的指令代码。

  2. 数据存储器(Data Memory):8051 微控制器的数据存储器分为两部分,分别是内部 RAM 和特殊功能寄存器(SFR)。内部 RAM 大小为 128 字节,用于存储程序运行时的数据;特殊功能寄存器用于控制各种功能和外设。

因此,8051 微控制器的程序存储器和数据存储器的大小是固定的,分别为 4KB 的程序存储器和 128 字节的数据存储器。
8051 微控制器的程序存储器大小为 4KB,这是因为 8051 微控制器使用的是 8位的存储单元(每个存储单元能够存储一个字节),并且程序存储器的地址总线宽度为 12 位。

计算程序存储器大小的方法如下:

  1. 8051 微控制器的地址总线宽度为 12 位,即能够寻址 $2^{12}$ 个地址。

  2. 每个地址可以访问一个字节的数据,因为 8051 是 8 位的微控制器。

  3. 因此,程序存储器的大小为 $2^{12}$ 字节,即 4KB($2^{12}$ 字节 = 4KB)。

这样,通过地址总线宽度和存储单元的位数,我们可以计算出 8051 微控制器的程序存储器大小为 4KB。

标签:8051,字节,16,存储器,程序,单片机,数据总线,地址总线
From: https://www.cnblogs.com/codedingzhen/p/18034852

相关文章

  • stm32单片机扫码设计方案,ESP32蓝牙无线扫码器设计项目硬件套件的实现,一维码二维码识别
    stm32/ESP32(或ESP32C3,ESP32S3)/ESP8266单片机扫码识别设计方案二维码一维码扫描模块开发项目资料程序,轻松实现蓝牙扫码器WiFi无线串口,二维码识别显示器串口输出条码扫描枪扫码枪开发项目套件设计,很适合DIY无需焊接,到手即可开发调试。ESP32,ESP8266等基于arduino库实现,stm32基于......
  • 单片机电容式触摸按键原理
    一、前言图1触摸按键应用触摸按键因其外观简洁,科技感强,在电子产品,家电上经常见到。二、触摸按键的原理触摸按键的原理是基于电容感应技术或压力感应技术实现的。以下是这两种技术的原理介绍:1.电容感应技术:触摸按键常见是电容感应式,可以穿透绝缘材料外壳8mm(玻璃、塑料等......
  • 嵌入式软件必读10本书_单片机篇
    大家好,我是知微!虽然现在网上的技术文章非常多,但缺点是知识点太零散。书籍是经过精心整理和编排的,仍旧是非常优秀的学习资料。下面一起来看看本文推荐的10本书吧!《啊哈C语言》这本书物融合了生动活泼的漫画、风趣幽默的文字,以浅显易懂的方式探讨编程思维。特别适合想要掌握C语......
  • 《安富莱嵌入式周报》第332期:铷时钟控制板,航天战斗机C++代码标准,免费开源芯片设计,在线
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 视频版https://www.bilibili.com/video/BV1tU421d7ZK/目录:1、Rubidium铷时钟控制板2、开源小设计,简易万用表连通性测试仪3、免费开源芯片设计软件Electric4、在线电路仿......
  • STC8G1K08A单片机数模转换
    STC8G1K08A单片机数模转换https://blog.csdn.net/weixin_58209766/article/details/124126864?spm=1001.2101.3001.6650.2&utm_medium=distribute.pc_relevant.none-task-blog-2~default~CTRLIST~Rate-2-124126864-blog-129878315.235^v43^pc_blog_bottom_relevance_base5&d......
  • 《安富莱嵌入式周报》第331期:单片机实现全功能软件无线电,开源电源EEZ升级主控,ARM 汇编
    周报汇总地址:http://www.armbbs.cn/forum.php?mod=forumdisplay&fid=12&filter=typeid&typeid=104 目录:1、单片机实现低配版全功能软件无线电,范围0.5-30MHz,支持SSB、AM、FM和CW2、TI整理的ARM汇编用户指南3、ADI差分链路的SPI扩展器LTC4332,支持1200米4、开源串口,SPI,I......
  • Mac开发STC51单片机
    目录STC官网SDCC官网SDCC简介SDCC安装头文件目录安装烧录工具make编译烧录常用命令选择目标平台指定芯片型号设置模型调整优化级别生成调试信息指定输出文件名选择内存布局设置堆栈大小生成汇编文件指定头文件目录使用C89标准指定RAM区域大小STC官网https://www.stcmcudata.co......
  • STC单片机软件模拟SPI 兼容类比芯片SPI驱动
    /*analogysemixutong2024/1/23*/#ifndef__BSP_LPSPI_H#define__BSP_LPSPI_H#include"config.h"#defineSPI_SCLK(x)P25=(x)#defineSPI_MOSI(x)P23=(x)#defineSPI_MISOP24#defineSPI_CS1(x)P22=(x)......
  • 单片机复习
    单片机复习一、单片机相关基本概念1、单片机概念书本:将微处理器、存储器和输入输出接口电路集成在一块集成电路芯片上,构成具有一定功能的计算机系统,因此称为单片机微型计算机,简称单片机。PPT:一片半导体硅片集成:CPU、存储器、并行I/O、串行I/O、定时器/计数器、中断系统、系统......
  • 基于51单片机的五路红外循迹小车代码
      红外循迹小车主要通过红外传感返回的信号来控制,遇到黑线,红外传感熄灭,返回1,遇到白色部分,红外传感常亮,返回0. 先定义pwm,电机和红外。unsignedcharPWMA,PWMB,PWMC,PWMD;//定义PWMsbitENA_1=P1^1;//定义电机转速sbitENB_1=P1^0;sbitENA_2=P1^2;sb......