标题: 这个问题困扰许久,8051单片机R0-R7是8位的寄存器,那么比如MOV R7 #255 这一位怎... [打印本页]

作者: 张超超    时间: 2016-4-15 10:53
标题: 这个问题困扰许久,8051单片机R0-R7是8位的寄存器,那么比如MOV R7 #255 这一位怎...
请问
8051单片机R0-R7是8位的寄存器,那么比如MOV R7 #255  这一位怎么能赋值这么大?一位不是只能表示2个数值吗
作者: Action    时间: 2016-4-15 11:08
8位指最大不能超过2位的8次方  位的概念跟二进制没搞明白吧
作者: 张超超    时间: 2016-4-15 11:30
Action 发表于 2016-4-15 11:08
8位指最大不能超过2位的8次方  位的概念跟二进制没搞明白吧

假如选定0区为当前工作寄存器区(在RAM的字节地址是20H),那么,位地址就是00H~07H就是R0~R7寄存器
那么其中一位不是只能表示最大数1吗?mov  RN #255这个数是不是赋值给RAM 的20H单元了么
谢谢可能还是我理解有问题
作者: 张超超    时间: 2016-4-15 11:33
一位不是只能表示1吗   255就要8位才能表示啊   还是我理解有问题
作者: luoluoluo136    时间: 2016-4-15 11:38
r7就是一个八位的寄存器啊、、、r0-r7总共有八个八位、、、
作者: 张超超    时间: 2016-4-15 13:55
luoluoluo136 发表于 2016-4-15 11:38
r7就是一个八位的寄存器啊、、、r0-r7总共有八个八位、、、

0区字节地址是20H,也就是位地址00h~07H.每一个位地址代表8个位?
作者: 张超超    时间: 2016-4-15 14:03
张超超 发表于 2016-4-15 13:55
0区字节地址是20H,也就是位地址00h~07H.每一个位地址代表8个位?

:4 个通用寄存器区 , 每个区有8 个寄存器 ,(
每个寄存器就有8个位?可以这样理解吗
作者: luoluoluo136    时间: 2016-4-15 15:33
张超超 发表于 2016-4-15 14:03
:4 个通用寄存器区 , 每个区有8 个寄存器 ,(
每个寄存器就有8个位?可以这样理解吗

工作寄存器组区地址从00H~1FH共32字节 ,分为四组,每组包含8个8位工作寄存器,编号为R0~R7,简单来说就是有4个R0,
4个R1,4个R2....4个R7,当前使用哪组工作寄存器是有psw寄存器中的RS0和RS1决定的。
作者: absflash    时间: 2016-4-15 17:28
本帖最后由 absflash 于 2016-4-15 17:32 编辑

128,64,32,16,8,4,2,1,这样能看懂吗,每一位代表的数值不一样的,加起来就是255                                          1        1      1      1    1    1   1    1


作者: absflash    时间: 2016-4-15 17:29
你能理解8421,就能看懂这个了
作者: smwsmwsmw    时间: 2017-8-27 11:10
8051单片机R0-R7是8位的寄存器 这句话的意思是指,R0-R7每一个都是8位的寄存器。
作者: zl2168    时间: 2017-9-19 20:50
先学点理论知识,就不会有这些问题了。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1