第02章 单片机指令系统与汇编语言程序设计 习题解答.docx

上传人:太** 文档编号:72640972 上传时间:2023-02-13 格式:DOCX 页数:5 大小:72.86KB
返回 下载 相关 举报
第02章 单片机指令系统与汇编语言程序设计 习题解答.docx_第1页
第1页 / 共5页
第02章 单片机指令系统与汇编语言程序设计 习题解答.docx_第2页
第2页 / 共5页
点击查看更多>>
资源描述

《第02章 单片机指令系统与汇编语言程序设计 习题解答.docx》由会员分享,可在线阅读,更多相关《第02章 单片机指令系统与汇编语言程序设计 习题解答.docx(5页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、第02章单片机指令系统与汇编语言程序设计习题解答一、填空题1. MCS-51单片机指令系统中有111 条指令。2. MCS-51 单片机指令中,Rn 袤示 RO、RI、R2、R3、R4、R5、R6、R7 中的一个 。3. MCS-51单片机指令中,表示间接寻址 。4. MCS-51单片机指令中,$表示当前指令的首地址 oMCS-51单片机寻址方式有 立即数、直接地址、寄存器、寄存器间接、变址、相对、 位寻址等七种寻址方式。5. 指令MOVC A, A+PC的功能是 将人的内容与PC当前值相加作为程序存储器地址, 再将该地址单元的内容传送到A 。6. 指令JBC CY, LOOP是 3 字节、

2、2 个机器周期指令。7. 指令DA A的功能是对A中当前值进行十进制调整。8. 调用子程序时,将PC当前值保存到堆栈 .9. MCS-51单片机堆栈操作的基本原那么是先进后出 。二、简答题1. MCS-51单片机指令一般由哪几个局部组成?各局部的功能是什么?答:MCS-51单片机指令一般由标号、操作码助记符、操作数、注释四局部组成。标号是一条指令的标志,是可选字段,与操作码之间用“:”隔开;设置标号的目的是 为了方便调用或转移。标号的选择应遵从以下规定: 标号由18个字母或数字组成,也可以使用一个下划线符号 第一个字符必须是字母。 指令助记符或系统中保存使用的字符串不能作为标号。 标号后面需要

3、有一个冒号。 一条语句可以有标号,也可以没有标号,取决于程序中其它语句是否需要访问这条语 句。操作码规定指令的功能,是一条指令的必备字段,如果没有操作码,就不能成为指令。 它与操作数之间用“空格”隔开。操作数是指令操作的对象。分为目的操作数和源操作数两类,它们之间用“,”分隔。 操作数是可选字段。一条指令可以有0、1、2、3个操作数。注释是对指令功能的说明解释。以“;”开始。2 .程序中,伪指令ORG和END的作用是什么?答:ORG用于定义汇编语言源程序或数据块存储的起始地址。END用于指示源程序到此全部结束。在汇编时,对END后面的指令不予汇编。因此,END 语句必须放在整个程序的末尾,有且

4、只能有一个。3 .简述堆栈指令PUSH和POP的操作过程。答:执行PUSH指令时,先将SP的内容加1,指向新的堆栈栈顶单元,然后将指定地址单元 的内容送到堆栈栈顶单元。执行POP指令时,先将SP指向的堆栈栈顶单元内容送到指定地址单元,然后将SP的内 容减1,修改堆栈栈顶单元。4 .假设SP=25H,标号LABEL的值为3456H。指令“LCALL LABEL”的首地址为2345H,问执行 长调用指令LCALL LABEL”后,堆栈指针和堆栈的内容发生什么变化? PC的值等于 什么?答:PC当前值压入堆栈,并转向子程序,SP=27H, (26H)=4当前27)=入H,PC=3456H. SP=2

5、5H, PC=2345H, (24H) =12H, (25H) =34H, (26H) =56H。问执行 “RET” 指令 以后,SP=? PC=?答:SP=23H, PC=3412H.以下程序段执行后,A= ,(30H) =oMOV 30H, #OAH MOV A, #0D6H MOV RO, #3011MOV R2, #5EHANL A, R2ORL A, R0SWAP ACPL AXRL A, #OFEHORL 3011, A答:答:A=E4H (30H) =EEH5 .比拟内部RAM中30H和40H单元的二个无符号数的大小,将大数存入20H单元,小数存 入21H单元,假设二数相等,那么

6、使位空间的7FH位置1。答:ORG OOOOHLJMP MAINORG 01OOHMAIN: MOV A, 30HCJNEA, 40H, L00P1SETB7FHSJMPL00P3L00P1: JCL00P2MOV20H, AMOV21H, 40HSJMPL00P3L00P2: MOV20H, 40HMOV21H, AL00P3: SJMP END$6 .设变量X存在内部RAM的20H单元中,其取值范围为05,编一查表程序求其平方值, 并将结果存放在内部RAM 21H单元。答: ORG 0000HLJMP STARTORG 1000HSTART: MOV DPTR, STABLEMOV A,2

7、0HMOVC A , 0A+DPTRMOV 21H, ASJMP $ORG 2000HTABLE: DB 0, 1,4,9, 16, 25END.编写程序将内部RAM中起始地址为data的字节数据串送到外部RAM中起始地址为 buffer的存储区域中,直到发现$字符为止。答: ORG 0000HLJMP STARTORG 01 OOHSTART: MOV RO, #dataMOV DPTR, bufferLOOP1:LOOP1:MOV A, ROCJNE A,#24H, LOOP2CJNE A,#24H, LOOP2;判断是否为$字符SJMP LOOP3SJMP LOOP3;是,转结束LOOP

8、2:LOOP2:MOVX DPTR, A;不是,传送数据INC ROINC DPTRLOOP3:LOOP3:SJMP LOOP1SJMP $;传送下一数据END.将一个字节的二进制数转换成3位非压缩型BCD码。设该二进制数在内部RAM 40H单元,转换结果放入内部RAM50H,51H, 52H单元中(百位在50H,十位在51H,个位在52H)。答: ORG 0000HLjMPLjMPHEXBCDORG01 OOHHEXBCD: MOVA, 40HMOVB, #100DIVABMOV 50H, AMOV A, #10XCH A, BDIV ABMOV 51H, AMOV 52H, BSJMP $

9、END三、Proteus仿真利用Proteus仿真实现2. 3节中的内容。答:全自动洗衣机按键与指示灯Proteus仿真设全自动洗衣机控制面板上有8个控制按键,8个指示灯。按卜.一个按键,对应的指示灯点亮。电路如下图。P1U P1.1 m pij pt4 P1S P1J6 pt?rowo R3.1JW1RUMH R3*质R3*E6 WAD?F2.1M F22Mti F23R11 以峭笠 F2Sft13 F26RU F27ftt5P3MXD P3.VT 33而1 P3而F 凡SB nsri_回 Pl而232i25252?z1T1 p 11 I3TC51$8:FLE-Texnz$u参考程序如FoORG 0000HLJMP STARTORG 0030HSTART: MOV Pl, #OFFHLOOP1:MOV A, PlMOVP2,ADELAY: MOVR5,#255DELO:MOVR6,#255DELI:DJNZR6,DELIDJNZR5, DELOSJMPLOOP1END;上电后PC=OOOO()H,故在(X)(X)H单元存放转移指令;转移到应用程序;应用程序从0030H开始存放;置输入状态;输入开关状态信息;输出开关状态驱动LED;延时子程序外循环变量呐循环变量呐循环体;外循环体;循环;汇编结束

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 解决方案

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

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