当前位置:文档之家› 单片机模拟试题精选修订版

单片机模拟试题精选修订版

单片机模拟试题精选修订版《单片机原理及应用》寻址方式与指令习题一、单选题1、指令和程序是以()形式存放在程序存储器中A、源程序B、汇编程序C、二进制编码D、BCD码2、单片机应用程序一般存放在()A、RAMB、ROMC、寄存器D、CPU3、进位标志CY在()中A、累加器B、算逻运算部件ALUC、程序状态字寄存器PSWD、DPTR4、AT89S51单片机中既可位寻址又可字节寻址的单元是()A、20HB、30HC、00HD、70H5、执行指令MOVX A,﹫DPTR时,WR、RD脚的电平为()A、WR高电平,RD低电平B、WR低电平,RD高电平C、WR高电平,RD高电平D、WR低电平,RD低电平6、下列指令中不影响标志位CY的指令有()A、ADD A,20HB、CLR C C 、RRC A D、INC A7、LJMP跳转空间最大可达到()A、2KBB、256B C 、128B D、64KB8、AT89S51的内部RAM中,可以进行位寻址的地址空间为()A、00H∽2FHB、20H∽2FH C 、00H∽FFH D、20H∽FFH9、设累加器A的内容为0C9H,寄存器R2的内容为54H,CY=1,执行指令S UBB A,R2 后结果为()A、(A)=74HB、(R2)=74HC、(A)=75HD、(R2)=75H10、设(A)=0C3 H,(R0)=0AA H,执行指令ANL A,R0后,结果()A、(A)=82H B、(A)=6CH C、(R0)=82 D、(R0)=6CH11、AT89S51的程序计数器PC为16位计数器,其寻址范围是()A、8KB、16 K C 、32 K D、64 K12、执行如下三条指令后,30H单元的内容是()MOV R1,#30HMOV 40H,#0EHMOV ﹫R1,40HA、40HB、30HC、0EHD、FFH13、有如下程序段:MOV R 0,#30HSETB CCLR AADDC A,#0 0HMOV ﹫R 0,A执行结果是()A、(30H)=0 0HB、(30H)=0 1HC、(00H)=0 0HD、(00H)=0 1H14、从地址2132H开始有一条绝对转移指令AJMP addr11,指令可能实现的转移范围是()A、2000H∽27FFHB、2132H∽2832HC 、2100H∽28FFH D、2000H∽3FFFH15、LCALL指令操作码地址是2000H,执行完相子程序返回指令后,PC=()A、2000HB、2001HC、2002HD、2003H16、51单片机的指令系统中没有哪一类指令()A、单字节B、双字节C、三字节D、四字节17、下列传送指令中哪一个是正确的()A、MOV 44H,AB、MOV 30H,@R2C、MOV R0,R4D、ANL P1.0,20H18、LJMP指令的转移范围是( )A、-128~127B、2KC、4KD、64K19、下列指令中哪一个不影响标志位( )A、ADD A, 30HB、SUBB A, R2C、ORL A, #67HD、RL A20、AT89S51的并行I/O口信息有两种读取方法:一种是读引脚,还有一种是()A、读锁存器B、读数据库C、读A累加器D、读CPU二、填空1.设(A)=34,(B)=10H,则执行指令DIV AB后,(A)=,(B)=。

2.外部数据存储器只能用指令来读写,只能用间接寻址方式,用DPTR寻址时,可寻址空间为。

3.当(RS1)=1,(RS0)=1时,R0对应的单元地址为。

4.堆栈一般设置在30H~7FH区域内;堆栈指针SP,复位时其值为,即若执行指令PUSH A,则是把A的内容复制到单元中;且(SP)=08H;若将堆栈顶设置在60H,则需执行指令。

5.AT89S51内部有21个SFR,占据地址空间,只能直接寻址;字节地址能够被8整除的字节可以寻址。

6.ORG 0100HAJMP NEXT ;指明指令AJMP NEXT的存放起始地址是;三、判断1.设(A)=50H,(30H)=10H,则执行指令ADD A,30H后以下各单元的值为(A)=60H,(C)=0,(OV)=0,(AC)=0,(P)=0。

2.位寻址空间是字节地址20H~2FH,共128位,位地址00H~7FH;20H.1是正确的位地址表示。

3.AT89S51的指令系统有111条指令,按字节长度三种:单字节、双字节和三字节;按执行机器周期数分有三种:单周期、双周期和四周期。

4.程序存储器中的数据只能间接寻址。

5.单片机也可以用C语言来编程。

6.RS1=1,RS0=0时,R2的直接地址为11H。

7.MOV A,30H指令中第二操作数的寻址方式为直接寻址。

8.SFR只能直接寻址。

9.CLR 20H是位操作指令。

10.执行除法指令后商在B寄存器中。

11.串行中断的溢出标志必须用软件清零。

12.上电复位后执行压栈指令第一个字节压入07H。

四、程序题1、读程序,写出程序段所实现的功能MOV A,#123MOV B,#100DIV ABMOV 30H,AMOV A,#10XCH A,BDIV ABMOV 31H,AMOV 32H,B2、读程序,写出以下指令执行后A的值(设P1的值为AAH)MOV A,P1ANL A,#0FHXRL A,#0FH3、写出以下程序段执行后30H单元的值START:MOV A,#3MOV DPTR,#TABMOVC A,@A+DPTRMOV 30H,ASJMP $TAB:DB 0,1,8,27,64,1254、写出以下程序执行后30H单元的值ORG 0000HSTART:CLR CMOV A,#35HSUBB A,#3AHJC NEXTSUBB A,#07HNEXT:ADD A,#0AHMOV 30H,ASJMP $5、设内部RAM(30H)=5AH,(5AH)=40H,(40H)=00H,端口P1=7FH,问执行下列指令后,各有关存储单元(即R0,R1,A,B,P1,30H,40H及5AH单元)的内容如何?MOV R0,#30H ;R0=30HMOV A,@R0 ;A=5AHMOV R1,A ;R1=5AHMOV B,R1 ;B=5AHMOV @R1,P1 ;(5AH)=7FHMOV A,P1 ;A=7FHMOV 40H,#20H ;(40H)=20HMOV 30H,40H ;(30H)=20HMOV 30H,40H ;(30H)=20H6.设(A)=85H,求执行下面子程序后30H、31H、32H单元的值,并说明该子程序的作用。

MOV B,#64HDIV ABMOV 30H,AMOV A,#0AHXCH A,BDIV ABMOV 31H,AMOV 32H,BRET7、写出下列程序对应的逻辑表达式。

(B.0 P2.1 ACC.0 P3.2为逻辑变量)MOV C,B.0ORLC,P2.1ANL C, ACC.0ORL C, P3.2MOV P1.7, C8、设(30H)=44H,(44H)=95H,(B)=30H,执行下面的程序后,求A、30H、44H、R0、B中的数值。

MOV R0,30HMOV A,@R0MOV 30H, AADD A,@R0MOV @R0, AXCH A, B9、设(R0)=20H,(R1)=25H,(20H)=80H,(21H)=90H,(25H)=0A0H,(26H)=6FH,执行完下列程序后,试分别写出A,R0,R1,(20H),(21H)及CY的内容。

(6分)CLR CMOV R2,#02HLOOP:MOV A,@R0ADDC A,@R1MOV @R0, AINC R0INC R1DJNZ R2, LOOPSJMP $10、设R0的内容为32H,A的内容为97H,而片内RAM的32H单元内容为92H,40H单元内容为08H,请指出在执行下列程序段后,上述各单元的内容变化。

MOV A, @R0MOV @R0, 40HMOV 40H, AMOV R0, #35H11、STRAT:MOV R3, #20HMOV R1, #45HCLR ALOOP: MOV @R1,AINC R1DJNZ R3,LOOP ;END试写出程序执行完毕后R3的内容,R1的内容,A的内容。

12、ORG 0030HSTART:MOV 20H, #00HMOV DPTR, #0000HMOVX A,@DPTRMOV 10H, AMOV DPTR, #0001HNEXT1:MOVX A, @DPTR ;JB ACC.7 NEXT2 ;INC 20HNEXT2:INC DPTRDJNZ 10H, NEXT1 ;END试在加分号的语句后添加适当注释,说明该语句的作用,并写出整个程序所完成的功能。

片外RAM(0000H)=15H(6分)。

相关主题