【教学课件】第4章80C51汇编语言程序设计.ppt

上传人:wuy****n92 文档编号:69866635 上传时间:2023-01-10 格式:PPT 页数:20 大小:396.47KB
返回 下载 相关 举报
【教学课件】第4章80C51汇编语言程序设计.ppt_第1页
第1页 / 共20页
【教学课件】第4章80C51汇编语言程序设计.ppt_第2页
第2页 / 共20页
点击查看更多>>
资源描述

《【教学课件】第4章80C51汇编语言程序设计.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第4章80C51汇编语言程序设计.ppt(20页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 第章第章 80C51 80C51汇编语言程序设计汇编语言程序设计 本章的主要内容本章的主要内容n n程序设计语言和伪指令;程序设计语言和伪指令;n nMCS-51MCS-51单片机汇编语言程序设计的步骤单片机汇编语言程序设计的步骤n n延时程序的使用方法延时程序的使用方法n n查表程序设计查表程序设计n n数制转换的原理数制转换的原理4.1.1 程序设计语言n机器语言n汇编语言nC8051语言4.1.2 伪指令nORG 操作数;n符号名称 EQU 操作数;n字符名称 DATA 操作数;n【标号:】DB 数据表;n【标号:】DW 数据表;n字符名称 bit 位地址;P10 bit P1.0 虽

2、虽然然单单片片机机的的每每条条指指令令能能使使计计算算机机完完成成一一种种特特定定的的操操作作。但但要要完完成成某某一一特特定定的的任任务务还还需需要要将将这这些些指指令令按按工工作作要要求求有有序序组组合合为为一一段段完完整整的的程程序序。程程序序实实际际上上是是一一系系列列计计算算机机指指令令的的有有序序集集合合。我我们们把把利利用用计计算算机机的的指指令令系系统统来来合合理理地地编编写写出出解解决决某某个个问问题题的的程程序序的过程的过程,称之为程序设计。,称之为程序设计。4.1.3 简单汇编语言程序设计简单汇编语言程序设计(67)编制程序的步骤编制程序的步骤1.1.任务分析(硬件、软件

3、系统分析)任务分析(硬件、软件系统分析)2.2.确定算法和工作步骤;确定算法和工作步骤;3.3.程序总体设计和流程图绘制程序总体设计和流程图绘制关于流程图符号:关于流程图符号:关于流程图符号:关于流程图符号:开始、结束开始、结束-圆角矩形圆角矩形工作任务工作任务-矩形矩形判断分支判断分支-菱形菱形程序流向程序流向-程序连接程序连接-开始结束4.4.分配内存,确定程序与数据区存放地址;分配内存,确定程序与数据区存放地址;5.5.编写源程序;编写源程序;6.6.调试、修改,最终确定程序。调试、修改,最终确定程序。方法技巧方法技巧1.1.模块化设计(显示、打模块化设计(显示、打 印、输入、发送)印、

4、输入、发送)2.2.尽量采用循环及子程序结构(节省内存)尽量采用循环及子程序结构(节省内存)汇编语言的规范汇编语言的规范1.汇编语言源程序由以下两种指令构成汇编语言源程序由以下两种指令构成汇编语句(指令语句)汇编语句(指令语句)伪指令(指示性语句)伪指令(指示性语句)2.汇编语句的格式:汇编语句的格式:标号:标号:操作码操作码操作数操作数;注释;注释3.数据表示形式:数据表示形式:二进制(二进制(B)、)、十六进制十六进制(H)、十进制十进制(D或省略或省略)、ASCII码(以单引号标识)码(以单引号标识)4.2.1 三种程序的结构三种程序的结构(1 1)分支结构或者选择结构)分支结构或者选择

5、结构(2 2)循环结构)循环结构(3 3)查表程序)查表程序4.2.2 三个应用举例三个应用举例(1 1)延时程序延时程序(2 2)十六进制)十六进制ASCIIASCII的转换的转换(3 3)两字节的乘法)两字节的乘法 (1 1)延时程序)延时程序 n n题目:单片机采用题目:单片机采用题目:单片机采用题目:单片机采用12M12M晶振,试编写晶振,试编写晶振,试编写晶振,试编写0.1s0.1s延时程序延时程序延时程序延时程序n ORG0100Hn MOVR2,#200nLOOP:MOVR3,#250n DJNZR3,$(2周期)周期)n DJNZR2,LOOPn RETn 请思考请思考:机器周

6、期是机器周期是多少多少?请思考请思考:如何计算总如何计算总的延时时间的延时时间?例例例例2 2:50ms 50ms延时子程序。设晶振频率为延时子程序。设晶振频率为延时子程序。设晶振频率为延时子程序。设晶振频率为12MHz12MHz,则机器周期为则机器周期为则机器周期为则机器周期为1us1us。DEL:MOV R7,#200 ;1MCDEL1:MOV R6,#123 ;1MC NOP ;1MC DJNZ R6,$;2MC DJNZ R7,DEL1 ;2MC RET ;2MC延时时间延时时间延时时间延时时间:t=1+200(1+1+2*123)+2+2 50000us=50ms (2 2)代码转换

7、类程序设计)代码转换类程序设计n十六进制数与十六进制数与ASCII的转换的转换n十六进制整数转换成单字节码整数十六进制整数转换成单字节码整数*单字节十六进制数转换成双字节单字节十六进制数转换成双字节ASCIIASCII码码 表表4-1 4-1 十六进制数与十六进制数与ASCIIASCII码之间的关系码之间的关系十十 六六进制数进制数十十 六六进制数进制数十十 六六进制数进制数十十 六六进制数进制数 0 0 30H 30H 4 4 34H 34H 8 8 38H 38H C C 43H 43H 1 1 31H 31H 5 5 35H 35H 9 9 39H 39H D D 44H 44H 2 2

8、 32H 32H 6 6 36H 36H A A 41H 41H E E 45H 45H 3 3 33H 33H 7 7 37H 37H B B 42H 42H F F 46H 46H例例1:待转换的单字节十六进制数在寄存器待转换的单字节十六进制数在寄存器待转换的单字节十六进制数在寄存器待转换的单字节十六进制数在寄存器R2R2中。高四位的中。高四位的中。高四位的中。高四位的 ASCII ASCII码存在码存在码存在码存在A A中,低四位的中,低四位的中,低四位的中,低四位的ASCIIASCII码存在码存在码存在码存在B B中。中。中。中。ORG 0100H MOVA,R2 MOVB,A ;暂存

9、待转换的单字节十六进制数;暂存待转换的单字节十六进制数 LCALL MS1 XCHA,B;存放低四位的;存放低四位的ASCII码码 SWAP A;准备转换高四位;准备转换高四位 LCALL MS1 SJMP$MS1:ANLA,#0FH CJNE A,#0AH,N1 SJMP DAYU N1:JNC DAYU ADD A,#30H SJMP DIWEI DAYU:ADD A,#37H;将累加器低四位转换成将累加器低四位转换成 ASCII DIWEI DIWEI:RET例例2 2:查找无符号数据块中最大值(:查找无符号数据块中最大值(P104)P104)n ORG 1000Hn MOV R2,#0

10、AH ;共计十个数;共计十个数n CLR AnLP:SUBB A,R1n JNC NEXTn MOV A,R1 ;第二个数大第二个数大n SJMP NEXT1nNEXT:ADD A,R1 ;原数最大,恢复原数最大,恢复nNEXT1:INC R1n DJNZ R2,LPn END 请思考请思考:用另外一种用另外一种方法?方法?(3 3)查表程序设计查表程序设计 nMOVC A,A+DPTRnMOVC A,A+PC举例:查表求举例:查表求举例:查表求举例:查表求ASCIIASCII码码码码已知:已知:已知:已知:R0R0低四位有一个十六进制数(低四位有一个十六进制数(低四位有一个十六进制数(低四位

11、有一个十六进制数(0 0F F)。)。)。)。将查表找出的相应将查表找出的相应将查表找出的相应将查表找出的相应ASCIIASCII码并送回码并送回码并送回码并送回R0R0中。中。中。中。ORG 0100HMOV A,R0ANL A,#0FH ;屏蔽高;屏蔽高4位位ADD A,#03HMOVCA,A+PC ;查表;查表MOV R0,A ;存结果;存结果SJMP$ASCTAB:DB0,1,2,3,4,5,6,7 DB8,9,A,B,C,D,E,F请思考请思考:为什么为什么?4.2 子程序设计时注意事项子程序设计时注意事项 1.1.1.1.给子程序赋一个名字。实际为入口地址代号。给子程序赋一个名字。

12、实际为入口地址代号。给子程序赋一个名字。实际为入口地址代号。给子程序赋一个名字。实际为入口地址代号。2.2.2.2.要能正确传递参数:要能正确传递参数:要能正确传递参数:要能正确传递参数:入口条件:子程序中要处理的数据如何给予。入口条件:子程序中要处理的数据如何给予。入口条件:子程序中要处理的数据如何给予。入口条件:子程序中要处理的数据如何给予。出口条件:子程序处理结果如何存放。出口条件:子程序处理结果如何存放。出口条件:子程序处理结果如何存放。出口条件:子程序处理结果如何存放。(寄存器、存储器、堆栈方式)(寄存器、存储器、堆栈方式)(寄存器、存储器、堆栈方式)(寄存器、存储器、堆栈方式)3.3.3.3.保护与恢复现场:保护与恢复现场:保护与恢复现场:保护与恢复现场:保护现场:压栈指令保护现场:压栈指令保护现场:压栈指令保护现场:压栈指令PUSHPUSHPUSHPUSH 恢复现场:弹出指令恢复现场:弹出指令恢复现场:弹出指令恢复现场:弹出指令POPPOPPOPPOP 4.4.4.4.子程序可以嵌套子程序可以嵌套子程序可以嵌套子程序可以嵌套

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 大学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com