- 1、本文档共74页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第3章单片机的汇编语言与程序设计 解:完整的汇编程序及机器代码及存放地址 第3章单片机的汇编语言与程序设计 3.1汇编语言概述 3.2指令系统简介 3.3汇编语言的编程方法 第3章单片机的汇编语言与程序设计 汇编语言程序的开发过程 确定编程思路 画程序流程图 编写汇编程序 程序编译调试 用汇编语言进行程序设计的过程和用高级语言进行程序设计的过程类似,一般需要经过以下几个步骤: 第3章单片机的汇编语言与程序设计 流程图(程序框图) 表示程序的执行过程或解题步骤和方法 给出程序的结构,体现整体与部分之间的关系 便于阅读、理解程序,查找错误 起始 举例18: 利用单片机与发光二极管设计一个具有循环点亮功能的电子装置(流水灯)。 第3章单片机的汇编语言与程序设计 单管控制原理: 第3章单片机的汇编语言与程序设计 ① 工作原理分析 单片机P1口外接8只LED; 循环改写P1.n口,写0灯亮,写1灯灭; 软件延时控制切换间隔。 ②画程序流程图: 尽可能详细地表示出每一相关环节的内容 第3章单片机的汇编语言与程序设计 RL ACALL DJNZ RR (0111 1111B) (1111 1110B) Rn MOV P1 P1 P1 A←#1111 1110B 第3章单片机的汇编语言与程序设计 ③编写汇编程序 第3章单片机的汇编语言与程序设计 ④程序编译调试 编译通过! 机器码及在ROM中的存放 第3章单片机的汇编语言与程序设计 实际运行效果: 本章小结 51 单片机汇编语言指令最多包含4个区段,其一般格式为: [标号:] 操作码 [操作数] [;注释]; 51单片机的指令系统分为数据传送与交换指令、算术运算指令、逻辑运算指令和控制转移指令等4大类型,共111条; 51单片机汇编语言具有直接寻址、寄存器寻址、寄存器间接寻址、立即寻址、变址寻址、位寻址和相对寻址等7种寻址方式。 伪指令属于非执行指令,用于对汇编过程提供必要辅助信息,汇编后不会产生机器码。 第3章单片机的汇编语言与程序设计 第3章单片机的汇编语言与程序设计 例3.4:已知0~9的ASCII码为30H~39H。若片内RAM 70H中有一个在0~9范围内的数,试编程把它转换为相应的ASCII码。 解:利用半字节交换指令把0~9装配成相应的ASCII码。 MOV R0,#70H ; R0←#70H MOV A,#30H ; A←#30H XCHD A,@R0 ; A中形成ASCII码 MOV @R0,A ; ASCII码送回70H单元 0-3 堆栈只能对direct操作 位传送只能在C与bit间进行 第3章单片机的汇编语言与程序设计 数据传送对象和方向示意图 虚线框为片内RAM 立即数只能作为源操作数 ROM和外部RAM只能与A往来 ROM只能作为源操作数 direct可与除立即数外的所有资源双向往来 DPTR只能与#data16关联 ROM 第3章单片机的汇编语言与程序设计 2.算术运算类指令 ——以实现加、减、乘、除和增减1等运算为目的。 (24条) 第3章单片机的汇编语言与程序设计 特点: ①除加1和减1外,都需要有累加器A参与运算; ②算术运算指令一般都会影响PSW中的CY、AC、OV三个标志位。 AC 第3章单片机的汇编语言与程序设计 例3.6:试解读如下程序并说明其功能 MOV A,#34H ADD A,#0E7H MOV 40H,A MOV A,#12H ADDC A,#0FH MOV 41H,A ; A ←#34H ; A ←#34H+#0E7H ; 40H ← A ; A ← #12H ; A←#12H+#0FH+C ; 41H ← A ;A= #1BH,C= #1 ;40H = #1BH 功能:实现两个16位数(1234H与0FE7H)的加法运算,并将结果221BH存入片内RAM 41H单元。 做法:先对低8位相加,结果存入40H单元;再对高8位带进位相加,结果存入片内RAM 41H和40H单元中。 ;A= #22H, C= #0 ;41H = #22H 第3章单片机的汇编语言与程序设计 例3.7:试解读如下程序并说明其功能 CLR C MOV A,#34H SUBB A,#0E7H MOV 40H,A MOV A,#12H SUBB A,#0FH MOV 41H,A ; CY位清零 ; A←#34H ; A← #34H-#0E7H-C ; 40H ← A ; A ← #12H ; A← #12H -#0FH-C ; 41H ← A ; A= #4D,C= #1 ; 40H = #4D 功能:实现两个16位数(1234H与
文档评论(0)