《单片机原理及接口技术》第四章汇编语言程序设计知识资料ppt课件.ppt

《单片机原理及接口技术》第四章汇编语言程序设计知识资料ppt课件.ppt

ID:58876962

大小:312.00 KB

页数:43页

时间:2020-09-30

《单片机原理及接口技术》第四章汇编语言程序设计知识资料ppt课件.ppt_第1页
《单片机原理及接口技术》第四章汇编语言程序设计知识资料ppt课件.ppt_第2页
《单片机原理及接口技术》第四章汇编语言程序设计知识资料ppt课件.ppt_第3页
《单片机原理及接口技术》第四章汇编语言程序设计知识资料ppt课件.ppt_第4页
《单片机原理及接口技术》第四章汇编语言程序设计知识资料ppt课件.ppt_第5页
资源描述:

《《单片机原理及接口技术》第四章汇编语言程序设计知识资料ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第四章汇编语言程序设计循环程序简单程序查表程序子程序分支程序程序设计实例引入实例假设一个班有50个人,共有3门选修课:计算机算法服装CAD设计德语请找出:同时选了三门课的同学;问题的解决第一步如何在计算机中表示选修某门课的所有同学?5122325225392939412252939计算机算法服装CAD设计德语选修这门人数学生的学号这个过程实际上是设计数据结构的问题问题的解决第二步设计思路:找出同时选了三门课的同学这个过程实际上是设计算法的过程,既构建模型。计算机算法CAD设计德语重复该过程第三步:设计流程找出第一

2、个学生他选了德语吗?他选了CAD吗?记录要找的人还有学生吗?下一个学生NNYNYY结束他选计算机吗?NY几点启示整体构思;构建整体流程框图;结构合理,流程清晰,简单明了;局部模块化;为什么要用流程图?符合人进行逻辑思考的习惯计算机从根本上来说,没有任何逻辑性,所以,你必须告诉它,先做什么,后做什么,遇到什么情况又该做什么,等等流程图设计本身是一个逐步求精的过程,最终将任务划分为若干能由机器指令实现的小模块4.1程序设计过程题意分析画出流程图分配内存及端口编制源程序仿真、调试程序固化程序2、编程技巧程序功能模块化尽

3、量采用循环结构和子程序少用无条件转移指令多采用累加器来传递参数注意现场保护,即压入堆栈4.2顺序程序设计例:求多项式a2-b解:设a存放在R2中,b存放在R3中,结果存放在R6和R7中。程序如下:MOVA,R2MOVB,AMULABCLRCSUBBA,R3;带进位减MOVR7,A:保存低8位MOVA,BSUBBA,#00H;高八位减进位MOVR6,AEND4.3分支程序设计根据不同的条件转向不同的处理程序控制转移指令AJMP、LJMP、SJMP、JMPJZ、JNZ、CJNE、DJNZ位转移指令JC、JNC、JB、

4、JNB、JBC举例;累加器A内有一个16进制ASCII字符,要求转换成一个16进制数存放于A。ASCII字符转换成16进制数规则:数字0~9:只需减30H字母A~F:减30H,再减7START0C(A)-30HA(A)<10?(A)-7AENDASCH:CLRCSUBBA,#30CJNEA,#10,$+3JCAH10SUBBA,#07AH10:RET散转程序—多分支程序散转程序是指通过修改某个参数后,程序可以有三个以上的流向,多用于键盘程序。常用的指令是JMP@A+DPTRDPTR+APCA中内容为8位无符

5、号数16位地址数程序清单如下:JUMP1:MOVDPTR,#JPTAB1;跳转表首送数据指针MOVA,R7ADDA,R7;R72A(修正变址值)JNCNOAD;判有否进位INCDPH;有进位则加到高字节地址NOAD:JMP@A+DPTR;转向形成的散转地址人口JPTAB1:AJMPOPR0;直接转移地址表AJMPOPR1.AJMPOPRn例:根据R7的内容,转向各自对应的操作程序(R7=0,转入OPR0;R7=1,转入OPR1…R7=n,转入OPRn)K=?分支程序0分支程序1分支程序n4.4循环程序设计循环

6、程序的结构置循环初值循环体修改控制变量循环终止控制循环程序举例例:设在外部RAM中有一个ASCII字符串,它的首地址是在DPTR中,字符串以‘0’结束。现要求用89c51串行口把该字符串发送出去。在串行口已经初始化的条件下,该流程图可用以下框图表示:TI:串口发送中断请求标志。每发送完串行数据,硬件自动将TI置1。CPU响应中断后,须由软件清0流程图结束((DPTR))->A开始(A)=0?发送器空?0->TI(A)->SBUF(DPTR)+1->DPTR程序:SOUT:MOVXA,@DPTRJNZSOT1RET

7、SOT1:JNBTI,SOT1CLRTIMOVSBUF,AINCDPTRSJMPSOUTTI:串口发送中断请求标志。每发送完串行数据,硬件自动将TI置1。CPU响应中断后,须由软件清0例:200名学生参加考试,成绩放在8031的外部RAM的一个连续存储单元,95~100分颁发A级证书,90~94分颁发B级证书,编一程序,统计获A、B级证书的人数。将结果存入内部RAM的两个单元。ORG0030HEGXDATA1000HGADATA20HGBDATA21HMOVGA,#00MOVGB,#00MOVDPTR,#EGMO

8、VR2,#200LOOP:MOVXA,@DPTRCJNEA,#95,LOOP1LOOP1:JNCNEXT1CJNEA,#90,LOOP2LOOP2:JCNEXTINCGBSJMPNEXTNEXT1:INCGANEXT:INCDPTRDJNZR2,LOOPSJMP$END4.5查表程序表格是事先存放在ROM中的,一般为一串有序的常数,例如平方表、字型码表等。表格可通过伪指令

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

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

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