51单片机 汇编 具体管脚 赋值

在51单片机中,用汇编可以用 MOV P0,#00H 将P0的8个管脚全部赋值为0.但如果是具体的管脚,如pP0.1,可以用MOV赋值吗?还是只能用CLR?
2.p0的信息存在特殊功能寄存器中,那P0.1、P0.2···呢?

嘿嘿 俺来帮你解答吧
1 P0端口(8个引脚可以映射为单片机内部的一个特殊寄存器 即P0)
可以按字节传送 即 MOV P0,#00H ;将P0的8个管脚全部赋值为0
也可以按位操作:
即 CLR P0.1 ;对P0.1清零
SETB P0.1 ;对P0.1置1
进行位操作时,必须使用位操作指令,可以使用位传送指令
如 MOV P0.1, C
MOV C, P0.1
每次只能传送一位数据
2 .p0的信息存在特殊功能寄存器中,P0是由(P0.7、 P0.6 、 P0.5、...... P0.1、P0.0)8位引脚组成的。P0是整体,P0.7、 P0.6 、 P0.5、...... P0.1、P0.0是成员。
呵呵 满意就给加分吧追问

其实第二个问题我是想问系统是怎么识别P0.1之类的。单片机有给P0.1之类的在SFR中的寄存器分配特定的地址吗?我是新手,好多都不太懂···嘿嘿~

追答

呵呵 是的 单片机为了识别和访问 P0口 给它分配的字节地址 即80H
为了访问P0口的每一位 又给P0口的每一位 分配了位地址
即 P0.7的位地址为87H
P0.6的位地址为86H
P0.5的位地址为85H
P0.4的位地址为84H
P0.3的位地址为83H
P0.2的位地址为82H
P0.1的位地址为81H
P0.0的位地址为80H

呵呵 别忘了加分哦

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-09-10
也可以。

1、先读入p0
2、然后与FDh,相当于对p0.1值0;再或02h,相当于p0.1值1
第2个回答  2012-09-10
位寻址指令中友MOV指令的,以C为操作数,比如
MOV C,P1.0 这是把P1.0的状态复制到C位中
MOV P1.0,C 这就反过来了,把C的状态输出到P1.0

P0是SFR中的寄存器,P0.1~7是寻址的位地址。
第3个回答  2012-09-10
我推荐一个电子技术导航网站你吧!------ 电子世家网址导航 。它分类收录了很多优秀的电子技术网站,你可以去逛逛的;特别是它里面的那些网站的论坛,有很多大虾分享的单片机技术方面的资料,希望能对你在日后学习、从事电子技术的工作中有帮助追问

谢谢啦~不过你没回答我问题哎-_-b

相似回答