2012单片机考试题库及答案

MOV R0,#30H ;R0=30H MOV A,@R0 ;A=5AH MOV R1,A ;R1=5AH MOV B,R1 ;B=5AH MOV @R1,P1 ;(5AH)=7FH MOV A,P1 ;A=7FH MOV 40H,#20H ;(40H)=20H MOV 30H,40H ;(30H)=20H 解:每一条指令执行后的结果如注释字段所标。最后结果为:R0=30H,R1=5AH,A=7FH,B=5AH,P1=7FH,(30H)=20H,(40H)=20H,(5AH)=7FH。

3-4编程题

2 片内RAM30H开始的单元中有10B的二进制数,请编程求它们之和(和<256 ). 解 ADDIO:MOV R0,30H MOV R7,#9 MOV A,@R0 LOOP: INC R0 ADD A,@R0 DJNZ R7,LOOP MOV 30H,A RET

4 用查表法编一子程序,将R3中的BCD码转换成ASCII码.

解 MAIN: MOV A,R3 ;待转换的数送A MOV DPTR,#TAR ;表首地址送DPTR MOVC A,@A+DPTR ;查ASCII码表 MOV R3,A ;查表结果送R3 RET

TAR DB 30H,31H,32H,33H,34H DB 35H,36H,37H,38H,39H

5 片内RAM40H开始的单元内有10B二进制数,编程找出其中最大值并存于50H单元中. 解 START: MOV R0,#40H ;数据块首地址送R0 MOV R7,#09H ;比较次数送R7 MOV A,@R0 ;取数送A LOOP: INC R0

MOV 30H,@R0 ;取数送30H

CJNE A,30H,NEHT ;(A)与(30H)相比 NEXT: JNC BIE1 (A)≥(30H)转BIR1 MOV A,30H ;(A)<(30H),大数送A

BIE1: DJNZ R7,LOOP ;比较次数减1,不为0,继续比较 MOV 50H,A ;比较结束,大数送50H RET

第四章 4-1填空

3.设计8031系统时, P0、P2 口不能用作一般I/O口.

4.MCS-51串行接口有4种工作方式,这可在初始化程序中用软件填写特殊功能寄存器__SCON _加以选择.

5.当使用慢速外设时,最佳的传输方式是 中 断 .

6.当定时器T0工作在方式3时,要占定时器T1的TR1和TF1_两个控制位.

7.MCS-51有 5 个中断源,有2 个中断优先级,优先级由软件填写特殊功能寄存器 IP 加以选择.

8.用串口扩并口时,串行接口工作方式应选为方式 0 .

9.在串行通信中,有数据传送方向单工、半双工、全双工三种方式. 10.外部中断0入口地址为_ 0003H

4-2判断

1.MCS-51的5个中断源优先级相同。 ( × )

2.要进行多机通信,MCS-51串行接口的工作方式应为方式1。 ( × ) 3.MCS-51上电复位时,SBUF=00H。 ( × )。

4.MCS-51有3个中断源,优先级由软件填写特殊功能寄存器IP加以选择.. ( × ) 5.用串口扩并口时,串行接口工作方式应选为方式1. ( × ) 6.外部中断INTO 入口地址为_0013H( × )

7.MCS-51外部中断0的入口地址是0003H。 (√ ).

8.TMOD中的GATE=1时,表示由两个信号控制定时器的启停。 ( √ )。 9.使用8751且 =1时,仍可外扩64KB的程序存储器。( × ) 10.PC存放的是当前执行的指令。( × )

11.MCS-51的特殊功能寄存器分布在60H~80H地址范围内。(× )

12.MCS-51有4个并行I\\O口,其中P0~P3是准双向口,所以由输出转输入时必须先写入\( × )

4-3选择

1.在中断服务程序中,至少应有一条( D )

(A)传送指令(B)转移指令(C)加法指法(D)中断返回指令 2.要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是( A )

(A)98H (B)84H (C)42 (D)22H 3.MCS-51在响应中断时,下列哪种操作不会发生( A ).

(A)保护现场 (B)保存PC (C)找到中断入口 (D)保存PC转入中断入口 4.用MCS-51串行接口扩展并行I\\O口时,串行接口工作方式应选择( A ) (A)方式0 (B)方式1 (C)方式2 (D)方式3 5.MCS-51有中断源( A )

(A)5个 (B)2个 (C)3个 (D)6个 6.MCS-51响应中断时,下面哪一个条件不是必须的( D ) (A)当前指令执行完毕 (B)中断是开放的

(C)没有同级或高级中断服务 (D)必须有RETI指令 7.使用定时器T0时,有几种工作模式( D )

(A)1种 (B)2种 (C)3种 (D)4种

8.计算机在使用中断方式与外界交换信息时,保护现场的工作方式应该是 ( C ) (A)由CPU自动完成 (B)在中断响应中完成 (C)应由中断服务程序完成 (D)在主程序中完成

9.下面哪一种传送方式适用于处理外部事件( C ) (A)DMA (B)无条件传递进 (C)中断 (D)条件传递

编程题:

1、利用单片机的P1口接8个发光二极管,P0口接8个开关,编程实现,当开关动作时,对应的发光二极管亮或灭。

只须把P0口的内容读出后,通过P1口输出即可。 汇编程序: ORG 0100H MOV P0,#0FFH LOOP: MOV A,P0 MOV P1,A SJMP LOOP

C51语言程序:

#include void main(void) {

unsigned char i; P0=0xff;

for(;;) { i=P0;P1=i; } }

2 设系统时钟频率为12MHZ,用定时/计数器T0编程实现从P1.0输出周期为500μs的方波。 分析:从P1.0输出周期为500μs的方波,只须P1.0每250μs取反一次则可。当系统时钟为12MHZ,定时/计数器T0工作于方式2时,最大的定时时间为256μs,满足250μs的定时要求,方式控制字应设定为00000010B(02H)。系统时钟为12MHZ,定时250μs,计数值N为250,初值X=256-250=6,则TH0=TL0=06H 采用中断处理方式的程序: C语言程序:

# include //包含特殊功能寄存器库 sbit P1_0=P1^0; void main() {

TMOD=0x02;

TH0=0x06;TL0=0x06; EA=1;ET0=1; TR0=1; while(1); }

void time0_int(void) interrupt 1 //{

P1_0=!P1_0; }

中断服务程序

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4