51单片机汇编语言教程12课单片机逻辑运算类指令_第1页
51单片机汇编语言教程12课单片机逻辑运算类指令_第2页
51单片机汇编语言教程12课单片机逻辑运算类指令_第3页
51单片机汇编语言教程12课单片机逻辑运算类指令_第4页
51单片机汇编语言教程12课单片机逻辑运算类指令_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、 51 单片机汇编语言教程-慧净电子会员收集整理 (全部 28 课) 51单片机汇编语言教程:第12课-单片机逻辑运算类指令(基于 HL-1、HJ-C52、HJ-3G 实验板)(图片HL-1 开发板)推荐使用慧净 51 实验板。推荐 51 学习网 WWW.HLMCU.COM 淘宝网:/对单片机的累加器 A 的逻辑操作: CLR A ;将 A 中的值清0,单周期单字节指令,与 MOV A,#00H 效果相同。CPL A ;将 A 中的值按位取反 RL A ;将A 中的值逻辑左移 RLC A ;将 A 中的值加上进位位进行逻辑左移RR A

2、;将A 中的值进行逻辑右移 RRC A ;将 A 中的值加上进位位进行逻辑右移SWAP A ;将 A 中的值高、低4位交换。 例:(A)=73H,则执行 CPL A,这样进行: 73H 化为二进制为01110011, 逐位取反即为 10001100,也就是8CH。 RL A 是将(A)中的值的第7位送到第0位,第0位送1位,依次类推。 51 单片机汇编语言教程-慧净电子会员收集整理 (全部 28 课) MOV P1,A 推荐使用慧净 51 实验板。推荐 51 学习网 WWW.HLMCU.COM 淘宝网:/例:A 中的值为68H,执行 R

3、L A。68H 化为二进制为01101000,按上图进行移动。01101000 化为11010000,即 D0H。 RLC A,是将(A)中的值带上进位位(C)进行移位。例:A 中的值为68H,C 中的值为1,则执行RLC A 1 01101000后,结果是0 11010001,也就是C 进位位的值变成了0,而(A)则变成了 D1H。RR A 和 RRC A 就不多谈了,请大家参考上面两个例程自行练习吧。 SWAP A,是将 A 中的值的高、低4位进行交换。 例:(A)=39H,则执行 SWAP A 之后,A 中的值就是93H。怎么正好是这么前后交换呢?因为这是一个16进制数,每1个16进位数

4、字代表4个二进位。注意,如果是这样的:(A)=39,后面没 H,执行 SWAP A 之后,可不是(A)=93。要将它化成二进制再算:39化为二进制是10111,也就是0001,0111高4位是0001,低4位是0111,交换后是01110001,也就是71H,即113。练习,已知(A)=39H,执行下列单片机指令后写出每步的结果 CPL A RL A CLR C RRC A SETB C RLC A SWAP A 通过前面的学习,我们已经掌握了相当一部份的单片机指令,大家对这些枯燥的单片机指令 可能也有些厌烦了,下面让我们轻松一下,做个实验。 实 验 五 : ORG 0000H LJMP ST

5、ART ORG 30H START: MOV SP,#5FH MOV A,#80H LOOP: 51 单片机汇编语言教程-慧净电子会员收集整理 (全部 28 课) 推荐使用慧净 51 实验板。推荐 51 学习网 WWW.HLMCU.COM 淘宝网:/RL A LCALL DELAY LJMP LOOP delay: mov r7,#255 d1: mov r6,#255 d2: nop nop nop nop djnz r6,d2 djnz r7,d1 ret END 先让我们将程序写入片中,装进实验板,看一看现象。看到的是一个暗点流动

6、的现象,让我们来分析一下吧。 前而的 ORG 0000H、LJMP START、ORG 30H 等我们稍后分析。从 START 开始,MOV SP,#5FH,这是初始化堆栈,在本程序中有无此句无关紧要,不过我们慢慢开始接触正规的编程,我也就慢慢给大家培养习惯吧。 MOV A,#80H,将80H 这个数送到 A 中去。干什么呢?不知道,往下看。 MOV P1,A。将A 中的值送到 P1端口去。此时 A 中的值是80H,所以送出去的也就是80H,因此 P1口的值是80H,也就是10000000B,通过前面的分析,我们应当知道,此时 P1。7接的LED 是不亮的,而其它的 LED 都是亮的,所以就形

7、成了一个“暗点”。继续看,RL A,RL A 是将 A 中的值进行左移,算一下,移之后的结果是什么?对了,是01H,也就是00000001B, 这样,应当是接在 P1。0上的 LED 不亮,而其它的都亮了,从现象上看“暗点”流到了后面。然后是调用延时程序,这个我们很熟悉了,让这个“暗点”“暗”一会儿。然后又调转到LOOP 处(LJMP LOOP)。请大家计算一下,下面该哪个灯不亮了。对了,应当是接在 P1。 1上灯不亮了。这样依次循环,就形成了“暗点流动”这一现象。 问题: 如何实现亮点流动? 51 单片机汇编语言教程-慧净电子会员收集整理 (全部 28 课) 重要说明需要 51 学习板的朋友

8、请 QQ:3981150881、本教程是慧净电子网上收整理,版权归互联网,全部免费共享,为了支持慧净免费助学加上了慧净 51 实验板的链接。2、教程中的实验不保证 100%正确,当你能认真学习时你会有能力修正实验中的小错误。3、请不要再问如何学单片机,如何写程序,为什么这样写程序的问题,慧净不提供源码分析,如果你有心学单片机的,全部由 你自己自学完成,推荐你用慧净电子的HJ-C52 实验板配套学习。祝你学业有成,以后多点共享各种单片机资料,使中国电子技术更强推荐使用慧净 51 实验板。推荐 51 学习网 WWW.HLMCU.COM 淘宝网:http:/shop37031453.taobao.c

9、om/如何改变流动的方向? 答案: 1、将A 中的初始值改为7FH 即可。 2、将RL A 改为RR A 即可。 51 单片机汇编语言教程-慧净电子会员收集整理 (全部 28 课) 推荐你使用HJ-C52 学习板,想学单片机详细了解一下推荐使用慧净 51 实验板。推荐 51 学习网 WWW.HLMCU.COM 淘宝网:/ 51 单片机汇编语言教程-慧净电子会员收集整理 (全部 28 课) 推荐使用慧净 51 实验板。推荐 51 学习网 WWW.HLMCU.COM 淘宝网:/ 51 单片机汇编语言教程-慧净电子会员收集整理 (全部 28 课) HJ-C52功能模块推荐使用慧净 51 实验板。推荐 51 学习网 WWW.HLMCU.COM 淘宝网:/ 51 单片机汇编语言教程-慧净电子会员收集整理 (全部 28 课) 推荐使用慧净 51 实验板。推荐 51 学习网 WWW.HLMCU.COM 淘宝网:/ 51 单片机汇编语言教程-慧净电子会员收集整理 (全部 28 课) 慧净电子交流 QQ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论