- 1、本文档共152页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第3章 51系列单片机的指令系统
1.掌握AT89S51单片机指令系统的指令格式和常用符号含义。
2.掌握AT89S51单片机指令的寻址方式。
3.熟练掌握AT89S51单片机指令系统。
【知识目标】
1.熟练使用AT89S51单片机指令。
2.学会使用不同的寻址方式来访问各个存储空间。
3.熟悉Keil软件和程序调试。
4.熟悉PROTEUS软件环境,并能使用PROTEUS软件设计简单电路。
【技能目标】
3.1单片机指令概述
3.2 指令系统寻址方式
3.3指令系统的分类介绍
3.4 指令汇总
3.5 Keil软件使用
3.6 Proteus软件使用
单片机指令使用英文名称或缩写形式作为助记符,以助记符、符号地址、标号等书写程序的语言称为汇编语言。
3.1.1 指令格式
MCS-51系列单片机的基本指令共111条,按照指令在程序存储器所占的字节可以分为单字节指令、双字节指令和三字节指令。其中单字节指令49条,双字节指令45条,三字节指令17条。
MCS-51系列单片机指令的格式为:
[标号:] 操作码 [操作数] [;注释]
通常,一条指令有两部分组成,即操作码和操作数。操作码用来规定指令进行什么操作,操作数则是指令操作的对象。但有时为了说明本条语句的地址,可以加入标号,代表该语句指令代码第一个字节地址,同时为了编写和阅读程序加入注释。
3.1单片机指令概述
MCS-51系列单片机指令系统中,除操作码是使用助记符,操作数中使用了一些符号,这些符号的含义归纳如下:
3.1.2 常用符号
3.1.2 常用符号
指令中说明操作数所在地址的方法就是寻址方式。MCS-51系列单片机的指令系统有7种寻址方式。
3.2 指令系统寻址方式
直接寻址是指操作数直接以单元地址的形式给出,即操作数在指令中以存储单元的形式出现,由于直接寻址方式只能使用8位二进制数表示的地址,所以直接寻址方式的范围为内部RAM的低128单元和特殊功能寄存器。例如:
MOV A,30H ;将内部RAM30H中的数据传送给累加器A
注意:累计器A可以写为Acc,但是若写成Acc寻址方式为直接寻址。例如:
MOV R0,Acc
(2)直接寻址方式
寄存器间接寻址方式是指寄存器中存放的是操作数的地址,即先从寄存器中得到操作数的地址,然后按照该地址找到操作数,因此称之为寄存器间接寻址。为了与寄存器寻址方式区别,在寄存器间接寻址方式中,在寄存器的名称前面加前缀“@”。例如:
MOV A,@R0
若(R0)=20H, (20H)=30H,这条指令的功能是将以R0寄存器内容20H为地址,把该地址单元的内容送至累加器A,其功能示意图如图3-1所示。
(3)寄存器间接寻址方式
寄存器间接寻址的范围:@Ri用于对片内RAM的寻址,也可以对片外RAM寻址,地址范围为00H~FFH;@DPTR的寻址范围可以覆盖片外RAM的全部64KB区域;堆栈操作指令PUSH和POP,是以堆栈指针SP作间接寻址寄存器的间接寻址方式。
图3-1寄存器间接寻址示意图
立即寻址是指操作数在指令中直接给出,通常将此操作数称为立即数,“#”是立即寻址的标记。例如:
MOV A,#20H ;将立即数20H传送到累加器A中
MOV DPTR,#2000H ;将16位立即数2000H传送到数据指针DPTR
(4)立即寻址
变址寻址是为了访问程序存储器中的数据表格,变址寻址是将DPTR或PC作为基地址寄存器,预先存放操作数的基地址,累加器A作为基地址的偏移量即变址寄存器,累加器A中也应预先存放有被寻址操作数地址对基地址的偏移量,在指令执行时,单片机将基地址和偏移量相加所得到的16位地址作为操作数的地址,以达到访问数据表格的目的。例如:
MOVC A,@A+ DPTR
若指令执行前(A)=20H,( DPTR)=1000H,将DPTR和A的内容相加作为操作数的存储单元的地址,将1020H单元的内容30H传送给累加器A,指令执行后累加器A中的内容为30H。其功能示意图如图3-2所示
(5)变址寻址
注意:
①变址寻址方式是访问程序存储器ROM中数据的唯一的寻址方式,寻址范围可达到64KB。
②变址寻址的指令只用3条:
MOVC A,@A+DPTR
MOVC A,@A+PC
JMP A,@A+DPTR
其中前两条是访问程序存储器指令,后一条是无条件转移指令。
③变址寻址方式用于查表操作,而数据表是建立在程序存储器ROM中。
前面的寻址方式主要是解决操作数的给出,而相对寻址方式则是为了解决程序转移的问题,为转移指令所采用。例如:
SJMP rel
在相对寻址的转移指令中,给出了地址偏移量,用“rel”表示,把PC的当前值加上偏移量就构成了程序转移的
文档评论(0)