(D)MOV P2,#33HMOV R2,#55HMOVX A,@R26.80C51单片机要用传送指令访问片内程序存储器,它的指令操作码助记符是以下哪个?(A)MOV(B)MOVX(C)MOVC(D)MUL7.假定设置堆栈指针SP的值为37H,在进行子程序调用时把断点地址进栈保护后,SP的值为(A)36H(B)37H(C)38H(D)39H8.在80C51中,可使用的堆栈最大深度为(A)80个单元(B)32个单元(C)128个单元(D)8个单元9.下列条件中,不是中断相应必要条件的是(A)TCON或SCON寄存器中相关的中断标志位置1(B)IE寄存器中相关的中断允许位置1(C)IP寄存器中相关位置1(D)中断请求发生在指令周期的最后一个机器周期10.执行中断返回指令,要从堆栈弹出断点地址,以便去执行被中断了的主程序。
从堆栈弹出的断点地址送给(A)A(B)CY(C)PC(D)DPTR11.下列叙述中,不属于单片机存储器系统特点的是(A)程序和数据两种类型的存储器同时存在(B)芯片内外存储器同时存在(C)扩展数据存储器与片内数据存储器存储空间重叠(D)扩展程序存储器与片内程序存储器存储空间重叠12.PSW=18H时,则当前工作寄存器是(A) 0组(B) 1组(C) 2组(D) 3组13.MCS-51的中断允许控制寄存器内容为8AH,CPU可以响应的中断请求是(A)T1,(B)T0, T1(C)T1,串行接口(D)T014.指令AJMP的跳转范围是多少?(A)64 KB(B)2 KB(C)256 B(D)128 B15.下列指令中正确的是(A)MOV P2.1,A(B)JBC TF0,L1(C)MOVX B,@DPTR(D)MOV A,@R3二、填空题(每空0.5分,共29分)1.一个机器周期包括(6)个状态周期,一个状态包含(2)个时钟周期2.执行如下指令序列:MOV C, P1.0ANL C, P1.1ANL C, /P1.2MOV P3.0, C后,所实现的逻辑运算式为( P3.0=P1.0∧P1.1∧{ EMBED Equation.3 |P1.2)3.假定外部数据存储器2000H单元的内容为80H,执行下列指令后,累加器A中的内容为(80H)。
MOV P2, #20H;MOV R0, #00H;MOVX A, @R0;4.假定标号qaz的地址为0100H,标号qwe值为0130H(即调转的目标地址为0130H) 应执行指令:qaz: SJMP qwe该指令的相对偏移量(即指令的第2字节)为(2EH)。
5.假定(A)=0C3H,R0=0AAH、CY=1。
执行指令:ADDC A, R0后,累加器A的内容为(6EH),CY的内容为(1),OV的内容(1),AC的内容(0)6.在变址寻址方式中,以(A)作变址寄存器,以(PC)或(DPTR)作为基址寄存器。
7.定时器0工作于方式2的计数方式,预置计数初值为156,若通过引脚T0输入周期为1ms的脉冲,则定时器0的定时时间为(100ms)。
8.设A=50H,B=0A0H,则执行指令MUL AB后的执行结果A=(00H),B=(32H),OV=(1)CY=(0)。
9.设执行指令DIV AB前,(A)=0A3H,(B)=20H,则执行指令后(A)=( 05H ),(B)=( 03H ),CY=(0),OV=(0)10.若系统晶振频率为6MHz,则机器周期( 2 )μs,最短和最长的指令周期分别为( 2 )μs和( 8 )μs。
11.MCS-51单片机PC的长度为( 16 )位;SP的长度为( 8 )位;DPTR 的长度为( 16 )位。
12.ORG 0003HLJMP 2000HORG 000BHLJMP 3000H 当CPU响应外部中断0后,PC的值是(2000H)13.指令执行前PC=07FFH,执行指令AJMP 300H后,执行结果PC=(0B00H )14.假定累加器A的内容为35H,执行指令:1000H: MOVC A, @A+PC后,把程序存储器( 1036H )单元的内容送累加器A中。
15.8255能为数据I/O操作提供A,B,C 3个8位口,其中A口和B口只能作为数据口使用,而C口则即可以作为(数据)口使用,又可作为(控制)口使用。
16.在80C51单片机系统中,为解决内外程序存储器衔接问题所使用的信号是(/EA)(此题1分)三、判断题,正确的打√,错误的打×。
(每题1分,共10分。
)1.内部寄存器Rn(n=0~7)作为间接寻址寄存器。
………………….(×)2.MOV A,30H这条指令执行后的结果是(A)=30H…..……………(×)3.SP称之为堆栈指针,堆栈是单片机内部的一个特殊区域,与RAM无关。
……………………………………………………………….…….(×)4.中断响应最快响应时间为三个机器周期。
(√)5.8255内部有3个8位并行口, 每个口都有3种工作方式。
(×)6.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。
(×)7.8255具有三态缓冲器,因此可以直接挂在系统的数据总线上。
(√)8.PC存放的是当前执行的指令。
(×)9.80C51有4个并行I\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入"0"(×)10.EPROM的地址线为10条时,能访问的存储空间有4K。
(×)四、简答题(每题3分,共15分)1.如何确定和改变当前工作寄存器组?可用程序状态字PSW的RS1,RS0两位进行选择2.80C51单片机堆栈可以设置在什么地方?如何实现?答:80C51单片机堆栈可以设置在内部RAM 中。
当系统复位时,堆栈指针地址为07H ,只要改变堆栈指针SP 的值,使其为内部RAM 中地址量,就可以灵活的将堆栈设置在内部RAM 中。
3. 如果采用晶振的频率为6MHz ,定时器/计数器工作方式0、1、2下,其最大的定时时间为多少?因为机器周期, 所以定时器/计数器工作方式0下,其最大定时时间为)(690.41022261313ms T T C MAX =⨯⨯=⨯=-;16.384ms 同样可以求得方式1下的最大定时时间为)(131.0721022266161ms T T C MAX =⨯⨯=⨯=-; 方式2下的最大定时时间为512s μ。
五、程序分析题(每题3分,共15分。
)1. 已知:R1=32H ,(30H )=AAH ,(31H)=BBH,(32H)=CCH ,试问如下指令执行后累加器A ,50H ,R6,32H 和P1口中的内容是什么 MOV A , 30H ; MOV 50H ,A ; MOV R6,31H ; MOV @R1,30H ; MOV P1,32H ;解:A=AAH ,(50H)=AAH ,R6=BBH ,(32H )=AA ,P1=AAH 2. 已知A=7AH ,R0=30H ,(30H )=A5H ,PSW=80H 。
试问如下指令执行后的结果是什么?A=?,(30H)=?,PSW=? (1) ADDC A ,30HINC 30H答:A=20H ,(30H )=A6H,PSW=0C0H (2) SUBB A ,R0DEC 30H 答:A=(49H ),(30H )=A4H ,PSW=01H3. 假定(A)=83H,(R0)=17H,(17H)=34H,执行以下程序段后,A 的内容=?ANL A, #17H ORL 17H, A XRL A,@R0 CPL A 答:)(210612126s f T OSC cyμ=⨯==(A)=CBH4.执行下列程序段后,(P1)=( 9FH)。
MOV P1,#5DHCPL P1.1CLR P1.6SETB P1.75.已知A=7AH,Cy=1,试指出8031执行下列程序后(A) =?MOV A, #0BBHCPL ARR AMOV 40H, #0AAHORL A,40H答:0AAH六、程序设计题(每题3分,共6分)内部RAM的30H单元中,存有二进制数(x<10的整数),试编一查表求平方的子程序SQR。
ORG 1000HX DATA 30H ;设置X的存放地址SQR: MOV A,X ;取X值INC A ;调整偏移量MOVC A, @A+PC ;通过查表得X2的值RET ;1字节,子程序返回SQRTAB: D B 00H, 01H ;平方表DB 04H, 09HDB 10H, 19HDB 24H, 31HDB 40H, 51HEND七、综合题(共10分)1.MCS-51单片机系统硬件连接示意图如下图所示,系统采用12MHZ的晶体振荡器;并扩展了一片数据存储器6264和一片通用I/O接口芯片8255,并通过8255的PA端口驱动8个发光二极管,各发光二极管的阴极一起连接到地(GND)。
完成以下要求:(1)写出数据存储器6264的地址范围。
(2分)(2)写出8255各端口地址。
(4分)(注:“/n”说明此引脚为低电平有效,如8255的/CS端。
)(1)6264的地址范围:0000H~1FFFH (2分)(2)2、8255的各端口地址:PA口地址:2000H;PB口地址:2001H;PC口地址:2002H控制端口地址:2003H (4分)2.设时钟频率为6MHz。
试编写利用T0产生500ms定时的程序(1)计算TH0和TL0的值;(2)确定寄存器TMOD,TCON和IE的值(3)编程(注:寄存器中跟本题无关位取值为0)(本小题4分。
)✧求计数值X(216-X)×12/(6 ×106Hz)=100 ×10-3sX=15536=3CB0H因此 TL0=0B0H,TH0=3CH;✧实现方法:对于中断5次,可使T1工作在计数方式,也可用循环程序的方法实现,本例采用循环程序法ORG 0000HLJUMP MAIN;上电,转向主程序ORG 000BH ;T0中断地址入口AJMP SERVE;转向中断服务程序主程序:ORG 0030HMAIN: MOV SP, #60H;设堆栈指针MOV B,#05H;设循环次数MOV TMOD, #01H;设置T0工作于模式1MOV TL0,#0B0H;装入计数值低8位MOV TH0,#3CH;装入计数值高8位SETB TR0;启动定时器T0SETB ET0;允许T0中断SETB EA;允许CPU中断SJMP $;等待中断中断服务程序://ORG 000BHSERVE: MOV TL0,#0B0H;重新赋值MOV TH0,#3CH;DJNZ B,LOOP;CLR TR0;500ms定时到,停止T0工作LOOP:RETI;中断返回END《微机原理及应用》试卷A一、填空题(每空1分,共15分)1、在计算机中,对带符号数的运算均采用补码。