- 1、本文档共153页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
单片机应用技术第三章
第三章 单片机的指令系统 3.1 单片机的编程语言及格式 3.2 寻址方式 3.3 数据传送类指令 3.4 算术运算类指令 3.5 逻辑运算类指令 3.6 控制转移类指令 3.7 位操作指令 第三章 单片机的指令系统 实训三 彩灯的控制 本章小结 3.1 单片机的编程语言及格式 3.1.1 单片机编程语言分类及特点 单片机的编程语言有机器语言、汇编语言与高级语言三种。 机器语言(Machine Language)是指直接用机器码编写程序、能够为计算机直接执行的机器级语言。机器码是一串由二进制代码“0”和“1”组成的二进制数据,执行速度快。但对于使用者来说,用机器语言编写程序非常繁琐,不易看懂和记忆,容易出错。机器语言一般只在简单的开发装置中使用。 汇编语言(Assembly Language)是指用指令助记符代替机器码的编程语言。程序结构简单,执行速度快,程序易优化,编译后占用存储空间小,能充分发挥单片机的硬件功能,是单片机应用系统开发中最常用的程序设计语言。 3.1 单片机的编程语言及格式 高级语言(High-Level Language)是在汇编语言的基础上用高级语言来编写程序,例如Franklin C51、MBASIC 51等,程序可读性强,通用性好,适用于不熟悉单片机指令系统的用户。大中型单片机系统的软件开发采用C语言的开发周期通常要比采用汇编语言短得多。高级语言编写程序的缺点是实时性不高,结构不紧凑,编译后占用存储空间比较大,这一点在存储器有限的单片机应用系统中没有优势。 由上述三种编程语言的各自特点可以看出,如果应用系统的存储空间比较小,且对实时性的要求很高,则应选用汇编语言。如果系统的存储空间比较大,且对实时性的要求不是很高,则应选用高级语言。 3.1 单片机的编程语言及格式 不论是汇编语言还是高级语言都要转化为机器语言才能为计算机所用。因此,机器语言程序又称为目标程序,而用汇编语言和高级语言编写的程序称为源程序。 对于单片机的学习,掌握汇编语言是必不可少的,所以本书主要介绍汇编语言,对高级语言(C51)只做简单介绍。 3.1.2 汇编语言的指令格式 指令是指挥计算机工作的命令,是计算机软件的基本组成单元。指令有机器指令和汇编语言指令两种。机器指令是用二进制数表示的能直接被计算机识别并执行的指令,由于二进制书写起来较长,通常用十六进制数表示。显然这种指令不便记忆和理解,书写时也容易出错。为了便于记忆和使用,常以指令的英文名称或缩写形式作为助记符来表示指令的 3.1 单片机的编程语言及格式 功能(如用“MOV”表示传送,用“ADD”表示加法),这样的指令称为汇编语言指令。 指令的表示形式称为指令格式。用MCS-5l汇编语言表示的指令格式如下: [标号:] 操作码助记符 [操作数1,操作数2, 操作数3] [;注释] 例如:LOOP: ADD A , #50H ; 执行加法 在指令格式中,方括号中的内容为可选项,不一定都有。各字段的意义如下: 标号:表示该指令所在的地址。并不是每条指令都必须有标号,通常在程序分支、转移所需要的地方才加上一个标号。标号是以字母开始的,由1~8个字符(字母或数字)组成,标号不能使用汇编语言中已经定义过的符号名,如指令助记符、寄存器名、伪指令等。标号以“:”结尾。特别应注意的是,在一个程序中不允许重复定义标号,即同一程序内不能在两处及两处以上使用同一标号。 3.1 单片机的编程语言及格式 操作码:表示该语句要执行的操作内容,是每条指令必有的部分。操作码用指令助记符表示。操作码后面至少留一个空格,使其与后面的操作数分隔。 操作数:表示操作码的操作对象,常用符号(如寄存器、标号)、常量(如立即数、地址值等)来表示。操作码和操作数之间用若干空格分隔,而各操作数之间用逗号“,”分隔。指令的操作数可以有3个、2个、1个或没有(如空操作指令NOP)。操作数的个数因指令功能而异。 例如:MOV A,#30H ;传送指令,两个操作数,第1个为目的操作数,第2个为源操作数 INC A ;累加器加1指令,只有一个操作数 RETI ;中断返回指令,没有操作数 3.1 单片机的编程语言及格式 注释:该字段可有可无,是用户为阅读程序方便而加的解释说明。注释段以“;”开始,不影响程序的执行。 3.1.3 指令的分类及符号含义 MCS-51系列单片机具有十分丰富的指令系统,使用了42种操作码助记符来描述,共有33种操作功能。其中有的操作可以有多种寻址方式,这样就构成了111条指令。其分类如下: 按功能分类:数据传送指令29条,算术运算指令24条,逻辑运算指令24条,控制转移指令17条,
文档评论(0)