本文包含原理图、PCB、源代码、封装库、中英文PDF等资源
您需要 登录 才可以下载或查看,没有账号?注册会员
×
51单片机的端口操作指令中,有一类叫做读——修改——写指令,如ANL P3,#0X0F 关于这部分我一直存在疑惑,希望大家能够帮忙,
假设我的51最小系统P3口接三极管作为其他设备驱动。
现在有这样两个程序段
1. MOV P3,#0ffh
ANL P3,#0fh
2. MOV P3,#0ffh
MOV A,P3
ANL A,#0fh
MOV P3,A
现在请问两者有区别吗?我理解这两段不同,1中的ANL P3,#0F,是条读修改写指令,所以是将P3口锁存器里面的值#0ffh与#0fh相与后送P3口输出,
而程序段2里面先把P3口引脚上的电平读进来,由于外接三极管基极,当P3口输出高电平后,三极管导通,然后会把引脚电压拉低,此时在读入P3口引脚电压(指令MOV A,P3)然后再进行与操作后送P3口输出和程序1结果不同。
我这样理解对吗?还请各位指教。
[ 此帖被wlongy在2010-08-03 10:22重新编辑 ] |