MCS-51单片机指令与程序基本概念

上传人:飞*** 文档编号:40229238 上传时间:2018-05-24 格式:DOC 页数:4 大小:43.50KB
返回 下载 相关 举报
MCS-51单片机指令与程序基本概念_第1页
第1页 / 共4页
MCS-51单片机指令与程序基本概念_第2页
第2页 / 共4页
MCS-51单片机指令与程序基本概念_第3页
第3页 / 共4页
MCS-51单片机指令与程序基本概念_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《MCS-51单片机指令与程序基本概念》由会员分享,可在线阅读,更多相关《MCS-51单片机指令与程序基本概念(4页珍藏版)》请在金锄头文库上搜索。

1、MCS-51MCS-51 单片机指令与程序简介单片机指令与程序简介指令指令:计算机(CPU)的操作命令机器指令代码机器指令代码:机器指令的二进制表示方式,是指令在程序存储器中存放形式,是 CPU 可直接读取、识别并执行的唯一形式。8051 单片机的指令有单字节指令、双字节指令、三字节指令。第一字节为操作码表达指令的操作功能,其中还包括不须独占整字节的操作数信息(如寄存器寻址、寄存器间接寻址等方式) 。其余字节表达操作数:为需独占整字节的操作数信息(如立即数,直接地址,相对转移偏移量,位地址,绝对转移地址) 。机器语言(目标)程序机器语言(目标)程序:由机器指令代码组成的程序。是所有程序的最终形

2、式,是可被 CPU 依序执行的唯一程序形式,被 CPU 执行前,应预先存放在计算机内部主存储器(内存储器)中,方可由 CPU 依序读取、执行。但因其纯代码化、不便于阅读与交流。符号指令符号指令:(汇编指令,指令助记符)每一条指令用比较直观,易于表现指令功能及操作对象的符号形式来表达,这种形式的指令称符号指令,便于阅读与交流。但符号指令不被 CPU 所识别与理解,只是作为书写程序的初始形式来使用(编写源程序) 。汇编语言程序汇编语言程序:用符号指令书写的程序形式。它必须事先转化为机器语言目标程序,并存放在计算机内存中,方可被 CPU 所读取、译码识别、执行。高级语言程序:高级语言程序:高级语言程

3、序与机器语言程序间则不是简单的逐条对应关系,它们必须经过编译或解释产生出实现其语法所定义的功能的机器语言目标程序,方可由 CPU 所执行。汇编语言、机器语言程序的书写方式、存储方式、执行过程如下所示:例例 1 1 将 3AH 单元中数据与 3BH 单元中数据相互交换机器语言目标程序 汇编语言源程序 地址 指令代码 标号 操作码 操作数 注释ORG 2000H ;伪指令,表示后续指令从;伪指令,表示后续指令从 2000H 起存放起存放 2000 E5 3A START:MOV A,3AH ;把;把 3AH 中数据送入中数据送入 A 中中 2002 85 3B 3A MOV 3AH,3BH ;把;

4、把 3BH 中数据送入中数据送入 3AH 单元单元 2005 F5 3B MOV 3BH,A ;A 中数据中数据(原原 3AH 单元数据单元数据)送入送入 3BH 单单 元元 2007 02 20 07 LOOP:LJMP LOOP ;自循环暂停;自循环暂停 END ;伪指令,表示汇编程序到此结束;伪指令,表示汇编程序到此结束每条符号指令对应着唯一对应的指令代码。指令代码存放在存储器中的地址必须是确定的。每条指令的代码为 13 个字节。因此书写时与其源指令在同一书写行上,而地址只要表达每条指令第一个代码所存放单元的地址。上例程序段指令代码存储形式示意如下:2000H E5 2001H 3A 2

5、002H 852003H 3B2004H 3A2005H F52006H 3B2007H 022008H 202009H 07PC(程序计数器,程序指针)的作用:(程序计数器,程序指针)的作用:PC:始终存放着 CPU 要取出执行的下一个机器指令代码的存放单元的地址。或:始终指向要取出执行的下一条指令代码存放单元,MOV A,3AHMOV 3AH,3BHMOV 3BH,ALJMP 2007H51 单片机程序存储器空间为 64KB,使用 16bit 地址码51 单片机的 PC 为 16bit(双字节)PC 的作用的作用:51 单片机复位后,初始化 PC=0000H,51 单片机总是以 0000H

6、 地址开始执行程序的。51 单片机程序存储器空间中,0000H 地址处一定要有存储器并存放有效的程序指令。CPU 总是以 PC 中的内容为地址从程序存储器中取指令代码的。CPU 每取出一个字节的指令代码自动地将 PC 加 1(PCPC+1)实现程序的顺序执行逻辑。CPU 执行跳转指令功能时为将指令指定的跳转目标地址置入 PC(使下一次取的是该地址处的指令)实现了程序跳转执行逻辑。上例程序的执行过程描述如下:上例程序的执行过程描述如下:PC 中的初始地址值为 2000H(1)CPU 取出 2000H 单元中指令首字节(操作码)E5H, PC+1=2001H,译:本指令尚有第二字节直接地址(2)C

7、PU 取出 2001H 单元中操作数 3AH,PC+1=2002H,执行:将 3AH 中数送入A。(3)CPU 取出 2002H 单元中指令操作码 85H,PC+1=2003H,译:尚有二字节地址码(4)CPU 取出 2003H 单元中地址码 3BH,PC+1=2004H,取出 3BH 单元中的数(5)CPU 取出 2004H 单元中地址码 3AH,PC+1=2005H,执行:将数送入 3AH 单元(6)CPU 取出 2005H 单元中指令操作码 F5H,PC+1=2006H,译:尚有一字节地址码(7)CPU 取出 2006H 单元中地址码 3BH,PC+1=2007H,执行:将 A 中数据送

8、入3BH 单元(8)CPU 取出 2007H 单元指令操作码 02H,PC+1=2008H,译:尚有二字节目标地址(9)CPU 取出 2008H 单元中地址高字节 20H,PC+1=2009H,尚有一字节地址码(10) CPU 取出 2009H 单元中地址低字节 07H,PC+1=200AH,执行:2007H PC转步骤(8)无限循环例例 2 2 编程序实现 R2、R3 中的双字节 BCD 数加上 R4、R5 中的双字节 BCD 数,和值存放于 R6、R7 中。ORG 11A0H11A0 EB MOV A,R3 ;取被加数低字节11A1 2D ADD A,R5 ;加上加数低字节,进位在 Cy

9、中11A2 D4 DA A ;二-十进制调整11A3 FF MOV R7,A ;存和值的低字节11A4 EA MOV A,R2 ;取被加数高字节11A5 3C ADDC A,R4 ;加上加数高字节及低字节的进位 11A6 D4 DA A ;二-十进制调整 11A7 FE MOV R6,A ;存和值的高字节11A8 80 FE SJMP $ ;自循环暂停11AA例例 3 3 编程序实现 P1.3 输出驱动 LED 以 1 秒为周期闪烁。ORG 1200H1200 C2 95 CLR P1.3 ;输出控制端清零1202 7F 08 LOOP0: MOV R7,#8 ;软件延时 0.5 秒1204 7E C8 LOOP7: MOV R6,#200 1206 7D 64 LOOP6: MOV R5,#100 1208 00 LOOP5: NOP 1209 DD FD DJNZ R5,LOOP5 120B DE F9 DJNZ R6,LOOP6 120D DF F5 DJNZ R7,LOOP7 120F B2 95 CPL P1.3 ;输出控制端求反1211 80 EF SJMP LOOP0 ;循环1213 注:用导线连接 P1.3 端至一只发光二极管

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号