资源预览内容
第1页 / 共35页
第2页 / 共35页
第3页 / 共35页
第4页 / 共35页
第5页 / 共35页
第6页 / 共35页
第7页 / 共35页
第8页 / 共35页
第9页 / 共35页
第10页 / 共35页
亲,该文档总共35页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
3-3数据传送指令,1,专业课堂,1、学习以A为目的操作数的指令的功能及其应用 2、学习以Rn 为目的操作数的指令的功能及其应用 3、学习以direct 为目的操作数的指令的功能及其应用 4、学习以Ri为目的操作数的指令的功能及其应用,2,专业课堂,在MCS-51单片机中,数据传送是最基本和最主要的操作。数据传送操作可以在片内RAM和SFR内进行,也可以在累加器Acc和片外存储器之间进行。指令必须指定传送数据的源地址和目的地址,以便机器在执行指令时把源地址中的内容传送到目的地址中,但不改变源地址中的内容。,3,专业课堂,MCS-51单片机的数据传送指令共有28条,分为内部数据传送指令、外部数据传送指令、堆栈操作指令和数据交换指令等四类。,4,专业课堂,内部数据传送指令(15条),以A为目的操作数的指令 以Rn 为目的操作数的指令 以direct 为目的操作数的指令 以Ri为目的操作数的指令,5,专业课堂,以A为目的操作数的指令 1、格式 MOV 目的操作数,源操作数 2、指令 MOV A,Rn MOV A,direct1 MOV A,#data MOV A,Ri,6,专业课堂,3、指令功能 把源操作数的内容送入累加器Acc 4、源操作数寻址方式 有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址等寻址方式,7,专业课堂,例1若(R1)=20H,(20H)=65H, 执行MOV A , Rn 则A的内容为多少,源操作数的寻址方式是什么? 则结果:(A)=65H 寻址方式: 寄存器寻址方式 例2若执行 MOV A,#12H ,则A的内容为多少, 源操作数的寻址方式是什么? 则结果:(A)=12H 寻址方式:立即数寻址方式,8,专业课堂,例3若(40H)=20H ,执行MOV A ,40H, 则A的内容为多少, 源操作数的寻址方式是什么? 则结果:(A)=20H 寻址方式:直接寻址 例4若(R1)= 30H,(30H)= 68H,执行MOV A,R1,则A的内容为多少,源操作数的寻址方式是什么? 结果:(A)= 68H 寻址方式:寄存器间接寻址,9,专业课堂,以Rn 为目的操作数的指令 1、指令 MOV Rn,direct MOV Rn,#data MOV Rn,A 2、功能 将源操作数的内容送入当前工作寄存器区的R0-R7中的某一个寄存器。 3、源操作数寻址方式 立即寻址、直接寻址、寄存器寻址,10,专业课堂,例题 例1若(60H)= 30H,执行 MOV R6,60H ,则R6的内容为多少 (R6)= 30H 例2 若执行MOV R1,#20H ,则R1的内容为多少 (R1)=20H 例3 若(A)=23H,执行MOV R1,A ,则R1的内容为多少 (R1)=23H,11,专业课堂,以direct 为目的操作数的指令 1、指令 MOV direct, Rn MOV direct,A MOV direct,#data MOV direct,Rn MOV direct,direct,12,专业课堂,2、功能 把源操作数送入由直接地址指向的存储单元,直接寻址时,direct可以是特殊功能寄存器的地址、内部RAM区的地址,因此,允许对端口直接操作。 3、源操作数寻址方式 有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址,13,专业课堂,例题 例题1 若(A)=78H,执行指令MOV 64H,A 则64H及A的内容为多少 (64H)=78H,(A)=78H 例2若 执行MOV 30H,#29H 指令则30H的内容为多少 结果:(30H)=29H,14,专业课堂,例3 若(R0)=30H 执行MOV 30H,R0 指令,则30H的内容为多少 结果:(30H)=30H 例4 若(50H)=30H 执行MOV 20H,50H 指令则20H的内容为多少 结果:(20H)=30H,15,专业课堂,例5设(30H)=40H,(R0)=36H, (36H)=52H,执行指令MOV 30H,R0 则30H的内容为多少 (30H)=52H,16,专业课堂,以Ri为目的操作数的指令 1、指令 MOV Ri, A MOV Ri,#data MOV Ri,direct 2、功能 将源操作数送入以R0或R1的内容为地址的存储单元 3、源操作数寻址方式 立即寻址、直接寻址、寄存器寻址,17,专业课堂,例题 例1 若(R1)=56H,(A)=35H 执行MOV R1,A 指令,则56H的内容为多少 结果:(56H)=35H 例2 若(R1)=35H,执行 MOV R1,#40H 指令 则35H的内容为多少 结果:(35H)=40H 例3 若(R1)=20H,(30H)=70H 执行 MOV R1,30H 指令则20H的内容为多少 结果:(20H)=70H,18,专业课堂,1、若(23H)= 30H,执行 MOV R6,23H 则 R6的内容为多少,该指令的寻址方式是什么? 2、若执行MOV R3,#24H , 则结果:(R3)=? 3、若(40H)=34H ,执行MOV A ,40H, 则结果:(A)=?,19,专业课堂,作业: 1、若(R1)= 30H,(30H)= 68H,执行MOV A,R1,则A的内容为多少,源操作数的寻址方式是什么? 2、若执行MOV R1,#20H ,则R1的内容为多少 3、若(64H)=70H,(A)=78H,执行指令MOV 64H,A 则64H及A的内容为多少 4、若(R1)=35H,执行 MOV R1,#40H 指令则35H的内容为多少,20,专业课堂,用户RAM区或堆栈区(见教材P49) 供用户使用的一般RAM区,共有80个单元,其单元地址为30H7FH。在一般应用中常把堆栈开辟在此区中。MCS51单片机堆栈区不是固定的, 原则上可设在内部RAM的任意区域内, 但为了避开工作寄存器区和位寻址区, 一般设在30H以后的范围内。,21,专业课堂,特殊功能寄存器包括累加器ACC、B寄存器、程序状态字寄存器PSW、堆栈指针SP、数据指针DPTR等,22,专业课堂,堆栈操作指令(2条),在MCS-51片内RAM中可以设定一个后进先出的堆栈,地址为30H7FH。堆栈操作包括进栈PUSH和出栈POP。,23,专业课堂,进栈操作指令 PUSH direct 这条指令首先将堆栈指针SP + 1,然后把直接地址里的内容传送到堆栈指针SP指出的片内RAM存储单元中。,24,专业课堂,例题1 若(SP)=07H,(40H)=88H 执行 PUSH 40H 指令 结果:(SP)=08H,(08H)=88H 例题2 设(SP)=30H,(ACC)=60H, (B)=70H,执行下列指令后结果怎么样 PUSH ACC PUSH B 结果:(31H)=60H,(32H)=70H, (SP)=32H,25,专业课堂,出栈指令 POP direct 这条指令的功能是将堆栈指针SP指出的片内RAM单元的内容送入直接地址指出的存储单元,堆栈指针SP减1.出栈指令用于恢复CPU现场。,26,专业课堂,例题 设(SP)=32H,(32H)=70H,(31H)=60H,执行下述指令后结果怎样? POP DPH POP DPL 结果:(DPH)=70H,(DPL)=60H,所以DPTR=7060H,(SP)=30H,27,专业课堂,数据交换指令,数据交换指令共有4条,其中字交换指令3条,半字节交换指令1条 1、字节交换指令 XCH A, Rn XCH A,direct XCH A,Rn 2、半字节交换指令 XCHD A,Ri,28,专业课堂,字节交换指令 1、指令 XCH A, Rn XCH A,direct XCH A,Rn 2、功能 将累加器Acc的内容和源操作数内容互相交换。 3、源操作数寻址方式 有寄存器寻址、直接寻址、寄存器间接寻址,29,专业课堂,例题1若(R0)=67H,(A)=45H, 执行 XCH A,R0 指令 结果:(A)=67H,(R0)=45H,30,专业课堂,例题2设(A)=80H,(R1)=74H,(74H)=60H,(60H)=50H,(80H)=40H 顺序执行下列指令后结果怎样? XCH A,R1 XCH A,60H XCH A,R1 解:(A)=74H,(R1)=80H (A)=50H,(60H)=74H (A)=40H,(80H)=50H,31,专业课堂,半字节交换指令 1、指令 XCHD A,Ri 2、功能 这条指令将Acc的低4位与R0或R1指出的RAM单元的低4位互相交换,各自高4位不变。 3、源操作数寻址方式 寻址方式为寄存器间接寻址,32,专业课堂,例1若(R0)30H,(30H)67H, (A)20H。 执行 XCHD A,R0 后, 结果: (A)27H,(30H)60H。 例2 设(A)=15H,(R0)=30H, (30H)=40H,执行下列指令后结果怎样? XCHD A,R0 结果:(A)=10H,(30H)=45H,33,专业课堂,【作业】 1、设(A)=34H,(R0)=30H,(30H)=56H,执行下列指令后A的内容是多少? XCHD A,R0 2、若(R0)=37H,(A)=76H,执行 XCH A,R0 指令 结果:(A)=?,(R0)=? 3、设(SP)=32H,(32H)=70H,(31H)=60H,执行下述指令后SP是多少? POP DPH POP DPL 4、若(SP)=07H,(40H)=88H 执行 PUSH 40H 指令,则SP的内容是多少?,34,专业课堂,35,专业课堂,
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号