资源描述:
《单片机原理及应用 教学课件 作者 张国锋 主编 第4章习题答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章习题答案一、填空题1.机器语言2.机器汇编、手工汇编3.AREA1=1000H、BUF=1004H、TIME=01H、ACK=1006H4.(A)=4FH、(R0)=4BH、(R1)=E5H、(21H)=D8H、(22H)=4BH、(2FH)=E5H二、简答题1.什么叫伪指令?伪指令与指令有什么区别?答:所谓伪指令又称为伪操作,它不象机器指令那样是在程序运行期间由计算机来执行的,它是在汇编程序对源程序汇编时,由汇编程序处理的操作,它们可以完成如数据定义、分配存储器、指示程序结束等功能。2.汇编
2、语言的格式是怎样的?汇编语言语句格式为:标号:操作码操作数;注释3.MCS-51系列单片机有哪些伪指令?它们的用途是什么?(1)编起始地址命令ORG功能:规定此命令之后的程序或数据的存放起始地址。(2)定义字节伪指令格式:[标号:]DBX1,X2,…,Xn功能:从指定地址开始,存放若干字节数据。(3)字定义伪指令格式:[标号:]DWY1,Y2,…,Yn功能:从指定地址开始,存放若干字数据。(4)汇编结束伪指令END功能:该伪指令指出结束汇编,即使后面还有指令,汇编程序也不处理。(5)赋值伪指令格式:
3、标号EQU表达式功能:将表达式的值(数据或地址)赋给标号。(6)位定义伪指令格式:[标号]BIT位地址功能:将位地址赋给标号。4.汇编语言程序设计分为哪几个步骤?答:汇编语言程序设计一般要经过以下几个步骤:(1)分析问题,明确任务(2)确定算法(3)画出程序流程图(4)编写源程序(5)汇编和调试5.结构化程序设计有哪几种常用的程序结构?答:顺序结构、分支结构、循环结构和子程序结构6.子程序调用时,参数的传递方法有哪几种?答:常用的参数传递方法有:工作寄存器或累加器、指针寄存器、堆栈和程序段等。7.分
4、析下列程序的功能。XDATA30HYDATA32HMOVA,XJNBACC.7,TRUECPLAADDA,#01HTRUE:MOVY,A答:该段程序的功能是:当30H单元的最高位不为0时,则把30H单元的内容送32H单元,当30H单元的最高位为0时,则把30H单元的内容求反加1后送32单元。8.下列程序段汇编后,从3000H单元开始的各有关存储单元的内容是什么?ORG3000HTAB1EQU3234HTAB2EQU4000HDB‘START’DWTAB1,TAB2,9000H答:从3000H单元开始
5、各单元的内容为:53H、54H、41H、52H、54H、32H、34H、40H、00H、90H、00H三、应用题1.ORG0100H0100H:E530MOVA,30H0102H:30E703JNBACC.7,JING0105H:F4CPLA0106H:2401ADDA,#01H0108H:F532JING:MOV32H,A010AH:80FESJMP$2.编成将片内RAM50H、51H单元中的两个无符号中较小的数存于60H单元中。ORG1000HSTART:CLRCMOVA,50HSUBBA,51
6、HJCNEXTMOVA,51HNEXT:MOVA,50HMOV60H,ASJMP$END3.从片内RAM的22H单元开始有一无符号数据块,其长度在20H单元,找出数据块中的最小值,并存于片内RAM的21H单元。ORG2000HCLRAMOVR7,20HMOVR0,#22HLOOP:CLRCSUBBA,@R0JCNEXTMOVA,@R0NEXT:INCR0DJNZR7,LOOPMOV21H,ASJMP$END4.试编一程序将内部RAM30H~3FH单元数据传送到外部RAM首址为0F00H的单元中去。O
7、RG2000HMOVR0,#30HMOVR7,#10HMOVDPTR,#0F00HLOOP:MOVXA,@R0MOVX@DPTR,AINCR0INCDPTRSJMP$END5.有两块数据分别在内部RAM20H~29H、30H~39H,现将两块数据对换,试编程。ORG2000HMOVR0,#20HMOVR1,#30HMOVR7,0AHLOOP:MOVA,@R0XCHA,@R1MOV@R0,AINCR0INCR1DJNZR7,LOOPSJMP$END6.编程实现:XX<10Y=X210≤X<152XX≥
8、15设x变量存于30H单元,y值存于31H单元。ORG1000HCLRCMOVA,30HCJNEA,#10,NEXT1NEXT1:JCNEXT2;x<10CJNEA,#15,NEXT3NEXT3:JCNEXT4;10≤x<15RLCASJMPNEXT2NEXT4:MOVB,AMULABNEXT2:MOV31H,ASJMP$END7.编程将内部RAM30H中的压缩BCD码转换成ASCII码,并存入31H和32H单元。ORG1000HMOVR0,#31HMOVA,30HA