欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    单片机接口技术ppt优秀课件.ppt

    • 资源ID:90223832       资源大小:1.71MB        全文页数:44页
    • 资源格式: PPT        下载积分:18金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要18金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    单片机接口技术ppt优秀课件.ppt

    单片机接口技术ppt第1 页,本讲稿共44 页4.1 伪 指 令 伪指令 是 对汇编过程 起控制作用,但本身并没有对应的机器代码的指令。一、汇编起始指令 ORG 指令格式为:ORG nn 该 指 令 的 作 用 是 指 明 后 面 的 程 序 或 数 据 块 的 起 始 地 址,它总 是 出 现 在 每 段 源 程 序 或 数 据 块 的 开 始。式 中,nn 为 16 位 地址,汇 编 时nn 确 定 了 此 语 句 后 面 第 一 条 指 令 或 第 一 个 数 据 的 地址,此 后 的 源 程 序 或 数 据 块 就 依 次 连 续 存 放 在 以 后 的 地 址 内,直到遇到另一个ORG 指令为止。第2 页,本讲稿共44 页 例:ORG 2000H MOV SP,60H MOV R0,2FH MOV R2,0FFH ORG 伪 指 令 说 明 其 后 面 程 序 的 目 标 代 码 在 存 储 器 中 存 放 的 起 始地址是2000H,即 存储器地址 目标程序 2000H 75 81 60 2003H 78 2F 2005H 7A FF 第3 页,本讲稿共44 页 二、等值指令EQU 指令格式:字符名称 EQU 数字或汇编符号 例:PA8155 EQU 8001H;即给标号PA8155 赋值为8001H。功能:使指令中的字符名称等价于给定的数字或汇编符号。使 用 等 值 指 令 可 给 程 序 的 编 制、调 试、修 改 带 来 方 便,如 果 在 程 序中 要 多 次 使 用 到 某 一 地 址,由EQU 指 令 将 其 赋 值 给 一 个 字 符 名 称,一 旦需 要 对 其 进 行 变 动,只 要 改 变EQU 命 令 后 面 的 数 字 即 可,而 不 需 要 对 程序 中 涉 及 到 该 地 址 的 所 有 指 令 逐 句 进 行 修 改。但 要 注 意,由 EQU 等 值的 字 符 名 称 必 须 先 赋 值 后 使 用,且 在 同 一 个 源 程 序 中,同 一 个 标 号 只 能赋值一次。第4 页,本讲稿共44 页 三、定义字节指令DB 指令格式:标号:DB 8 位二进制数表 功 能:把 8 位 二 进 制 数 表 依 次 存 入 从 标 号 开 始 的 连 续 的 存 储 单 元中。格 式 中,标 号 区 段 可 有 可 无,DB 指 令 之 后 的 8 位 二 进 制 数 表 是 字 节常 数 或 用 逗 号 隔 开 的 字 节 串,也 可 以 是 用 引 号 括 起 来 的ASCII 码 字 符 串(一个 ASCII 字符相当于一个字节)。例:第5 页,本讲稿共44 页ORG 1000H BUF1:DB 38H,7FH,80H BUF2:DB 45H,66H ORG 伪 指 令 指 定 了 标 号BUF1的 地 址 为1000H,而DB 伪 指 令 是 将 其 后 的 二 进 制 数 表38H,7FH,80H依 次 存 放 在1000H,1001H,1002H 3 个 连 续 单 元 之中,BUF2也 是 一 个 标 号,其 地 址 与 前 一 条 伪 指 令 连续,即1003H,1004H 地 址 单 元 中 依 次 存 放 45H,66H。第6 页,本讲稿共44 页 四、定义字指令DW 指令格式:标号:DW 16 位数据表 该 指 令 的 功 能 与DB 相 似,区 别 仅 在 于 从 指 定 地址 开 始 存 放 的 是 指 令 中 的 16 位 数 据,而 不 是 字 节 串。每 个 16 位 数 据 要 占 两 个 存 储 单 元,高8 位 先 存,低 8 位 后 存,这 和MCS-51 指 令 中 的16位 数 据 存 放 顺 序是一致的。第7 页,本讲稿共44 页五、定义存储区指令 DS 表示在ROM 中从标号地址开始,预留一定数量的字节单元供程序使用 标号:DS 表达式表达式是由常数、操作符、运算符组合而成的算式第8 页,本讲稿共44 页六、数据地址赋值指令DATA 将表达式的值赋予所定义的字符名,表达式通常为数据地址或代码地址 字符名 DATA 表达式七、定义地址符号指令 BIT 将指定的位地址赋予所定义的字符名 字符名 BIT 位地址 第9 页,本讲稿共44 页 八、汇编结束指令END 指令格式:标号:END 地址或标号 格 式 中 标 号 以 及END 后 面 的 地 址 或 标 号 可 有 可 无。功 能:提 供 汇 编 结 束 标 志。汇 编 程 序 遇 到 END 后就 停 止 汇 编,对 END 以 后 的 语 句 不 予 处 理,故 END 应放在程序的结束处。第10 页,本讲稿共44 页4.2 汇编语言程序设计 4.2.1 简单程序设计 例 1 两个无符号双字节数相加。设 被 加 数 存 放 于 内 部RAM 的40H(高 位 字 节),41H(低 位 字 节),加 数 存 放 于50H(高 位 字 节),51H(低位字节),和数存入 40H 和41H 单元中。第11 页,本讲稿共44 页程序如下:START:CLR C;将Cy 清零 MOV R0,41H;将被加数地址送数据指针R0 MOV R1,51H;将加数地址送数据指针R1 AD1:MOV A,R0;被加数低字节的内容送入A ADD A,R1;两个低字节相加MOV R0,A;低字节的和存入被加数低字节中 DEC R0;指向被加数高位字节 DEC R1;指向加数高位字节 MOV A,R0;被加数高位字节送入A ADDC A,R1;两个高位字节带Cy 相加 MOV R0,A;高位字节的和送被加数高位字节 RET 第12 页,本讲稿共44 页例 2 将外部RAM 中的1000H 单元的高4 位内容屏蔽掉,结果送外部RAM 中的1010H 单元 ORG 0000H AJMP MAIN ORG 0030H MAIN:MOV DPTR,#1000H MOVX A,DPTR ANL A,#0FH MOV DPTR,#1010H MOVX DPTR,A SJMP$第13 页,本讲稿共44 页 例 3 将两个半字节数合并成一个一字节数。设 内 部RAM 40H#,41H 单 元 中 分 别 存 放 着 8 位 二 进 制 数,要 求 取 出两 个 单 元 中 的 低 半 字 节,并 成 一 个 字 节 后,存 入 50H 单 元 中。程 序如下:START:MOV R1,40H;设置R1 为数据指针MOV A,R1;取出第一个单元中的内容ANL A,0FH;取第一个数的低半字节SWAP A;移至高半字节INC R1;修改数据指针XCH A,R1;取第二个单元中的内容ANL A,0FH;取第二个数的低半字节ORL A,R1;拼字MOV 50H,A;存放结果RET 第14 页,本讲稿共44 页4.2.2 分支程序设计 图 4.1 分支结构框图(a)单分支流程;(b)多分支流程 第15 页,本讲稿共44 页 例 3 比较两个无符号数的大小。设外部 RAM 的存储单元 ST1 和 ST2 中存放两个不带符号的二进制数,找出其中的大数存入外部 RAM 中的 ST3 单元中。图 4.2第16 页,本讲稿共44 页程序如下:ORG 1000H ST1 EQU 2000H ST2 EQU 2100H ST3 EQU 2200H START:CLR C;清零Cy MOV DPTR,ST1;第一个数的指针 MOVX A,DPTR;取第一个数 MOV R2,A;保存 MOV DPTR,ST2;第二个数的指针 MOVX A,DPTR;取第二个数 CLR C 第17 页,本讲稿共44 页SUBB A,R2;两数比较JNC BIG2;若第二个数大,则转XCH A,R2;第一个数大,大数送A BIG1:MOV DPTR,ST3 MOVX DPTR,A;存大数RET BIG2:MOVX A,DPTR;第二个数大SJMP BIG1 RET 第18 页,本讲稿共44 页例4 两个带符号数分别存放在ONE 和TWO 两单元中,试比较大小,大的存入MAX 单元 CLR C MOV A,ONE SUBB A,TWO JZ XMAX JB ACC.7,NEG JB OV,YMAX SJMP XMAX NEG:JB OV,XMAX第19 页,本讲稿共44 页YMAX:MOV A,TWO SJMP RMAXXMAX:MOV A,ONERMAX:MOV MAX,A RET ONE DATA 30H TWO DATA 31H MAX DATA 32H END第20 页,本讲稿共44 页4.2.3 循环程序设计 一、循环程序 图 4.4 第21 页,本讲稿共44 页 循环程序一般由四个主要部分组成:(1)初 始 化 部 分:为 循 环 程 序 做 准 备,如 规 定 循 环 次 数、给 各变量和地址指针预置初值。(2)处 理 部 分:为 反 复 执 行 的 程 序 段,是 循 环 程 序 的 实 体,也 是 循 环 程序的主体。(3)循 环 控 制 部 分:这 部 分 的 作 用 是 修 改 循 环 变 量 和 控 制 变 量,并 判 断循环是否结束,直到符合结束条件时,跳出循环为止。(4)结束部分:这部分主要是对循环程序的结果进行分析、处理和存放。第22 页,本讲稿共44 页 例 5 工作单元清零。在 应 用 系 统 程 序 设 计 时,有 时 经 常 需 要 将 存 储 器 中 各 部 分 地 址 单元 作 为 工 作 单 元,存 放 程 序 执 行 的 中 间 值 或 执 行 结 果,工 作 单 元 清 零工作常常放在程序的初始化部分中。将外部存储器1000H10FFH 单元清零程序如下:第23 页,本讲稿共44 页方法1 CLEAR:MOV R0,#00H MOV DPTR,1000H;工 作 单 元 首 址 送 指 针CLEAR1:CLR A MOVX DPTR,A INC DPTR;修改指针 INC R0 CJNE R0,#00H,CLEAR1;控制循环 RET 第24 页,本讲稿共44 页方法2CLEAR:CLR A MOV DPTR,1000H;工 作 单 元 首 址 送 指 针 MOV R2,256;置循环次数CLEAR1:MOVX DPTR,A INC DPTR;修改指针 DJNZ R2,CLEAR1;控制循环 RET 第25 页,本讲稿共44 页 例 6 设 在 内 部 RAM 的BLOCK 单 元 开 始 处 有 长 度 为 LEN个 的 无 符 号 数 据 块,试 编 一 个 求 和 程 序,并 将 和 存 入 内 部 RAM 的 SUM 单元(设和不超过 8 位)。BLOCK EQU 20H LENEQU 30H SUM EQU 40H START:CLR A;清累加器A MOV R2,LEN;数据块长度送R2 MOV R1,BLOCK;数据块首址送R1 LOOP:ADD A,R1;循环加法 INC R1;修改地址指针 DJNZ R2,LOOP;修改计数器并判断 MOV SUM,A;存和 RET 第26 页,本讲稿共44 页 二、多重循环 例 7 50ms 延时程序。延 时 程 序 与 MCS-51 执 行 指 令 的 时 间 有 关,如 果12 MHz 晶 振,一个 机 器 周 期 为 1 s,计 算 出 一 条 指 令 以 至 一 个 循 环 所 需 要 的 执 行 时 间,给 出 相 应 的 循 环 次 数,便 能 达 到 延 时 的 目 的。50ms 延 时 程 序 需连续运行25000次DJNZ 指令:DEL:MOV R7,200 DEL1:MOV R6,125 DEL2:DJNZ R6,DEL2 DJNZ R7,DEL1 RET 第27 页,本讲稿共44 页 上 例 程 序 中 采 用 了 多 重 循 环 程 序,即 在 一 个 循 环 体 中 又 包 含 了 其 它的 循 环 程 序,这 种 方 式 是 实 现 延 时 程 序 的 常 用 方 法。使 用 多 重 循 环 时,必须注意:(1)循环嵌套,必须层次分明,不允许产生内外层循环交叉。(2)外 循 环 可 以 一 层 层 向 内 循 环 进 入,结 束 时 由 里 往 外 一 层层退出。(3)内 循 环 可 以 直 接 转 入 外 循 环,实 现 一 个 循 环 由 多 个 条 件 控 制 的 循 环结构方式。第28 页,本讲稿共44 页 例8 在 内 部 RAM 中 从 50H 单 元 开 始 的 连 续 单元 依 次 存 放 了 一 串 字 符,该 字 符 串 以 回 车 符 为 结 束标志,要求测试该字符串的长度。程序如下:START:MOV R2,0FFH MOV R0,4FH;数据指针R0 置初值 LOOP:INC R0 INC R2 CJNE R0,0DH,LOOP RET 第29 页,本讲稿共44 页4.2.4 散转程序设计 散 转 程 序 是 分 支 程 序 的 一 种,它 可 根 据 运 算 结 果 或 输 入 数 据 将程 序 转 入 不 同 的 分 支。MCS-51 指 令 系 统 中 有 一 条 跳 转 指 令JMPA+DPTR,用它可以很容易地实现散转功能。此 指 令 的 特 点 在 于,转 移 的 目 标 地 址 不 是 在 编 程 或 汇 编 时 预 先 确 定的,而 是 在 程 序 运 行 过 程 中 动 态 地 确 定 的。目 标 地 址 是 以 数 据 指 针 DPTR 的 内 容 为 起 始 的 256 字 节 范 围 内 的 指 定 地 址,即 由 DPTR 的 内 容决 定 分 支 转 移 程 序 的 首 地 址,由 累 加 器 A 的 内 容 来 动 态 选 择 其 中 的 某一个分支转移程序。第30 页,本讲稿共44 页 例 9 根 据 工 作 寄 存 器R0 内 容 的 不 同,使 程 序 转 入 相 应 的 分 支。(R0)=0 对应的分支程序标号为PR0;(R0)=1 对应的分支程序标号为PR1;(R0)=N 对应的分支程序标号为PRN。第31 页,本讲稿共44 页程序如下:LP0:MOV DPTR,TAB;取表头地址 MOV A,R0 CLR C RLC A;R0 内容乘以2 JNC LP1;无进位转移 INC DPH;加进位位LP1:JMP A+DPTR;跳至散转表中相应位置TAB:AJMP PR0 AJMP PR1.AJMP PRN 第32 页,本讲稿共44 页 本 例 程 序 仅 适 用 于 散 转 表 首 地 址 TAB 和 处 理 程 序 入 口 地 址 PR0,PR1,PRN 在 同 一 个 2 KB 范 围 的 存 储 区 内 的 情 形。若 超出 2 KB 范 围 可 在 分 支 程 序 入 口 处 安 排 一 条 长 跳 转 指 令,可 采 用 如下程序:MOV DPTR,TAB MOV A,R0 MOV B,03H;长跳转指令占 3 个字节MUL AB XCH A,B 第33 页,本讲稿共44 页 ADD A,DPH MOV DPH,A XCH A,B JMP A+DPTR;跳至散转表中相应的位置 TAB:LJMP PR0;跳至不同的分支 LJMP PR1 LJMP PRN 第34 页,本讲稿共44 页4.2.5 查表程序设计 查 表 程 序 是 一 种 常 用 程 序,它 广 泛 使 用 于 LED 显 示 控 制、打 印 机 打 印 控 制、数 据 补 偿、数 值 计 算、转 换 等 功 能 程 序 中,这类程序具有简单、执行速度快等特点。所 谓 查 表 法,就 是 预 先 将 满 足 一 定 精 度 要 求 的 表 示 变 量 与 函数 值 之 间 关 系 的 一 张 表 求 出,然 后 把 这 张 表 存 于 单 片 机 的 程 序 存储 器 中,这 时 自 变 量 值 为 单 元 地 址,相 应 的 函 数 值 为 该 地 址 单 元中 的 内 容。查 表,就 是 根 据 变 量 X 在 表 格 中 查 找 对 应 的 函 数 值 Y,使 Y=f(X)。第35 页,本讲稿共44 页MCS-51 指令系统中,有两条查表指令:MOVC A,A+PC MOVC A,A+DPTR 查表步骤见书P50注意:以DPTR 和PC 作为基地址寄存器的区别第36 页,本讲稿共44 页 例 10 一 个 十 六 进 制 数 存 放 在R0 寄 存 器 低 4 位 中,将 其 转 换 成ASCII 码并送回 R0。十 六 进 制 09的ASCII 码 为 30H 39H,A F 的ASCII 码 为41H 46H,ASCII 码表格的首地址为ASCTAB。编程如下:ORG 1000H HEXASC:MOV DPTR#ASCTAB MOV A,R0 ANL A,0FH MOVC A,A+DPTR MOV R0,A RET 第37 页,本讲稿共44 页ASCTAB:DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H DB 41H,42H,43H,44H,45H DB 46H 在 这 个 程 序 中,若 查 表 指 令 用MOVC A,A+PC 到 表 格 首 地 址 有两条指令,占用 2 个字节地址空间,故修改指针应加 2。第38 页,本讲稿共44 页4.2.5 子程序和参数传递 一、子程序的概念 通 常 把 一 些 基 本 操 作 功 能 编 制 为 程 序 段 作 为 独 立 的 子 程 序,以 供 不 同 程 序 或 同 一 程 序 反 复 调 用。在 程 序 中 需 要 执 行 这 种 操作 的 地 方 放 置 一 条 调 用 指 令,当 程 序 执 行 到 调 用 指 令,就 转 到 子程序中完成规定的操作,并返回到原来的程序继 续执行下去。第39 页,本讲稿共44 页 二、子程序的调用 调 用 子 程 序 的 指 令 有“ACALL”和“LCALL”,执 行 调 用 指令 时,先 将 程 序 地 址 指 针PC 改 变(“ACALL”加 2,“LCALL”加 3),然 后 将 PC 值 压 入 堆 栈,用 新 的 地 址 值 代 替。执 行 返 回 指 令时,再将 PC 值弹出。子 程 序 调 用 中,主 程 序 应 先 把 有 关 的 参 数 存 入 约 定 的 位 置,子 程 序 在 执 行 时,可 以 从 约 定 的 位 置 取 得 参 数,当 子 程 序 执 行 完,将 得 到 的 结 果 再 存 入 约 定 的 位 置,返 回 主 程 序 后,主 程 序 可 以 从这些约定的位置上取得需要的结果,这就是参数的传递。第40 页,本讲稿共44 页 例 11 将 一 个 字 节 二 进 制 数 转 换 成 3 位 非 压 缩 型BCD 码。设 一 个 字 节 二 进 制 数 在 内 部RAM 40H 单 元,转换 结 果 放 入 内 部 RAM 50H,51H,52H 单 元 中(高位在前),程序如下:第41 页,本讲稿共44 页 HEXBCD:MOV A,40H MOV B,100 DIV AB MOV 50H,A MOV A,10 XCH A,B DIV AB MOV 51H,A MOV 52H,B RET 第42 页,本讲稿共44 页 例 12 假定被乘数在(R4R3)中,乘数放在R2 中,乘积放在R7R6和R5 中。MCS-51 中有 8 位数的乘法指令MUL,用它来实现多字节乘法时,可表示为(R4R3)(R2)=(R4)28+(R3)(R2)=(R4)(R2)28+(R3)(R2)其中(R4)(R2)和(R3)(R2)都是可直接用MUL 指令来实现,而乘以28意味着左移 8 位。由此可编写如下程序:第43 页,本讲稿共44 页NMUL1:MOV A,R2 MOV B,R3 MUL AB;(R3)(R2)MOV R5,A;积的低位送R5 MOV R6,B;积的高位送R6 MOV A,R2 MOV B,R4 MUL AB;(R4)(R2)ADD A,R6;(R3)(R2)的高位加(R4)(R2)的低位MOV A,B ADDC A,00H;(R4)(R2)的高位加Cy MOV R7,A;结果送R7 RET 第44 页,本讲稿共44 页

    注意事项

    本文(单片机接口技术ppt优秀课件.ppt)为本站会员(石***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开