单片机复习题1.docx

上传人:b****5 文档编号:8218130 上传时间:2023-01-29 格式:DOCX 页数:13 大小:1.29MB
下载 相关 举报
单片机复习题1.docx_第1页
第1页 / 共13页
单片机复习题1.docx_第2页
第2页 / 共13页
单片机复习题1.docx_第3页
第3页 / 共13页
单片机复习题1.docx_第4页
第4页 / 共13页
单片机复习题1.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

单片机复习题1.docx

《单片机复习题1.docx》由会员分享,可在线阅读,更多相关《单片机复习题1.docx(13页珍藏版)》请在冰豆网上搜索。

单片机复习题1.docx

单片机复习题1

一.填空题(每小题2分,共20分)。

1.MCS—51布尔处理机的存储空间是___00H~7FH____。

2.P2口即可作为__高8位地址线和数据总线_____,也可以作通用的I/O口使用。

3.若由程序设定RS1、RS0=01,则工作寄存器R0~R7的直接地址为__08~0FH____。

4.8051的堆栈区一般开辟在_用户RAM区__。

5.所谓寻址,其实质就是__如何确定操作数的单元地址_____。

6.存储器映象是__存储器在整个存储空间的地址范围_____。

7.定时器中断请求发生在_定时时间到______。

8.中断响应时间是指___从查询中断请求标志位到转向中断区入口地址所需的机器周期数___。

9.通过CPU对I/O状态的测试,只有I/O已准备好时才能进行I/O传送,这种传送方式称为____程序查询方式___。

10.在中断服务程序中现场保护和现场恢复期间,中断系统应处在__关中断__状态。

11.8031单片机芯片共有40个引脚,MCS-51系列单片机为8位单片机。

12.8031的异步通信口为全双工(单工/半双工/全双工),

13.8031内部数据存储器的地址范围是00H-7FH,外部数据存储器的最大可扩展容量是64K字节。

14.8031的位地址空间的字节地址范围是20H-2FH,对应的位地址范围是00H-7FH。

15.当MCS-51执行MOVCA,@A+PC指令时,伴随着PSEN*控制信号有效。

16.当单片机复位时PSW=00H,这时当前的工作寄存器区是0区,R4所对应的存储单元地址为04H。

17.MCS-51系列单片机指令系统的寻址方式有寄存器、直接寻址、寄存器间接、立即、基址加变址、位寻址。

(相对寻址也可以)。

18.MCS-51系列单片机的典型芯片分别为8031、8051、8751。

19.8031的P3口为双功能口。

20.由8031组成的单片机系统在工作时,EA*引脚应该接地(或0);

21.8031外部程序存储器的最大可扩展容量是64K,其地址范围是0000H~FFFFH。

22.8031的中断源有外中断0,T0,外中断1,T1,串行口,有2个中断优先级。

23.8031唯一的一条16位数据传送指令为MOVDPTR,data16。

24、LJMP的跳转范围是64K,AJMP的跳转范围是2KB,SJMP的跳转范围是±128B(或256B)。

25.若A中的内容为68H,那么P标志位为1。

26.访问内部RAM使用MOV指令,访问外部RAM使用MOVX指令。

27.指令系统中执行时间最长的指令是乘除指令。

28.在MCS-51单片机中,需双向传递信号的是数据线。

29.一台计算机的指令系统就是它所能执行的指令集合。

30.指令MOVA,#30H的源操作数寻址方式是立即寻址。

31.指令MOVA,30H的源操作数寻址方式是直接寻址。

32.指令MULAB是把累加器A和寄存器B中的两个无符号8位数相乘,所得结果低8位存放在A中,高8位存放在B中。

33.三态缓冲电路输出除了通常的低电平状态、高电平状态以外,还有一种是高阻。

二.单项选择题(每小题2分,共20分)

1.MCS-51单片机复位操作的主要功能是把PC初始化为(C)。

A.0100HB.2080HC.0000HD.8000H

2.要使AL中的D0位取反,其它位不变,则可采用的指令(D)。

A.SUBBA,0FEHB.ANLA,0FEH

C.ORLA,0FEHD.XRLA,01H

3.定时器1工作在计数方式时,其外加的计数脉冲信号应连接到(D)引脚。

A.P3.2B.P3.3C.P3.4D.P3.5

4.当外部中断请求的信号方式为脉冲方式时,要求中断请求信号的高电平状态和低电平状态都应至少维持(A)。

A.1个机器周期B.2个机器周期

C.4个机器周期D.10个晶振周期

5.MCS-51单片机在同一优先级的中断源同时申请中断时,CPU首先响应(A)。

A.外部中断0B.外部中断1C.定时器0中断D.定时器1中断

6.AT89C51单片机的T0工作在方式1计时,则计数器的最大计数值的初值是(C)。

A.65536B.FF00HC.0000HD.FFFFH

7.MCS-51单片机的外部中断1的中断请求标志是(D)。

A.ET1B.TF1C.IT1D.IE1

8.下列标号中,正确的标号是(D)。

A.1BT:

B.BEGIN:

C.ADD:

D.STAB31:

9.串行口每一次传送(A)字符。

A.1个B.1串C.1帧D.1波特

10.8031单片机内部有两个定时器/计数器,当其初始化为定时工作方式时,(B)。

A.T0,T1引脚线不能再作为I/O口使用B.T0,T1引脚线能再作为I/O口使用

C.定时方式时是外部输入脉冲计时D.定时器T0通常作为串行口的波特率发生器

11.短跳转指令的助记符是(C)

A.LJMPB.AJMPC.SJMPD.JMP

12.MCS-51指令系统中具有三个操作数的指令是(B)

A.累加器判零转移指令B.数值比较转移指令

C.减1条件转移指令D.变址寻址转移指令

13.逻辑“异或”运算的助记符是(D)

A.ANLB.ORLC.CPLD.XRL

14.指令系统中执行时间最长的指令是(B)

A.加减指令B.乘除指令C.逻辑运算指令D.控制转移指令

15.下列指令中正确的是(D)

A.MOVA,@30HB.PUSH#30HC.MOVR1,R2D.XCHA,R1

16.对程序存储器的读操作,只能使用(D)

A.MOV指令B.PUSH指令C.MOVX指令D.MOVC指令

17.三态缓冲器的输出应具有三种状态,其中不包括(B)

A.高阻抗状态B.低阻抗状态C.高电平状态D.低电平状态

18.十进制调整指令的指令格式是(B)

A.INCAB.DAAC.DECAD.RLCA

19.在MCS-51中,以下说法正确的是(C)

A.具有独立的专用的地址线B.由P0口和P1口的口线作地址线

C.由P0口和P2口的口线作地址线D.由P1口和P2口的口线作地址线

20.在MCS-51中,需双向传递信号的是(B)

A.地址线B.数据线C.控制信号线D.电源线

21.通过改造而形成的既可读又可写的程序存储器的最大特点是(B)

A.掉电后所存信息不消失B.既可运行程序又可修改程序

C.既可存储数据又可存储程序D.既可存放开发程序又可存放监控程序

22.下列指令错误的是(D)

A.XCHA,R0B.SUBBA,#30HC.SWAPAD.ADDA,@30H

23.MCS-51单片机采用了引脚复用技术,其具有第二功能信号引脚的是(D)

A.P0口线B.P1口线C.P2口线D.P3口线

24.可使内部RAM50H单元中的高3位变反,其余位不变的指令是(C)

A.ANL50H,#0FFHB.ORL50H,#00H

C.XRL50H,#0E0HD.ORL50H,#0FFH

25.单片机运行的最简单的配置系统是(A)

A.最小应用系统B.最小功耗系统

C.典型系统D.测控增强系统

26.单片机系统扩展时使用的锁存器,是用于锁存(B)

A.高8位地址B.低8位地址C.8位数据D.ALE信号

27.将二进制数10110100101转换成十六进制数为(A)

A.5A5HB.0B4AHC.6B4HD.0C55H

28.假定(A)=0C5H,执行指令SWAPA后,累加器A的内容为(C)

A.3AHB.8BHC.5CHD.0E2H

29.在MCS-51中,为实现P0口线的数据和低位地址复用,应使用(C)

A.地址缓冲器B.地址寄存器C.地址锁存器D.地址译码器

30.在算术运算过程中,(PSW)=01H,则累加器A的内容可以为(B)

A.21HB.31HC.41HD.53H

 

三.阅读程序填空题(每小题10分,共20分)

1.执行下列程序段后,(P1)=__9BH_____。

MOVP1,#5DH

CPLP1.1

CPLP1.2

CLRP1.6

SETBP1.7

2.执行下列程序段后,(A)=__8BH(或10001011B)_____,(CY)=__不影响__。

MOVA,#0C5H

RLA

3.下列程序段执行后,(R0)=__7FH___,(7EH)=_00H___,(7FH)=__41H___。

MOVR0,#7EH

MOV7EH,#0FFH

MOV7FH,#40H

INC@R0

INCR0

INC@R0

4.已知(SP)=60H,子程序SUBTRN的首地址为0345H,现执行位于0123H的ACALLSUBTRN双字节指令后,(PC)=__0345H___,(61H)=__25H_____,(62H)=_01H___。

5.阅读下列程序,说明其功能。

MOVR0,#data

MOVA,@R0

RLA

MOVR1,A

RLA

RLA

ADDA,R1

MOV@R0,A

RET

答:

是(data)×10操作

6.假定(A)=0FH,(R7)=19H,(30H)=00H,(R1)=40H,(40H)=0FFH。

执行指令:

DECA

DECR7

DEC30H

DEC@R1

后,(A)=0EH,(R7)=18H,(30H)=0FFH,(40H)=0FEH。

7.假定(A)=0FFH,(R3)=0FH,(20H)=0F0H,(R0)=30H,(30H)=00H,执行指令:

INCA

INCR3

INC20H

INC@R0

后,(A)=00H,(R3)=10H,(20H)=0F1H,(30H)=01H

四.程序注释(每空2分共40分)

1.MOVA,#54H;(A)=54H

MOVR5,#87H;(R5)=87H

ADDA,R5;(A)=0DBH

DAA;(A)=41H

MOV50H,A;(50H)=41H

2.MOVA,#30H;(A)=30H

MOVB,#0B0H;(B)=0B0H

MOVR0,#31H;(R0)=31H

MOV30H,#78H;(30H)=78H

XCHA,R0;(A)=31H;(R0)=30H

XCHDA,@R0;(A)=38H

XCHA,B;(A)=0B0H

SWAPA;(A)=0BH

 

3.MOVA,#30H;(A)=30H

MOVR0,#72H;(R0)=72H

MOV72H,#45H;(72H)=45H

ANLA,#72H;(A)=30H

ORL72H,A;(72H)=75H

XRLA,@R0;(A)=45H

 

五.编程题

1.将一位十六进制数转换成ASCII码。

解:

HEXASC:

MOVA,R1

ANLA,#0FH

PUSHA

CLRC

SUBBA,#0AH

POPA

JCJAFA

ADDA,#07H

JAFA:

ADDA,#30H

MOVR3,A

RET

 

2.设片内RAM单元7CH中的数据是两个BCD码,现在要将它们分开,并将高位BCD码送到R6中,将低位BCD码送到R5中。

解:

MOVR1,#7CH

MOVA,#00H

XCHDA,@R1

MOVR5,A

MOVA,7CH

SWAPA

MOVR6,A

3.把累加器中的8位无符号二进制数转换成3位(2字节)BCD码形式。

百位数字存入片内的21H单元,十位数和个位数存入相邻的22H单元中。

解:

BINBCD:

MOVB,#100

DIRAB

MOV21H,A

MOVA,10

XCHA,B

DIVAB

SWAPA

ADDA,B

MOV22H,A

RET

4.设在片内RAM中,20H和21H单元各存放有一个8位数据,要求拼装一个新的字节并送30H保存,其低5位取自20H单元中的低5位,高3位取自21H单元中的低3位。

解:

MOV30H,20H

ANL30H,#00011111B

MOVA,21H

SWAPA

RLA

ANLA,#11100000B

ORL30H,A

5.设在外部的3个连续存储单元ST1、ST2和ST3中,ST1和ST2存放着两个不带符号的二进制,请找出其中的大数并存入ST3单元中。

解:

START:

CLRC

MOVDPTR,#ST1

MOVXA,@DPTR

MOVR7,A

INCDPTR

MOVXA,@DPTR

SUBBA,R7

JNCBIG1

XCHA,R7

BIG0:

INCDPTR

MOVX@DPTR,A

RET

BIG1:

MOVXA,@DPTR

SJMPBIG0

6.编写一段程序,实现逻辑表达式为:

P1.3=P1.1(P2.2+TF0)(IE1+25H)26H的功能。

解:

START:

MOVC,P2.2

ORLC,TF0

ANLC,P1.1

MOVP1.3,C

MOVC,E1

ORLC,/25H

ANLC,P1.3

ANLC,/26H

MOVP1.3,C

SJMP$

 

六.应用设计题(每小题10分,共40分)

图1

1.图1所示,试写出8255A的端口地址,并对8255A编程,使其各口工作于方式0,A口作输出,B口作输入,C口高4位作输入,C口的低4位作输出。

(10分)

解:

PA口、PB口、PC口和控制寄存器的端口地址分别为FF7CH、FF7DH、FF7EH和FF7FH。

由方式选择控制字的格式与定义可确定出满足要求的方式控制字应为8CH(10001010B)。

对8255A编写程序将8CH写入它的控制寄存器,初始化程序为

MOVDPTR,#0FF7FH

;DPTR作地址指针,指向控制口

MOVA,#8CH

MOVX@DPTR,A

 

2.图2所示的是一个8路的输入接口,试写出端口地址,并写出读取端口数据的程序段。

(10分)

图2

解:

端口地址:

0BFFFH

程序段为:

MOVDPTR,#0BFFFH

MOVXA,@DPTR

3.用用锁存器扩展输出口如图3所示,试写出端口地址,并写出从端口输出数据的程序段。

(10分)

图3

解:

如此连接的输出口地址是P2.7=0的任何16位地址。

7FFFH可作为该口地址。

对该口的输出操作如下:

MOVDPTR,#7FFFH

;使DPTR指向74LS377输出口

MOVA,#data

;输出的数据要通过累加器A传送

MOVX@DPTR,A

;向74LS377扩展口输出数据

4、某一应用系统使用了一片DAC0832芯片,其端口地址为0xfffeH,如图3下所示,试用C语言编一程序段,使其VOUT输出产生连续的锯齿波,且波形在0V~5V之间。

(10分)

解:

#include

#include

#defineDA0832XBYTE[0xfffe]

#defineucharunsignedchar

#defineuintunsignedint

voidstair(void)

{uchari;

while

(1)

{for(i=0;i<=255;i=i++)/*形成锯齿波输出值,最大值为255*/

{DA0832=i;/*D/A转换输出*/

}

}

}

图4ADC0809与8031的接口连接图

5.设图4接口电路用于一个8路模拟量输入的巡回检测系统,使用中断方式采样数据,把采样转换所得的数字量按序存于片内RAM的30H~37H单元中。

采样完一遍后停止采集。

解:

其数据采集的初始化程序和中断服务程序如下:

初始化程序:

MOVR0,#30H;设立数据存储区指针

MOVR2,#08H;设置8路采样计数值

SETBIT0;设置外部中断0为边沿触发方式

SETBEA;CPU开放中断

SETBEX0;允许外部中断0中断

MOVDPTR,#FEF8H;送入口地址并指向IN0

LOOP:

MOVX@DPTR,A;启动A/D转换,A的值无意义

HERE:

SJMPHERE;等待中断

中断服务程序:

MOVXA,@DPTR;读取转换后的数字量

MOV@R0,A;存入片内RAM单元

INCDPTR;指向下一模拟通道

INCR0;指向下一个数据存储单元

DJNZR2,INT0;8路未转换完,则继续

CLREA;已转换完,则关中断

CLREX0;禁止外部中断0中断

RETI;中断返回

INT0:

MOVX@DPTR,A;再次启动A/D转换

RETI;中断返回

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1