《单片机原理及工程应用》课件-第3章 指令系统与编程技术(第2次课)_第1页
《单片机原理及工程应用》课件-第3章 指令系统与编程技术(第2次课)_第2页
《单片机原理及工程应用》课件-第3章 指令系统与编程技术(第2次课)_第3页
《单片机原理及工程应用》课件-第3章 指令系统与编程技术(第2次课)_第4页
《单片机原理及工程应用》课件-第3章 指令系统与编程技术(第2次课)_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

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

文档简介

1第3章

指令系统与编程技术2

51系列单片机有7种寻址方式。分别为:立即寻址、寄存器寻址、直接寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。

学习编程的方法:多读、多写、多练!33.3指令系统

51单片机的指令分为:

数据传送指令、算术运算指令、逻辑运算指令、程序转移指令、位操作指令等五大类共111条。

4数据传送指令1.内部RAM与特殊功能寄存器之间的数据传送这类指令使用“MOV”作为指令操作码的助记符,指令格式如下:

MOV目的操作数,源操作数;目的操作数←源操作数功能:把源操作数的内容送入目的操作数。5(1)以累加器A为目的操作数的指令

MOVA,#data;(A)←#data,

#data表示8位立即数

MOVA,direct;(A)←(direct),

direct表示8位直接寻址的地址 ;直接地址00H~7FH,访问片内RAM

;直接地址80H~FFH,访问SFRMOVA,Rn;(A)←(Rn),n=0~7,Rn表示R0~R7MOVA,@Ri;(A)←((Ri)),Ri表示R0和R1,@Ri一定访问片内RAM6(2)以Rn为目的操作数的指令

MOVRn,#data ;(Rn)←#data MOVRn,A;(Rn)←(A)

MOVRn,direct ;(Rn)←(direct);00H~7FH访问片内RAM,80H~FFH访问SFR

功能:把源操作数的内容送入当前工作寄存器区的R0~R7中的某一寄存器。请您编程:编程设置R0=05H,R1=AAH,A=55H,R2=10。MOVR0,#05HMOVR1,#0AAHMOVA,#55HMOVR2,#1078(3)以direct为目的操作数的指令

MOVdirect,A ;如:MOV40H,AMOVdirect,Rn ;如:MOVP1,R3MOVdirect,direct;如:MOV30H,40HMOVdirect,#data;如:MOV 30H,#0FHMOVdirect,@Ri;如:MOV60H,@R0MOVDPTR,#data16 ;如:MOVDPTR,#1234H功能:把源操作数的内容送入内部RAM单元或特殊功能寄存器。9(4)以@Ri为目的操作数的指令

MOV@Ri,A;如:MOV@R0,AMOV@Ri,direct;如:MOV@R0,30HMOV@Ri,#data;如:MOV@R0,#30Hi=0,1请您编程:编程设置30H单元为05H。MOV30H,#05HMOVR0,#30HMOV@R0,#05HMOVA,#05HMOV30H,A10112.累加器A与外部数据存储器之间的传送指令MOVX

51单片机用MOVX指令同外部数据存储器或I/O端口之间交换信息,而且只能通过累加器A实现CPU与外部的数据传送,即两个操作数中必定有一个是A。12MOVXMOVX指令只有4种格式:

MOVXA,@DPTR;用@DPTR访问外部RAM64KB空间

MOVXA,@Ri;用@Ri访问外部RAM低256B空间(00H~FFH)

MOVX@DPTR,A

MOVX@Ri,A

13请编程:将片外2000H单元的数据传送到片内40H单元。MOVDPTR ,#2000HMOVX A, @DPTRMOV 40H,A14请您思考:请编程:将片外2000H~201FH单元的数据送 到片内40H单元开始的区域。

MOV DPTR,#2000H MOV R0, #40H MOV R7, #20HLOOP: MOVX A, @DPTR MOV @R0, A INCR0 INCDPTR DJNZR7,LOOP153.查表指令MOVC

MOVC指令称为查表指令,可用来查找存放在程序存储器中的常数表格。它只有两种格式:MOVCA,@A+DPTR;(A)←((DPTR)+(A))MOVCA,@A+PC ;(A)←((PC)+(A))162000H0200112002420039200416200525200636200749MOVDPTR,#2000HMOVA, #06MOVCA,@A+DPTR查表指令应用举例174.堆栈操作指令入栈指令为:PUSHdirect出栈指令为:POPdirect18MOV A,#35 ;A=35MOV R1,#46 ;R1=46MOV R2,#10H ;R2=10HPUSHA ;A=35PUSHR1 PUSHR2POPR7 ;R7=10HPOPR5 ;R5=46POPR3 ;R3=35A=?R1=?R2=?R3=?R5=?R7=?读程序195.字节交换指令XCHA,Rn ;(A)(Rn)XCHA,@Ri ;(A)((Ri))XCHA,direct ;(A)(direct)XCHDA,@Ri ;(A)3~0((Ri))3~0SWAPA ;(A)7~4(A)3~0MOV30H,AMOVA,R0MOVR0,30H20XCHA,Rn21课堂练习:请编程:将片内5FH~40H单元的数据送到片外2000H单元开始的区域。

MOV DPTR

温馨提示

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

评论

0/150

提交评论