第1章习题一、综合题1.什么是单片机?它与一般微型计算机在功能上有何区别?2.当前单片机的主要品种有哪些?3.新型单片机主要在哪几方面发展了?趋势如何?第2章习题一、填空题1.89C51单片机晶振频率为12MHz,则一个机器周期为_______ μS。
2.89C51单片机内部RAM区有_______个工作寄存器。
3.89C51单片机的P0~P4口均是 I/O口,其中的P0口和P2口除了可以进行数据的输入、输出外,通常还用来构建系统的__数据总线_____和___地址总线____ ,在P0~P4口中,___P0____为真正的双向口,__P1-P3_____为准双向口;____除了P1___口具有第二引脚功能。
4.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为_________。
二、选择题1.单片机上电复位后,PC的内容和SP的内容为_______。
A.0000H,00H B.0000H,07H C.0003H,07H D.0800H,08H2.单片机89C51的ALE引脚是_______。
A.输出高电平 B.输出矩形脉冲,频率为fosc的1/6C.输出低电平 D.输出矩形脉冲,频率为fosc的1/23.单片机89C51的引脚_______ 。
A.应接地 B.应接+5VC.应悬空 D.要根据需要而定4.访问外部存贮器或其它接口芯片时,作数据线和低8位地址线的是。
A.P0口 B.P1口 C.P2口 D.P0口和 P2口5.89C51单片机的数据指针DPTR是一个16位的专用地址指针寄存器,主要用来。
A.存放指令 B.存放16位地址,作间址寄存器使用C.存放下一条指令地址 D.存放上一条指令地址6.89C51单片机的复位信号是()有效。
A.高电平 B.低电平 C.脉冲 D.下降沿三、判断题1.89C51单片机在外部扩展EPROM时,引脚可接 + 5V或接地。
()2.单片机的复位有上电自动复位和按钮手动复位两种,当单片机运行出错或进入死循环时,可按复位键重新启动。
()3.89C51单片机中的工作寄存器就是内部RAM中的一部份。
()4.内部寄存器Rn(n=0~7)可作为间接寻址寄存器使用。
()四、综合题1.P0~P3口作为输入或输出口时,各有何要求?2.什么是堆栈?堆栈指示器SP的作用是什么?在堆栈中存取数据时的原则是什么?3.什么为单片机的复位?复位的用途,复位的方法?4./VPP引脚有何功用?第3章习题一、填空题1.设A=AFH ,(20H)=82H,指令:ADDC A, 20H执行后,A= 。
2.设A=D2H ,(40H)=78H,指令:ORL A,40H执行后,A= 。
3.设A=85H,(R0)=21H,(20H)=16H,指令:MOV A,@R0执行后,A= 。
4.设A=84H ,(30H)=75H,指令:XRL A,30H执行后,A= 。
5.LJMP跳转空间最大可达到。
6.执行下列程序段后,P1=_______。
MOV P1,#5EHCPL P1.0CPL P1.3CLR P1.5SETB P1.67.执行下列程序段后,A=_______,CY=____。
MOV A,#C7HRL A8.下列程序段执行后,(R0)=_______,(7EH)=____,(7FH)=_______。
MOV R0,#7EHMOV 7EH,#0FFHMOV 7FH,#44HINC @R0INC R0INC @R09.已知SP=60H,子程序SUBTRN的首地址为0357H,现执行位于0223H的ACALL SUBTRN双字节指令后,(PC)=___,(61H)=_______,(62H)= ____。
10.已知:(60H)=25H,(61H)=63H,以下程序段执行后(62H)=。
CLR CMOV A,#9CHSUBB A,60HADD A,61HDA AMOV 62H,A11.下列各条指令其源操作数的寻址方式是什么?各条指令单独执行后,A中的结果是什么?设(60H)=39H,(A)=15H,(R0)=34H,(30H)=0BH。
(1)MOV A,#48H ;寻址方式:(A)=(2)ADD A,60H ;寻址方式:(A)=(3)ANL A,@R0 ;寻址方式:(A)=二、选择题1.89C51单片机汇编语言指令格式中,唯一不可缺少的部分是。
A.标号 B.操作码 C.操作数 D.注释2.单片机中PUSH和POP指令常用来。
A.保护断点 B.保护现场 C.保护现场,恢复现场 D.保护断点,恢复断点3.执行指令MOVX @DPTR ,A时,、脚的电平为。
A.低电平,高电平 B.高电平,低电平C.高电平,高电平 D.低电平,低电平4.下列指令判断若P1口最低位为高电平就转LP0,否则就执行下一句的是。
A.JNB P1.0,LP0 B.JB P1.0,LP0C.JC P1.0,LP0 D.JNZ P1.0,LP05.执行如下三条指令后,30H单元的内容是。
MOV R1,#30HMOV 40H,#0EHMOV @R1,40HA.40H B.0EH C.30H D.FFH6.89C51指令系统中,执行下列程序后,堆栈指针SP的内容为。
MOV SP,#30HMOV A,20HLACALL 1000MOV 20H,ASJMP $A.00H B.30H C.32H D.07H7.执行下列程序后,累加器A的内容为。
ORG 0000HMOV A, #00HADD A, #02HMOV DPDR, #0050HMOVC A, @A+DPDRMOV @R0, ASJMP $ORG 0050HBAO: DB 00H,0888H,0BH,6H,09H,0CHENDA.00H B.0BH C.06H D.0CH8.欲将P1口的高4位保留不变,低4位取反,可用指令。
A.ANL P1,#0F0H B.ORL P1,#0FHC.XRL P1,#0FH D.以上三句都可以9.89C51指令系统中,指令ADD A,R0 执行前(A)=86H,(R0)=7AH,(C)=0 执行后,其结果为。
A.(A)=00H (C)=1 B.(A)=00H (C)=1C.(A)=7AH (C)=1 D.(A)=7AH (C)=010.89C51单片机在执行MOVX A,@DPTR指令时,其寻址单元的地址是由。
A.P0口送高8位,P2口送高8位 B.P0口送低8位,P2口送高8位C.P0口送低8位,P2口送低8位 D.P0口送高8位,P2口送低8位11.当需要从MCS-51单片机程序存储器取数据时,采用的指令为()。
A.MOV A, @R1 B.MOVC A, @A + DPTRC.MOVX A, @ R0 D.MOVX A, @ DPTR三、判断题1.MOV A,30H这条指令执行后的结果是A=30H 。
()2.89C51单片机的片外数据存储器是与扩展I/O口进行统一编址的。
()3.子程序调用时自动保护断点和现场。
()4.调用子程序指令(如:CALL)及返回指令(如:RET)与堆栈有关但与PC无关。
()5.请判断下列各条指令的书写格式是否有错,如有错说明原因:1)MUL R0,R32)MOV A,@R23)MOV A,#5000H4)MOVC @A+DPTR, A5)LJMP #3000H四、综合题1.在89C51片内RAM中,已知(30H)=38H,(38H)=40H,(40H)=48H,(48H)=90H,请分析下段程序中各指令的作用,并翻译成相应的机器码;说明源操作数的寻址方式及顺序执行每条指令后的结果。
机器码(H) 指令结果源操作数的寻址方式E540 MOV A,40H A=(40H)=48H 直接寻址F8 MOV R0,A R0=()寄存器寻址()MOV DPTR,#1246H DPTR=1246H 寄存器寻址854038 MOV 40H,38H (40H)=40H (寻址)()MOV R0,30H R0=38H 直接寻址8890 MOV 90H,R0 (90H)=()寄存器寻址()MOV 48H,#30H (48H)=30H 立即寻址E6 MOV A,@R0 A=40H (寻址)2.89C51单片机的堆栈有何特点?若SP=60H,PC=2346H,标号LABEL所在的地址为3466H,问执行长调用指令LCALL LABEL后,堆栈指针和堆栈的内容发生什么变化?PC的值等于什么?3.阅读下列程序,说明其功能。
MOV R0,#dataMOV A,@R0RL AMOV R1,ARL ARL AADD A,R1MOV @R0,ARET4.已知:A=02H,(SP)=40H,(41H)=FFH,(42H)=FFH,以下程序段执行后(A)=、(SP)=、(41H)=、(42H)=、(PC)=。
POP DPHPOP DPLMOV DPTR,#5000HRA AMOV B,AMOVC A,@A+DPTRPUSH ACCMOV A,BINC AMOVC A,@A+DPTRPUSH ACCRETORG 5000HDB 10H,80H,30H,50H,70H第4章习题一、填空题1.阅读下列程序段,写出每条指令执行后的结果,并说明此程序段完成什么功能?MOV R1,#34H ;(R1)=MOV A,#65H ; A=ADD A,#49H ; A= ,(CY)= ,(AC)=DA A ; A = ,(CY)= ,(AC)=MOV @R1,A ;(R1)= ,(30H)=此程序段完成的功能:2.阅读程序并填空,形成完整的程序以实现如下功能。
有一长度为10字节的字符串存放在89C51单片机内部RAM中,其首地址为40H。
要求将该字符串中每一个字符加偶校验位。
(以调用子程序的方法来实现。
)源程序如下:ORG 2000HMOV R0,#40HMOV R7,#10NEXT: MOV A,ACALL SEPAMOV @R0,AINC R0DJNZ ,NEXTSJMP $SEPA: ADD A,#00HPSW.0,SRETORL A,SRET:二、综合题1.把外部3000H内容送到内部RAM的10H单元。
2.找出10H~12H三个单元中的最小数,放在A累加器中。
3.已知在R1中存放一个压缩的BCD码,请将它拆成二个BCD字节,结果存于SUM0开始的单元中(高位在前)。
4.已知6个无符号数之和存于R5R6,求其平均值,结果仍存于R5R6中,请编程实现(R5为高字节)。
5.设在1000H~1004H单元中存放有5个压缩BCD码,编程将它们转换成ASCII码,存放到以3005H单元为首地址的存储区中。
6.请使用位操作指令,实现下列逻辑操作:P1.5=ACC.2 + P2.7 ? ACC.1 ⊕ P2.07.试编程实现下列逻辑表达式的功能。