导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→关于字节寻址和位寻址[xiongfoolboy]

 *第27206篇: 关于字节寻址和位寻址

  
楼 主:xiongfoolboy 2004年10月29日09:49
 关于字节寻址和位寻址
在51系列单片机的RAM中,00H~1FH共32个字节单元,每个字节存放8位数据,在SFR 80H~FFH中的特殊功能寄存器,可以位寻址,但比如说SCON的地址是98H,它是8位的,但又可以位寻址:RI=98H,TI=99H,RB8=9AH,TB8=9BH,REN=9CH,SM2=90H,SM1=9EH,SM0=9FH。在这里我就疑惑了,98H是一个字节,99H也是一个字节,在SFR里面怎么都变成一位一位的了,这应该怎样理解呢?各位高人,帮忙看看呀
  
2楼:guest 2004年10月29日10:51
 这跟你用的指令以及目的操作数有关。如:M
这跟你用的指令以及目的操作数有关。如:MOV A,10H;    SETB 10H;  MOV C,10H
第一条就是字节操作指令,10h肯定是指字节地址.第二条是位操作指令,10h就是位地址。
第三条是以位为目的操作数,10h也就是指位地址了。
  
3楼:xiongfoolboy 2004年10月29日14:53
 还不是很明白,比方说10H用字节寻址的话
还不是很明白,比方说10H用字节寻址的话,那它就有8位;用位寻址那它就只有1位,是不是可以这样理解:
  10H用做位寻址的时候,那10H表示10H这个字节的第一位,11H就表示第2位,12H就表示第3位等等
  10H用做字节寻址的时候,那10H就是表示一个8位的字节地址
 请教了!
  
4楼:bilborn258 2004年10月29日16:02
 理解错了。在用绝对地址进行位寻址时,表示
理解错了。在用绝对地址进行位寻址时,表示的是相对于位寻址区起始位置的偏移(字节地址为20H的最低一位的位地址为00H)。比如位地址08H表示的是字节地址为21H的最低位。(51的位寻址区的字节地址范围:20H~2FH)
这样说,希望你能理解。


  
5楼:xiongfoolboy 2004年11月1日10:20
 bilborn258,其实我的困惑在于S
bilborn258,其实我的困惑在于SFR中,有的字节可以位寻址,那这些可以位寻址的位难道是在RAM区中的20H~2FH单元中吗?就是这个困惑,是不是钻牛角尖了,单片机是应该这样学吗?

>>>>>>对该主题发表你的看法

本主题贴数5,分页: [第1页]


[上一篇主题]:熟悉c51的大虾请帮我看看!

[下一篇主题]:[原创]请可控硅使用问题