MCS-51单片机的几个问题

2024-11-28 05:31:46
推荐回答(3个)
回答1:

1、内部RAM的20H~2FH单元,是16个“字节”单元,

其中每个字节,还可以按照“位”,来操作。

共有16*8=128位,每个“位”单元,都有个地址号码。其中:

“位地址00H”,是在“字节地址20H”单元中的第0位,也可以写成:20H.0;

……

“位地址09H”,是在“字节地址21H”单元中的第1位,也可以写成:21H.1。

位地址、字节地址的关系,可见插图。

2、存储容量=2^地址总线×数据总线,单位为“位”。

假设2^8*16=4096,则为4096位,或4K位。

3、数字较大,将使用多个字节进行存放。多数情况下,用1~2个字节,就可以存放单片机领域里面的数字。

4、布尔处理器,是指按照单独的“位”,进行的逻辑运算,指令有:

    ANL  C,  bit

    ORL  C,  bit

 ……

指令中的bit,即前面讲的“位地址”。

5、浮点数,在单片机应用领域,可以说是永远用不到的,不用研究。

回答2:

1、51内部有16B可位寻址单元,每个字节8位,16*8=128位。位寻址单元的地址范围是00H~7FH。这个看起来和51的整个RAM地址重复,不过编译器是通过指令来识别是对位操作,还是对字节操作。例如MOV A,32H和CLR 32H中的32H不是同一个东西。
2、还是拿51来说。片外扩展的ROM容量=2^16=65536B=64KB(P0做低8位地址线,P2做高8位地址线,共16位)。存储容量就是单片机的寻址范围。
3、2139479281374这个数实在是太巨大了,用16位单片机来装可要不少空间。花费的时间是也很多的。unsigned long int 在个人计算机中占据8个字节,最大表示4294967295。还远比楼主的这个数小。要表示它只能用long long int了。
4、Bool处理器就是位处理器,51就有这个功能。具有位指令能够直接对位操作。
5、这个楼主还是自己来吧。数在计算机中的表示是很重要的,换算也要知道。

回答3:

20~2F是内部RAM的位寻址区,共16个单元,每个单元有8位,16*8就是128了,这128位有自己的名字,比如20的最底位为20H.0,还有比如24H.5,好象是这样吧,记不太清楚了,这个不重要,重要的是这128位从20H的最底位到2FH的最高位分别对应00到FF这128个地址,“每一位都有一个8位表示的位地址”,这句话可以理解了吧,20H单元的最底为的8位地址就是00000000(二进制)……

“比如,20H这个单元指向0010,1101B这个地址,那么0010,1101B这个地址的数据存在于什么地方呢??”0010,1101B这个地址的数据存在当然是在这个地址了。