1、一.选择题 1、以下有关PC和DPTR的结论,对的的是( D )。 A、DPTR是可以访问的,而PC不能访问 B、它们都是8位的存储器 C、它们都有加1的功能 D、DPTR可以分为两个8位的寄存器使用,但PC不能 2.启动定期器1开始定期的指令是( D )。 A.CLR TR0 B.CLR TR1 C.SETB TR0 D.SETB TR1 3.下列指令判断若定期器T0计满数就转LP的是( D )。 A.JB T0,LP B.JNB TF0,LP C.JNB TR0,LP D.JB TF0,LP 4.89C51单
2、片机串行口发送/接受中断源的工作过程是:当串行口接受或发送完一帧数据时,将SCON中的( A ),向CPU申请中断。 A.RI或TI置1 B.RI或TI置0 C.RI置1或TI置0 D.RI置0或TI置1 5.8051单片机计数初值的计算中,若设最大计数值为M,对于模式1下的M值为( D )。 A.M==8192 B.M==256 C.M==16 D.M==65536 6、下列说法对的的是( C )。 A、 89C51共有21个特殊功能寄存器,它们的位都是可以用软件设立的,因此,都是可以进行位寻址的。
3、 B、 内部RAM的位寻址区,只能供位寻址使用,而不能供字节寻址使用。 C、 程序计数器PC不能为用户编程时直接使用,由于它没有地址。 D、各中断发出的中断请求信号,都会标记在MCS-51系统的TMOD寄存器中。 7、在89C51中,需要外加电路实现中断撤除的是:( A ) A、电平方式的外部中断 B、定期中断 C、外部串行中断 D、脉冲方式的外部中断 8、下列的说法对的的是( A )。 A、特殊功能寄存器SCON,与定期器/计数器的控制无关。 B、特殊功能寄存器TMOD,与定期器/计数器的控制无关。 C、特殊功能寄存器IE,与定期器/计数器的
4、控制无关。 D、特殊功能寄存器TCON,与定期器/计数器的控制无关。 9.外部中断源(外部中断)的向量地址为( )。C A.0003H B.000BH C.0013H D.002BH 10、区分MCS-51单片机片外程序存储器和片外数据存储器的最可靠的方法是( )。 A、看其芯片的型号是ROM还是RAM B、看其离MCS-51芯片的远近 C、看其位于地址范围的低端还是高段 D、看其是与RD信号连接还是与PSEN信号连接 11.MCS—51单片机串行口接受数据的顺序是下述的顺序( )。 (1)接受完一帧数据后,硬件自
5、动将SCON的R1置1 (2)用软件将RI清零 (3)接受到的数据由SBUF读出 (4)置SCON的REN为1,外部数据由RXD(P3.0)输入 A.(1)(2)(3)(4) B.(4)(1)(2)(3) C.(4)(3)(1)(2) D.(3)(4)(1)(2) 12. 数据线为8根的存储器的地址范围是0000H~03FFH,它的容量为( )。 A、1KB B、2KB C、3KB D、4KB 13 在中断服务子程序中,至少应有一条( D )。 A、传送指令 B、转移指令 C、加法指令
6、D、中断返回指令 14.要用传送指令访问MCS-51片外RAM,它的指令操作码助记符应是( B )。 A、MOV B、MOVX C、MOVC D、以上都行 二.填空题 1、单片机与普通计算机的不同之处在于其将 CPU 、 存储器 和 各种输入输出接口 三部分集成于一块芯片上。 2、通过堆栈操作实现子程序调用,一方面就要把 PC 的内容入栈,以进行断点地址保护。调用返回时,再进行出栈保护,把保护的断点地址送回到 PC 。 3、在寄存器间接寻址方式中,假如存储器的地址在00H~FFH之间,则可用
7、 R0作变址寄存器,存储器的地址在0000H~FFFFH,则以DPTR作基址寄存器。 4、假定累加器A中的内容为40H,执行指令 MOV 30H, A 后,把累加器A的内容送入数据存储器 30H 单元中。 5、在寄存器间接寻址方式中,其“间接”体现在指令中寄存器的内容不是操作数,而是操作数的 地址 。 6、单片机P0口为 总线和 总线的复用端口,74LS373与P0口连接,其输出线作为系统的 ,74LS373的G端与单片机 连接。 7、在片外存储器扩展中,无论是线选法还是译码法,
8、最终都是为扩展芯片的 端提供信号。 8、在MCS-51中,PC和DPTR都用于提供地址,但PC是为了访问 存储器提供地址,而DPTR是为访问 存储器提供地址。 9、16KB RAM存储器的首地址若为3000H,则末地址为 H。 10、8K×8位的存储器共有地址线 根。 三、判断题,对的的打"√",错误的打"×" 第1部分,寻址方式 (1). MOV 20H , R1 (√) (2). ADDC A , 2030H (× ) (3). CLR A (√) (4
9、). MOVX 40H , #30H(×) (5). ORG 3000H (√) (6). MOVC @A+PC , A(×) (7). MOVX A ,2023H (×) (8). DJNZ #data , rel (×) (9). INC @R5 (×) (10). DEC DPTR (×) (11). MOV R1 ,@ R2 (×) (12). SWAP R1 (×) (13). SETB 2023H (×) (14). JZ A , LOOP (×) (15)
10、 DA R2 (×) 第2部分: (1)89C51每个中断源相应地在芯片上都有其中断请求输入引脚。( ×) (2)不能对程序计数器PC进行读、写操作。( ) (3)89C51单片机的栈底单元是不能运用的,因此,它是一个闲置单元。( ×) (4)89C51单片机对最高优先权的中断响应是无条件的。(×) (5)中断初始化时,对中断控制器SCON、TCON的状态设立,只可使用位操作指令,而不能使用字节操作指令。( ×) (6)在一般情况89C51单片机允许同级中断嵌套(× ) (7)89C51单片机,程序存储器数和数据存储器扩展的最大范围都是同样的。( √) (8)
11、单片机系统扩展时使用的锁存器,是用于锁存高8位地址。(× ) (9)RL A为循环左移指令。(√ ) (10)指令MOV A,30H的源操作数是立即寻址方式。(× ) (11)假如发生除法溢犯错误,则PSW标志位P置1。(× ) (12)如JC rel发生跳转时,目的地址为当前地址加上偏移量rel。(√) (13)MOVC A,@A+DPTR是一条查询指令。(√) (14)MUL AB的执行结果是高8位在A中,低8 位在B中。( ×) (15)CPU对内部RAM和外部RAM的读写速度同样快。( ×) (16)对于89C51单片机,当CPU对内部程序存储器寻址超过4K时,系统会
12、自动在外部程序存储器中寻址。( ×) 三.简答题 1、片内RAM低128个单元划分为哪3个重要部分?各部分的重要功能是什么? 2、编写出外部中断1为跳沿触发的中断初始化程序。 3、若SP=60H,标号LABEL所在的地址为3456H。LCALL指令的地址为2023H,执行指令如下: 2023H:LCALL LABEL 后,堆栈指针SP和堆栈内容发生了什么变化?PC的值等于什么?假如将指令LCALL直接换成ACALL是否可以?假如换成ACALL指令,可调用的地址范围是什么? 4、定期/计数器用作定期器时,其计数脉冲由谁提供?定期时间与哪些因素有关? 5、假定A=83H,(R
13、0)=17H,(17H)=0B5H,执行以下指令: ANL A, #17H ; A = 0000 0011B ORL 17H, A ; (17H)= 1011 0111B XRL A, @R0 ; A= 1011 0100B CPL A ; A = 4BH 后,A的内容为 4BH 。 6、使用简朴指令序列完毕以下操作 1)请将片外RAM 20H-25H单元清零; MOV R0,#20H MOV R1,#6 MOV A,#00H LOOP: MOVX @R0,A INC R0 DJNZ R1,LOOP 2)请将RAM
14、 3000单元内容送R7; MOV DPTR,#3000H MOV A,@DPTR MOV R7,A 3)将累加器A的内容取反 CPL A 4)将累加器A的内容的低4位置1; ORL A, #0FH 7、MCS-51系列单片机具有几个中断源?分别是如何定义的?其中哪些中断源可以被定义为高优先级中断?如何定义? 8、各中断源相应的中断服务程序的入口地址是否能任意设定? 9、为什么一般都把主程序的起始地址放在0030H之后? 四.程序阅读题 1.为下列程序段的每一行注释,并说明整个程序段的功能。 MOV R0,#30h MOV R1
15、40h MOV R2,#08h ; LOOP: MOV A,@R0 ; ADD A,@R1 ; MOV @R0,A ; INC R0 ; INC R1 ; DJNZ R2, LOOP ; 功能说明: 2.设在31H单元存有#23H,执行下面程序: MOV A, 31H ; A = 23H
16、 ANL A, #0FH ; A=03H MOV 41H, A ; (41H) = 03H MOV A, 31H ; A = 23H ORL A, #0F0H ;A= F3H SWAP A ; A=3FH MOV 42H, A ;(42H) = 3FH 则(41H)= 03H ,(42H)= 3FH 。 3.已知(R0)=20H, (
17、20H ) =10H, (P0) =30H, (R2) =20H, 执行如下程序段后 MOV @R0 , #11H ; (20H) = 11H MOV A , R2 ;A = 20H ADD A , 20H ;A = 31H MOV PSW , #80H ;CY = 1 SUBB A , P0 ; 31H-1-30H = 00H ,CY =0 MOV 40H , A ;(40H) = A
18、 00H 结果是:( 40H ) = 00H ,CY= 0 。 4. 设在MCS-51单片机片内RAM中,(20H)=40H,(40H)=22H,(22H)=10H,P1=0CFH,当下列程序执行完毕后,各单元的内容分别为多少?请填入给定的各个寄存器及片内单元中。 MOV R0,#20H ; R0 = 20H MOV A,@R0 ;A=40H MOV R1,A ;R1 = 40H MOV B,@R1 ;B = 22H MOV @R1,R1 ;(40H) =40H MOV P3,P1 ;P3 = 0CFH (A)=40H
19、 (B)= 22H (R0)= 20H (R1)= 40H (P1)= 0CFH (P3)= 0CFH (20H)= 40H (22H)=10H 五、程序设计题 1、使用定期器中断方式编程实现从P1.0引脚上输出一个周期为1s的方波。(系统时钟为6MHz)。 2、编程将片内RAM 40H 单元开始的16个数传送到片外RAM 2023H 开始的单元中。 3、根据硬件图计算ADC0809的8个模拟量输入通道的地址,并编写程序实现8 个通道的模拟量循环采集,采集结构存放至片内RAM 40H~47H中。






