欢迎来到天天文库
浏览记录
ID:50471789
大小:221.00 KB
页数:14页
时间:2020-03-09
《单片机应用及控制技术 教学课件 作者 何永艳 主编 吴勤勤 主审第3章 程序设计基础.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章程序设计基础上海电子信息职业技术学院何永艳主编程序设计语言使实现人机互相交换信息(对话)的基本工具,它可分为机器语言、汇编语言和高级语言。单片机的指令系统由111条指令构成。1.机器语言机器语言编写的程序不易阅读,难记、难学。3.1指令系统基本概念3.1.1编程语言2.汇编语言汇编语言是以人们易于理解和记忆的英文名称或缩写形式(助记符)来表示二进制指令。MOVA,#0AHADDA,#14H汇编语言必机器语言更易于理解、记忆和交流。用汇编语言编写的程序称为汇编语言程序,或称源程序。把汇编语言程序译成机器语言程序
2、单片机才能执行,这一翻译工作又称为汇编,汇编一般是借助专用软件由单片机自动完成。汇编后的机器语言程序也称为目标程序。用汇编语言编写单片机程序的特点是占用资源少、运行速度快。3.高级语言高级语言接近于人类自然语言,用高级语言编写的程序与人们通常解题的步骤比较相近,而且不依赖单片机结构和指令系统,是面向过程而独立于机器的通用语言。用高级语言编写的源程序,也需要翻译生成目标程序机器才能执行。高级语言的特点是易学、通用性好、便于移植。3.1.2汇编语言的指令基本格式80C51单片机的汇编指令由操作码和操作数两大部分组成,其
3、基本格式表示为[标号:]操作码操作数[;注释]1.标号:指令的符号地址2.操作码:表示指令的操作功能。3.操作数:参加操作的数据或数据地址1).操作数可以是数据,也可以是数据的地址、数据地址的地址或操作数的其他信息。2).操作数可分为目的操作数和源操作数。3).操作数可用二进制数、十进制数或十六进制数表示4).操作数的个数可以是0~3个5).操作数与操作码之间用空格分隔,操作数与操作数之间用逗号“,”分隔。4.注释:指令功能说明。3.1.3伪指令1.伪指令与80C51指令的不同点1)伪指令是在汇编过程中起作用的指令
4、2)伪指令不产生可执行的目标代码2.常用的伪指令1)起始伪指令ORG(Origin)格式:ORG16位地址ORG伪指令的功能是规定源程序或数据的起始地址。2)结束伪指令END格式:END结束伪指令END的功能是指汇编程序汇编到此结束。3)等值伪指令EQU(Equate)格式:字符名称EQU数据或汇编符号EQU伪指令的功能是将一个常数或特定的符号赋值给规定的字符串。4)数据地址赋值伪指令DATA格式:字符名称DATA表达式功能:将数据地址或代码地址赋予规定的字符名称。5)定义字节伪指令DB(DefineByte)格式
5、:DB8位二进制数表定义字节伪指令DB的功能是规定从程序存储器的某地址单元开始,存入一组8位二进制常数。6)定义字伪指令DW(DefineWord)格式:DW16位二进制数表DW伪指令的功能是按字的形式(双字节),把数据存放在存储单元中。7)定义位地址伪指令BIT格式:字符名称BIT位地址BIT伪指令的功能是将位地址赋予所规定的字符名称。8)表示目前的地址伪指令$伪指令$表示目前的地址,程序计数值不变。3.2指令分类单片机的指令系统由111条指令构成,按不同方法分类如下:1.按指令长度分类:可分为1字节、2字节和3
6、字节指令。2.按指令执行时间分类:可分为1机周、2机周和4机周指令。3.按指令功能分类:可分为数据传送类、算术运算类、逻辑运算类、位操作类和控制转移类五大类指令。3.3指令系统中的常用符号1.#:立即数符。2.direct:8位直接地址代表内RAM00H~7FH或SFR的80H~FFH。3.@:间接寻址符。4.addr11:11位目的地址。5.rel:带符号的8位偏移地址。6.bit:位地址。3.4指令的寻址方式3.4.1寻址的概念把寻找操作数所在单元的地址称之为寻址。3.4.2寻址方式1.立即寻址(Immedia
7、teAddressing)如:MOVA,#30H2.寄存器寻址(RegisterAddressing)在指令选定的某寄存器中存放或读取操作数,以完成指令规定的操作,称为寄存器寻址。规定的寄存器有:(1)工作寄存器R0~R7;(2)累加器A;(3)双字节AB;(4)数据指针DPTR;(5)位累加器Cy如:MOVA,R13.寄存器间接寻址(RegisterIndirectAddressing)由指令指出某一寄存器的内容作为操作数地址的寻址方法,称为寄存器间接寻址。如:MOVA,@R1指令的源操作数是寄存器间接寻址。说明
8、:(1)为了区别寄存器寻址和寄存器间接寻址,在寄存器寻址前加“@”(2)可作间接寻址的寄存器有R0、R1、DPTR(3)它的寻址范围包括内部RAM低128B,内部高128B(52系列)和外部RAMR的64KB。4.直接寻址(DirectAddressing)直接给出操作数所在的存储器地址,以供取数或存数的寻址方式称为直接寻址。如:MOVA,40H指令中的源操
此文档下载收益归作者所有