好文档 - 专业文书写作范文服务资料分享网站

单片机原理及应用教学教案 

天下 分享 时间: 加入收藏 我要投稿 点赞

例如,SJMP 08H ;PC←PC+2+08H

指令操作示意图如图3-5所示。 7 、位寻址

位寻址只能对有位地址的单元作位寻址操作。

位寻址其实是一种直接寻址方式,不过其地址是位地址。

例如:SETB 10H ;将10H位置1若22H单元中存放着数据40H,22H单元的D0位的位地址为10H,执行上述指令后(22H)=41H。

又如:MOV 32H,C ;32H←进位位C ORL C ,32H ;C←C∨32H

在MCS-51中,位地址的表示方式可采用下面几种形式: ① 直接使用位地址。例如PSW寄存器的位5的位地址为0D5H。

② 单元地址加位数的表示方法。例如0D0H.5,表示字节单元地址0D0H(即PSW寄存器)的位5。

③ 对可位寻址的专用寄存器可直接用寄存器名称加位数的方法。例如PSW.5表示PSW寄存器的位5。

④ 使用位名称。在可位寻址的专用寄存器中,一些位是有符号名称的,例如PSW寄存器的位5是F0标志位,则可使用F0表示该位。 MCS-51指令系统的7种寻址方式,可以概括为表3.1。

表10-1 MCS-51寻址方式

寻址方式

寄存器寻址

直接寻址

寄存器间接寻址

寻址空间

R0~R7、A、AB、C、DPTR

内部RAM低128单元和专用寄存器

内部RAM低128单元使用@R0、@R1、SP作为操作数

外部RAM使用@R0、@R1、@DPTR作为操作数

程序存储器ROM

程序存储器使用@A+DPTR、@A+PC作为操作数

程序存储器使用PC+偏移量rel作为操作数

内部RAM和专用寄存器的位地址空间

立即寻址

变址寻址

相对寻址

位寻址

由表10-1 中可以看出:

① 内部数据存储器使用频繁,寻址方式较多,有寄存器寻址、直接寻址、寄存器间接寻址、位寻址。直接寻址是访问专用寄存器的惟一方法。 ② 对外部数据存储器,只能使用寄存器间接寻址。 ③ 对程序存储器可使用变址寻址、相对寻址和立即寻址。

④ 在两个操作数的指令中,把左边操作数称为目的操作数,而右边操作数称为源操作数。前面所讲的各种寻址方式都是针对源操作数的。但实际上源操作数和目的操作数都有寻址问题,例如指令:

MOV

30H,R0

其源操作数是寄存器寻址方式,而目的操作数则是直接寻址方式,因此指令的功能是把按寄存器寻址取出的R0内容再以直接寻址方式存放于内部RAM的30H单元中。

数据传送类指令共有29条。这类指令的一般操作是把源操作数传送到目的操作数,指令执行后,源操作数不改变,目的操作数修改为源操作数。 源操作数可以采用寄存器寻址、寄存器间接寻址、直接寻址、立即寻址、变址寻址5种寻址方式。

目的操作数可以采用寄存器寻址、寄存器间接寻址、直接寻址3种寻址方式。

第十一讲

一、授课内容: MCS―51单片机指令系统 二、授课类型:讲授 三、授课时数:4学时 四、教学目标:

掌握并熟练运用MCS―51系列单片机的数据传送指令 五、教学重、难点:

熟练运用MCS―51系列单片机的数据传送指令 六、教学设想:

借助产品、作品演示,一方面可以使课堂生动,另一方面可以腾出大量时间加强对重难点知识的讲解,增强学生对知识的理解,同时提高他们对本学科的兴趣. 七、教学过程:(板书) (一)数据传送类指令

数据传送类指令共28条,是将源操作数送到目的操作数。指令执行后,源操作数不变,目的操作数被源操作数取代。数据传送类指令用到的助记符有MOV、MOVX、MOVC、XCH、XCHD、SWAP、PUSH、POP8种。

源操作数可采用寄存器、寄存器间接、直接、立即、变址5种寻址方式寻址,目的操作数可以采用寄存器、寄存器间接、直接寻址3种寻址方式。 1.以A为目的操作数

MOV A,Rn MOV A,direct MOV A,@Ri MOV A,#data 2.以Rn为目的操作数

;A← Rn ;A←(direct) ;A←(Ri) ;A← #data

MOV Rn,A MOV Rn,direct MOV Rn,#data 3.以直接地址为目的操作数

MOV @Ri,A MOV @Ri,direct MOV @Ri,#data 4.以间接地址为目的操作数

MOV @Ri,A MOV @Ri,direct MOV @Ri,#data

;Rn ← A ;Rn ←(direct) ;Rn ← #data

;(Ri) ← A ;(Ri) ←(direct) ;(Ri) ← #data

;(Ri) ← A ;(Ri) ←(direct) ;(Ri) ← #data

例如:设(30H)=6FH,R1=40H,执行MOV @R1,30H后,30H单元中数据取出送入R1间接寻址的40H单元,(40H)=6FH。 5.以DPTR为目的操作数

MOV DPTR,#data16 ;DPTR ← #data16 例如执行 MOV DPTR,#2000H 后, (DPTR)= 2000H。 6.访问外部数据RAM

MOVX A,@DPTR MOVX @DPTR,A MOVX A,@Ri MOVX @Ri,A 7.读程序存储器

MOVC A,@A+DPTR MOVC A,@A+PC

;A ← (A+DPTR) ;A ← (A+PC) ;A ← (DPTR) ;(DPTR) ← A ;A ← (P2Ri) ;(P2Ri)← A

例如已知A=30H,DPTR=3000H,

程序存储器单元(3030H)=50H,执行MOVC A,@ A+DPTR后,A=50H。 8.数据交换 (1)字节交换

XCH A,Rn XCH A ,direct XCH A,@Ri (2)半字节交换

XCHD A,@Ri SWAP A 9.堆栈操作

;A<=> Rn ;A<=>(direct) ;A<=>(Ri)

;A0~3<=>(Ri)0~3 ;A0~3<=>A4~7

所谓堆栈是在片内RAM中按“先进后出,后进先出”原则设置的专用存储区。数据的进栈出栈由指针SP统一管理。堆栈的操作有如下两条专用指令:

PUSH direct;SP←(SP+1),(SP)←(direct) POP

direct ;(direct)←(SP),SP ← SP-1

PUSH是进栈(或称为压入操作)指令。

【例3.1】 将片内RAM 30H单元与40H单元中的内容互换。

方法1(直接地址传送法): MOV MOV MOV SJMP

方法2(间接地址传送法): MOV MOV MOV MOV MOV MOV SJMP

方法3(字节交换传送法): MOV

A,30H R0,#40H R1,#30H A,@R0 B,@R1 @R1,A @R0,B $ 31H,30H 30H,40H 40H,31H $

单片机原理及应用教学教案 

例如,SJMP08H;PC←PC+2+08H指令操作示意图如图3-5所示。7、位寻址位寻址只能对有位地址的单元作位寻址操作。位寻址其实是一种直接寻址方式,不过其地址是位地址。例如:SETB10H;将10H位置1若22H单元中存放着数据40H,22H单元的D0位的位
推荐度:
点击下载文档文档为doc格式
1234725ch217c193741d
领取福利

微信扫码领取福利

微信扫码分享