《单片机学习》PPT课件.ppt
《《单片机学习》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《单片机学习》PPT课件.ppt(36页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、联系方式:http:/北京源智天下科技有限公司21天学天学51单片机开发单片机开发第三讲:单片机汇编语言第三讲:单片机汇编语言 1-2北京源智天下科技有限公司联系方式:http:/课程安排课程安排单片机汇编语言概述单片机汇编语言概述 伪指令伪指令 单片机的指令单片机的指令 51系列单片机指令集系列单片机指令集 单片机汇编语言的程序结构单片机汇编语言的程序结构 1-3北京源智天下科技有限公司联系方式:http:/单片机汇编语言概述单片机汇编语言概述单片机汇编语言就是单片机汇编指令的集合,其采用了助记符的单片机汇编语言就是单片机汇编指令的集合,其采用了助记符的形式来描述指令。形式来描述指令。优点:
2、优点:程序代码精炼,执行速度快;程序代码精炼,执行速度快;每条指令的执行时间确定,特别适合于对时序要求比较高的场合;每条指令的执行时间确定,特别适合于对时序要求比较高的场合;占用内存单元和占用内存单元和CPU资源比较少;资源比较少;和硬件结构和资源密切相关,对于理解单片机的运行和组成很有帮和硬件结构和资源密切相关,对于理解单片机的运行和组成很有帮助。助。缺点:缺点:指令和具体的硬件密切相关,缺乏通用性;指令和具体的硬件密切相关,缺乏通用性;采用助记符描述的指令还是不够清晰,代码比较难懂;采用助记符描述的指令还是不够清晰,代码比较难懂;使用汇编语言编写程序时,必须熟悉单片机的指令系统、寻址方式、
3、使用汇编语言编写程序时,必须熟悉单片机的指令系统、寻址方式、寄存器的设置和使用方法,以及系统的硬件资源等。分散了开发人寄存器的设置和使用方法,以及系统的硬件资源等。分散了开发人员用于程序结构和功能上的精力;员用于程序结构和功能上的精力;1-4北京源智天下科技有限公司联系方式:http:/伪指令伪指令伪指令,顾名思义,并不是真正的单片机指令。伪指令仅为单片伪指令,顾名思义,并不是真正的单片机指令。伪指令仅为单片机汇编程序提供某种标记信息,但却是程序中不可缺少的部分。机汇编程序提供某种标记信息,但却是程序中不可缺少的部分。伪指令与单片机指令的区别如下:伪指令与单片机指令的区别如下:伪指令不能命令伪
4、指令不能命令CPU执行某种操作,也没有对应的机器代码。执行某种操作,也没有对应的机器代码。单片机指令能使单片机的单片机指令能使单片机的CPU执行某种操作,并可以生成对应的机执行某种操作,并可以生成对应的机器代码。器代码。1-5北京源智天下科技有限公司联系方式:http:/起始伪指令起始伪指令ORG起始伪指令起始伪指令ORG用于标记一个汇编语言程序的开始。用于标记一个汇编语言程序的开始。这里,这里,16位地址便是汇编程序块或数据块存放的起始地位地址便是汇编程序块或数据块存放的起始地址。如果省略址。如果省略ORG伪指令,则单片机程序代码将默认伪指令,则单片机程序代码将默认从从0000H单元开始存放
5、。单元开始存放。标号:ORG16位地址 使用格式使用格式 1-6北京源智天下科技有限公司联系方式:http:/结束伪指令结束伪指令END 结束伪指令结束伪指令END用于标记一个汇编语言程序的结束用于标记一个汇编语言程序的结束。这里,标号和表达式都可以省略。在汇编语言程序执行这里,标号和表达式都可以省略。在汇编语言程序执行时,时,END之后所写的任何指令都不予以处理。之后所写的任何指令都不予以处理。一个程序只能有一个一个程序只能有一个END伪指令。伪指令。标号:END表达式 使用格式使用格式 1-7北京源智天下科技有限公司联系方式:http:/等值伪指令等值伪指令EQU 等值伪指令等值伪指令EQ
6、U相当于重命名的概念,其采用一个规定相当于重命名的概念,其采用一个规定的字符名称来代替一个数或特定的汇编符号。的字符名称来代替一个数或特定的汇编符号。使用伪指令使用伪指令EQU时必须先赋值,后使用,而不能先使用时必须先赋值,后使用,而不能先使用后赋值。另外,给字符名称所赋的值可以是后赋值。另外,给字符名称所赋的值可以是8位数,也位数,也可以是可以是16位数。用位数。用EQU定义的字符名称不能和汇编语定义的字符名称不能和汇编语言的关键字同名。言的关键字同名。字符名称EQU数据或汇编符号或者字符名称 =数据或汇编符号使用格式使用格式 1-8北京源智天下科技有限公司联系方式:http:/地址赋值伪指
7、令地址赋值伪指令DATA 地址赋值伪指令地址赋值伪指令DATA是用指定的字符名称来代替数据地址或代码是用指定的字符名称来代替数据地址或代码地址地址。DATA伪指令在程序中常用来定义数据地址。就功能上来说,伪指伪指令在程序中常用来定义数据地址。就功能上来说,伪指令令DATA与与EQU有些类似。区别如下:有些类似。区别如下:EQU伪指令必须先定义后使用,而伪指令必须先定义后使用,而DATA伪指令则无此限制;伪指令则无此限制;EQU伪指令可以把一个汇编符号赋给一个字符名称,而伪指令可以把一个汇编符号赋给一个字符名称,而DATA伪指令伪指令则不能;则不能;DATA伪指令可将一个表达式的值赋给一个字符变
8、量,所定义的字符伪指令可将一个表达式的值赋给一个字符变量,所定义的字符变量也可以出现在表达式中,而变量也可以出现在表达式中,而EQU定义的字符则不能这样使用。定义的字符则不能这样使用。字符名称字符名称DATA表达式表达式使用格式使用格式 1-9北京源智天下科技有限公司联系方式:http:/字节保存伪指令字节保存伪指令DB 字节保存伪指令字节保存伪指令DB用于在单片机内存中保存数据表,只能对程用于在单片机内存中保存数据表,只能对程序存储器进行操作序存储器进行操作。其中,其中,8位字节数据表可以是一个或多个字节数据、字符串或表位字节数据表可以是一个或多个字节数据、字符串或表达式。达式。在数据表中,
9、各项数据用在数据表中,各项数据用“,”分隔,一个数据项占一个存储单元。分隔,一个数据项占一个存储单元。所有的数据项是从标号指定的地址单元开始,将数据表中的字节所有的数据项是从标号指定的地址单元开始,将数据表中的字节数据按顺序依次保存。数据按顺序依次保存。数据项可以采用十进制、二进制或者十六进制表示。数据项可以采用十进制、二进制或者十六进制表示。标号:DB8位字节数据表 使用格式使用格式 1-10北京源智天下科技有限公司联系方式:http:/字保存伪指令字保存伪指令DW 字保存伪指令字保存伪指令DW用于在单片机内存中保存双字节数据表,只能用于在单片机内存中保存双字节数据表,只能对程序存储器进行操
10、作对程序存储器进行操作。其中,其中,16位字数据表可以是一个或多个字节数据、字符串或表位字数据表可以是一个或多个字节数据、字符串或表达式。达式。在数据表中,各项数据用在数据表中,各项数据用“,”分隔,一个数据项占一个存储单元。分隔,一个数据项占一个存储单元。所有的数据项是从标号指定的地址单元开始,将数据表中的字节所有的数据项是从标号指定的地址单元开始,将数据表中的字节数据按顺序依次保存。数据按顺序依次保存。16位数据要占用两个单元的存储器,高位数据要占用两个单元的存储器,高8位数据存入低地址字节,位数据存入低地址字节,低低8位数据存入高地址字节。位数据存入高地址字节。标号:ORG16位地址 使
11、用格式使用格式 1-11北京源智天下科技有限公司联系方式:http:/空间预留伪指令空间预留伪指令DS 空间预留伪指令空间预留伪指令DS用于在单片机内存中划分出一定的用于在单片机内存中划分出一定的存储空间用作备用区域,只能对程序存储器进行操作存储空间用作备用区域,只能对程序存储器进行操作。这里,表达式表示了从标号指定的地址单元开始,保留这里,表达式表示了从标号指定的地址单元开始,保留存储单元的个数。存储单元的个数。标号:DS表达式 使用格式使用格式 1-12北京源智天下科技有限公司联系方式:http:/位变量伪指令位变量伪指令BIT 位变量伪指令位变量伪指令BIT用于给位地址定义一个字符名称用
12、于给位地址定义一个字符名称。其中,位地址需要参考单片机中的定义,字符名称就是其中,位地址需要参考单片机中的定义,字符名称就是位变量。位变量。字符名称BIT位地址 使用格式使用格式 1-13北京源智天下科技有限公司联系方式:http:/单片机的指令单片机的指令51系列单片机一般都遵循系列单片机一般都遵循8051指令集。指令集。对于单片机汇编语言来说,一条指令通常由操作码和操作数两部对于单片机汇编语言来说,一条指令通常由操作码和操作数两部分组成。分组成。单片机的指令按照其对应的机器码的长度,可以分为如下单片机的指令按照其对应的机器码的长度,可以分为如下3种种:单字节指令,其对应的机器码只有一个字节
13、,在单片机的程序存储器单字节指令,其对应的机器码只有一个字节,在单片机的程序存储器中占用中占用1个字节的存储单元。单字节指令的功能明确专一,操作简单。个字节的存储单元。单字节指令的功能明确专一,操作简单。双字节指令,其对应的机器码为两个字节,第一个字节表示操作码,双字节指令,其对应的机器码为两个字节,第一个字节表示操作码,第二个字节表示操作数。双字节指令在单片机的程序存储器中占用两第二个字节表示操作数。双字节指令在单片机的程序存储器中占用两个字节的存储单元。个字节的存储单元。三字节指令,其对应的机器码为三个字节,第一个字节表示操作码,三字节指令,其对应的机器码为三个字节,第一个字节表示操作码,
14、后二个字节表示操作数。三字节指令在单片机的程序存储器中占用三后二个字节表示操作数。三字节指令在单片机的程序存储器中占用三个字节的存储单元。个字节的存储单元。1-14北京源智天下科技有限公司联系方式:http:/单片机指令的寻址方式单片机指令的寻址方式 指令的执行是需要操作对象的,单片机指令获取操作对象的方式指令的执行是需要操作对象的,单片机指令获取操作对象的方式便是指令的寻址方式。便是指令的寻址方式。单片机指令的寻址方式单片机指令的寻址方式,可以分为如下,可以分为如下7种种:立即寻址立即寻址直接寻址直接寻址寄存器寻址寄存器寻址寄存器间接寻址寄存器间接寻址变址寻址变址寻址相对寻址相对寻址位寻址位
15、寻址 1-15北京源智天下科技有限公司联系方式:http:/立即寻址立即寻址 立即寻址相当于直接给出操作数,此时的操作数称为立即数。立立即寻址相当于直接给出操作数,此时的操作数称为立即数。立即数的前面采用标识符即数的前面采用标识符“#”来表示,是寻址指令中直接出现的数来表示,是寻址指令中直接出现的数据。据。立即数可以采用不同的表示方式:立即数可以采用不同的表示方式:十六进制,结尾用字符十六进制,结尾用字符H来区别;来区别;十进制,结尾用字符十进制,结尾用字符D来区别,一般可以省略;来区别,一般可以省略;八进制,结尾用字符八进制,结尾用字符O来区别;来区别;二进制,结尾用字符二进制,结尾用字符B
16、来区别。来区别。在单片机中,立即寻址方式的寻址空间是程序存储器,也就是说在单片机中,立即寻址方式的寻址空间是程序存储器,也就是说立即寻址方式所操作的立即数是存储在指令字节中的。立即寻址方式所操作的立即数是存储在指令字节中的。1-16北京源智天下科技有限公司联系方式:http:/直接寻址直接寻址 直接寻址方式相当于将操作数存放的地址告诉指令,此时为了和直接寻址方式相当于将操作数存放的地址告诉指令,此时为了和立即寻址相区别,地址前没有标识符立即寻址相区别,地址前没有标识符“#”。在单片机中,直接寻址方式可寻址如下两类存储空间。在单片机中,直接寻址方式可寻址如下两类存储空间。片内片内RAM的低的低1
17、28个字节单元,其地址为个字节单元,其地址为00H7FH。这样,在这。这样,在这128位地址的直接寻址方式中,位地址的直接寻址方式中,00H代表第代表第0位,位,01H代表第代表第1位,依位,依次类推;次类推;特殊功能寄存器,其直接地址也可以用特殊功能寄存器的符号名称来特殊功能寄存器,其直接地址也可以用特殊功能寄存器的符号名称来表示。直接寻址也是访问特殊功能寄存器的唯一方法。表示。直接寻址也是访问特殊功能寄存器的唯一方法。1-17北京源智天下科技有限公司联系方式:http:/寄存器寻址寄存器寻址 寄存器寻址相当于告诉指令操作数所存放的寄存器,此时,寄存寄存器寻址相当于告诉指令操作数所存放的寄存
18、器,此时,寄存器中的内容作为操作数。器中的内容作为操作数。由于寄存器位于单片机由于寄存器位于单片机CPU的内部,因此采用寄存器寻址的速度的内部,因此采用寄存器寻址的速度相比其他几种寻址方式要快,程序具有较高的运算处理速度。相比其他几种寻址方式要快,程序具有较高的运算处理速度。寄存器寻址可以寻址如下几种寄存器寻址可以寻址如下几种:通用寄存器通用寄存器R0R7累加器累加器A寄存器寄存器AB数据指针数据指针DPTR 在指令的操作数位置上指定寄存器的寻址方式。其中,寄存器的在指令的操作数位置上指定寄存器的寻址方式。其中,寄存器的内容作为操作数。采用寄存器寻址方式的指令一般都是一个字节内容作为操作数。采
19、用寄存器寻址方式的指令一般都是一个字节的指令。的指令。1-18北京源智天下科技有限公司联系方式:http:/寄存器间接寻址寄存器间接寻址 寄存器间接寻址相当于绕了更大的弯,此时数据存放在寄存器间接寻址相当于绕了更大的弯,此时数据存放在RAM中,中,而该而该RAM的地址放在寄存器中。的地址放在寄存器中。这样,通过访问寄存器来获得这样,通过访问寄存器来获得RAM中操作数的寻址方式便是寄存中操作数的寻址方式便是寄存器间接寻址。器间接寻址。在单片机中,寄存器间接寻址可以访问如下所述的存储空间。在单片机中,寄存器间接寻址可以访问如下所述的存储空间。片内片内RAM的低的低128个字节单元,此时需要使用个字
20、节单元,此时需要使用R0、R1作为间接寻址作为间接寻址的寄存器;的寄存器;外部外部RAM,如果采用,如果采用R0、R1作为间接寻址的寄存器,可寻址作为间接寻址的寄存器,可寻址256个个单元;单元;外部外部RAM,如果采用,如果采用16位的位的DPTR作为间接寻址的寄存器,可寻址作为间接寻址的寄存器,可寻址外部外部RAM的完整的完整64KB地址空间。地址空间。在寄存器间接寻址的指令中,寻址的寄存器前需要加在寄存器间接寻址的指令中,寻址的寄存器前需要加“”标识符。标识符。这样可以和寄存器寻址相区别。这样可以和寄存器寻址相区别。1-19北京源智天下科技有限公司联系方式:http:/变址寻址变址寻址
21、变址寻址提供了变址寻址提供了16位地址的寻址能力,其采用基址寄存器加变址位地址的寻址能力,其采用基址寄存器加变址寄存器方式来寻址。其中,基址寄存器为寄存器方式来寻址。其中,基址寄存器为DPTR或或PC,变址寄存,变址寄存器为累加器器为累加器A,用于存放地址偏移量。,用于存放地址偏移量。在单片机中,变址寻址方式一般常用于访问程序储存器中的数据在单片机中,变址寻址方式一般常用于访问程序储存器中的数据表格。表格。变址寻址共有两种形式变址寻址共有两种形式:MOV A,A+DPTR:其功能是将累加器:其功能是将累加器A的内容与数据指针的内容与数据指针DPTR的内容相加形成操作数的地址,即程序储存器的的内
22、容相加形成操作数的地址,即程序储存器的16位地址。该位地址。该指令取此地址中的内容送入累加器指令取此地址中的内容送入累加器A中,指令的操作码为中,指令的操作码为93H,如图,如图3-7所示。所示。MOV A,A+PC:其功能是将累加器:其功能是将累加器A的内容与的内容与PC的内容相加形成的内容相加形成操作数的地址,即程序储存器的操作数的地址,即程序储存器的16位地址。该指令取此地址中的内位地址。该指令取此地址中的内容送入累加器容送入累加器A中,其操作码为中,其操作码为83H。1-20北京源智天下科技有限公司联系方式:http:/相对寻址相对寻址 相对寻址是根据指定地址的偏移量,然后从当前相对寻
23、址是根据指定地址的偏移量,然后从当前PC值跳转到偏移值跳转到偏移量所指向的地址的方式。量所指向的地址的方式。这里,地址偏移量为带符号的这里,地址偏移量为带符号的8位二进制数,其取值范围为位二进制数,其取值范围为-128+127。因此,相对寻址可以寻址当前因此,相对寻址可以寻址当前PC的的-128127之间的某段程序存之间的某段程序存储器。储器。1-21北京源智天下科技有限公司联系方式:http:/位寻址位寻址 51系列单片机一般都遵循系列单片机一般都遵循8051指令集。指令集。对于单片机汇编语言来说,一条指令通常由操作码和操作数两部对于单片机汇编语言来说,一条指令通常由操作码和操作数两部分组成
24、。分组成。单片机的指令按照其对应的机器码的长度,可以分为如下单片机的指令按照其对应的机器码的长度,可以分为如下3种种:单字节指令,其对应的机器码只有一个字节,在单片机的程序存储器单字节指令,其对应的机器码只有一个字节,在单片机的程序存储器中占用中占用1个字节的存储单元。单字节指令的功能明确专一,操作简单。个字节的存储单元。单字节指令的功能明确专一,操作简单。双字节指令,其对应的机器码为两个字节,第一个字节表示操作码,双字节指令,其对应的机器码为两个字节,第一个字节表示操作码,第二个字节表示操作数。双字节指令在单片机的程序存储器中占用两第二个字节表示操作数。双字节指令在单片机的程序存储器中占用两
25、个字节的存储单元。个字节的存储单元。三字节指令,其对应的机器码为三个字节,第一个字节表示操作码,三字节指令,其对应的机器码为三个字节,第一个字节表示操作码,后二个字节表示操作数。三字节指令在单片机的程序存储器中占用三后二个字节表示操作数。三字节指令在单片机的程序存储器中占用三个字节的存储单元。个字节的存储单元。1-22北京源智天下科技有限公司联系方式:http:/位寻址位寻址 位寻址是特别为位操作区域提供的寻址方式,在指令中直接给出位寻址是特别为位操作区域提供的寻址方式,在指令中直接给出位地址即可。位地址即可。51系列单片机中,可以位寻址的区域如下:系列单片机中,可以位寻址的区域如下:片内片内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机学习 单片机 学习 PPT 课件
限制150内