山东大学单片机原理与应用03 MCS-51的软件系统设计

上传人:东*** 文档编号:277741511 上传时间:2022-04-15 格式:PPT 页数:181 大小:844KB
返回 下载 相关 举报
山东大学单片机原理与应用03 MCS-51的软件系统设计_第1页
第1页 / 共181页
山东大学单片机原理与应用03 MCS-51的软件系统设计_第2页
第2页 / 共181页
山东大学单片机原理与应用03 MCS-51的软件系统设计_第3页
第3页 / 共181页
山东大学单片机原理与应用03 MCS-51的软件系统设计_第4页
第4页 / 共181页
山东大学单片机原理与应用03 MCS-51的软件系统设计_第5页
第5页 / 共181页
点击查看更多>>
资源描述

《山东大学单片机原理与应用03 MCS-51的软件系统设计》由会员分享,可在线阅读,更多相关《山东大学单片机原理与应用03 MCS-51的软件系统设计(181页珍藏版)》请在金锄头文库上搜索。

1、l3.1 单片机程序设计语言分类l3.2 MCS-51汇编指令系统l3.3 MCS-51汇编语言程序设计l3.4 MCS-51的C语言程序设计l3.5 Keil C51与汇编语言的混合编程第三章第三章 MCS-51MCS-51的软件系统设计的软件系统设计 3.1 单片机程序设计语言分类指令和程序设计语言指令和程序设计语言 指令:指令:用来操纵计算机完成特定功能的命令用来操纵计算机完成特定功能的命令 指令系统:指令系统:全部指令的集合全部指令的集合 程序:程序:按人的要求编排的指令序列按人的要求编排的指令序列 程序设计:程序设计:编写程序的过程编写程序的过程 程序设计语言:程序设计语言:实现人机

2、交互的基本工具,实现人机交互的基本工具,分为机器语言、汇编语言、高级语言分为机器语言、汇编语言、高级语言机器语言:机器语言:用二进制编码表示每条指令,是计用二进制编码表示每条指令,是计算机能直接识别的语言算机能直接识别的语言。其特点是占用的内存其特点是占用的内存小、执行速度快小、执行速度快汇编语言:汇编语言:用助记符来表示机器指令的一种程用助记符来表示机器指令的一种程序设计语言。汇编语言与机器的指令系统密切序设计语言。汇编语言与机器的指令系统密切相关,不同的机型其指令系统不同。相关,不同的机型其指令系统不同。高级语言:高级语言:通用性强,可以在不同的机器上运通用性强,可以在不同的机器上运行。用

3、高级语言编写的程序要用编译程序或解行。用高级语言编写的程序要用编译程序或解释程序翻译成机器语言程序方能执行。释程序翻译成机器语言程序方能执行。 3.1 3.1 单片机程序设计语言分类单片机程序设计语言分类3.2 MCS-513.2 MCS-51汇编指令系统汇编指令系统3.2.1 MCS-513.2.1 MCS-51的指令格式的指令格式的指令格式的指令格式 3.2.2 MCS-51的指令系统的寻址方式的指令系统的寻址方式3.2.3 MCS-51汇编指令简介汇编指令简介3.2.1 MCS-513.2.1 MCS-51的指令格式的指令格式汇编语言指令格式汇编语言指令格式 标号:标号: 操作码操作码

4、目的操作数目的操作数 ,源操作数源操作数;注释注释 例例: :LOOP:LOOP: MOVMOV A A, #0FFH#0FFH ; LP LP : : MOV MOV A,A, R0 R0 ;将将R0R0的内容送的内容送A A操作码操作码: : 表示该指令所实现的操作功能,一般由表示该指令所实现的操作功能,一般由2-52-5个英个英文字母表示。例如文字母表示。例如ORLORL,ADDADD,LCALLLCALL等。等。3.2.1 MCS-513.2.1 MCS-51的指令格式的指令格式MOV_move传送传送XCH_exchange交换交换ANL_and logic与逻辑运算与逻辑运算XRL

5、_exclusive or异或运算异或运算MUL_Multiply乘法乘法RR_rotate right右循环右循环SJMP_short jump短跳转短跳转RET_return 子程序返回子程序返回操作数操作数: : 表示参与操作的数据来源和目的单元。操作数可表示参与操作的数据来源和目的单元。操作数可以是一个立即数,也可以是一个内存单元或者是一个以是一个立即数,也可以是一个内存单元或者是一个寄存器单元。寄存器单元。 操作码和第一个操作数之间一般用一个或几个空格操作码和第一个操作数之间一般用一个或几个空格隔开,而操作数与操作数之间用逗号隔开。隔开,而操作数与操作数之间用逗号隔开。 操作数可以有

6、操作数可以有1 1个,个,2 2个,个或没有。大部分指个,个或没有。大部分指令具有令具有2 2个操作数,其中第一操作数为个操作数,其中第一操作数为“目的操作数目的操作数”,第二操作数为,第二操作数为“源操作数源操作数”。3.2.1 MCS-513.2.1 MCS-51的指令格式的指令格式注释行:注释行: 说明指令在程序中的作用。起标记作用,对汇编程说明指令在程序中的作用。起标记作用,对汇编程序不存在任何意义,方便用户阅读序不存在任何意义,方便用户阅读. 如果需要对指令进行注释说明的话,在最后一个操如果需要对指令进行注释说明的话,在最后一个操作数后加一个分号,分号后面是注释。作数后加一个分号,分

7、号后面是注释。 如:如: MOV A , 60H ; (60H)A标号标号: 由由18个字母或数字构成,个字母或数字构成,以字母开头以字母开头,以,以“:”结尾,标号可有可无,它仅仅代表了该指令所在的结尾,标号可有可无,它仅仅代表了该指令所在的地址,便于源程序编写过程中使用该地址。地址,便于源程序编写过程中使用该地址。3.2.1 MCS-513.2.1 MCS-51的指令格式的指令格式MCS-51MCS-51指令系统指令系统 5151单单片机指令系片机指令系统统共有共有111111条指令条指令v 按其功能按其功能可分可分为为数据数据传传送、算送、算术术运算、运算、逻辑逻辑运算、控制运算、控制转

8、转移、位操作等移、位操作等5 5大大类类。 v 按按指令指令长长度:度:单单字字节节指令指令4949条、双字条、双字节节指令指令4646条、三字条、三字节节指令只有指令只有1616条条。 v 按指令按指令执执行行时间时间:单单机器周期指令机器周期指令6464条,双条,双机器周期指令机器周期指令4545条,乘除条,乘除2 2条指令的条指令的执执行行时间时间为为4 4个机器周期。个机器周期。 3.2 MCS-513.2 MCS-51汇编指令系统汇编指令系统3.2.2 MCS-51的指令系统的寻址方式的指令系统的寻址方式3.2.1 MCS-513.2.1 MCS-51的指令格式的指令格式的指令格式的

9、指令格式3.2.3 MCS-51汇编指令简介汇编指令简介寻址:寻址:确定操作数的具体地址。寻址方式:寻址方式:确定参与指令操作的数据的方式。它是汇编语言程序设计的基础。 MCS-51单片机共有种寻址方式: 直接寻址、立即寻址、寄存器寻址、寄存器间接寻址、变址寻址、相对寻址和位寻址。3.2.2 MCS-513.2.2 MCS-51的指令系统的寻址方式的指令系统的寻址方式、直接寻址、直接寻址: 指令中直接给出操作数的单元地址(一般是片内指令中直接给出操作数的单元地址(一般是片内RAM单元)单元) 。 如:MOV,65;片内RAM65H单元的内容送入累加器。其工作原理如下图所示:直接寻址方式的寻址空

10、间:直接寻址方式的寻址空间:()内部()内部RAMRAM的低的低128128字节字节()特殊功能寄存器()特殊功能寄存器SFRSFR。 对于特殊功能寄存器,既可以使用他们的地址,对于特殊功能寄存器,既可以使用他们的地址,也可以使用他们的名字。也可以使用他们的名字。 例如:指令例如:指令 MOV P3MOV P3, 和指令和指令 MOV B0HMOV B0H,的功能是一样的。,的功能是一样的。 (P3P3口寄存器的地址就是口寄存器的地址就是B0HB0H)。)。注意:直接寻址是访问特殊功能寄存器的唯一方式。注意:直接寻址是访问特殊功能寄存器的唯一方式。、立即寻址、立即寻址 指令中所需要的操作数直接

11、以指令字节的形式存指令中所需要的操作数直接以指令字节的形式存放在程序存储器中。放在程序存储器中。 CPUCPU取指令的同时取到所需要的操作数,使得指令取指令的同时取到所需要的操作数,使得指令可以立即得到执行,而不需要额外的取数据的时间,可以立即得到执行,而不需要额外的取数据的时间,因此,这种操作数称为因此,这种操作数称为立即数立即数,这种寻址方式称为,这种寻址方式称为立立即寻址。即寻址。 立即数的表示方法为立即数的表示方法为“#data#data”(8(8位立即数位立即数) )或或“#data16#data16”(1616位立即数),以区别与直接地址。位立即数),以区别与直接地址。指令举例:指

12、令举例:MOV AMOV A,#30H#30H;执行后;执行后A A中内容为中内容为30H30H其工作原理如图其工作原理如图3.2所示:所示:注意与直接寻址的区别。注意与直接寻址的区别。 立即数一般都是立即数一般都是8 8位,只有一条指令需要位,只有一条指令需要1616位立即数,位立即数, 即:即:MOV DPTRMOV DPTR,#data16#data16, 例如:例如:MOV DPTRMOV DPTR,#2510H#2510H3 3、寄存器寻址、寄存器寻址 指令所需操作数存放于某一寄存器中,指令中给出的指令所需操作数存放于某一寄存器中,指令中给出的是寄存器名称。是寄存器名称。 寻址空间:

13、寄存器寻址空间:寄存器R0R7,寄存器,寄存器A,B,CY,DPTR。举例:举例:MOV A,R4 ;指令执行完成后指令执行完成后A的内容为的内容为R4的内容。的内容。其工作原理如图其工作原理如图3.3所示所示:4 4、寄存器间接寻址、寄存器间接寻址 指令中所需的操作数的地址存放于某个寄存器中,指指令中所需的操作数的地址存放于某个寄存器中,指令中给出该寄存器的名称。令中给出该寄存器的名称。 可用于间接寻址的寄存器只有可用于间接寻址的寄存器只有R0R0,R1R1和和DPTRDPTR,其中,其中R0R0,R1R1用于寻址内部用于寻址内部RAMRAM的低的低128128字节,或外部数据存储器的字节,

14、或外部数据存储器的低低256256字节,字节,不能用于寻址特殊功能寄存器不能用于寻址特殊功能寄存器。DPTRDPTR用于寻用于寻址片外数据存储器的整个址片外数据存储器的整个64KB64KB空间。空间。指令举例:指令举例:MOV A,R0 ;(;(R0)A工作原理:工作原理: 5、变址寻址、变址寻址 由基址寄存器由基址寄存器+ +变址寄存器共同构成的一种间接变址寄存器共同构成的一种间接寻址方式。寻址方式。 在在MCS-51MCS-51系列单片机中,系列单片机中,基址基址寄存器为寄存器为DPTRDPTR或或PCPC,变址变址寄存器为寄存器为累加器累加器,两者相加形成,两者相加形成1616位程位程序

15、存储器地址作为操作数地址。序存储器地址作为操作数地址。 该寻址方式该寻址方式只能寻址程序存储器只能寻址程序存储器,因此只能读,因此只能读出数据而不能写入数据。常用这种寻址方式读出程出数据而不能写入数据。常用这种寻址方式读出程序存储器中的表格数据,因此,这种寻址方式的指序存储器中的表格数据,因此,这种寻址方式的指令往往又被称为令往往又被称为查表指令查表指令。变址寻址方式的寻址空间:变址寻址方式的寻址空间:64KB64KB程序空间程序空间 指令举例:指令举例: MOVC A,A+DPTR工作原理如图工作原理如图3.5所示:所示: 6 6、相对寻址、相对寻址 相对寻址是以当前程序计数器相对寻址是以当

16、前程序计数器PCPC的值加上指令规定的的值加上指令规定的偏移量偏移量relrel,从而构成实际操作数地址的寻址方法。,从而构成实际操作数地址的寻址方法。 相对寻址只适用于相对转移指令。相对寻址只适用于相对转移指令。在执行相对转移指在执行相对转移指令时令时PCPC的内容为加上偏移量的内容为加上偏移量relrel,所得结果即为目标程序,所得结果即为目标程序地址。偏移量地址。偏移量relrel用用8 8位带符号补码表示,范围为:位带符号补码表示,范围为:-128-128127127。 在编写程序时,常用标号代替在编写程序时,常用标号代替relrel值,由编译器在编值,由编译器在编译时自动计算得出译时自动计算得出relrel值。值。指令举例:指令举例:JZ table ;CJZ table ;C为为0 0时转移到标号时转移到标号tabletable所代表的所代表的指令处执行指令处执行这种寻址方式的寻址空间:这种寻址方式的寻址空间:64KB64KB程序存储器程序存储器7 7、位寻址、位寻址 指令的操作对象是位,而指令中给出的是该位的指令的操作对象是位,而指令中给出的是该位的位地址。位地址。单片机

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

当前位置:首页 > IT计算机/网络 > 计算机原理

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