[工学]单片原理及应用第2版第4章MCS-51单片机汇编语言程序设计ppt课件.ppt

[工学]单片原理及应用第2版第4章MCS-51单片机汇编语言程序设计ppt课件.ppt

ID:58877900

大小:134.00 KB

页数:47页

时间:2020-09-30

[工学]单片原理及应用第2版第4章MCS-51单片机汇编语言程序设计ppt课件.ppt_第1页
[工学]单片原理及应用第2版第4章MCS-51单片机汇编语言程序设计ppt课件.ppt_第2页
[工学]单片原理及应用第2版第4章MCS-51单片机汇编语言程序设计ppt课件.ppt_第3页
[工学]单片原理及应用第2版第4章MCS-51单片机汇编语言程序设计ppt课件.ppt_第4页
[工学]单片原理及应用第2版第4章MCS-51单片机汇编语言程序设计ppt课件.ppt_第5页
资源描述:

《[工学]单片原理及应用第2版第4章MCS-51单片机汇编语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章MCS-51单片机汇编语言程序设计4.1程序设计概述4.2顺序结构的程序设计4.3分支结构的程序设计4.4循环结构的程序设计4.5查表程序设计4.6子程序设计14.1程序设计概述24.2.1顺序结构的程序顺序结构程序是一种最简单、最基本的程序,按照程序编写的顺序逐条依次执行,直到程序结束。这是程序的最基本的形式,任何程序都离不开这种形式。3例4-1:将片外0200H,0201H单元二个无符号数相乘,结果送片内RAM的50H,51H单元。ORG0000HAJMPMAINM1EQU0200HM2EQU50HORG0030HMAIN

2、:MOVDPTR,#M1MOVB,AMOVA,#64HINCDPTRMOVX@DPTR,AMOVXA,@DPTRINCDPTRMULABMOVA,#0AHMOV@R0,AMOVX@DPTR,AMOVA,BMOVDPTR,#M1INCR0MOVR0,#M2MOV@R0,AMOVXA,@DPTRSJMP$4例4-2:将片内RAM20H单元中的数拆成两段,每段4位,并将其分别存入21H、22H单元中。低4位存在21H单元,高4位存在22H单元5例4-2程序:ORG0000HAJMPSTARTORG0030HSTART:MOV20H,#1A

3、HMOVA,20HMOVR0,A;暂存R0ANLA,#0FHMOV21H,AMOVA,R0SWAPAANLA,#0FHMOV22H,ASJMP$64.3分支结构的程序分支结构程序是利用条件转移指令,使程序执行到某一指令时,根据条件是否满足,来改变程序执行的顺序。编写分支结构的程序主要在于正确使用转移指令。编写分支结构的程序的关键是确定好分支条件。7例4-3:编制程序使y按下式赋值:8例4-3VAREQU30HFUNCEQU31HSTART:MOVA,VARJZCOMPJNBACC.7,POSIMOVA,#0FFHSJMPCOMPPO

4、SI:MOVA,#01HCOMP:MOVFUNC,ASJMP$9例:设外部存储器单元中有ST1,ST2和ST3共三个连续单元,其中ST1,ST2单元分别存放两个无符号的二进制数,要求找出其中的大数存入ST3单元中。10例:ORG0000HSJMPSTARTORG0030HST1EQU0200HST2EQU0201HST3EQU0202HSTART:CLRCMOVDPTR,#ST1MOVXA,@DPTRMOVR2,A;第一个数暂存R2INCDPTRMOVXA,@DPTRSUBBA,R2;(ST1)-(ST2)JNCBIGI;(ST1)

5、<(ST2)XCHA,R2;(ST1)>(ST2)交换BIG0:INCDPTRMOVX@DPTR,A;存外部RAMST3单元SJMP$BIG1:MOVXA,@DPTR;重新取大数SJMPBIG0114.4循环结构的程序循环程序是强制CPU重复执行某一指令序列的一种程序结构形式。凡是遇到需要重复操作的程序,这时可用循环程序结构。循环结构程序简化了程序书写,减少了内存占用空间。循环结构的程序一般由5部分组成:初始化,循环体、循环修改、循环控制和结束部分。1213例4.6ORG0000H8字节约的无符号数,存放60HSJMPADD1开始的

6、连续单元中,做连加运行,ORG0030H结果放在R3,R4中ADD1:MOVR3,#00HMOVR4,#00HMOVR2,#08HMOVR0,#60HCLRCLOOP:MOVA,R4ADDA,@R0MOVR4,AINCR0CLRAADDCA,R3MOVR3,ADJNZR2,LOOPSJMP$END14例4.7ORG0000HMOVR2,#07HMOVR0,#40H;R0作为指针MOVA,@R0;INCR0MAX:CLRCMOVR3,A;暂存到R3SUBBA,@R0MOVA,R3JNCL1;A中为大数,转L1MOVA,@R0;大数送A

7、L1:INCR0DJNZR2,MAXSJMP$15例4.8COUNT:MOVR2,#0FFHMOVR0,#4FHLOOP:INCR0INCR2CJNE@R0,#0DH,LOOPSJMP$16例4.8-1COUNT:MOVR2,#00HMOVR0,#50HLOOP:CJNE@R0,#0DH,LSJMP$INCR0INCR2SJMPLOOP17例A:将以20H为起始地址的内部RAM中的20个连续单元清零MOVR0,#20HMOVR1,#20CLRALOOP:MOV@R0,AINCR0DJNZR1,LOOPSJMP$18例B:设外部RAM

8、以2000H为起始地址的存储区中有一个ASCII码字符串,字符串以字符$作为结束标志,编程将字符串取到以20H为起始地址的内部RAM中。19例B程序1:ORG0000HMOVDPTR,#2000HMOVR0,#20HLOOP:CLRC

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

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

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