计算机接口技术课件 第三章 MCS-51单片机汇编语言与程序设计基础.ppt

计算机接口技术课件 第三章 MCS-51单片机汇编语言与程序设计基础.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共30页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 汇编语言与程序设计基础 汇编语言程序: 用汇编语言编写的、完成特定功能的指令序列。 汇编程序: 能将汇编语言源程序转换成机器语言目标程序的系统软件。 源程序使用机器汇编要考虑汇编程序的约定。 汇编的主要任务: 1)确定程序中每条汇编语言指令所对应的机器码。 2)确定每条指令在存储器中的存放地址。 3)提供出错信息。 4)提供目标执行文件(*.OBJ/*.HEX)和列表文件(*.LST)。 常用伪指令及其功能: 1. ORG—起始地址指令:指明程序和数据块起始地址。 指令地址 机器码 源程序 ORG 2000H 2000H 78 30 MAIN:MOV R0,#30H 2002H E6 MOV A,@R0 …(请手工汇编上面3句程序) ORG 3000H 3000H 23 DB 23H,100,‘A’ 3001H 100 3002H ‘A’ 4. EQU —等值。为标号或标识符赋值。 X1 EQU 2000H X2 EQU 0FH … MAIN: MOV DPTR,#X1 5. END —结束汇编指令。 例:START: … … END 7. BIT —位定义。 例:BNAM BIT 30H 3-2 汇编语言程序设计步骤 一.确定方案和计算方法 二.了解应用系统的硬件配置、性能指标。 三.建立系统数学模型,确定控制算法和操作步骤。 四.画程序流程图 表示程序结构和程序功能 常用程序结构: 直线程序、分支程序、 循环程序、子程序 3-3 直线程序 直线程序又称简单程序, 程序走向只有一条路径。 3-5 循环程序 包含多次重复执行的程序段,循环结构使程序紧凑。 3-5-1 循环程序的构成 3-5-2 单重循环 简单循环结构:循环体中不套循环。 例:求n个单字节数据的累加,设数据串起始单元为43H,数据串长度在42H单元,累加和不超过2个字节(SUMH,SUML)。 循环控制方法:计数控制、特征标志控制。 一.计数控制: 设循环计数器控制循环次数。 正计数和倒计数两种方式。 正计数……每循环一次,循环计数器加1(k)INC法 倒计数……每循环一次,循环计数器减1(k)DJNZ法 二.特征控制:设定循环结束标志实现循环控制。CJNE法 例:找正数表最小值。正数表存在片外RAM中以LIST为起始单元,用-1作为结束标志。 3-5-3 多重循环 循环体中套循环结构。以双重循环使用较多。 例:将内存一串单字节无符号数升序排序。 步骤:每次取相邻单元的两个数比较,决定是否需要交换数据位置。 第一次循环,比较N-1次,取到数据表中最大值。 第二次循环,比较N-2次,取到次大值。 … 第N-1次循环:比较一次,排序结束。 SORT: MOV A,#N-1 ;N个数据排序 MOV R4,A ;外循环次数 LOOP1: MOV A,R4 MOV R3,A ;内循环次数 MOV R0,#TAB ;设数据指针 LOOP2: MOV A,@R0 ;取二数 MOV B,A INC R0 MOV A,@R0 CJNE A,B,L1 ;比较 L1: JNC UNEX ;A≥B,不交换 DEC R0 ;否则交换数据 XCH A ,@R0 INC R0 MOV @R0,A UNEX: DJNZ R3,LOOP2 ;内循环结束? DJNZ R4,LOOP1 ;外循环结束? RET 软件延时程序。 用循环程序将指令重复多次执行,实现软件延时。 试计算延时程序的执行时间。 源程序 指令周期(M) 指令执行次数 3-6 子程序 子程序:能完成某项特定功能的独立程序段,可被反复调用。 3-6-1 子程序设计 一.子程序入口用标号作为子程序名。 二.调用子程序之前设置好堆栈。 三.用返回指令RET结束子程序,并保 证堆栈栈顶为调用程序的返回地址。 四.子程序嵌套须考虑堆栈容量。 五.提供足够的调用信息: 如:子程序名、子程序功能、入口参数和出口参数、子程序占用的硬件资源、子程序中调用的其他子程序名。 3-6-2 子程序的入口及出口参数 按子程序与主程序之间传递参数的方式分类。 入口参数:调用子程序之前,需要传给子程序的参数或者所在单元。 出口参数:子程序送回调

您可能关注的文档

文档评论(0)

经管专家 + 关注
实名认证
内容提供者

各类文档大赢家

版权声明书
用户编号:6055234005000000

1亿VIP精品文档

相关文档