版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1.5 程序设计举例单片机汇编语言程序设计的基本步骤单片机汇编语言程序设计的基本步骤1 1分析问题,明确被控对象对软件的要分析问题,明确被控对象对软件的要求求2 2确定算法确定算法3 3设计程序流程图设计程序流程图4 4分配内存单元及有关端口地址分配内存单元及有关端口地址5 5编写汇编语言源程序编写汇编语言源程序6 6调试程序调试程序7 7固化程序固化程序主要的几种程序设计方法主要的几种程序设计方法1.顺序程序顺序程序:顺序程序是最简单、最基本的程序结构,顺序程序是最简单、最基本的程序结构,其特点是按指令的排列顺序一条条地执行,直到全部指其特点是按指令的排列顺序一条条地执行,直到全部指令执行完
2、毕为止。令执行完毕为止。2.分支程序分支程序:分支程序是通过转移指令对相应条件的判分支程序是通过转移指令对相应条件的判断实现改变程序的执行方向的设计方法。断实现改变程序的执行方向的设计方法。3.循环程序循环程序:在程序中需要反复的执行的程序段,为了在程序中需要反复的执行的程序段,为了避免在程序中多次的编写,可以通过利用条件转移或无避免在程序中多次的编写,可以通过利用条件转移或无条件转移指令来控制程序的执行。条件转移指令来控制程序的执行。4.子程序子程序:在编写程序时,经常有一些的程序会被频繁在编写程序时,经常有一些的程序会被频繁的使用。通常情况下,我们将这些程序段定义成子程序,的使用。通常情况
3、下,我们将这些程序段定义成子程序,使程序变的便于调试和阅读,同时也缩小了程序的长度。使程序变的便于调试和阅读,同时也缩小了程序的长度。一、顺序程序设计一、顺序程序设计将30H单元内的两位BCD码拆开并转换成ASCII码,存入31H、32H两个单元中。1、题意分析2、程序流程结束取数据低4位转换成ASCII码存ASCII码取数据高4位转换成ASCII码存ASCII码开始参考程序如下:ORG2000HMOVA,30H;取值ANLA,#0FH;取低4位ADDA,#30H;转换成ASCII码MOV31H,A;保存结果MOVA,30H;取值SWAPA;高4位与低4位互换ANLA,#0FH;取低4位(原来
4、的高4位)ADDA,#30H;转换成ASCII码MOV32H,A;保存结果 END二、分支程序设计二、分支程序设计 分支程序有三种基本形式:单分支、双分支、多分支。 单分支: 双分支:条件成立?条件成立?程序段程序段下条指令下条指令NY程序段程序段1条件成立?条件成立?程序段程序段2NY多分支:程序段程序段2条件条件N=?程序段程序段N-10N程序段程序段1程序段程序段N1N-1 分支程序的设计要点如下: (1)先建立可供条件转移指令测试的条件。 (2)选用合适的条件转移指令。 (3)在转移的目的地址处设定标号。双分支程序设计举例设X存在30H单元中,根据下式 X+2X0Y =100X=0 X
5、X0求出Y值,将Y值存入31H单元。1、题意分析: 根据数据的符号位判别该数的正负,若最高位为0,再判别该数是否为0。2、程序流程A为负数?取数,A(30H)开始结束A=0?YNNA|X|A64HAX+2存数,(31H)A(30H)参考程序如下:ORG 1000HMOV A,30H;取数JBACC.7,NEG;负数,转NEG JZZER0 ;为零,转ZER0 ADDA,#02H;为正数,求X+2 AJMP SAVE;转到SAVE,保存数据ZER0: MOVA,# 64H;数据为零,Y=100 AJMP SAVE;转到SAVE,保存数据 NEG:DEC A;CPLA;求 XSAVE:MOV 31
6、H,A;保存数据 SJMP ;暂停END多分支程序设计举例根据R0的值转向7个分支程序。R010,转向SUB0;R020,转向SUB1; |R0=60,转向SUB6;1、题意分析: 利用JMP A+DPTR 指令直接给PC赋值,使程序实现转移。2、程序流程。K=?转SUB0转SUB1转SUB6K=0 K=1 K=6开始参考程序如下:ORG 2000HMOV DPTR,#TAB;转移指令表首地址 MOV A,R0 ;取数 MOV B,#10 DIVAB ;A/10,商在A中 CLRC RLC A;A2A JMP A+DPTR;PC A+DPTRTAB:AJMP SUB0;转移指令表 AJMP S
7、UB1 AJMP SUB2 AJMP SUB5 AJMP SUB6三、循环程序设计三、循环程序设计循环程序一般包括如下四个部分:循环程序一般包括如下四个部分:(1)初始化)初始化 (2)循环体)循环体(3)循环控制)循环控制 (4)结束)结束循环程序按结构形式,有单重循环与多重循环。循环程序按结构形式,有单重循环与多重循环。在多重循环中,只允许外重循环嵌套内重循环。在多重循环中,只允许外重循环嵌套内重循环。不允许循环相互交叉,也不允许从循环程序的外部跳入循不允许循环相互交叉,也不允许从循环程序的外部跳入循环程序的内部环程序的内部(a)当型循环结构(b)直到型循环结构循环结束?循环体YN初始化修
8、改循环参数结束部分开始结束循环结束?循环体Y初始化修改循环参数结束部分开始N结束有一数据块从片内RAM的30H单元开始存入,设数据块长度为10个单元。根据下式: X+2 X0Y= 100 X=0 求出Y值,并将Y值放回原处。 X X0Y= 100 X=0 求出Y值,并将Y值放回原处。 X X0题意分析:数据块中的十个数都需要进行符号判断并作相应处理,可把一部分工作交给子程序完成,主程序只负责读取数据、调用判断处理子程序、保存数据、循环控制工作。源程序如下:ORG0000H MOVR0,#10 MOVR1,#30HSTART:MOVA,R1;取数;取数 ACALL DISPOSE;调用判断、处理
9、子程序;调用判断、处理子程序SAVE:MOVR1,A;保存数据;保存数据 INCR1;修改地址指针,指向下一个地址;修改地址指针,指向下一个地址 DJNZR0,START;数据未处理完,继续处理;数据未处理完,继续处理 SJMP;暂停;暂停ORG0200HDISPOSE: JBACC.7,NEG;若为负数,转;若为负数,转NEG JZZER0;若为零,转;若为零,转ZER0 ADDA,#02H;若为正数,求;若为正数,求X+2 AJMPBACK;转到;转到SAVE,保存数据,保存数据ZER0:MOVA,#64H;数据为零,;数据为零,Y=100 AJMPBACK;转到;转到SAVE,保存数据,
10、保存数据NEG:DECA CPLA;求;求 X BACK:RETEND五、查表程序设计五、查表程序设计程序使用的专用指令:程序使用的专用指令: MOVC A, A+PC MOVC A, A+DPTR一般情况下一般情况下, 常使用后者常使用后者程序设计一般规则程序设计一般规则:1)先确定表格存放的位置先确定表格存放的位置2)在表格中填入相应的数据在表格中填入相应的数据3)查表时先将表格的首地址给查表时先将表格的首地址给DPTR,再将要查表的数据,再将要查表的数据送给送给A,最后用,最后用 MOVC A, A+DPTR例:假如在内部例:假如在内部RAM的的30H单元中存放有一个单元中存放有一个BC
11、D编码的十编码的十进制数,查出其共阴进制数,查出其共阴7段显示代码,并送到外部段显示代码,并送到外部RAM的的CFA0H单元中。单元中。题意分析:题意分析:先建立一个相应的数值表格,定义在程序存储器先建立一个相应的数值表格,定义在程序存储器中,利用输入的值进行查表。中,利用输入的值进行查表。源程序如下:源程序如下: MOV DPTR,#0050H MOV A,30H MOVC A,A+DPTR MOV DPTR,#0CFA0H MOVX DPTR,A ORG 0050H DB 3FH ;0的的7段共阴显示代码段共阴显示代码 DB 06H ;1的的7段共阴显示代码段共阴显示代码 DB 5BH ;2的的7段共阴显示代码段共阴显示代码 小结小结 了解MCS-51单片机的7种寻址方式; 掌握数据传送与交换、算术运算、逻辑运算、控制转
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 抵押店铺协议书
- 补充建房协议书
- 补贴款项协议书
- 财政清算协议书
- 翡翠代理协议书
- 被骗买房协议书
- 2025年远程虚拟协作平台服务合同协议
- 废旧新能源动力电池综合利用项目运营管理方案
- 混凝土预制构件生产流程优化
- 工业污水处理厂及配套管网建设项目技术方案
- 新人教版八年级上册英语单词默写版
- 充装质量手册-液化天然气充装操作规程
- 绍兴三杰纺织印染有限公司年产4500万米(9200吨针织布、2700万米梭织布)高档印染面料升级技改项目环境影响报告
- 注塑成型工艺流程
- JGT266-2011 泡沫混凝土标准规范
- 2023巡检机器人集中监控系统技术要求
- 劳务派遣费用结算单表格模板
- 部编版六年级《道德与法治》上册第9课《知法守法 依法维权》优秀课件
- 数控刀具的选择
- 道德与法治八上情境题汇总附答案
- 病理生理学(南华大学)智慧树知到答案章节测试2023年
评论
0/150
提交评论