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 ;将做完的结果送

相关文档
最新文档