单片机原理及其接口技术教学指南及习题答案内容摘要:
7.试编写 — 段程序,将累加器 A 中的负数转换为其补码。 答: MOV R0,A ANL A,80H JNZ LP MOV A,R0 LP: MOV A,R0 CPL A INC A 318.试编写 — 段程序,将 R3R2 中的双字节负数转换成补码。 答: MOV A,R3 ANL A,80H JNZ LP LP : MOV A,R3 CPL A INC A MOV R3,A MOV A,R2 CPL A INC A MOV R2,A 319.试编写 — 段程序,将 R2 中的各位倒序排列后送入 R3 中。 答: MOV A,R2 RLC A MOV 00H,C RLC A MOV 01H,C RLC A MOV 02H,C RLC A MOV 03H,C RLC A MOV 04H,C RLC A MOV 05H,C RLC A MOV 06H,C RLC A MOV 07H,C MOV R3,20H 320.试编写 — 段程序,将 R3 中的数乘 4(用移位指令 )。 答: MOV A,R3 CLR C RLC A CLR C RLC A MOV R3,A 第 4 章 汇编语言程序设计 本章教学内容 本章主要介绍了 MCS51 单片机汇编语言的程序格式,汇编方式以及汇编语言程序设计的基本方法。 此外还分别介绍了简单程序、分支程序、循环程序、查表程序、子程序等实例。 每一种计算机都有自己的指令系统和汇编语言,汇编语言是一种面向机器的语言。 汇编语言程序有一定的格式和结构,一个程序通常由若干个语句组成,每个语句即为一条指令,占一行。 一个语句一般由标号、操作码、操作数三部分组成。 简单程序又称顺序程序,是一种顺序执行的程序,在这种程序中,没有分支、没有循环、也没有子程序 调用。 在结构上简单,能完成一定的功能,是构成复杂程序的基础。 分支程序是一种根据对某种条件的判断结果,决定程序不同走向的一种程序。 分支的选择可通过条件转移指令、转移指令表和转移地址表等方式实现,分 支程序从结构上可分为单分支、多分支基本结构。 循环程序是一种按照某种控制规律重复执行若干次,以便用尖端程序完成大量处理任务的程序。 采用循环程序不仅可以缩短程序的长度,节约存储空间,而且可以提高编程效率和质量。 循环程序有计数控制和条件控制两种方式,不同控制方式由不同指令实现。 无论是哪一种循环结构,循环程序通常由循环初 值、循环体、修改指针、循环控制和结束处理五个部分组成。 循环程序又可分为单循环和多重循环。 查表程序是一种常用的程序,利用查表程序可以十分方便地完成数据补偿、转换、计数等各种功能,所谓调查表,就是根据变量 X,在表格中寻找 Y,使 Y= f( X)。 MCS51 单片机指令系统向用户提供了两条极有用的查表指令。 查表程序具有机构简单、执行速度快等优点。 子程序的结构与主程序基本相同, 它可以有简单结构、分支结构、循环结构组成。 子程序是一种具有独立功能,且能被其他程序调用的程序。 子程序的特点是执行过程中需要由其他程序来调用, 子程序运行结束又需要返回指令使其回到调用该程序的程序中。 在调用子程序过程中常常需要解决好主程序与子程序之间的参数传递和现场保护、现场恢复等问题。 正确理解和熟练运用单片机指令系统并根据实际应用需要编写出各种汇编语言程序是本课程一个重要的教学内容,同时也是深入学习,理解和熟悉单片机硬件只是的一种行之有效的途径和方法。 对于一个设计题目,可以编写出各种不同形式的程序,怎样才能较快地完成单片机应用程序的设计,除了需要多阅读各种使用程序,吸取他人经验,掌握一些基本程序设计方法,技巧外,还应尽可能地收集合适的,现成的程 序模块。 有的可直接借用,有的仅作少量修改,经过有机组合,便可高效地完成程序设计任务。 本章教学要求 1. 正确理解汇编语言和汇编基本概念,掌握程序设计的一般步骤。 2. 了解伪指令的格式和用途。 3. 掌握汇编语言程序设计的语句格式,基本程序结构和设计方法。 4. 掌握程序设计的几种基本结构形式。 5. 通过算术运算和非数值操作及子程序中的简单程序,掌握汇编语言程序设计方法。 习题 4答案 4简单程序它有什么特点。 答:简单程序是一种顺序执行的程序。 在这种程序中没有分支,没有循环,没有子程序调用。 结构简单,能完成一定功能,是构成复 杂程序的基础。 4什么是分支程序。 如何判断分支条件。 答:是一种根据对某种条件的判断结果,决定程序不同走向的一种程序。 可以通过条件转移指令,转移指令表和转移地址表进行判断。 4循环程序通常由哪几个部分组成。 在编写循环程序时应注意什么。 答:由循环初值,循环体,修改指针,循环控制和结束处理五部分组成。 应注意 ( 1) 给计数器赋初值作为循环次数,每循环一次都要对其进行修改 ( 2) 判断控制变量是否满足终值条件,不满足则转去重复执行循环工作部分,满足则顺序执行,退出循环。 ( 3) 在多重循环中只允许外重循 环嵌套内重循环程序,而不允许循环体互相交叉。 另外,也不允许从循环程序的外部跳入循环程序的内部。 4什么情况下需要采用子程序设计。 答:同一个程序中,往往有许多地方都需要执行同样的一项任务,而该任务又并非规则情况,不能用循环程序来实现,这时,可以对这项任务独立地进行编写,形成一个子程序。 在原来的主程序中,需要执行该任务时,调用子程序,执行完该任务后,又返回主程序,继续以后的操作。 4阅读下段程序,给出指令语句注释,已知该程序为两个 8 伪无符号数求和程序,两位无符号数分别存放于片内 RAM 的 20H、 21H 单元中,结果存在 22H 单元。 ORG 8000H; 设置起始地址为 8000H,表示后续目标程序从 8000 H 开始存放 MOV R0,20H; ( R0) =20H MOV A,@R0。 (A)=((R0))=(20H) INC R0。 (R0)=21H ADD A,@R0。 (A)=(A)+((R0)) INC R0。 (R0)=22H MOV @R0,A。 (R0)=(A) END 4单片机晶振频率为 12MHz,一个机器周期为 1 微妙,执行一条 DJNZ 指令需要 2个机器周期,阅读下面程序说明其程序结构,并指出该程序完成的功能。 DEL: MOV R7,200 DEL1: MOV R6,125 DEL2: DJNZ R6,DEL2 DJNZ R7,DEL1 答:延时 秒 4阅读下面程序,说明每条指 令语句的作用,指令执行后 SP=? A=? B=? ORG 4000H MOV SP,40H MOV A,30H LCALL 0500H ADD A,10H MOV B,A L1: SJMP L1 ORG 0500H MOV DPTR,0009H PUSH DPL PUSH DPH MOV A,11H MOV B,A RET 答: SP=42H,A=11H,B=11H 4阅读下段程序,说明每条指令语句的作用,指令执行后, R0=。 MOV R0,0AFH; (R0)=0AFH MOV A,R0。 (A)=0AFH SWAP A。 (A)=0FAH XCH A,R0。 (A)=0AFH,(R0)=0FAH 4阅读下段程序,若要用 MOV 指令替 代其中的交换指令而不改变程序的逻辑功能,应如何修改。 设 20H 中存放的是两个四位二进制数。 MOV R1,20H XCHD A,@R1 ADD A,01H XCHD A,@R1 XCH A,@R1 ADD A,01H XCH A,@R1 答: MOV R1,20H MOV A,@R1 ADD A,01H MOV @R1,A DEC @R1 4编程将片内 35H~ 55H 单元中内容送到以 3000H 为首的存储区中。 答: MOV R0,35H MOV R2,21H MOV DPTR,3000H LP:MOV A,@R0 MOVX @DPTR,A INC R0 INC DPTR DJNZ R2,LP RET 41编程计算片内 RAM 区 50H~ 57H 八个单元中数的算术平均值,结果存放于 5AH中。 答: MOV R0,50H MOV A,@R0 MOV R1,7 LP: INC R0 CLR C ADDC A,@R0 DJNZ R1,LP MOV B,8 DIV AB MOV R0,5AH MOV @R0,A 41编写对一个多字节数作乘 10 的运算子程序。 答: MOV A,R1 MOV R6,A MOV A,R0 MOV R5,A MOV A,R2 ADD A,01H MOV 26H,A MOV R7,A MOV A,R4 MOV R0,A CLEAR : MOV @R0,00H INC R0 DJNZ R7,CLEAR MOV A,R4 MOV R7,A MOV 27H,R7 MOV 20H,R2 LP0:MOV A,R5 MOV R0,A MOV A,0AH MOV B,@R1 MUL AB ACALL ADDM INC R1 DJNZ R2,LP0 MOV R2,20H MOV A,R6 MOV R1,A MOV A,R7 INC A MOV R7,A MOV R4,A INC R5 DJNZ R3,LP0 MOV R4,27H MOV R5,26H RET ADDM:MOV 21H,A MOV A,R4 MOV R0,A MOV A,21H ADD A,0AH MOV @R0,A MOV A,B INC R0 ADDC A,@R0 MOV @R0,A INC R0 MOV A,@R0 ADDC A,00H MOV @R0,A DEC R0 MOV A,R0 MOV R4,A RET 41设有两个长度均为 15 的数组,分别存 放在以 2020H 和 2100H 为首地址的存储区中,试编程求其对应项之和,结果存放到以 2200H 为首地址的存储区中。 答: MOV R1,15 MOV R7,20H MOV R6,00H MOV R3,21H MOV R2,00H LP: MOV DPH,R7 MOV DPL,R6 MOVX A,@DPTR MOV R0,A INC DPTR MOV R7,DPH MOV R6,DPL MOV DPH,R3 MOV DPL,R2 MOV A,@DPTR CLR C ADDC A,R0 PUSH A INC DPTR MOV R3,DPH MOV R2,DPL DJNZ R1,L。单片机原理及其接口技术教学指南及习题答案
相关推荐
RET 2( SP) =23H,( PC) =3412H 参看书上 80 页 2( SP) =27H,( 26H) =48H,( 27H) =23H,( PC) =3456H 参看书上 79 页 2不能。 ACALL 是短转指令,可调用的地址范围是 2KB。 在看这个题的时候同时看一下 AJMP 指令。 同时考虑调用指令 ACALL 和 LCALL 指令和 RET 指令的关系。 2 编程
( D) ( A)( 20H) =00H ( B) SP=00H ( C) SBUF=00H ( D) TH0=00H 三、简答分析题( 30 分,每小题 10 分) 简述 89C51 定时器的四种工作模式的特点,如何选择和设定。 答: 89C51 定时器的四种工作模式有,模式 1,模式 2,模式 3。 模式 0 时:选择定时器的高 8 位和低 5 位组成 13 位定时器 /计数器。 TL 低
; F2H O2H=E4H→ A ADD A, 62H ;积的低 8 位加上 CCH→ A MOV 63H, A ;结果送 62H CLR A ;清 A ADDC A, B ;积的高 8 位加进位位→ A MOV 64H, A ;结果送 64H 功能:将 61H单元的内容乘 2,低 8位再加上 62H单元的内容放入 63H,将结果的高 8 位放在 64H单元。 ( A) =02H,( B)
元件,应在测试前拆除或短接 控制电路各相同及各相对地绝缘 1 兆欧,一般不低于 兆欧,潮湿环境不小地 兆欧 对柜内元件接 触器、集电器进行检查,对触点进行检查及各元件的对地绝缘和相间绝缘检查, 各相间及对地绝缘不小于 10 兆欧 14 电器设备检修工艺 修理项目 工 艺 技 术 标 准 柜内电器检查接触器 对接触器触头、弹簧、可动铁芯、消弧线圈、消弧罩、紧固件检查 接触时无间隙,分开时彻底
的安全进行全面控制,进场施工人员进行前期安全教育及安全操作培训,特殊工种人员持证上岗,各项操作编制专项安全措施并遵照执行,消灭一切可能出现的安全隐患,确保达到工程的安全目标。 (2)在施工层下方架设防护网,防护网按规范要求搭设,在离地面 3m 以上高处,每 10 层左右挑出 6m 水平安全网。 (3)在工程主入口处,搭设防护通道,上铺密集跳板 和防护网,严禁各种杂物、碎块落下。
图 6 所示。 找平层养护 找平层抹完后应养护,待强 度上升后,方可做防水层。 基层清理 首先对地下室阴阳角等细部 按本方案的要求进行抹灰处理。 基层清理时必须将突出基层表面 图 6 的异物、砂浆疙瘩等铲除,并将尘土杂物清扫干净,最好用高压空气 进行清理。 阴阳角等处更应仔细清理,若有油污、铁锈等,应以砂纸、 钢丝刷、溶剂等予以清除干净。 若基层高低不平或凹坑较大时,用掺加 108 胶