找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 3398|回复: 0
收起左侧

单片机汇编语言实验二 使用移位指令实现流水灯仿真程序

[复制链接]
ID:808939 发表于 2021-7-20 20:48 | 显示全部楼层 |阅读模式
通过本次实验使用移位指令实现流水灯,目的是掌握8051 CPU的移位指令,掌握8051 并行口的作用。
1、指令寻址方式
51单片的指令寻址方式有七种:
(1)立即寻址 如:MOV A,#3AH
(2)直接寻址 如:MOV  A,3AH
(3)寄存器寻址 如:MOV  A,R2
(4)寄存器间接寻址 如:MOV  A,@R0
(5)变址寻址 如:MOVC  A,@A+DPTR
(6)相对寻址 如:JC  03H
(7)位寻址 如:SETB 3DH
2、移位指令
(1)左环移指令RL A
累加器A的内容向左环移一位,Acc.7移入Acc.0 ,不影响标志。
(2)带进位左环移指令RLC A
累加器A的内容和进位标志位Cy一起向左环移一位,Acc.7移入进位位Cy,Cy移入Acc.0,不影响其它标志。
(3)右环移指令RR A
累加器A的内容向右环移一位,Acc.0移入Acc.7,不影响标志。
(4)带进位环移指令RRC A
累加器A的内容和进位标志Cy一起向右环移一位,Acc.0移入Cy,Cy移入Acc.7。不影响其它标志。

仿真原理图如下(proteus仿真工程文件可到本帖附件中下载)
51hei.gif

单片机源程序如下:
  1. ORG 0000H
  2. LJMP MAIN

  3. ORG 0100H
  4.         MAIN:
  5.         MOV A,#0FEH
  6.         MOV P0,A
  7.         MOV R3,#07H
  8.         LOOP:RR A
  9.         MOV P0,A
  10.         LCALL DELAY
  11.         DJNZ R3,LOOP
  12.         LJMP MAIN
  13.         
  14.         DELAY:
  15.         MOV R2,#255
  16.         D1:MOV R3,#250
  17.         D2:DJNZ R3,D2
  18.         DJNZ R2,D1
  19.         RET
  20.         
  21.         END
  22.         
复制代码

仿真代码51hei附件下载:
实验二工程.7z (49.11 KB, 下载次数: 13)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表