单片机原理及应用(C语言版)3

单片机原理及应用(C语言版)3

ID:38524331

大小:741.00 KB

页数:150页

时间:2019-06-14

单片机原理及应用(C语言版)3_第1页
单片机原理及应用(C语言版)3_第2页
单片机原理及应用(C语言版)3_第3页
单片机原理及应用(C语言版)3_第4页
单片机原理及应用(C语言版)3_第5页
资源描述:

《单片机原理及应用(C语言版)3》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、单片机原理及应用(C语言版)第3章MCS-51指令系统及 汇编程序设计主编:周国运本章制作:周国运中国水利水电出版社第3章MCS-51指令系统 及汇编程序设计目录3.1汇编语言概述3.2MCS-51单片机寻址方式3.3MCS-51单片机指令系统3.4MCS-51单片机伪指令3.5汇编语言程序设计举例本章讨论MCS-51单片机的指令系统及汇编语言程序设计。内容主要包括:汇编语言基本概念、寻址方式、指令系统、伪指令、汇编语言程序举例。本章是单片机程序设计的基础,即便是主要用C语言做设计程序,但对某些要求较高的部分,还是需要用汇编语言来写程序。3.1汇编语言概述主要内容3.1

2、.1指令和机器语言3.1.2汇编语言3.1.3汇编语言指令格式3.1.1指令和机器语言一、指令和指令系统指令:是计算机中CPU根据人的意图来执行某种操作的命令。指令系统:是一台计算机(CPU)所能执行的全部指令的集合。指令系统的强弱,决定了计算机智能的高低。3.1.1指令和机器语言二、程序和程序设计语言程序:人们编写的、使计算机完成某项工作的指令序列,称为程序。程序设计:编写程序的过程叫程序设计程序设计语言:编写程序的一整套规则、方法。程序设计语言分类:分为机器语言、汇编语言和高级语言等。3.1.1指令和机器语言三、机器语言机器语言:用二进制编码表示每条指令,是计算机能

3、够直接识别和执行的语言。目标程序:用机器语言编写的程序。例如“13+25”,在MCS-51中的机器码为01110100000011010010010000011001用十六进制表示指令码为:74H0DH把13放到累加器A中24H19HA加25,结果仍放回A中3.1.2汇编语言汇编语言:用助记符、符号、数字等表示指令的程序语言。例如,上面的“13+25”的例子可写成:汇编语言程序机器语言代码MOVA,#0DH74H0DHADDA,#19H24H19H相对于机器语言来说,汇编语言容易理解和记忆。汇编语言和机器语言都属于低级语言。3.1.3汇编语言指令格式一、MCS-51汇编

4、语言指令格式由四部分组成,其一般格式如下:[标号:]操作码[操作数][;注释]方括号中的内容可以没有,即可以没有标号、操作数和注释,至少要有操作码。其操作数部分最多可以是三项:[第1操作数][,第2操作数][,第3操作数]对MOV指令,有两项,第1操作数常称为目的操作数,第2操作数称为源操作数。3.1.3汇编语言指令格式例如:START:MOVA,#23H;23H→A“START”为标号“MOV”为操作码“A,#23H”为操作数“23H→A”为注释3.1.3汇编语言指令格式二、MCS-51汇编指令构成1、单字节指令指令中既包含有操作码,也包含有操作数,有两种情况。1)指

5、令码中隐含着对某个寄存器的操作如:“INCA”、“MULAB”、“RLA”、“CLRC”、“INCDPTR”等指令。2)由指令码中的rrr或i指定操作数3.1.3汇编语言指令格式这种情况是指令中使用了Rn或Ri如“MOVRn,A”编码格式为:11111rrrrrr的取值为:0~7,表示R0~R7又如“MOVA,@Ri”编码格式为:1110011ii取值为:0、1,表示R0、R13.1.3汇编语言指令格式2、双字节指令一个字节表示操作码,另一个字节表示操作数或操作数的地址。3、三字节指令一个字节表示操作码,另两个字节表示操作数或操作数的地址。3.2MCS-51单片机寻址方

6、式主要内容3.2.1立即数寻址3.2.2寄存器寻址3.2.3直接寻址3.2.4寄存器间接寻址3.2.5变址寻址3.2.6位寻址3.2.7指令寻址3.2.8寻址空间及指令中的符号寻址方式:就是指CPU寻找参与运算的操作数的方式,或者寻找数据保存位置的方式。7种寻址方式:立即数寻址、寄存器寻址、直接寻址、寄存器间接寻址、变址寻址、位寻址和指令寻址。寻址方式分两类:操作数寻址和指令寻址,在7种寻址方式中,除了指令寻址之外,其余6种都属于操作数寻址。寻址方式是汇编语言程序设计中最基本的内容之一,必须要十分熟悉。3.2MCS-51单片机寻址方式3.2.1立即数寻址立即数寻址也叫立

7、即寻址、常数寻址。其操作数就在指令中,是指令的一部分,紧跟在操作码后面,用“#”符号作前缀,以区别地址。例如:MOVA,#2CH;2CH→AMOVA,2CH;(2CH)→A前者表示把2CH这个数送给累加器A,后者表示把片内RAM中地址为2CH单元的内容送给累加器A。3.2.1立即数寻址立即数也可以是16位的,如:MOVDPTR,#1234HMOVTL2,#2345HMOVRCAP2L,#3456H对于第2条指令,立即数的低8位送给了TL2,高8位送给了TH2;对于第3条指令,立即数的低8位送给了RCAP2L,高8位送给了RCAP2H。3.

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

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

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