单片机原理与应用 第2版 教学课件 作者 赵德安 第五章.ppt

单片机原理与应用 第2版 教学课件 作者 赵德安 第五章.ppt

ID:50066323

大小:2.60 MB

页数:35页

时间:2020-03-08

单片机原理与应用 第2版 教学课件 作者 赵德安 第五章.ppt_第1页
单片机原理与应用 第2版 教学课件 作者 赵德安 第五章.ppt_第2页
单片机原理与应用 第2版 教学课件 作者 赵德安 第五章.ppt_第3页
单片机原理与应用 第2版 教学课件 作者 赵德安 第五章.ppt_第4页
单片机原理与应用 第2版 教学课件 作者 赵德安 第五章.ppt_第5页
资源描述:

《单片机原理与应用 第2版 教学课件 作者 赵德安 第五章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第五章汇编语言程序设计1程序设计方法2顺序程序3分支程序4循环程序5子程序6算术运算程序第五章汇编语言程序设计5-1-2汇编语言程序设计步骤一.分析问题。二.确定算法。三.制定程序流程图:表示程序结构和程序功能四.编制源程序1.合理分配存储器单元和了解I/O接口地址。2.按功能设计程序,明确各程序之间的相互关系。3.用注释行说明程序,便于阅读和修改调试和修改。五.程序调试。开始1YN?第五章汇编语言程序设计5-1-3评价程序质量的标准(1)程序的执行时间。(2)程序所占用的内存字节数。(3)程序的逻辑性、可读性。(4)程序的兼

2、容性、可扩展性。(5)程序的可靠性。5-2顺序程序直线程序又称简单程序,程序走向只有一条路径。例1双字节变补程序(设数据在R4R5中)双字节变补程序(设数据在R4R5中):MOVA,R5;取低字节CPLAADDA,#1;低字节变补MOVR5,AMOVA,R4;取高字节CPLAADDCA,#0;高字节变补MOVR4,A第五章汇编语言程序设计第五章汇编语言程序设计例2压缩式BCD码分解成为单字节BCD码。MOVR0,#40H;设指针MOVA,@R0;取一个字节MOVR2,A;暂存ANLA,#0FH;清0高半字节INCR0MOV@R

3、0,A;保存数据个位MOVA,R2SWAPA;十位换到低半字节ANLA,#0FHINCR0MOV@R0,A;保存数据十位十个第五章汇编语言程序设计例5-1假设两个双字节无符号数,分别存放在R1R0和R3R2中,高字节在前,低字节在后。编程使两数相加,和数存放回R2R1R0中。ORG1000hCLRCMOVA,R0;取被加数低字节至AADDA,R2;与加数低字节相加MOVR0,A;存和数低字节MOVA,Rl;取被加数高字节至AADDCA,R3;与加数高字节相加MOVRl,A;存和数高字节MOVA,#0ADDCA,#0;加进位位M

4、OVR2,A;存和数进位位SJMP$;原地踏步END条件满足?N影响条件处理段YN第五章汇编语言程序设计5-3分支程序由条件转移指令构成程序判断框部分,形成程序分支结构。5-3-1单重分支程序一个判断决策框,程序有两条出路。两种分支结构。例1求R2中补码绝对值,正数不变,负数变补。MOVA,R2JNBACC.7,NEXT;为正数?CPLA;负数变补INCAMOVR2,ANEXT:SJMPNEXT;结束第五章汇编语言程序设计5-3-2多重分支程序多次使用条件转移指令,形成两个以上判断框。例5-7设30H单元存放的是一元二次方程a

5、x2+bx+c=0根的判别式△=b2-4ac的值。解:△值为有符号数,有三种情况,即大于零、等于零、小于零。第五章汇编语言程序设计编程:ORG1000HSTART:MOVA,30H;△值送AJNBACC.7,YES;△=>0转YESMOV31H,#0;△<0,无实根SJMPFINISHYES:JNZTOW;△>0转TOWMOV31H,#1;△=0有相同实根SJMPFINISHTOW:MOV31H,#2;有两个不同实根FINISH:SJMP$第五章汇编语言程序设计5-3-3N路分支程序N路分支程序是根据前面程序运行的结果,可以有

6、N种选择,并能转向其中任一处理程序。第五章汇编语言程序设计例5-10128路分支程序。功能:根据R3的值(00H~7FH)转到128个目的地址。参考程序:JMPl28:MOVA,R3RLA;(A)×2MOVDPTR,#PRGTBL;散转表首址送DPTRJMP@A+DPTR;散转PRGTBL:AJMPROUT00AJMPROUT01…AJMPROUT7F;128个AJMP指令占256个字节第五章汇编语言程序设计例5-11256路分支程序功能:根据R3的值转移到256个目的地址;入口条件:(R3)=转移目的地址代号(00H~FFH

7、);出口条件:转移到相应分支处理程序入口。解:JMP256:MOVA,R3;取N值MOVDPTR,#PRGTBL;指向分支地址表首址CLRCRLCA;(A)×2JNCLOWl28;是前128个分支程序,则转移INCDPH;否则基址加256第五章汇编语言程序设计LOWl28:MOVTEMP,A;暂存AINCA;指向地址低8位MOVCA,@A+DPTR;查表,读分支地址低8位PUSHACC;地址低8位入栈MOVA,TEMP;恢复A,指向地址高8位MOVCA,@A+DPTR;查表,读分支地址高8位PUSHACC;地址高8位入栈RET

8、;分支地址弹入PC实现转移PRGTBL:DWROUT00;占用512个字节DWROUT01…第五章汇编语言程序设计例5-12大于256路分支转移程序功能:根据入口条件转向n个分支处理程序入口条件:(R7R6)=转移目的地址代号;出口条件:转移到相应分支处理程序入口。程序散转表

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。