欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第4章80C51汇编语言程序设计.ppt

    • 资源ID:65723238       资源大小:187KB        全文页数:20页
    • 资源格式: PPT        下载积分:20金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要20金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第4章80C51汇编语言程序设计.ppt

    第4章80C51汇编语言程序设计 Still waters run deep.流静水深流静水深,人静心深人静心深 Where there is life,there is hope。有生命必有希望。有生命必有希望本章的主要内容本章的主要内容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 虽虽然然单单片片机机的的每每条条指指令令能能使使计计算算机机完完成成一一种种特特定定的的操操作作。但但要要完完成成某某一一特特定定的的任任务务还还需需要要将将这这些些指指令令按按工工作作要要求求有有序序组组合合为为一一段段完完整整的的程程序序。程程序序实实际际上上是是一一系系列列计计算算机机指指令令的的有有序序集集合合。我我们们把把利利用用计计算算机机的的指指令令系系统统来来合合理理地地编编写写出出解解决决某某个个问问题题的的程程序序的过程的过程,称之为程序设计。,称之为程序设计。4.1.3 简单汇编语言程序设计简单汇编语言程序设计(67)编制程序的步骤编制程序的步骤1.1.任务分析(硬件、软件系统分析)任务分析(硬件、软件系统分析)2.2.确定算法和工作步骤;确定算法和工作步骤;3.3.程序总体设计和流程图绘制程序总体设计和流程图绘制关于流程图符号:关于流程图符号:关于流程图符号:关于流程图符号:开始、结束开始、结束-圆角矩形圆角矩形工作任务工作任务-矩形矩形判断分支判断分支-菱形菱形程序流向程序流向-程序连接程序连接-开始结束4.4.分配内存,确定程序与数据区存放地址;分配内存,确定程序与数据区存放地址;5.5.编写源程序;编写源程序;6.6.调试、修改,最终确定程序。调试、修改,最终确定程序。方法技巧方法技巧1.1.模块化设计(显示、打模块化设计(显示、打 印、输入、发送)印、输入、发送)2.2.尽量采用循环及子程序结构(节省内存)尽量采用循环及子程序结构(节省内存)汇编语言的规范汇编语言的规范1.汇编语言源程序由以下两种指令构成汇编语言源程序由以下两种指令构成汇编语句(指令语句)汇编语句(指令语句)伪指令(指示性语句)伪指令(指示性语句)2.汇编语句的格式:汇编语句的格式:标号:标号:操作码操作码操作数操作数;注释;注释3.数据表示形式:数据表示形式:二进制(二进制(B)、十六进制)、十六进制(H)、十进制、十进制(D或省略或省略)、ASCII码(以单引号标识)码(以单引号标识)4.2.1 三种程序的结构三种程序的结构(1 1)分支结构或者选择结构)分支结构或者选择结构(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 请思考请思考:机器周期是机器周期是多少多少?请思考请思考:如何计算总如何计算总的延时时间的延时时间?例例例例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)代码转换类程序设计)代码转换类程序设计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 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 ;暂存待转换的单字节十六进制数;暂存待转换的单字节十六进制数 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,#0AH ;共计十个数;共计十个数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低四位有一个十六进制数(低四位有一个十六进制数(低四位有一个十六进制数(低四位有一个十六进制数(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.给子程序赋一个名字。实际为入口地址代号。给子程序赋一个名字。实际为入口地址代号。给子程序赋一个名字。实际为入口地址代号。给子程序赋一个名字。实际为入口地址代号。2.2.2.2.要能正确传递参数:要能正确传递参数:要能正确传递参数:要能正确传递参数:入口条件:子程序中要处理的数据如何给予。入口条件:子程序中要处理的数据如何给予。入口条件:子程序中要处理的数据如何给予。入口条件:子程序中要处理的数据如何给予。出口条件:子程序处理结果如何存放。出口条件:子程序处理结果如何存放。出口条件:子程序处理结果如何存放。出口条件:子程序处理结果如何存放。(寄存器、存储器、堆栈方式)(寄存器、存储器、堆栈方式)(寄存器、存储器、堆栈方式)(寄存器、存储器、堆栈方式)3.3.3.3.保护与恢复现场:保护与恢复现场:保护与恢复现场:保护与恢复现场:保护现场:压栈指令保护现场:压栈指令保护现场:压栈指令保护现场:压栈指令PUSHPUSHPUSHPUSH 恢复现场:弹出指令恢复现场:弹出指令恢复现场:弹出指令恢复现场:弹出指令POPPOPPOPPOP 4.4.4.4.子程序可以嵌套子程序可以嵌套子程序可以嵌套子程序可以嵌套

    注意事项

    本文(第4章80C51汇编语言程序设计.ppt)为本站会员(豆****)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开