第3章51单片机程序设计(改).ppt

  1. 1、本文档共44页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第三章 MCS-51单片机汇编语言 程序设计 3.1 概述 一、二种程序语言 汇编语言:短、快;充分发挥硬件功能。 执行效率高 高级语言(C语言):长、慢;硬件控制麻烦; 编程效率高 单片机能执行的程序是机器语言(目标程序) 。 二、目标程序两种文件格式 用于写入单片机或仿真调试。 ·BIN文件:二进制文件,机器码。 ·HEX文件:INTEL公司定义, 地址、数据和校验码 ASCII码存储,可显示、打印 需用符号转换程序OHS51转换 三、两种语言的操作过程:图3-1 编辑器、汇编器、编译器、连接/定位器、 符号转换程序、……. WAVE、KEIL uVision2 WAVE集成软件:P248 1、汇编的两方法 ①手工汇编 人工查指令表,得到程序中每条指令对应的机器代码,人工计算地址。早期使用。 ②机器汇编 用汇编程序对汇编语言源程序进行汇编。 源程序要提供给一些附加信息,遵循汇编程序的一些约定。用伪指令实现。 2、汇编的主要任务 1)确定程序中每条汇编语言指令的机器码 2)确定每条指令在存储器中的存放地址 六、汇编语言程序设计步骤 与书中不太一样 1、确定方案和计算方法 2、了解应用系统的硬件配置、性能指标 3、建立系统数学模型,确定控制算法和操作步骤 4、合理分配存储器单元和了解I/O接口地址 3.2 伪指令 二、常用伪指令及功能 1.起始指令 ORG nn 定义程序或数据块的起始地址,连续存放在程序存储器中。 例: 指令地址 机器码 源程序 ORG 2000H 2000H 78 30 MAIN: MOV R0,#30H 2002H E6 MOV A,@R0 … 3. 字定义 标号:DW 表达式,… 在程序存储器中以标号为起始地址存放字数据。低地址高字节! 例: GH :DW 1234H,5678H,08 5. 等值指令 符号 EQU 表达式 表示EQU两边的量等值,用于为或标识符赋值。 例: X1 EQU 2000H X2 EQU 0FH … MAIN: MOV DPTR,#X1 ; DPTR=2000H ADD A,#X2 ; A=A+0FH 6. 位定义 符号 BIT 位地址 类似EQU指令,定义的是位操作数地址。 例:AIC BIT P1.1。 例3-1 外部数据存储器的000EH和000FH单元的内容交换 ORG 0000H MOV P2, #0H ;送地址高八位至P2口 MOV R0, #0EH ;R0= 0EH MOV R1, #0FH ;R1=0FH MOVX A, @R0 ;A=(000EH) MOV 20H, A ;(20H)=(000EH) MOVX A, @R1 ;A=(000FH) XCH A, 20H ; A=(000EH),(20H)=(000FH) MOVX @R1, A MOV A, 20H MOVX @R0, A ;交换后的数送各单元 SJMP $ END 例(书无): 分解压缩型BCD码为非压缩型式BCD码。 ORG 0000H MOV R0,#40H ;设指针 MOV A,@R0 ;取一个字节 MOV R2,A ;暂存 ANL A,#0FH ;清0高半字节 INC R0 ;R0=41H MOV @R0,A ;保存数据个位 例2 根据行李重量计算行李运费,以10kg为1个计价单位G , G在40H单元中。 计价方法: 为50kg以内按3元; 50kg以上部分按2元计价。 由此列出算式: 1. 利用转移地址表实现转移 例3-7 根据R3的内容转向对应的程序,R3=0~n,

文档评论(0)

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

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

1亿VIP精品文档

相关文档