单片机中的地址单元是什么意思?

来源:百度知道 编辑:UC知道 时间:2024/06/23 23:36:58
在学单片机时,中有提到一址地址跟地址单元。那些地址单元是怎么定义的?
还有比如说P1口的地址是0x90,那P1.0的又是多少。这些地址是怎么知道的。最好能说和通俗点,呵呵我才刚开始学不太懂!

单片机中的RAM8个bit为一个单元,就是说每8位二进制数为一个存储单元,RAM共有256个这样的存储单元,前128个单元是一般的存储单元,后128个单元为特殊功能寄存器,其实特殊功能寄存器只有21个,其它的空白没有定义,打个这样的一个比方,你应该知道中医用的那个药柜,就是给抓药的时候抽出一个框一个框那样的,就好像是那个,那样一个抽屉就是一个单元,里面的一个小格子就是存储单元的一位,那那个抽屉外面写的小格子里面都有什么药,以便找,那就是这个单元的地址,书上叫做字节地址。

1::地址?就是地址呀,比方说你给我写信,得有地址呀!!地址就是地址。没有什么可说的。
2::这些地址是怎么知道 ??做单片机的时候就做好了。就像你生就生在了那里一样,写程序的时候是在头文件当中定义的。
3::P1.0??地址当然就是0x90了。下面这是我从头文件当中给你复制过来的内容:
sfr P1 = 0x90;
/*P1 (0x90) Bit Registers*/
sbit P1_0 = 0x90;
sbit P1_1 = 0x91;
看,它就给你详细的说明了你的问题。
比方说你要将P1口全部置1,用C语言的话,你就可以这么写:
P1=0xff;
其中P1就是地址,0xff就是内容。像是你给我写信一样:“山西”就是我的地址,“你也是学单片机的???”就是内容。就是这么简单。希望能对你有所帮助。谢谢。

你用的是51的板子?地址是一回事,这个地址的值又是另外一回事。
比如0X90表示P1口,但是0X90这个地址单元的值可以控制这个口的每一个端口,具体来说应该是每一位控制一个口。
P1口应该是从P1.0~P1.7吧,也就是八个,在单片机中把八个端口作为一组,当作一个字节来管理。然后这个字节的值来控制这八个口,比如值0X10控制P1.0打开,其它口闭合,以此类推。

哦我明白你的意思,单片机里的存畜单元一般是以字节为单位的,它分为位寻址区和非位寻址区,位寻址区中的每一位都可以独立的进行读写操作而非位寻址区只能以字节为单位进行读写操作。问题中提到的P0口属于特殊功能寄存器,它能进行位寻址。你可以买一本单片机原理来看一看,我当时学的是A