单片机应用技术 冯铁成 第四章新.ppt

单片机应用技术 冯铁成 第四章新.ppt

  1. 1、本文档共37页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 汇编语言程序设计 本章要点 80C51汇编语言语句结构的基本格式 伪指令的功能和应用 汇编的概念 程序设计的步骤和基本方法 顺序程序 分支程序 循环程序 查表程序 散转程序 4.1汇编语言程序设计基本概念 4.1.1汇编语言及其语句结构 标号:操作码 [目的操作数,源操作数];注释 4.1.2 伪指令 用汇编语言编写的程序称为汇编语言源程序。而计算机是不能直接识别源程序的,必须把它翻译成目标程序(机器语言程序),这个翻译过程叫“汇编”。 在汇编时起控制作用,自身并不产生机器码,而仅是为汇编服务的一些指令,称为伪指令。伪指令不属于80C51指令系统。 起始伪指令 ORG(Origin) 格式:ORG 16位地址 功能:规定ORG下面目标程序的起始地址。 ORG 0100H START; MOV A,#05H ;标号START代表的地址为0100H 结束伪指令 END 格式:END 功能:汇编语言源程序的结束标志。 在END后面的指令,汇编程序不再处理。一个源程序只能有一个END指令,放在所有指令的最后。 等值伪指令 EQU(Equate) 格式:字符名称 EQU 数据或汇编符号 功能:将一个数据或特定的汇编符号赋予规定的字符名称。 ABC EQU 30H ;ABC=30H, #ABC=#30H 数据地址赋值伪指令 DATA 格式:字符名称 DATA 表达式 功能:将数据地址或代码地址赋予规定的字符名称。 DATA与EQU的区别:EQU定义的符号必须先定义后使用,DATA可以先使用后定义。 定义字节伪指令DB(Define Byte) 格式:DB 8位二进制数表 功能:从指定的地址单元开始,定义若干个8位内存单元的数据。数据与数据之间用“,”分割。 ORG 4000H TAB:DB 73H,45,”A”,”2” ;(4000H)=73H,(4001H)=2DH… 定义字伪指令DW(Define Word) 格式:DW 16位二进制数表 功能:从指定的地址单元开始,定义若干个16位数据。占用两个字节,高8位先存入,低8位后存入。不足16位者,用0填充。 ORG 1000H HTAB:DW 7856H,89H,30 ;(1000H)=78H,(1001H)=56H… 定义位地址伪指令BIT 格式:字符名称 BIT 位地址 功能:将位地址赋予所规定的字符名称。 DEF BIT 30H ;把位地址赋给字符DEF,DEF可作为位地址30H使用。 4.1.3 汇编 将汇编语言源程序转换为计算机所能识别的机器语言代码程序的过程称为汇编。 汇编可分为: ⒈ 手工汇编 ⒉ 计算机汇编 4.1.4 程序设计的基本方法 编写程序要求: 不仅要完成规定的功能任务,而且还要求: 执行速度快、占用内存少、条理清晰、 阅读方便、便于移植、巧妙而实用。 一般应按以下几个步骤进行: 1.分析问题,确定算法或解题思路 2.画流程图 3.编写源程序 4.汇编和调试 4.2 程序设计举例 4.2.1 顺序程序 顺序程序是指按顺序依次执行的程序,也称为简单程序或直线程序。 顺序程序结构虽然比较简单,但也能完成一定的功能任务,是构成复杂程序的基础。 例4-2 已知16位二进制负数存放在R1R0中,试求其补码,并将结果存在R3R2中。 解:二进制负数的求补方法可归结为“求反加1”,符号位不变。利用CPL指令实现求反;加1时,则应低8位先加1,高8位再加上低位的进位。注意这里不能用INC指令,因为INC指令不影响标志位。 CONT: MOV A,R0 ;读低8位 CPL A ;取反 ADD A,#1 ;加1 MOV R2,A ;存低8位 MOV A,R1 ;读高8位 CPL A ;取反 ADDC A,#80H;加进位及符号位 MOV R3,A ;存高8位 RET 4.2.1 分支程序 根据不同条件转向不同的处理程序,这种结构的程序称为分支程序。 80C51指令系统中的条件转移指令、比较转移指令和位转移指令,可以实现分支程序。 例4-8 已知电路如图4-5所示,要求实现: ① S0单独按下, 红灯亮,其余灯灭; ② S1单独按下, 绿灯亮,其余灯灭; ③ 其余情况, 黄灯亮。 解:程序如下 SGNL:ANL P1, ;红绿黄灯灭

文档评论(0)

带头大哥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档