




已阅读5页,还剩25页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
华中科技大学文华学院 单片机原理及应用 讲授人 范娟 课堂作业 1 指出下列每条指令中源操作数 目的操作数的寻址方式 1 MOV2FH 40H 2 MOVA R0 3 MOVDPTR 2020H 4 MOV45H P0 5 MOVA R1 6 MOVCA A PC 7 JCLOOP 2 设RAM40H单元的内容为80H 80H单元内容为47H P1口的输入状态为0FFH 试判断下列程序执行结果 MOVR0 40HMOVA R0MOVR1 AMOVB R1MOV R1 P1MOVP2 P1 3 试编写1234H 0FA3H的程序段 将结果高8位存入51H 低8位存入50H单元 华中科技大学文华学院 第3章51系列单片机汇编语言程序设计 3 1概述3 2程序设计基本方法3 3子程序设计3 4典型程序设计举例 华中科技大学文华学院 概述 彩灯循环设计 概述 ORG0000HMAIN MOVP1 80H D7发光MOVP1 40H D6发光MOVP1 20H D5发光MOVP1 10H D4发光MOVP1 08H D3发光MOVP1 04H D2发光MOVP1 02H D1发光MOVP1 01H D0发光SJMPMAIN 循环 概述 ORG0000HMAIN MOVA 80H 初始状态MOVR0 08 共8位L1 MOVP1 A D7发光LCALLDEL 延时子程序RRA 状态下移1位DJNZR0 L1 循环判断SJMPMAIN 循环 概述 概述 汇编语言程序设计的步骤 分析课题 确定解决方案和算法 分配系统资源及存储单元 绘制程序流程图 设计程序 并反复调试和修改 MCS 51单片机汇编语言程序设计中 常用的伪指令 七条 ORG 起始指令DB 字节定义指令DW 字定义指令DS 保留字节指令EQU 赋值伪指令BIT 位定义指令END 结束汇编伪指令 程序设计基本方法 汇编语言程序主要的几种程序设计方法 顺序程序设计 顺序程序也称作简单程序 是一种无分支 循环的直线程序 程序的走向是唯一的 程序的执行顺序与书写顺序完全一致 分支程序设计 利用条件转移指令实现 即根据条件对程序的执行情况进行判断 满足条件遇转移 否则顺序执行 循环程序设计 在程序中需要反复执行的程序段 可以利用条件转移或无条件转换指令来控制程序的执行 避免多次编写 典型循环结构包括四部分 初始化部分 循环处理部分 循环控制部分 循环结束部分 用于判断分支转移的指令有 JZ JNZ JC JNC JB JNB JBC CJNE DJNZ JMP A DPTR等 另外在该类分支程序的设计中 要设置好判断测试对象 程序转移方向及转移的标志地址 程序设计基本方法 一 分支程序设计 程序设计基本方法 1 流程图 方法一 程序设计基本方法 ORG0100HSTART MOVDPTR 2000HMOVXA DPTRCLRCSUBBA 30HJZGIVJCNEGMOVA 01HSJMPGIVNEG MOVA 0FFHGIV MOV40H AEND 2 程序清单 程序设计基本方法 方法二 1 流程图 程序设计基本方法 ORG0100HSTART MOVDPTR 2000HMOVXA DPTRCJNEA 30H CONCLRASJMPGIVCON JCNEGMOVA 01HSJMPGIVNEG MOVA 0FFHGIV MOV40H AEND 2 程序清单 程序设计基本方法 例2 某单片机系统有16个键 经键盘扫描得到键码值 00H 0FH 存放在R7中 每个键对应着一个处理程序 各入口地址分别为KEY0 KEY1 KEYF 试编程实现由键码寻找转移执行处理程序的功能 方法一 查转移地址表 方法二 查转移指令表 分析 安排LJMP指令在转移表中 因每条LJMP指令占三个字节 将R7中的内容乘3即为转移表的偏移地址 分析 将KEY0 KEYF入口地址列在表格中 每一项占两个单元 KEYn在表中的偏移量为2n 1 流程图 START MOVDPTR TABMOVA R7ADDA R7MOVR3 AMOVCA A DPTRXCHA R3INCAMOVCA A DPTRMOVDPL AMOVDPH R3CLRAJMP A DPTRTAB DWKEY0 KEY1 KEYFEND 1 流程图 2 源程序 START MOVDPTR TABMOVA R7RLAADDA R7JMP A DPTRTAB LJMPKEY0LJMPKEY1 LJMPKEYFEND 程序设计基本方法 二 循环程序设计 循环程序结构一般有两种 先处理再判断 即至少执行一次循环体先判断再处理 即先判断是否满足循环条件 程序设计基本方法 程序设计基本方法 例1 将首址为DATA的100个外部RAM单元清零 分析 已知循环次数的循环程序 通过设置循环计数器来控制 将循环次数数存放在R0中 ORG0100HSTART MOVR0 100LOOP MOVDPTR DATACLRAMOVX DPTR AINCDPTRDJNZR0 LOOPSJMP 例2 将内部RAM中起始地址为data的数据串传送到外部RAM中起始地址为buffer的存储区域中 直到发现 字符 传送停止 分析 由于循环次数事先不知道 但循环条件可以检测到 所以采用先判断后处理的结构 ORG0020HMOVR0 dataMOVDPTR bufferLOOP0 MOVA R0CJNEA 24H LOOP1SJMPLOOP2LOOP1 MOVX DPTR AINCR0INCDPTRSJMPLOOP0LOOP2 END 例3 片内DATA1起的20H个RAM单元 试统计每个单元1的位数 并存入以DATA2起的20H个单元内 分析 这是一个两重循环的程序 内循环为求8位数1的位数 循环次数为8 外循环的次数为20H 程序设计基本方法 程序设计基本方法 ORG1000HMOVR0 DATA1 置地址指针MOVR1 DADA2MOVR7 20H 外循环计数器CON MOVR6 08H 内循环计数器MOVA R0 取数MOVR5 00HCONBIT RLCA 内循环 统计每字节1的个数JNCNEXTBINCR5NEXTB DJNER6 CONBITMOVA R5MOV R1 A 存数INCR1 修改指针 指向下一单元INCR0DJNER7 CON 外循环判0END 把多次使用的程序段 按一定结构编好 存放在存储器中 当需要时 可以调用这些独立的程序段 通常将这种可以被调用的程序段称为子程序 3 3子程序设计 主程序与子程序的关系 主程序MAIN LCALLSUB 调用子程序 子程序入口地址 RET 子程序嵌套 子程序嵌套 或称多重转子 是指在子程序执行过程中 还可以调用另一个子程序 子程序SUB1 主程序MAIN LCALLSUB1 RET 子程序SUB2 RET LCALLSUB2 子程序设计注意事项 1 给子程序赋一个名字 即入口地址的代号 2 要能正确地传递参数 入口条件 子程序中要处理的数据如何给出口条件 处理的结果存放在何处 3 注意保护现场和恢复现场 保护现场 压栈指令PUSH恢复现场 弹出指令POP 子程序设计 子程序 ORG0120HSUB ADDA 00H 根据A中字符的1的个数 产生PSW的奇偶标志位PJNBP DONE 判A中1个数是否为偶数ORLA 80H 为奇 置标志位1DONE RET 例1 设内部存放长度为40H的ASCII字符串 首址为40H 试将该字符中每一个字符中加偶校验位 要求先编写ASCII字符的偶校验子程序 通过子程序调用完成所给任务 分析 入口参数仅有一个ASCII数 出口数据也只有一个加校验位的ASCII字符 可
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 聚偏氯乙烯装置操作工转正考核试卷及答案
- 海洋气象信息服务产品设计与开发
- 2025年咖啡连锁品牌市场布局与品牌价值提升策略报告
- 服装生产环境因素评估报告
- 冷却塔材料环保性能分析报告
- 2025年护理核心制度及团体标准考核试题(附答案)
- 2025年公司质量月质量知识竞赛题库含答案
- 一线临床护理操作规范汇编
- 2025年金融科技在普惠金融中的区块链技术应用效果评估
- 14. Fire!说课稿-2023-2024学年小学英语3a典范英语(Good English)
- 航空物流管理职业生涯人物访谈记录表
- 专业技术职务聘任呈报表(初级,双面打印)
- 汉语阅读教程第一册第二课
- 肉牛养殖屠宰深加工项目建议书
- LED照明灯具基础培训
- 上海市静安区2022-2023学年高一下学期期末数学试题(解析版)
- TPM管理知识培训
- 2023年国家公务员考试申论真题及答案解析(地市级)
- 关于无梁楼盖和梁板式楼盖经济性的比较
- RB/T 306-2017汽车维修服务认证技术要求
- GB/T 40733-2021焊缝无损检测超声检测自动相控阵超声技术的应用
评论
0/150
提交评论