第3章 MCS-51 单片机汇编语言程序设计ppt课件.ppt

第3章 MCS-51 单片机汇编语言程序设计ppt课件.ppt

ID:58702695

大小:1.59 MB

页数:53页

时间:2020-10-04

第3章 MCS-51 单片机汇编语言程序设计ppt课件.ppt_第1页
第3章 MCS-51 单片机汇编语言程序设计ppt课件.ppt_第2页
第3章 MCS-51 单片机汇编语言程序设计ppt课件.ppt_第3页
第3章 MCS-51 单片机汇编语言程序设计ppt课件.ppt_第4页
第3章 MCS-51 单片机汇编语言程序设计ppt课件.ppt_第5页
资源描述:

《第3章 MCS-51 单片机汇编语言程序设计ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第三章MCS-51单片机汇编语言程序设计华中科技大学生命科学与技术学院生物医学影像中心张智2021/7/281第一节概述第二节伪指令第三节顺序程序设计第四节分支程序设计第五节循环程序设计第六节位操作程序设计第七节子程序生物医学影像中心2021/7/282程序设计语言一、机器语言:用0和1表示的最原始的程序设计语言。特点:计算机能直接识别和执行、速度快人工编写繁琐、易错、难认、难记二、汇编语言:符号语言。汇编后才能被计算机执行特点:指令容易记忆、理解,可读性好汇编语言与机器语言一一对应编写者必须了解硬件结构、指令系统程序不能移植(但执行效率高)三、高级语言:

2、接近于人的常用语言形式,面向过程特点:简短、易懂、编程快、有通用性,便于移植。语言的编译和解释程序大、目标程序大、执行效率低。生物医学影像中心3.1概述2021/7/283生物医学影像中心连接/定位器L51汇编语言源程序汇编器A51符号转换程序OHS51绝对地址目标程序.BINC语言程序浮动地址目标程序编译器C51·HEX源程序转换成目标程序其他软件包如:WAVE、KEIL,只需点击菜单完成2021/7/284汇编语言的指令类型基本指令伪指令汇编语言的语句格式标号段:操作码操作数;注释1.标号段:将指令首字节的地址赋给标号2.操作码段:指令操作的性质和控制

3、要求3.操作数段:操作的对象4.注释段:使程序具有可读性生物医学影像中心2021/7/285伪指令:是非执行指令,进行汇编的过程中起某种控制作用。伪指令汇编后不产生目标代码。为汇编控制和编写程序提供方便。常用的伪指令:1、ORG(Origin)(16位起点地址)2、END:程序末尾,表示程序结束。3、EQU:标号EQU数值或汇编符号(常量)4、DB:DB字节数据(8位)5、DW:DW字数据(16位)6、DS:DS数量(保留存储单元的数量)7、BIT:标号BIT位地址8、DATA:标号:DATA数值(类似EQU,可先使用后定义)生物医学影像中心3.2伪指令2

4、021/7/286生物医学影像中心2021/7/287生物医学影像中心注释说明伪指令定义中断转移初始化主循环体子程序中断服务程序伪指令定义结束程序框架2021/7/288生物医学影像中心3.3顺序程序设计顺序程序:一种最简单、最基本的程序。特点:程序按照编写的顺序依次往下执行每一条指令,直到最后一条。例:将内部RAM30H内的两位BCD码拆开并转换为ASCⅡ码,存入31H32H两个单元。解:数字0~9的ASCⅡ码为30H~39H。转换方法:将BCD码作为低4位,前面加0011即可成为ASCⅡ码2021/7/289ORG0000HAJMPSTARTORG01

5、00HSTART:MOVR0,#32HMOV@R0,#0;32H单元清0MOVA,30H;取数XCHDA,@R0;低位入32HORL32H,#30H;低位转换SWAPAORLA,#30H;高位转换MOV31H,A;高位入31HSTOP:SJMPSTOPEND生物医学影像中心2021/7/2810例:设两字节数在R7、R6中,求补后存入原处。解:先低位字节变反加1,然后高位字节变反再加上低位变反加1的进位。ORG0000HAJMPSTARTORG2000HSTART:MOVA,R6;取低位字节CPLA;低位字节取反ADDA,#1;加1求补MOVR6,A;存低

6、位结果MOVA,R7;取高位字节CPLA;高位字节求反ADDCA,#0;加低位进位MOVR7,A;存高位结果STOP:SJMPSTOPEND生物医学影像中心2021/7/2811例:设X、Y两个小于10的整数分别存于片内30H、31H单元,试求两数的平方和并将结果存于32H单元。解:两数均小于10,故两数的平方和小于100,可利用乘法指令求平方。参考程序如下:ORG2000HMOVA,30H;取30H单元数据MOVB,A;将X送入B寄存器2021/7/2812MULAB;求X2,结果在累加器中MOVR1,A;将结果暂存于R1寄存器中MOVA,31H;取31

7、H单元数据MOVB,A;将Y送入B寄存器MULAB;求Y2,结果在累加器中ADDA,R1;求X2+Y2MOV32H,A;保存数据SJMP$;暂停END2021/7/2813程序框图:2021/7/2814利用条件转移指令形成不同的程序分支,称为分支程序。分支程序设计要点:1.转移的测试条件2.使用正确的条件转移指令生物医学影像中心3.4分支程序设计分支程序的基本形式2021/7/28151.双向分支程序例:a在30H,b在31H中,b≥10时,y=a+b;b<10时,y=a-b,将结果存入32H中。解:……ORG1000HSTART:MOVA,31H;b-

8、>ACJNEA,#10,IFAB;b≠10,转IFABADDAB:

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

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

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