第2章 mcs-51单片机应用教程

第2章 mcs-51单片机应用教程

ID:18678990

大小:471.50 KB

页数:135页

时间:2018-09-20

第2章 mcs-51单片机应用教程_第1页
第2章 mcs-51单片机应用教程_第2页
第2章 mcs-51单片机应用教程_第3页
第2章 mcs-51单片机应用教程_第4页
第2章 mcs-51单片机应用教程_第5页
资源描述:

《第2章 mcs-51单片机应用教程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第2章单片机的指令系统2.1指令系统概述2.2寻址方式2.3指令功能介绍2.4小结习题通过对本章的学习,读者应具备以下能力:熟练掌握不同寻址方式以及汇编指令的用法掌握伪指令的使用以及汇编语言程序的完整格式掌握算术运算类指令对PSW各标志位的影响理解汇编语言程序的执行过程本章学习目标一种计算机所有指令的集合,称为该计算机的指令系统。它是表征计算机性能的重要标志。各类计算机都有专用的指令系统。2.1指令系统概述MCS-51单片机共有111条指令,有几种不同的分类方法。(1)按指令功能分类,如图2-1所示。2.1.1指令分类图2-

2、1按指令功能分类图(2)按指令字长分类,如图2-2所示。图2-2按指令字长分类图(3)按指令执行时间分类,如图2-3所示。图2-3按指令执行时间分类图用MCS-51单片机汇编语言表示的指令格式如下:[标号]:操作码[目的操作数],[源操作数];[注释]一条汇编语句是由标号、操作码、操作数和注释部分组成的,其中方括号中的部分是可选项。例如:AA:ADDA,#10H;执行加法操作AA:为标号,ADD为操作码,A与#10H为操作数,“;”后面为注释部分。2.1.2指令格式用汇编语言编写程序时,应注意以下几个问题:(1)标号标号是语

3、句地址的标志符号。有关标号的规定如下:①标号由1~8个字母或数字组成,可以使用一个下划线符号“_”。②第一个字符必须是字母。③指令助记符或系统中保留使用的字符串不能作为标号。④标号后面必须跟一个冒号。⑤一条语句可以有标号,也可以没有标号。标号的有无取决于本程序中其他语句是否需要访问这条语句。以下是合法的标号以下是不合法的标号LOOP1:5LOOP:(第一个字符是数字)START:A*5:(“*”不能在标号中出现)Q4_:ADD:(指令助记符)SSS:START(无冒号)L123:L12345678:(超过8个字符)(2)操作

4、码规定语句执行的操作。操作码是以指令助记符或伪指令助记符表示的。操作码是汇编指令中惟一不能空缺的部分。(3)操作数用于给指令的操作提供数据或地址。在一条指令中,操作数可以为1项、2项或3项,各操作数之间用逗号隔开,操作数也可能空缺。例如:LOOP:INCA;1项操作数ADDA,#50H;2项操作数CJNEA,#5,LOOP;3项操作数RET;无操作数(4)注释注释不属于语句的功能部分,它只对语句进行解释说明。在程序汇编时注释字段不被汇编,可有可无,只起说明作用。注释内容以“;”开头。(5)分隔符分隔符用于分割语句的各个部分,

5、以便于区分。冒号“:”用于标号之后;空格用于操作码和操作数之间;逗号“,”用于操作数之间;分号“;”用于注释之前。为节省存储空间,MCS-51单片机采用变字长指令方式。按8位二进制数为一个字节,指令字长有单字节、双字节和三字节3种,在存储单元中分别占1~3个单元。指令周期是指执行一条指令所需要的时间。指令字节数越多,所占存储单元则越多,但指令周期并不与指令所占字节数成比例。2.1.3指令字长和指令周期寻址方式是指CPU寻找操作数或操作数地址的方式。计算机执行程序的过程是不断地寻找操作数并进行操作的过程。MCS-51单片机共有

6、7种寻址方式,分述如下。2.2寻址方式1.寻址范围指令中直接给出操作数所在的单元地址,它的寻址范围为单片机内部RAM。(1)内部RAM低128单元。在指令中直接以单元地址形式给出,地址范围00H~7FH;(2)特殊功能寄存器SFR。直接寻址是SFR惟一的一种寻址方式。SFR可以以单元地址给出,也可以用寄存器符号形式给出(A、AB、DPTR除外)。2.2.1直接寻址2.使用注意事项(1)寻址特殊功能寄存器SFR时,可以用直接地址,也可以用寄存器名。例如:MOVA,0D0H;A←(D0H)MOVA,PSW;A←(PSW)这两条指

7、令汇编后机器码完全一样,均为E5D0H,其中D0H为程序状态字PSW寄存器的物理地址。物理地址D0前要加0(凡以字母A~F开头的十六进制数均需加前导0)。(2)在MCS-51单片机指令系统中,累加器A有三种不同的表达方式,即A、ACC和E0H,分属不同的寻址方式,但指令的执行结果完全相同。例如:INCA;寄存器寻址方式INCACC;直接寻址方式INC0E0H;直接寻址方式操作数直接由指令给出,通常紧跟指令操作码之后的字节是操作数,该操作数被称为立即数。一般立即数可以是8位二进制数,也可以是16位二进制数。2.2.2立即寻址例

8、如:MOVA,#7AHMOVDPTR,#1234H注意:立即数前加“#”号,以区别直接地址。例如:MOVA,#30H;A←30HMOVA,30H;A←(30H)第一条指令是把立即数30H送累加器A,而第二条指令把30H单元的内容送累加器A。这种寻址方式中,操作数在寄存器中,确定了寄存器,就

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。