- 1、本文档共146页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 4.3.5 位操作类指令 位操作指令是51系列单片机的显著特点,它是以位(bit)为单位进行运算和操作的。在51系列单片机中,有一个布尔(位)处理器、位累加器C(由进位标志位Cy充当)和位寻址区,可以实现位传送、位运算、位控制转移等功能。 * 1.位传送指令(2条) MOV C,bit ;(bit)→Cy MOV bit,C ;Cy→(bit) 这两条指令的功能是在位累加器C与位地址为bit的位单元之间进行位数据的传送。在指令中Cy用C表示,以便于书写。值得注意的是,两个位地址中的内容不能直接传送,需借助Cy间接传送。 * 2.位置位/复位指令(4条) CLR C ;0→Cy CLR bit ;0→bit SETB C ;1→Cy SETB bit ;1→bit 这组指令是对位累加器Cy及位地址指定的位单元进行清零和置位操作。 * 【例4-27】 编程将存于30H(低8位)、31H(高8位)的16位二进制数循环左移一位。 解:根据题意其循环过程如图4-18所示。 图4-18 循环过程图示 需要将低8位的最高位移到高8位的最低位,并将高8位的最高位移到低8位的最低位,程序如下: * MOV A,31H ;取高8位 MOV C,ACC.7 ;最高位送Cy MOV A,30H ;取低8位 RLC A ;低8位带进位左移 MOV 30H,A ;存低8位 MOV A,31H ;取高8位 RLC A ;高8位带进位左移 MOV 31H,A ;存高8位 * 3.位运算指令(6条) 本类指令包括逻辑“与”、逻辑“或”、逻辑“非”三种。指令中的“/bit”表示在运算时取(bit)之后,先对其取反再运算,但是(bit)的内容并不改变。 ANL C,bit ;(Cy) ∧ (bit) → Cy ANL C,/bit ;(Cy) ∧ ORL C,bit ;(Cy) ∨ (bit) → Cy ORL C,/bit ;(Cy) ∨ CPL C ; CPL bit ; ; → Cy ; → Cy →bit * 【例4-28】 可以利用单片机的位操作指令编写的程序实现数字逻辑电路的功能,这被称为硬件软化。试编程实现图4-19所示电路的功能。 图4-19 例4-28电路 * 参考程序如下: LOG: MOV C,P1.1 ORL C,P1.2 ANL C,/P1.0 CPL C MOV F0,C MOV C,P1.4 ANL C,P1.5 CPL C ANL C,P1.3 ORL C,F0 CPL C MOV P1.7,C * 4.位条件转移指令(5条) JC rel ;若Cy = 1,则(PC)+2+re→PC ;否则,(PC)+2→PC JNC rel ;若Cy = 0,则(PC)+2+re→PC ;否则,(PC)+2→PC JB bit,rel ;若(bit) = l,则(PC)+3+re→PC ;否则,(PC)+3→PC JNB bit,rel ;若(bit) = 0,则(PC)+3+re→PC ;否则,(PC)+3→PC JBC bit,rel ;若(bit) = 1,则(PC)+3+re→PC,0→bit ;否则,(PC)+3→PC * 这组指令也属于条件转移指令,分别判断Cy或bit给定位单元的内容是“0”还是“1”,条件满足时就转移,否则顺序执行下一条指令。上述最后一条指令的功能是,在发生转移的同时将该给定
文档评论(0)