通过本次实验使用移位指令实现流水灯,目的是掌握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仿真工程文件可到本帖附件中下载)
单片机源程序如下:
- ORG 0000H
- LJMP MAIN
- ORG 0100H
- MAIN:
- MOV A,#0FEH
- MOV P0,A
- MOV R3,#07H
- LOOP:RR A
- MOV P0,A
- LCALL DELAY
- DJNZ R3,LOOP
- LJMP MAIN
-
- DELAY:
- MOV R2,#255
- D1:MOV R3,#250
- D2:DJNZ R3,D2
- DJNZ R2,D1
- RET
-
- END
-
复制代码
仿真代码51hei附件下载:
实验二工程.7z
(49.11 KB, 下载次数: 13)
|