mcs51单片机位操作指令及编程举例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

mcs51单片机位操作指令及编程举例
MCS-51 单片机的硬件结构中,有一个位处理器(又称布尔处理器),它有
一套位变量处理的指令集。

在进行位处理时,CY(就是我们前面讲的进位位)
称位累加器。

有自已的位RAM,也就是我们刚讲的内部RAM 的20H-2FH 这
16 个字节单元即128 个位单元,还有自已的位I/O 空间(即
P0.0..P0.7,P1.0.P1.7,P2.0..P2.7,P3.0..P3.7)。

当然在物理实体上它们与原来的以字节寻址用的RAM,及端口是完全相同的,或者说这些RAM 及端口都能有两
种使用办法。

(1)位传送指令MOV C,BITMOV BIT,C 这组指令的功能是实
现位累加器(CY)和其它位地址之间的数据传递。

例:MOV P1.0,CY ;将CY
中的状态送到P1.0 管脚上去(如果是做算术运算,我们就能通过观察知道现在CY 是多少啦)。

MOV P1.0,CY ;将P1.0 的状态送给CY。

(2)位修正指令位清
0 指令CLR C ;使CY=0CLR bit ;使指令的位地址等于0。

例:CLR P1.0 ;即使P1.0 变为0 位置1 指令SETB C ;使CY=1SETB bit ;使指定的位地址等于1。

例:SETB P1.0 ;使P.0 变为1 位取反指令CPL C ;使CY 等于原来的相反的值,由1 变为0,由0 变为1。

CPL bit ;使指定的位的值等于原来相反的值,由0 变为1,由1 变为0。

例:CPL P1.0 以我们做过的实验为例,如果原来灯是亮的,则执行本指令后灯灭,反之原来灯是灭的,执行本指令后灯亮。

(3)位逻辑运算
指令位与指令ANL C,bit ;CY 与指定的位地址的值相与,结果送回CYANL C,/bit ;先将指定的位地址中的值取出后取反,再和CY 相与,结果送回CY,但
注意,指定的位地址中的值本身并不发生变化。

例:ANL C,/P1.0 设执行本指
令前,CY=1,P1.0 等于1(灯灭),则执行完本指令后CY=0,而P1.0 也是等
于1。

可用下列程序验证:ORG 0000HAJMP STARTORG 30HSTART:MOV SP,#5FHMOV P1,#0FFHSETB CANL C,/P1.0MOV P1.1,C ;将做完的结果送。

相关文档
最新文档