《单片机原理与应用》课件单片机原理与应用-第四章.pptx
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《单片机原理与应用》课件单片机原理与应用-第四章.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机原理与应用 单片机 原理 应用 课件 第四
- 资源描述:
-
1、第4章MCS-51单片机程序设计方法 学习目标学习目标(1 1)掌握单片机程序设计的步骤和方法。)掌握单片机程序设计的步骤和方法。(2 2)掌握汇编语言源程序的指令格式和常用伪指令的基本功能。)掌握汇编语言源程序的指令格式和常用伪指令的基本功能。(3 3)掌握)掌握C51C51语言源程序的基本结构和常用预处理指令的基本功能。语言源程序的基本结构和常用预处理指令的基本功能。学习重点和难点学习重点和难点(1 1)汇编语言源程序和)汇编语言源程序和C51C51语言源程序编写方法语言源程序编写方法(2 2)伪指令与执行指令的区别和使用方法)伪指令与执行指令的区别和使用方法(3 3)预处理指令的功能及使
2、用方法)预处理指令的功能及使用方法4.1 程序编制的步骤、方法和技巧 4.1.1 4.1.1 程序编制的步骤程序编制的步骤 1 1、任务分析、任务分析 2 2、算法设计、算法设计 3 3、程序流程设计、程序流程设计 4 4、源程序编辑和编译、源程序编辑和编译 5 5、程序调试、程序调试常用的流程图符号“超级循环”结构初初始始化化开开始始循环扫描、处理4.1.2 编制程序的方法和技巧 一、模块化程序设计方法一、模块化程序设计方法 采用模块化程序设计方法,把一个多功能的复杂程序划分采用模块化程序设计方法,把一个多功能的复杂程序划分为若干个简单的、功能单一的程序模块。为若干个简单的、功能单一的程序模
3、块。有利于程序的设计和调试有利于程序的设计和调试 有利于程序的优化和分工有利于程序的优化和分工 提高了程序的阅读性和可靠性提高了程序的阅读性和可靠性 使程序的结构层次一目了然使程序的结构层次一目了然 二二.使用高效的程序结构使用高效的程序结构(1 1)分支程序结构)分支程序结构(2 2)循环程序结构)循环程序结构(3 3)子程序结构)子程序结构 采用分支结构、循环结构和子程序结构的优点:采用分支结构、循环结构和子程序结构的优点:可以使程序的长度缩短,占用内存空间缩小,并使程序结构清可以使程序的长度缩短,占用内存空间缩小,并使程序结构清晰简洁。晰简洁。注意:注意:1.1.避免避免“死循环死循环”
4、现象。现象。2.2.现场保护现场保护 3.3.堆栈操作的压入和弹出的平衡堆栈操作的压入和弹出的平衡。4.2程序的编辑、编译和汇编 4.2.14.2.1汇编语言源程序的编辑和汇编汇编语言源程序的编辑和汇编 1 1 汇编语言指令格式汇编语言指令格式 汇编语言源程序由指令语句、伪指令语句和宏指令语句构成。汇编语言源程序由指令语句、伪指令语句和宏指令语句构成。MCS-51MCS-51单片单片机汇编语言的指令语句格式为:机汇编语言的指令语句格式为:标号:标号:指令助记符指令助记符 操作数操作数1 1 操作数操作数2 2 操作数操作数3 3;注释;注释 LOOP LOOP:MOV AMOV A,#7FH#
5、7FH;A7FHA7FH 一、标号一、标号 标号是指令语句的符号地址,用于引导对该语句的非顺序访问,通常可以标号是指令语句的符号地址,用于引导对该语句的非顺序访问,通常可以作为转移指令的操作数。作为转移指令的操作数。标号不能使用保留字,如指令助记符、寄存器符号名称、伪指令等;标号不能使用保留字,如指令助记符、寄存器符号名称、伪指令等;标号位于语句的开头位置,由字母、数字或其它特定字符组成,以字母开标号位于语句的开头位置,由字母、数字或其它特定字符组成,以字母开头,头,标号后面必须使用冒号作为分隔符。标号后面必须使用冒号作为分隔符。二、指令助记符二、指令助记符 指令助记符表示指令执行的功能,一般
6、是该指令功能的英文缩写。指令助记符表示指令执行的功能,一般是该指令功能的英文缩写。它是汇编语句中唯一不可空缺的部分。它是汇编语句中唯一不可空缺的部分。三、操作数三、操作数 操作数用于提供参与运算的数据或进行操作的数据或这些数据的地址。操作数用于提供参与运算的数据或进行操作的数据或这些数据的地址。操作数字段的内容可能包括工作寄存器名、特殊功能寄存器名、符号名、操作数字段的内容可能包括工作寄存器名、特殊功能寄存器名、符号名、标号名、符号标号名、符号“$”“$”(表示程序计数器(表示程序计数器PC PC 的当前值)、常数和表达式等。的当前值)、常数和表达式等。若操作数为十六进制数字,其末尾必须用若操
7、作数为十六进制数字,其末尾必须用“H”“H”说明,说明,十六进制数以字母十六进制数以字母A A、B B、C C、D D、E E、F F开头,其前面必须添加一个开头,其前面必须添加一个“0”“0”进进行引导说明,行引导说明,例如:例如:0AFH0AFH。若操作数为二进制数字,其末尾必须用若操作数为二进制数字,其末尾必须用“B”“B”说明,说明,例如:例如:01100011B01100011B。若操作数为十进制数字,末尾可以加若操作数为十进制数字,末尾可以加“D”“D”说明,若末尾不加说明,该数说明,若末尾不加说明,该数字默认为十进制数字,例如:字默认为十进制数字,例如:98D98D、9898,均
8、表示十进制数,均表示十进制数9898。四、注释四、注释 注释不属于汇编语句的功能部分,它只是对语句的说明。注释不属于汇编语句的功能部分,它只是对语句的说明。注释字段可以增加程序的可读性,有助于编程人员的阅读和维护。注释字段可以增加程序的可读性,有助于编程人员的阅读和维护。注释字段必须以分号注释字段必须以分号“;”开头,长度不限,当一行书写不下时,可以换开头,长度不限,当一行书写不下时,可以换行接着书写,但换行时应注意在开头使用分号行接着书写,但换行时应注意在开头使用分号“;”。4.2程序的编辑、编译和汇编 4.2.14.2.1汇编语言源程序的编辑和汇编汇编语言源程序的编辑和汇编 2 2 汇编汇
9、编 把汇编语言翻译成机器语言的过程称为汇编把汇编语言翻译成机器语言的过程称为汇编3汇编语言常用伪指令 伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。伪指令是汇编程序能够识别并对汇编过程进行某种控制的汇编命令。它不是单片机执行的指令,所以没有对应的可执行目标码,汇编后产生的它不是单片机执行的指令,所以没有对应的可执行目标码,汇编后产生的目标程序中不会再出现伪指令。目标程序中不会再出现伪指令。(1)起始地址设定伪指令ORG 格式为:格式为:ORG ORG 表达式表达式 该指令的功能是向汇编程序说明下面紧接的程序段或数据段存放的起该指令的功能是向汇编程序说明下面紧接的程序段或数据段存放
10、的起始地址。表达式通常为始地址。表达式通常为16 16 进制地址,也可以是已定义的标号地址。进制地址,也可以是已定义的标号地址。如:如:ORG 8000H ORG 8000H STARTSTART:MOV AMOV A,#30H#30H(2)汇编结束伪指令END 格式为:格式为:END END 该指令的功能是结束汇编。该指令的功能是结束汇编。汇编程序遇到汇编程序遇到END END 伪指令后即结束汇编。处于伪指令后即结束汇编。处于END END 之后的程序,汇编之后的程序,汇编程序将不处理。程序将不处理。(3)字节数据定义伪指令DB 格式为:格式为:标号:标号:DB DB 字节数据表字节数据表
11、功能是从标号指定的地址单元开始,在程序存储器中定义字节数据。功能是从标号指定的地址单元开始,在程序存储器中定义字节数据。DB“Hello World”DB“Hello World”DB 2DB 2,44,66,5 5,1010,1818(4)字数据定义伪指令DW 格式为:格式为:标号:标号:DW DW 字数据表字数据表 功能是从标号指定的地址单元开始,在程序存储器中定义字数据。功能是从标号指定的地址单元开始,在程序存储器中定义字数据。该伪指令将字或字表中的数据根据从左到右的顺序依次存放在指定的存储该伪指令将字或字表中的数据根据从左到右的顺序依次存放在指定的存储单元中。单元中。应特别注意:应特别
12、注意:16 16 位的二进制数,高位的二进制数,高8 8 位存放在低地址单元,低位存放在低地址单元,低8 8 位存放位存放在高地址单元。在高地址单元。例如:例如:ORG 1400HORG 1400H DATADATA:DW 123FHDW 123FH,8CH8CH 汇编后汇编后(1400H1400H)=12H=12H,(,(1401H1401H)=3FH=3FH,(,(1402H1402H)=00H=00H,(,(1403H1403H)=8CH=8CH。(5)赋值伪指令EQU 格式为:格式为:符号名符号名 EQU EQU 表达式表达式 功能是将表达式的值或特定的某个汇编符号定义为一个指定的符号
展开阅读全文