文档详情

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

发布:2017-03-20约2.82千字共20页下载文档
文本预览下载声明
本章的主要内容 程序设计语言和伪指令; MCS-51单片机汇编语言程序设计的步骤 延时程序的使用方法 查表程序设计 数制转换的原理 4.1.1 程序设计语言 机器语言 汇编语言 C8051语言 4.1.2 伪指令 ORG 操作数; 符号名称 EQU 操作数; 字符名称 DATA 操作数; 【标号:】 DB 数据表; 【标号:】 DW 数据表; 字符名称 bit 位地址; P10 bit P1.0 汇编语言的规范 4.2.1 三种程序的结构 4.2.2 三个应用举例 (1)延时程序 题目:单片机采用12M晶振,试编写0.1s延时程序 ORG 0100H MOV R2,#200 LOOP:MOV R3,#250 DJNZ R3,$ (2周期) DJNZ R2,LOOP RET (2)代码转换类程序设计 十六进制数与ASCII的转换 十六进制整数转换成单字节BCD码整数 例2:查找无符号数据块中最大值(P104) ORG 1000H MOV R2,#0AH ;共计十个数 CLR A LP: SUBB A,@R1 JNC NEXT MOV A,@R1 ;第二个数大 SJMP NEXT1 NEXT: ADD A,@R1 ;原数最大,恢复 NEXT1: INC R1 DJNZ R2,LP END (3) 查表程序设计 MOVC A,@A+DPTR MOVC A,@A+PC ORG 0100H MOV A,R0 ANL A,#0FH ;屏蔽高4位 ADD A,#03H MOVC A,@A+PC ;查表 MOV R0,A ;存结果 SJMP $ ASCTAB: DB 0,1,2,3,4,5,6,7 DB 8,9,A,B,C,D,E,F * * 第4章 80C51汇编语言程序设计 虽然单片机的每—条指令能使计算机完成一种特定的操作。但要完成某一特定的任务还需要将这些指令按工作要求有序组合为一段完整的程序。程序实际上是一系列计算机指令的有序集合。我们把利用计算机的指令系统来合理地编写出解决某个问题的程序的过程,称之为程序设计。 4.1.3 简单汇编语言程序设计(67) 编制程序的步骤 1.任务分析(硬件、软件系统分析) 2.确定算法和工作步骤; 3.程序总体设计和流程图绘制 关于流程图符号: 开始、结束----圆角矩形 工作任务----矩形 判断分支----菱形 程序流向---- 程序连接---- 开始 结束 4. 分配内存,确定程序与数据区存放地址; 5. 编写源程序; 6. 调试、修改,最终确定程序。 方法技巧 模块化设计(显示、打 印、输入、发送) 2. 尽量采用循环及子程序结构(节省内存) 汇编语言源程序由以下两种指令构成 汇编语句(指令语句) 伪指令(指示性语句) 汇编语句的格式: 标号: 操作码 操作数 ;注释 3. 数据表示形式: 二进制(B)、十六进制(H)、十进制(D或省略)、ASCII码(以单引号标识) (1)分支结构或者选择结构 (2)循环结构 (3)查表程序 (1)延时程序 (2)十六进制—ASCII的转换 (3)两字节的乘法 请思考: 机器周期是多少? 请思考: 如何计算总的延时时间? 例2: 50ms延时子程序。设晶振频率为12MHz, 则机器周期为1us。 DEL: MOV R7,#200 ;1MC DEL1:MOV R6,#123 ;1MC NOP ;1MC DJNZ R6,$ ;2MC DJNZ R7,DEL1 ;2MC RET ;2MC 延时时间:t=1+200[(1+1+2*123)+2]+2
显示全部
相似文档