80C51汇编语言

第4章 80C51的汇编语言程序设计 单片机应用系统由硬件系统和应用程序构成 4.1 程序编制的方法和技巧 任务分析 流程图符号 强化模块观念 标号(即符号地址) 操作数 4.3 基本程序结构 一般不影响标志寄存器PSW的状态。 4.3 基本程序结构 (无分支、无循环) (单分支、双分支、多分支) (2种:先执行,后判断;先判断,后执行) 4.4 子程序及其调用 减法子程序 编写多字节无符号数的减法子程序 设2个多字节无符号数的低字节地址分别存于R0R1中,低字节在高地址单元。相减后的差存放在减数原来的位置 子程序入口:(R0)=被减数低字节地址 (R1)=减数低字节地址 (R7)=字节数 子程序出口: (R1)=差的高字节地址(起始地址) NSUB: CLR C NSUB1:MOV A, @R0 SUBB A,@R1 MOV @R1,A DEC R0 DEC R1 DJNZ R7,NSUB1 INC R1 RET 乘法子程序 编写双字节无符号数的乘法子程序 设双字节的无符号被乘数存放在R2、R3中,乘数存放在R4、R5中,R0指向积的高字节 子程序入口:( R2、R3)=被乘数 (R4、R5)=乘数 (R0)=预存放积的低字节的单元地址 子程序出口: (R0)=积的高字节的单元地址 MOV A, R2MOV B, R5MUL ABINC R0INC R0ACALL RADD MOV A, R2MOV B, R4MUL ABINC R0ACALL RADDINC R0RET MOV A, R3 MOV B, R5 MUL AB ACALL RADD MOV A, R3 MOV B, R4 MUL AB INC R0 ACALL RADD 查表子程序 利用子程序实现c=a2+b2 设a、b、c分别存放于内部RAM的30H、31H、32H单元中 子程序入口:(A)=预平方数 子程序出口:(A)=平方值 SQR: MOV DPTR, #TAB MOVC A, @A+DPTR RET TAB:DB 0,1,4,9,16,25,36,49,64,81 十六进制数转换为ASCII码 将1位十六进制数(即四位二进制数)转换为相应 的ASCII码。设十六进制数存放在R0中,转换后的ASCII码存放在R2中 子程序入口:(R0)=十六进制数 子程序出口:(R2)=ASCII码 十六进制数转换为ASCII码 多十六进制数转换为ASCII码。 子程序入口:(R0)=十六进制数低字节地址 (R2)=字节数 子程序出口:(R0)=十六进制数高字节地址 (R1)=ASCII码的高位地址 MOV A,@R0 ANL A,#0FH ADDC A,#16 MOVC A,@A+PC MOV @R1,A INC R1 MOV A,@R0 SWAP A ANL A#07H ADD A,#7 MOVC A,@A+PC MOV @R1,A INC R0 INC R1 DJNZ R2,LP DEC R1 RET ASC:DB 30H,31H,32H--- 二进制数与十进制数之间的转换 双字节二进制数转换为BCD码 设(R2R3)为双字节二进制数,(R4R5R6)为转换完的压缩型BCD码 子程序入口:(R2R3)=十六位二进制数 子程序出口:(R4R5R6)=转换完的压缩型BCD码 D=b15*215+b14*214+…+b1*2+b0 =(((b15*2)+b14)*2+…+b1)*2+b0 =((((0*2+b15)*2)+b14)*2+…+b1)*2+b0 CLR A MOV R4,A MOV R5,A MOV R6,A MOV R7,#16 CLR C MOV A,R3 RLC A MOV R3,A MOV A,R2 RLC A MOV R2,A 延时子程序 1m延时子程序 4.5 简单I/O设备的并口直接驱动示例 验证程序段 MAIN:MOV A,20H ; SWAP A PUSH ACC ;预转换的数据(在低半

80c51定时1秒汇编语言,80C51汇编语言.ppt相关推荐

  1. 单片机入门:80C51定时/计数器简介

    实现定时功能,比较方便的办法是利用单片机内部的定时/计数器. 1.定时/计数器的结构 定时/计数器的实质是加1计数器(16位),由高8位和低8位两个寄存器组成. TMOD是定时/计数器的工作方式寄存器 ...

  2. 80c51的c语言程序设计,80C51的C语言程序设计概述.ppt

    80C51的C语言程序设计概述 第9章 80C51的C语言程序设计;9.1 单片机C语言概述 ;Date;9.1.2 C51程序结构;9.2.1 C51的数据类型;尽可能采用无符号格式bit用于定义位 ...

  3. c55x汇编语言,TMS320C55x汇编语言编程A.ppt

    TMS320C55x汇编语言编程A 例4-17,无效定义的表达式. .global Y ; 定义Y为全局外部符号 badsym1.set Y ; Y在当前文件中未定义 badsym2.set 50h ...

  4. C语言数据交换算法和伪指令,补充:单片机c语言与汇编语言混合编程.ppt

    补充:单片机c语言与汇编语言混合编程 reg51.h和reg52.h:实质上是没有区别的,都是一些特殊功能寄存器的申明 sfr P0 = 0x80; sfr P1 = 0x90; sfr P2 = 0 ...

  5. 微型计算机原理含汇编语言课件,微型计算机原理第六章 汇编语言程序设计课件.ppt...

    微型计算机原理第六章 汇编语言程序设计课件 第6章 汇编语言程序设计 醛引萤仑猿憋诚厦纶轰襟惋孜竖稼荤退起降掳膜苍比球危植怜垮舰懊裂唤微型计算机原理第六章 汇编语言程序设计课件微型计算机原理第六章 汇 ...

  6. 计算机组成原理汇编程序实验,计算机组成原理汇编语言程序设计实验.ppt

    汇编语言程序设计实验主讲:马冰汇编语言上机操作步骤汇编语言上机所必备的软件汇编语言上机操作过程汇编语言上机所必备的软件操作系统:DOS或CCDOS编辑程序:行编辑程序EDLIN.COMWPS全屏编辑程 ...

  7. 80c51的c51语言程序设计,80C51的程序设计习题及答案.doc

    80C51的程序设计习题及答案 第四章 80C51的程序设计习题及答案 1.80C51单片机汇编语言有何特点? 答:80C51单片机汇编语言的源程序结构紧凑.灵活,汇编成的目标程序效率高,具有占存储空 ...

  8. 【汇编语言】汇编语言如何编程,如何避免出错

    0 前言 这里以8086汇编语言举例. 1 重要方法:画流程图 这一点不再多说!你懂的!只要真的画流程图,并且按此翻译为汇编代码,程序出错几率就会减少很多. 2 框架思维:构建标准编程框架 这里只举例 ...

  9. c汇编语言例题,汇编语言例题分析.doc

    汇编语言例题分析 汇编语言例题分析 <汇编语言程序设计>练习题 作者名:不详 来源:网友提供 06年6月8日 一.基本概念 1.8088/8086CPU内部寄存器有______个 ,其中的 ...

最新文章

  1. 基类的析构函数为什么要设置成virtual
  2. 测试在MicroPython中对于main.py进行修改
  3. 无人值守的自动 dump(一)
  4. 测试一体机ASM failgroup的相关问题处理
  5. 第 5-1 课:线程与死锁 + 面试题
  6. java web 断点上传_使用WebUploader实现分片断点上传文件功能(二)
  7. oracle 多版本技术,读书笔记: 关于oracle中多版本的问题
  8. GoDaddy域名续费省钱妙招及取消隐私保护的方法
  9. paip.提升性能--- mysql 建立索引 删除索引 很慢的解决.
  10. 松下plc安装序列号afpsgr7_安装松下PLC软件步骤.pdf
  11. 谈谈RJ45线序的打法及口诀
  12. 十年老撕鸡分享,五分钟搭建个人轻论坛
  13. 物联网linux系统设计,Ostro:面向物联网优化的基于 Linux的开源操作系统
  14. vue 通过localStorage添加商品到购物车
  15. https利用360cdn实现网站加速
  16. 计算机二级 word 论文格式,(计算机二级word练习3.doc
  17. 使用 OpenSSL 加密和解密文件
  18. MySQL查询(DQL)之基础查询+条件查询+排序查询
  19. 多平台多渠道账号体系绑定第一篇-微信小程序篇
  20. 中国北斗简单原理随笔

热门文章

  1. Perl语言开发工具(持续整理)
  2. 数据库索引B+树实现
  3. 【事务】本地事务和分布式事务的区别
  4. Android仿小米时钟嵌套滑动(NestedScroll, 自定义behavior)
  5. Markdown语法简介,markdown导出PDF
  6. 程序员内功-设计模式篇
  7. WordPress限制登录次数防破解插件Limit Login Attempts Reloaded
  8. 两家人拉一根电信宽带线入户供日常使用,有问题吗?
  9. 更新windows补丁时一直卡在搜索更新
  10. 计算机如何连接新的无线网络,换了个新wifi怎么设置?