- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第四课 51单片机汇编指令集1
第4课 51单片机汇编指令介绍--数据传送和算术运算指令;单片机指令和程序设计语言概述
计算机和单片机的CPU所能执行的任务都是以二进制编码列表的形式存储入程序存储器,然后再由CPU一条一条的取出来按顺序执行。
这样的一条一条CPU可以执行的二进制编码称为“机器指令”
第一代计算机就是由人工把二进制机器指令以各种形式制作(例如穿孔带)再输入到计算机执行的。;如果把所有CPU能够执行的指令对应的二进制编码列表出来就形成了“机器指令集”
例如51单片机的机器指令集,以16进制编码形式指令节选样例如下。;由于机器指令难于记忆和使用,后来诞生了由简单的英文单词缩写的“汇编指令集”
所谓汇编指令集,是指需要由一种汇编工具再将英文单词助记符转换翻译为机器指令才能执行。而汇编指令和机器指令是完全一一对应的。任何一条单片机所能执行的基本指令都有一个确定汇编指令表示。直到今天搞单片机应用系统开发的企业从业人员,用汇编指令开发程序仍是必须的基本功,因为相当多的项目程序都是汇编写的。;汇编指令是繁多的。51单片机属于复杂指令集CISC,一共有111条汇编指令之多。把CPU所能执行的每一个单步操作都细化为一条汇编指令了,故而用汇编指令编写程序必然也是复杂冗长的。
后来诞生的单片机很多是精简指令集系统,最少的只有20多条~40多条指令。
初学单片机的人必须先熟悉汇编指令,并能编写一些基本的汇编语言程序模块,以理解掌握单片机的工作原理和运行机制,才能达到课程的学习目的。
;为了加快单片机应用系统产品的开发周期,更加灵活方便的编写程序,可以使用更高一级的程序开发语言编写单片机程序,比如C语言。C51语言是在标准ANSI C基础上加入了对单片机硬件支持的接口和函数库的特定C程序开发工具。
想要用C语言开发单片机程序,要做好两件事:
1. 理解并熟练掌握所用单片机的硬件结构,理解单片机的运行机制流程;
2. 熟练使用C语言编写程序,多做实际项目。;寻址、汇编指令基本格式
51单片机汇编指令集
数据传送指令
算术运算
逻辑运算
控制转移
位运算;MCS-51指令系统共有111条指令;51???片机寻址方式(7种);(1)立即寻址
指被寻址的数是一个放在程序存储器中的常数,并且仅跟着本条指令的后面存放。取完指令后立即取出该常数,故称为立即寻址。
举例: ADD A,#28H
28H是一个紧跟着指令存放在ROM里的一个常数。;(3)寄存器寻址
指被寻址的单元是通用寄存器R0~R7,将寄存器的数值取出。举例: MOV A,R3 R0,R1,R2….R7;(5)基址寄存器加变址寄存器寻址
举例: MOVC A,@A+DPTR
此时DPTR是一个地址指针,指向一个程序存储器中常数数组的首地址,称为基址(Base address),A中存储的是该数组中对应元素的下标(变址),@A+DPTR则表示把该下标对应的数组元素读取出来。
类似理解:
char strtest[8] = “Hello”;
char index;
char *p;
p = strtest; index = 3;
printf(“%c”,*(p+3));
或者可以写 printf(“%c”,p[3]);;(6)相对寻址
相对寻址特别是指短跳转指令中被跳转的范围在一个字节的变化范围之内,即-128--+127字节范围,是用于修改PC值,进而改变程序流程的转移类指令所使用的寻址方法。
举例: SJMP MAIN
MAIN在这里是一个语句标号,代表的是一条指令所在的实际存储器地址值,该指令地址和SJMP MAIN这条语句的地址范围差值在-128~+127之内,即一个字节有符号数范围。用于程序跳转中的短跳转语句。
;(7)位寻址
指被寻址的单元是一个位存储单元,将该位单元的内容取出访问。能够被位寻址的单元是片内RAM的20H~2FH的128个位变量区(地址:00H-7FH)以及特殊功能寄存器中字节地址能够被8整除的SFR的所有位,(地址范围刚好是80H~FFH)
使用位寻址方式的必须是位操作指令,与字节操作指令要严格区分开来。
举例: MOV C,20H
位指令具有鲜明的特征,其操作单元都是位单元。最典型的例子是一个操作数是CY位,此时20H指的就是片内20H~2FH内的位寻址区20H位了。这个叫做位寻址。;;介绍描述指令中各种符号的意义;addr16;A;寻址方式与相应的寻址空间;一、数据传送类(29条);汇编语句基 本格式:
[标号:] 指令操作码 [操作数1],[操作数2], [操作数3],[:注释];1、MOV类传送指令; MOV类传送指令列表; MOV类传送指令小结;MOV = move,类似搬移的意思,实际执行指令是拷贝,把逗号右边的内容拷贝到左
您可能关注的文档
- 第10章 数字信号输入输出接口电路.pptx
- 第5章 Arena概述与仿真建模基本操作16.pdf
- 第7章 80C51并行扩展技术.ppt
- 第六章 分布交互仿真.ppt [兼容模式].pdf
- 第8章_接口2_16.ppt
- 第六章 单片机存储器与IO端口扩展(一).ppt
- 第四章 线性离散系统的Z变换分析法.ppt
- 第四章直流电机电枢绕组.ppt
- 第四章资本结构原理分析.ppt
- 第四章-板块与活动地块学说1.ppt
- 2023年陕西省商洛市柞水县两河乡招聘社区工作者真题参考答案详解.docx
- 2023年陕西省延安市宝塔区青化砭镇招聘社区工作者真题参考答案详解.docx
- 2023年陕西省汉中市西乡县罗镇乡招聘社区工作者真题及参考答案详解.docx
- 2023年陕西省延安市洛川县永乡招聘社区工作者真题及答案详解1套.docx
- 2023年陕西省商洛市商州区三岔河乡招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省宝鸡市陇县八渡镇招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省延安市洛川县石泉乡招聘社区工作者真题及参考答案详解一套.docx
- 2023年陕西省商洛市商州区沙河子镇招聘社区工作者真题附答案详解.docx
- 2023年陕西省咸阳市礼泉县赵镇招聘社区工作者真题及参考答案详解1套.docx
- 2023年陕西省商洛市丹凤县留仙坪乡招聘社区工作者真题及参考答案详解一套.docx
文档评论(0)