历史上的今天
今天是:2025年03月10日(星期一)
2018年03月10日 | AT89S51位操作类指令
2018-03-10 来源:eefocus
AT89S51单片机内部有一个位处理机,对位地址空间具有丰富的位操作指令。
1.数据位传送指令

这组指令的功能是把由源操作数指定的位变量送到目的操作数指定的单元中。其中一个操作数必须为进位标志,另一个可以是任何直接寻址位,不影响其他寄存器或标志位。例如:
![]()
注意,这里的06H是位地址,20H是内部RAM的字节地址。06H是内部RAM 20H字节位6的位地址。
![]()
2.位变量修改指令

这组指令将操作数指定的位清O、求反、置1,不影响其他标志位。例如:

3.位变量逻辑与指令
![]()
第1条指令的功能是,直接寻址位与进位标志位(位累加器)进行逻辑与运算,结果送回到进位标志位中。如果直接寻址位的布尔值是逻辑0,则进位标志位C清O,否则进位标志保持不变。
第2条指令的功能是,先对直接寻址位求反,然后与位累加器(进位标志位)进行逻辑与运算,结果送回到位累加器中。该指令不影响直接寻址位求反前原来的状态,也不影响别的标志位。直接寻址位的源操作数只有直接位寻址方式。
4.位变量逻辑或指令

第1条指令的功能是,直接寻址位与进位标志位Cy(位累加器)进行逻辑或运算,结果送回到进位标志位中。如果直接寻址位的位值为1,则进位标志位置1,否则进位标志位仍保持原来的状态。
第2条指令的功能是,先对直接寻址位求反,然后与位累加器(进位标志位)进行逻辑或运算,结果送回到进位标志位中。该指令不影响直接寻址位求反前原来的状态。
5.条件转移类指令

上一篇:AT89S51指令汇总
下一篇:AT89S51逻辑操作类指令
史海拾趣
|
AVR单片机的编译软件五花八门,用宋丹丹的话就是:那是相当的多 汇编语言的开发平台就不说了(俺不大会,呵呵,说不出什么道道来)。 简单列举几个高级语言的开发平台: WINAVR(GNU GCC AVR); ICC AVR CodeVison AVR IAR for AVR BASIC ...… 查看全部问答> |
|
大家好,我是正在使用sim300 GPRS模块,我用AVR mega16单片机控制模块进行短息发送,我用串口调试过了,一点问题也没有,但是我用单片机进行调试的时候就有问题了,大家可以给点建议?… 查看全部问答> |
|
最近做了一块板,按键部分最头痛了! 按键平时10K上拉,按键按下后就会接地,取低电平,按键值会存在一个队列中,在两边接上按键,按按键一切正常。板子上对应每个按键还有一个接触面,用导电橡胶接触,当用导电橡胶碰接触面是,反应有时正常,有 ...… 查看全部问答> |
|
void zhengti(void) { for (b=0;b 0 && PCA0L >= TIMEOUT) //高电平持续时间超过120us { ...… 查看全部问答> |
|
大虾,麻烦快给解答下。keil c ,debug 后总是进汇编模式下,还返回不到C,怎么回事 keil c ,debug 后总是进汇编模式下,还返回不到C,怎么回事,刚才还好好的,我也没动那阿。… 查看全部问答> |
|
register file 和sram 是不是内部结构都一样,就是外围电路不同啊另外为什么register file一般都只做成two port的啊,也就是说register file 只作一个端口读一个端口写的忘高人指点!… 查看全部问答> |
|
在一端口输入脉冲,用msp430捕获比较功能设计一程序测量脉冲周期。各位大神,帮下忙。 [ 本帖最后由 xidianstudent1 于 2011-11-30 12:56 编辑 ]… 查看全部问答> |




