单片机-第四章 单片机程序设计与调试.ppt

单片机-第四章 单片机程序设计与调试.ppt

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 单片机的程序设计 伪指令 1)ORG 伪指令 2)END伪指令 源程序的设计步骤 一、明确设计任务和选择算法; 二、确定系统规划和程序结构; 三、画程序流程图; 四、编写源程序 源程序设计注意事项 (1)采用模块化的程序设计方法 (2)尽量采用循环结构和子程序 (3)合理分配内存单元 (4)正确使用转移指令 顺序程序设计 应用项目源程序 分支程序 单重分支程序 一个判断决策框,程序有两条出路。 两种分支结构: 例: FRT: MOV A,40H ;取行李重量计价单位G MOV R3,A MOV B,# 03H ;M=G×3 MUL AB MOV R2,A ;暂存3G MOV A,R3 ;取回G CJNE A,# 05H,L1 ;G=5 ? G≠ 5 跳L1 SJMP WETC L1: JC WETC ;是,转至WETC(C=1即G<5跳) SUBB A,#05H ;否则M=3G+2(G-5) RLC A ADD A,R2 SJMP L2 WETC: MOV A ,R2 L2: MOV 41H,A ;存结果M RET 例:求符号函数Y=SGN(X) +1 (当 X0) SGN(X)= 0 (当 X=0) -1 (当 X0) 3、采用分支号入口地址组成表 如:当分支号=0,程序转移到ADDR0处; 当分支号=1,程序转移到ADDR1处; … 。 求n个单字节数据的累加,设数据串已在43H起始单元,数据串长度42H单元,累加和不超过2个字节。 计数控制: 为一串7位ASCII码数据的D7位加上奇校验,设数据存放在片外RAM的 2101H起始单元,数据长度在2100H单元。 特征控制: 找正数表最小值。正数表存在片外RAM中以LIST为起始单元,用-1作为结束标志。 软件延时程序: 1、单循环定时程序: MOV R5,#TIME LOOP: NOP NOP DJNZ R5,LOOP 2、多重循环定时: 试计算延时程序的执行时间。 源程序 指令周期(M) 指令执行次数 * * * 1、伪指令 2、顺序程序和分支程序设计 3、循环和查表程序设计 4、子程序和中断程序设计 汇编语言格式 标号段 操作码字段 操作数段 注释段 (LABLE) (OPCODE) (OPRAND) (COMMENT) 标号字段 操作码字段 操作数字段 标号字段位于一条语句的开头,用于存放语句的标号,以表明标号所在指令码的内存地址。标号字段和操作码字段有冒号“:”相隔。 为指令操作码规定的符号。是指令不可缺少的部分。 可有可无,两个操作数间用“,” 隔开。操作数和指令码字段间用空格隔开。操作数通常5种表示形式。 注释字段 为阅读程序而加的说明,可有可无,它不是源程序的一部分,因此汇编时将忽略这一部分。注释段与源程序之间以“;”隔开。 ; 首址送R0 ;长度送R1 ;检查长度是否为零 ;为零则结束 ;不为零则开始运算 ;加一个数 ;长度减1不为零则转移 ;存和 起始地址 程序主体 汇编结束标志 标号 注释 MOV R1, DATA1 CJNE R1, #0 , NEXT ORG 2000H START:MOV R0,#DATA1 HERE: SJMP $ NEXT: CLR A LOOP: INC R0 ADD A,@R0 DJNZ R1, LOOP MOV SUM , A SJMP HERE DATA1 DATA 20H SUM DATA 1FH END 汇编语言构成 1、指令性语句 2、指示性语句 ORG伪指令用来规定某程序段的起始地址。 格式: ORG 〈表达式〉 语句指定了段内在此语句后的程序

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档