爱玩科技网
您的当前位置:首页(完整版)单片机原理及应用试卷和答案(三套试卷和答案)

(完整版)单片机原理及应用试卷和答案(三套试卷和答案)

来源:爱玩科技网
试卷一

一、填空题(20分,每小题2分)

1、-19D的二进制的补码表示为 11101101B 。

2、C51含 4KB 掩膜ROM, 128B的RAM,在物理上有 4个 的存储器空间。

3、通过堆栈操作实现子程序调用,首先要把 PC 的内容入栈,以进行断点保护。调用返回时再进行出栈操作,把保护的断点弹回 PC 。 4、74LS138是具有3个输入的译码器芯片,其输出作为片选信号时,最多可以选中 8 块芯片。

5、PSW中RS1 RS0=10H时,R2的地址为 12H 。

6、假定DPTR的内容为8100H,累加器A的内容为40H,执行下列指令:

MOVC A,@A+DPTR

后,送入A的是程序存储器 8140H 单元的内容。 7、设SP=60H,片内RAM的(30H)=24H,(31H)=10H,在下列程序段注释中填执行结果。

PUSH 30H ;SP=61H,(SP)=24H PUSH 31H ;SP=62H,(SP)=10H POP DPL ;SP=61H,DPL=10H POP DPH ;SP=60H,DPH=24H MOV A,#00H MOVX @DPTR,A

最后执行结果是 执行结果将0送外部数据存储器的2410H单元 。 8、在中断系统中,T0和T1两引脚扩展成外部中断源时,计数初值应当是(TH)=(TL)= 0FFH 。

9、12根地址线可寻址 4KB 存储单元。 二、选择题(10分,每小题1分)

1、MCS-51响应中断时,下面哪一个条件不是必须的 (C) (A)当前指令执行完毕 (B)中断是开放的 (C)没有同级或高级中断服务 (D)必须有RETI

2、执行PUSH ACC指令,MCS-51完成的操作是 (A) (A)SP+1→SP,(ACC)→(SP);(B)(ACC)→(SP),SP-1→SP (C)SP-1→SP,(ACC)→(SP);(D)(ACC)→(SP),SP+1→SP 3、C51是 (C) (A)CPU (B)微处理器 (C)单片微机 (D)控制器

4、关于MCS-51的堆栈操作,正确的说法是 (C) (A)先入栈,再修改栈指针 (B)先修改栈指针,再出栈 (C)先修改栈指针,再入栈 (D)以上都不对

5、某种存储器芯片是8KB×4片,那么它的地址线根数是 (B) (A)11根 (B)13根 (C)12根 (D)14根

6、MOV C,#00H的寻址方式是 (A) (A)位寻址 (B)直接寻址 (C)立即寻址 (D)寄存器寻址 7、必须进行十进制调整的十进制运算 (C) (A)有加法和减法 (B)有乘法和除法 (C)只有加法 (D)只有减法 8、ORG 0000H AJMP 0040H ORG 0040H

MOV SP,#00H 当执行完左边的程序后,PC的值是 (C) (A)0040H (B)0041H (C)0042H (D)0043H

9、MCS-51复位时,下述说法正确的是 (D) (A)(20H)=00H (B)SP=00H (C)SBUF=00H (D)TH0=00H 三、简答分析题(30分,每小题10分)

1、简述C51定时器的四种工作模式的特点,如何选择和设定。 答:C51定时器的四种工作模式有,模式1,模式2,模式3。 模式0时:选择定时器的高8位和低5位组成13位定时器/计数器。TL低5位溢出时

向TL进位,TH溢出时向中断标志位TF0进位,并申请中断。

定时时间t=(213-初值)×振荡周期×12;计数长度为213=8192个外部脉冲。 模式1时:当TMOD中的M1M0置成01时,定时器工作于方式1,构成16位定时

器/计数器。

定时时间t=(216-初值)×振荡周期×12;计数长度为216=65536个外部脉冲。

模式2时:把TL0和TL1配置成一个可以自动重装载的8位定时器/计数器。TL担任

8位计数器,TH保存初值,TL溢出时不仅使TF0置1,而且还自动将TH中的内容重新装载在TL中。

定时时间t=(28-初值)×振荡周期×12;计数长度为28=256个外部脉冲。

模式3时:方式3是两个8位定时/计数器模式,只适用于T0。TH0和TL0成为两个

的8位计数器。TL0为8位计数器,功能与模式0和模式1相同,可定时可计数。TH0仅用作简单的内部定时功能,它占用了定时器T1的控制位TR1和中断标志位TF1,启动和关闭受TR1的控制。T1无此模式。

选择和设定:由定时器的2个控制寄存器TMOD和TCON,由软件写入TMOD和TCON

两个8位寄存器,设置各个定时器的操作模式和控制功能。

2、位地址7CH与字节地址7CH如何区别?位地址7CH具体在片内RAM中的什么位置?

答:字节地址是片内RAM的单元地址,而位地址是片内RAM单元的某一位。 7CH字节地址RAM的7CH单元,而7CH位地址是RAM 2FH单元中的D4位。

四、编程题(任选2题,20分,每题10分)

1、编写一程序,实现下图中的逻辑运算电路。其中P3.1、P1.1、P1.0分别是单片机端口线上的信息,RS0、RS1是PSW寄存器中的两个标志位,30H、31H是两个位地址,运算结果由P1.0输出。

ORG 0000H

MOV C,P3.1 ANL C,P1.1 CPL C

MOV 20H,C;暂存数据 MOV C,30H ORL C,/31H ANL C,RS1 ANL C,20H ANL C,RS0

MOVP 1.0,C;输出结果 SJMP $

2、写一个软件延时1S和1min的子程序。设fosc=6MHz,则1个机器周期=2μs。

解:(1)1s=2μs×5×105

5×105=250×2000=250×200×5×2

ORG 0000H

DELAY1S:MOV R5,#5

DEL1: MOV R6,#200 DEL2: MOV R7,#250 DEL3: DJNZ R7,DEL3 DJNZ R6,DEL2 DJNZ R5,DEL1

RET

(3)1min=60S,调用上面1s子程序60次

ORG 0100H

DELAY1M:MOV R0,#60

LOOP: LCALL DELAY1S DJNZ R0,LOOP RET

3、编一子程序,从串行接口接受一个字符.

解: START: MOV TMOD,#20H ;定时器T1工作于模式2

MOV TH1,#0E6H ;设置波特率为1 200b/s MOV TL1,#0E6H

SETB TR1 ;启动T1

MOV SCON,#50H ;串行接口工作于方式1,允许接收 L1: JNB RI,L1 ;等待接收数据,末接收到数据,继续等

CLR RI ;接收到数据,清RI MOV A,SBUF ;接收到数据送A RET

五、设计题(任选1题,20分,评分标准硬件设计、程序设计各10分)

1、利用C51的P0口控制8个发光二极管LED。相邻的4个LED为一组,使2组每隔1s交替发光一次,周而复始。设计出硬件电路图,编写程序。

解:(1)程序设计(设fosc=12MHz)

ORG 0100H

MOV A,#0FH ABC: MOV P0,A ACALL DELAY1S SWAP A SJMP ABC

DELAY1S:MOV R5,#04

DEL1:MOV R6,#250 DEL2:MOV R7,#250 DEL3:NOP NOP

DJNZ R7,DEL3 DJNZ R6,DEL2 DJNZ R5,DEL1

RET ; END

(2)硬件电路图如图:

2、现有一蜂鸣器,用C51设计一系统,使蜂鸣器周而复始地响20ms,停20ms,编程。

解:设fosc=12MHz,电路图如下:

定时时间:应用公式t =(2

16

-X)×12/fosc

X=216-t(fosc /12) =216-20000=45536=B1E0H

程序清单:

ORG 0000H LJMP START ORG 0040H

START:MOV TMOD,#01H

MOV TL0,#OB1H MOV THO,#OE0H SETB TR0

LOOP: JNB TFO,DONE

CLR TF0

DONE: MOV TL0,#OB1H

MOV THO,#OE0H CPL P1.0 SJMP LOOP

试卷二

一、填空题(20分,每小题2分)

1、十进制数-47用8位二进制补码表示为 11010001B 。

2、汇编语言中可以使用伪指令,它们不是真正的指令,只是用来对汇编过程进行某种控制。

3、JBC 00H,rel 操作码的地址为2000H,rel=70H,它的转移目的地址为2073H。 4、一个机器周期= 12时钟周期,一个时钟周期=2个振荡周期,一个振荡周期=1个节拍。

5、用串口扩展并行口时,串行接口工作方式应选为方式0。

6、A/D转换器的三个最重要指标是转换速度、分辨率、转换精度。

7、当C51的RST引脚上保持2 个 机器周期以上的低电平,8051即发生复位。 8、MCS-51中,外部中断请求标志位是IE0和IE1。 9、假定(SP)=60H,(ACC)=30H,(B)=70H。执行下列指令: PUSH ACC PUSH B

后,SP的内容为 62H ,61H单元的内容为 30H ,62H单元的 内容为 70H。

10、在直接寻址方式中,以 8 位二进制数作为直接地址,因此其寻址对象只限于 片内RAM 。

二、选择题(10分,每小题2分)

1、MCS-51在响应中断时,下列哪种操作不会发生 (A) (A)保存累加器A (B)保护PC

(C)找到中断入口 (D)保护PC转入中断入口

2、MCS-51上电复位后,SP的内容是 (B) (A)00H (B)07H (C)60H (D)70H

3、PC中存放的是 (A)

(A)下一条指令的地址 (B)当前正在执行的指令 (C)当前正在执行的指令的地址 (D)下一条要执行的指令

4、当8031外扩程序存储器8KB时,需使用EPROM 2716 (C) (A)2片 (B)3片 (C)4片 (D)5片

5、可以为访问程序存储器提供或构成地址的有 (C) (A)只有程序计数器PC (B)只有PC和累加器A (C)只有PC、A和数据指针DPTR (D)PC、A、DPTR和SP 6、对程序存储器的读操作,只能使用 (D) (A)MOV指令 (B)PUSH指令 (C)MOVX指令 (D)MOVC指令

7、下面哪种设备不是输入设备 (C) (A)A/D转换器 (B)键盘 (C)打印机 (D)扫描仪

8、要访问MCS-51的特殊功能寄存器应使用的寻址方式是 (A) (A)直接寻址 (B)寄存器间接寻址 (C)变址寻址 (D)相对寻址

9、执行MOVX A,@DPTR指令时,MCS-51产生的控制信号 (C) (A)/PSEN (B)ALE (C)/RD (D)/WR

10、下面哪种指令将MCS-51的工作寄存器置成3区 (B) (A)MOV PSW,#13H (B)MOV PSW,#18H

(C)SETB PSW.4 CLR PSW.3 (D)SETB PSW.3 CLR PSW.4

三、简答分析题(30分,评分标准:每小题各10分) 1、C51单片机片内设有几个定时器/计数器?它们是由哪些特殊功能寄存器组成?作定时器时,定时时间与哪些因数有关?作计数器时,对外界计数频率有何? 答: 8051单片机片内设有2个定时器/计数器:定时器/计数器1和定时器/计数器0,由THO、TLO、TH1、TL1、TMOD、TCON特殊功能寄存器组成。

作定时器时,定时时间与定时器的工作模式、定时器的计数初值以及单片机的晶振频率有关。

作计数器时,对外界计数频率不能高于振荡频率的1/24。

2、简述程序状态字寄存器PSW中各位的含义。并说出选择工作寄存器组位的编码。 答: 程序状态字寄存器PSW:程序状态字寄存器PSW:是一个8位寄存器,用来

存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据。

定义格式如下。其中,CY:进借位标志;AC:辅助进借位标志; F0:软件标志;OV:溢出标志;F1:用户标志位;P:奇偶校验标志; RS1、RS0:工作寄存器组选择(如表所示)。

表 工作寄存器组选择控制表

RS1 RS0 0 0 0 1 1 0 1 1 寄存器组 0 1 2 3 对应RAM地址 00H∽07H 08 H∽0FH 10 H∽17H 18 H∽1FH 3、阅读下列程序,并要求: (1) 说明程序功能;

(2) 写出涉及的寄存器及片内RAM单元的最后结果

MOV R0,#40H MOV A,@R0 INC R0 ADD A,@R0 INC R0 MOV @R0,A CLR A ADDC A,#0 INC R0

MOV @R0,A

答:(1) 功能:将40H,41H单元中的内容相加结果放在42H单元,进位放在43H, (2) (R0)=43H; (A)=1; (40H)=98H,(41H)=AFH;(42H)=47H,

(43H)=01H。

四、编程题(任选2题,20分,评分标准:每小题各10分) 1、将以7000H为首址的连续100个单元清零。 解: MAIN:MOV DPTR,#7000H

MOV R0,#100 CLR A

NEXT:MOVX @DPTR, A

INC DPTR DJNZ R0,NEXT RET

2、在ATS51片内RAM20H~3FH单元中有32B数据,若采用方式1进行串行通讯,波特率为1200波特,fOSC=12MHz,编写发送/接收程序对。

解:(1)T1工作于方式2作为波特率发生器,取SMOD=0,T1的计数如下:

fOSC2SMOD 波特率= 3212(256X)1121061200=

3212(256X)得: X=230=E6H (2)发送程序:(采用查询方式编程) ORG 0000H LJMP START ORG 0030H

START:MOV TMOD,#20H MOV TH1,#0E6H MOV TL1,#0E6H SETB TR1

MOV SCON,#40H MOV R0,#20H MOV R7,#32 LOOP:MOV SBUF,@R0 JNB TI,$ CLR TI INC R0

DJNZ R7,LOOP SJMP $ (3)接收程序

ORG 0000H LJMP START ORG 0030H

START:MOV TMOD,#20H MOV TH1,#0E6H MOV TL1,#0E6H Loop1: SETB TR1

MOV SCON,#50H MOV R0,#20H MOV R7,#32 LOOP:JNB RI,$ CLR RI

MOV @R0,SBUF

INC R0

DJNZ R7,LOOP1 SJMP $

3、设单片机采用C51,未扩展片外ROM,片外RAM采用一片6116,编程将其片内ROM从0100H单元开始的10B得内容依次外接到片外RAM从100H单元开始的10B中去。 解: MOV R2,#00H ;源数据缓冲器地址偏移量00H

MOV R3,#0AH ;字节长度→R3

MOV DPTR,#0100H ;源数据缓冲区首地址→DPTR MOV A,R2 ;源地址偏移量 →A L1: MOVC A,@A+DPTR ;传送一个数据 MOVX @DPTR,A

INC DPTR ;源地址(目的地址)加1

DJNZ R3,L1 ;数据全部传送完?没传送完,转L1继续传

SJMP $ ;结束

五、设计题(20分)

设计C51和ADC0809接口,采集2通道10个数据,存入内部RAM的50H~59H单元,画出电路图,编出程序,IN2的地址。 解:硬件电路设计如图:(评分标准:10分)

IN2的地址为7FFAH,P1.0查询转换结束信号。(评分标准:2分) 程序设计如下:(评分标准:8分)

ORG 0100H MOV R7,#0AH MOV R0,#50H

MOV DPTR,#7FFAH NEXT: MOVX @DPTR,A JB P1.0.$

MOVX A,@DPTR MOV @R0,A INC R0

DJNZ R7, NEXT

SJMP $

试卷三

一、填空题(20分,评分标准:每小题各2)

1、十进制数-29的8位补码表示为 11100011B 。

2、MCS-51有 7 种寻址方式,特殊功能寄存器只能采用 直接寻址方式。 3、MCS-51串行接口有 4 种工作方式,这可在初始化程序中用软件填写特殊功能寄存器 SCON 加以选择。 4、MCS-51有 5个中断源,有 2 个中断优先级,优先级由软件填写特殊功能寄存器 IP 加以选择。

5、假定(A)=56H,(R5)=67H。执行指令: ADD A,R5 DA A

后,累加器A的内容为 23H ,CY的内容为 1 。 6、假定标号qaz的地址为0100H,标号qwe值为0123H(即跳转的目标地址为0123H)。执行指令:

qaz:SJMP qwe

该指令的相对偏移量为 0123H-0102H=21H 。

7、MCS-51单片机访问片外存储器时,利用 ALE信号锁存来自 P0口的低8位地址信号。

8、MCS-51单片机片内RAM的工作寄存器区共有 32个单元,分为 4 组寄存器,每组 8个单元,以 R0~R7 作为寄存器名。

9、MCS-51单片机中 P0 口作地址/数据总线,传送地址码的 低8 位; P2 口作地址总线,传送地址码的 高8 位。

二、选择题(20分,评分标准:每小题各2分)

1、在中断服务程序中,至少应有一条 (D) (A)传送指令 (B)转移指令 (C)加法指令 (D)中断返回指令 2、ORG 2000H LCALL 3000H

0RG 3000H

RET 左边程序执行完RET指令后,PC= (C) (A)2000H (B)3000H (C)2003H (D)3003H

3、要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的

内容应是 (A) (A)98H (B)84H (C)42H (D)22H

4、若某存储器芯片地址线为12根,那么它的存储容量为 (C) (A)1KB (B)2KB (C)4KB (D)8KB

5、下面哪种外设是输出设备 (A) (A)打印机 (B)纸带读出机 (C)键盘 (D)A/D转换器

6、下面哪一个部件不是CPU的指令部件 (C) (A)PC (B)IR (C)PSW (D)ID

7、以下运算中对溢出标志OV没有影响或不受OV影响的运算是 (A) (A)逻辑运算(B)符号数加减法运算(C)乘法运算(D)除法运算 8、以下指令中,属于单纯读引脚的指令是 (C) (A)MOV P1,A (B)ORL P1,#0FH

(C)MOV C,P1.5 (D)DJNZ P1,short-lable 9、在异步通讯接口,其帧格式由1个起始位(0)、7个数据位、1个偶校验和1个停

止位“1”组成。当该接口每分钟传送1800个字符时,传送波特率为 (D)

(A)1800b/s (B)10b/s (C)3000b/s (D)300b/s

10、各中断源发出的中断请求信号,都会标记在MCS-51系统的 (B) (A)TMOD (B)TCON/SCON (C)IE (D)IP

三、判断题(10分,评分标准:每小题各1分)

1、MCS-51的程序存储器只是用来存放程序的。 (×) 2、当MCS-51上电复位时,堆栈指针(SP)=00H。 (×) 3、判断以下指令段的正误。 (×) MOV P2,#30H MOV R2,#57H MOVX A,@R2

4、0070H 80 FE HERE:SJMP HERE 执行该指令后,程序将原地踏步。 (√)

5、51单片机内部有两片寄存器,既是工作寄存器和专用寄存器,因在同片内RAM,则它们是统一编址。 (√)

6、要进行多机通讯,MCS-51串行接口的工作方式应选方式1。 (×)

7、定时器工作于方式2,若GATE=1、TR0=1、INT0=1就可启动定时/计数器。

(√)

8、使用C51且/EA=1时,仍可外扩KB的程序存储器。 (×)

9、MCS-51的相对转移指令最大负跳距是127B。 (×) 10、PC存放的是当前正在执行的指令。 (×)

四、简答分析编程题(任选3题,30分,评分标准:每小题各10分)

1、C51单片机片内设有几个定时器/计数器?它们是由哪些SFR组成?定时器/计数器作定时和计数时,其计数脉冲分别由谁提供?

答:C51单片机片内设有2个定时器/计数器:定时器/计数器0和定时器/计数器1。

由TH0、TL0、TH1、TL1、TMOD、TCON特殊功能寄存器组成。 作定时器时,计数脉冲来自单片机内部,其频率为振荡频率的1/12;

作计数器时,计数脉冲来自单片机外部,通过引脚T0(P3.4)和T1(P3.5)对外部脉冲信号计数,当输入脉冲信号从1到0的负跳变时,计数器就自动加1。计数的最高频率一般为振荡频率的1/24。

2、简述C51单片机的中断响应过程。

答:单片机如查询到某个中断标志为1,将按优先级进行中断处理。

中断得到响应后 ,对于有些中断源,CPU在响应中断后会自动清除中断标志,由硬件将程序计数器PC内容压入堆栈保护,然后将对应的中断矢量装入程序计数器PC,使程序转向中断矢量地址单元中去执行相应的中断服务程序。 3、编程实现多字节无符号数加法

解:编程说明:多字节运算一般是按从低字节到高字节的顺序依次进行的 入口:(R0)=被加数低位地址指针

(R1)=加数低位地址指针 (R2)=字节数 出口:(R0)=和数低位地址指针 程序清单如下:

ADDBIN:CLR C

LOOP1:MOV A,@R0

ADDC A,@R1 MOV @R0,A INC R0 INC R1

DJNZ R2,LOOP1 JNC LOOP2

MOV @R0,#01H RET

LOOP2:DEC R0

RET

4、将定时器/计数器做脉冲信号发生器。编程利用定时器T0定时,在P1.0端输出周期性方波信号,方波周期为2ms,已知晶振频率为6MHz。 答: 1)T0工作模式的设定: 选择模式1(16位方式)(最大定时131ms)

2)定时初值的设定: X=216-(1ms×6×106/12 )=65036=FE0CH,即:TH0应装0FEH,TL0应装0CH。 程序清单如下:

ORG 0000H LJMP MAIN ORG 000BH LJMP HUANG

主程序: ORG 0500H

MAIN:MOV TMOD,#01H MOV TL0,#OCH MOV TH0,#0FEH SETB EA SETB ET0 SETB TR0 HERE:SJMP HERE 中断服务程序:

HUANG:MOV TL0,#OCH MOV TH0,#0FEH CPL P1.0

RETI

五、设计题(任选1题,20分)

1、设计一个2×2行列式键盘,并编写键盘扫描程序。(评分标准:硬件电路10分,软件程序20分)

解:(1)逻辑电路如下:

(2)判断是否有键按下:有列线P1.0、P1.1送全0,查P0.0、P0.1是否为0。

判断哪一个键按下:逐列送0电平信号,再逐行扫描是否为0。 键号=行首号+列号

KEY: LCALL KS JZ KEY LCALL T10ms LCALL KS JZ KEY

MOV R2,#0FEH

MOV R4,#00H LK1: MOV P1,R2 JB P0.0,ONE MOV A,#00H LJMP KP

ONE: JB P0.1, NEXT MOV A,#02H KP: ADD A,R4 PUSH ACC LK: LCALL KS JNZ LK POP ACC

RET

NEXT: INC R4 MOV A,R2

JNB ACC.1,KND RL A

MOV R2,A AJMP LK4 KND: AJMP KEY1

KS: MOV P1,#0FCH MOV A,P0 CPL A

ANL A,#03H RET

T10ms: MOV R7,#10H TS1: MOV R6,#0FFH TS2: DJNZ R6,TS2 DJNZ R7,TS1 RET

2、设计一个由ATC51单片机与一片ADC0809组成的数据采集系统,ADC0809的地址

为7FF8H~7FFFH。画出硬件逻辑电路图,简述启动ADC0809的工作过程,并编制轮流采集8个通道数据,其采样值存入片外RAM 30H开始的存储单元中。(评分标准:硬件电路5分,工作过程5分,软件程序10分)

解:(1)逻辑电路如下:

(2)启动ADC0809的工作过程为:

先送通道号地址到ADDA~ADDC,有ALE信号锁存通道号地址后,让START

有效启动A/D转换,即执行一条MOVX@DPTR,A指令产生WR 信号,使ALE、START有效,锁存通道号并启动A/D转换。A/D转换完后,EOC端发出一正脉冲,接着执行MOVXA,@DPTR产生RD 信号,使OE端有效,打开锁存器三态门,8位数据就读入到CPU中。

(3)利用中断方式,分别对8路模拟信号轮流采样一次,转换结果依次存放

在首址为30H的片外数据RAM中

ORG 0000H AJMP MAIN ORG 0013H AJMP INT1 MAIN: MOV R1,#30H MOV R7,#08H

MOV DPTR,#07FF8H SET IT1 SET EX1 SET EA MOVX @DPTR,A HERE: SJMP HERE 中断服务程序:

INT1: MOVX A,@DPTR MOVX @R1,A INC R1 INC DPTR

DJNZ R7,READ RETI

READ: MOVX @DPTR,A RETI

因篇幅问题不能全部显示,请点此查看更多更全内容