8bit和bit7和bit6-0都是什么意思

[复制链接]
139|7
 楼主 | 2018-7-12 18:01 | 显示全部楼层 |阅读模式
8bit和bit7和bit6-0都是什么意思

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
| 2018-7-12 20:11 | 显示全部楼层
还应该对着时序图来看。
| 2018-7-12 21:30 | 显示全部楼层
我们常说的8位寄存器或者字节,最高位是BIT7,最低位是BIT0,一共8BIT
| 2018-7-13 09:17 | 显示全部楼层
抢给板凳!
| 2018-7-13 11:38 | 显示全部楼层
一个字节 = 8比特,也就是 1byte = 8bit,bit就是指位了,假如寄存器地址是0x23,你把它写成二进制就是: 0010 0011,文档里面说了,写操作,bit 7为1,也就是说如果你要往0x23这个地址写入数据,首先要把 0010 0011的最左边那一个位置1,变成 1010 0011,当你把这个字节发给对方的时候,它就知道你要往0x23这个地址写入数据了。回到你的问题,1010 0011一共有8bit,由MSB(最高位)到LSB(最低位)分别是:bit7 bit6 bit5 bit4 bit3 bit2 bit1 bit0,bit7就是最左边那个1,bit6~bit0就是 010 0011
 楼主 | 2018-7-13 17:57 | 显示全部楼层
梦幻泡影 发表于 2018-7-13 11:38
一个字节 = 8比特,也就是 1byte = 8bit,bit就是指位了,假如寄存器地址是0x23,你把它写成二进制就是: 0 ...

你适合做老师。。。解答的已经很好了。不过我还是不知道怎么来的。。
1.寄存器地址是0x23,你把它写成二进制就是: 0010 0011,这个怎么算的

2.首先要把 0010 0011的最左边那一个位置1,变成 1010 0011,这个是咋回事,最低位由0变成1?

3.bit6~bit0就是 010 0011  这个还是没看懂。。。我说的是bit-0
| 2018-7-13 19:48 | 显示全部楼层
本帖最后由 梦幻泡影 于 2018-7-13 19:52 编辑
QWE4562009 发表于 2018-7-13 17:57
你适合做老师。。。解答的已经很好了。不过我还是不知道怎么来的。。
1.寄存器地址是0x23,你把它写成二 ...

对于问题1:
0x23是十六进制,你把它转换成二进制就是 0010 0011 了。至于怎么转换,告诉你个诀窍,你把16进制的两个数分开看,例如0x23,看成是 2 和 3。对于任何数都可以用这组数表示: 8 4 2 1(2的3次方 2的2次方 2的1次方 2的0次方)
,例如这里的 2,可以看成   8  4  2  1                                               
                                         0  0  1  0

0*8 + 0*4 + 1*2 + 0*1 = 2,看这个式子就知道,哪一个位(指的是 8 4 2 1)被置为1,我们就把它加起来,例如 3,
可以看成   8  4  2  1
                0  0  1  1

0*8 + 0*4 + 1*2 + 1*1 = 3. 来个偏一点的数 0 和 F,     8  4  2  1            8  4  2  1
                                                                                  0  0  0  0            1  1  1  1

0*8 + 0*4 + 0*2 + 0*1 = 0,  1*8 + 1*4 + 1*2 + 1*1 = 15,十进制的15表示成十六进制就是F。用这种方法,你就
可以口算出一个十六进制转换成二进制是什么样的了,举个栗子:0xAB, 分别对应两组 8  4  2  1,就是 1010 1011,
十六进制的A等于十进制的10,十六进制的B等于十进制的11. 要是还不理解我就没辙了。

对于问题二:
最左边那个是最高位,也就是bit7,文档说的很清楚了,bit7 = 1 表示写操作,bit7 = 0 表示读操作,所以,对方是根据
这个bit7 来判断你是想读数据还是想写数据,你要是想往0x23(0010 0011)这个地址写入数据,就要把0x23的bit7置1,
变成 1010 0011,。如果你是想从0x23地址读取数据,那就把它的bit7置0,变成 0010 0011,你别看它的值没有变,实际
上对方收到一个字节后,首先是要判断bit7的值的。举个例子,假如你发送的一个字节是0xD3(1101 0011),那么,对
方先是识别到bit7(最左边那个)的值是1,然后再识别bit6~bit0的值是 101 0011(对于 101 0011,你可以把它看成
是 0101 0011),换算成十六进制的地址就是 0x53,它就会以为你要往0x53写数据了。

对于问题3:
你是不是想表达bit6-0 ?如果是的话,它的意思就是bit6到bit0 。明白?
例如0x23, 用bit表示分别是          bit7  bit6  bit5  bit4  bit3  bit2  bit1  bit0
                     对应二进制就是:      0      0      1     0     0      0      1     1

| 2018-7-13 20:59 | 显示全部楼层
8bit就是8位,bit7指其中的最高位,bit6-0就是低七位。
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

关闭

热门推荐上一条 /6 下一条

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