单片机与应用复习题含参考答案.docx

上传人:b****6 文档编号:3395265 上传时间:2022-11-22 格式:DOCX 页数:18 大小:277.44KB
下载 相关 举报
单片机与应用复习题含参考答案.docx_第1页
第1页 / 共18页
单片机与应用复习题含参考答案.docx_第2页
第2页 / 共18页
单片机与应用复习题含参考答案.docx_第3页
第3页 / 共18页
单片机与应用复习题含参考答案.docx_第4页
第4页 / 共18页
单片机与应用复习题含参考答案.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

单片机与应用复习题含参考答案.docx

《单片机与应用复习题含参考答案.docx》由会员分享,可在线阅读,更多相关《单片机与应用复习题含参考答案.docx(18页珍藏版)》请在冰豆网上搜索。

单片机与应用复习题含参考答案.docx

单片机与应用复习题含参考答案

一、选择

1、8051单片机共有4个I/O口,但实际上可由用户无条件用作普通I/O接口的是A

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

2、设8051时钟振荡频率为12MHz,则一个机器周期的时间为D

A.0.8us  B.5us   C.2us   D.1us

3、8051执行输出操作时D

A.

低电平,

低电平  B.

高电平,

高电平

C.

高电平,

低电平  D.

低电平,

高电平

4、在微机应用系统中,常采用“看门狗”电路,其作用是在系统有故障时C

A.切断主机电源   B.迫使CPU中断  

C.复位CPU     D.迫使CPU单步执行

5、8051单片机启动时,自检和系统初始化程序是由D提供

A.片内特殊功能寄存器SFR  B.片外RAM  C.片内RAM D.ROM

6、程序计数器(PC)中存放的是D

A.操作数   B.操作码   C.指令   D.指令地址

7、8051IP和PC依次属于A

A.SFR、非SFR  B.SFR、SFR  C.非SFR、SFR D.非SFR、非SFR

8、8051工作寄存器组0~工作寄存器组3C

A.可同时选用

B.功能不完全相同

C.功能完全相同

D.工作寄存器组0比工作寄存器组3有更强的功能

9、8051复位后,SP的初始状态为A

A.07H  B.10H  C.80H  D.00H

10、8051下列特殊功能寄存器中,既能位寻址又可字节寻址的是B

a.SCON

b.TCON

c.TMOD

d.P2

A.a,b   B.a,b,d   C.c,d     D.b,c

11、8051特殊功能寄存器SFR中采用可以位寻址的寄存器,是因为C

A.可以扩展寄存器功能B.可以缩短指令执行时间

C.便于控制应用D.可以扩展存储空间

12、对于地址/数据复用的CPU,为获得地址信息,系统中必须使用

A.单向三态缓冲器  B.OC门  C.锁存器  D.双向三态缓冲器

13、对8位二进制数中的某位用“1”与其作“^”运算,对该位所起的作用是D

A.屏蔽   B.置位  C.清零  D.取反

14、已知X=CCH,Y=96H,则

的结果为B

A.33H   B.CCH   C.DFH   D.F8H

15、用8位地址实现输入和输出口寻址,可寻址的输入、输出口数最多为B

A.8个   B.256个  C.512个  D.128个

16、微机系统中的一个输入口和一个输出口用同一地址,A

A.不会出现矛盾    B.在输入时会出现问题

C.在输出时会有问题  D.根本不能用

17、若每个存储单元为8位,设存储空间为8000H~BFFFH,则其中可存放的字数(16位)是B

A.4K   B.8K   C.16K   D.32K

18、8051外部中断的触发方式为A

A.低电平或下降沿触发  B.仅下降沿触发

C.仅低电平触发     D.高电平触发

19、8051关于外部中断的正确说法是D

A.外部中断

为电平触发,而

是边沿触发

B.外部中断

为边沿触发,而

是电平触发

C.外部中断

为电平触发还是取决于TCON的IE0、IE1

D.对于边沿触发器的外部中断请求,进入中断服务程序时,外部中断请求标志由内部硬件清零

20、若8051系统中断源同时请求中断,则最先响应的中断为B

A.由指令设置而定B.INT0   C.TF0   D.RI

21.8051单片机中,响应中断请求时,其中优先级最高的是D

A.IE1   B.TF1   C.RI+TI   D.TF0

22、8051响应中断后,需由用户采用软件来清除中断标志的是A

A.TI、RI   B.TF0、TF1   C.IE0、IE1  D.IE0、TF0

23、能用于消除键盘抖动的硬件电路为   A   

A.基本RS触发器  B.D触发器   C.驱动器   D.缓冲器

24、8位CPU与12位无数据锁存功能D/A芯片相连时,其合理的连接方式应为D

A.两级三态缓冲  B.一级锁存   C.两级锁存 D.一级或两级锁存均可

25、某医用冰箱温度控制范围为0°C~-70°C,已选用了合适的温度传感器和CPU,除此以外,还必须选用主要芯片为B

A.A/D、D/A、定时器 B.A/D、D/A  C.A/D、定时器  D.D/A、定时器

26、两片DAC0832与8位CPU相连,要求两片DAC0832同时对不同的数据进行D/A转换,则两片DAC0832共需地址端口数为D

A.1   B.2    C.3   D.4

27、某数据采集系统需在同一时刻采集三路模拟量数据,为满足这一要求,在下述几种设计方案中,合理的应为B

a.四选一模拟开关-采样保持器-A/D-CPU

b.

四选一模拟开关-A/D-CPU

c.

CPU

A.a或b  B.b或c  C.c或a  D.仅a

28、一个语音信号的数字化过程主要是一个A/D转换过程。

设A/D转换器的输入电压范围为0~5V,若语音的最高频率为3500Hz,其动态范围为80分贝,要求分辨率为4mv,应选ADC芯片的位数、转换时间分别为A

A.12位、小于300us    B.10位、小于300us

C.12位、小于100us    D.14位、小于20us

29、甲乙两台计算机近距离RS232相连进行串口通信时,常采用最简单的三线连接法,即B

A.甲机的TXD、RXD、GND分别与乙机的TXD、RXD、GND相连

B.甲机的TXD、RXD、GND分别与乙机的RXD、TXD、GND相连

C.甲机的

、TXD、RXD分别与乙机的

、TXD、RXD相连

D.甲机的

、RXD、

分别与乙机的

、RXD、

相连

30、串口通信中,正确的发送或接收指令为B

a.SBUF=a;

while(RI==0);RI=0;

b.SBUF=a;

while(TI==0);TI=0;

c.while(RI==0);RI=0;

b=SBUF;

d.while(TI==0);TI=0;

b=SBUF;

A.a和b   B.b和c   C.仅d   D.b和c

31、宏定义#defineIN0XBYTE[0x8000]中常量IN0是B

A.片内RAM的地址

B.片外RAM的地址

C.存放在地址为0x8000的片外RAM中的无符号字节型数据

D.存放在地址为0x8000的片外ROM中的无符号字节型数据

32、共阴极g~a经接口电路接主系统数据总线D6~D0,设D6~D0为0100100时显示字符“2”,该接口电路的基本组成应为B

A.同相锁存器,同相驱动器   B.反相锁存器,同相驱动器

C.同相锁存器,反相驱动器   D.反相锁存器,反相驱动器

33、设A(P1.3)、B(P1.2)、C(P1.1)、D(P1.0)为四相步进电机的四相,且各相为低电平驱动,则正确的环形脉冲分配器为B

A.unsignedcharidatastep[8]={0x08,0x0C,0x04,0x06,0x02,0x03,0x01,0x09};

B.unsignedcharcodestep[8]={0x07,0x06,0x0E,0x0C,0x0D,0x09,0x0B,0x03};

C.unsignedcharstep[8]={0x08,0x09,0x01,0x03,0x02,0x06,0x04,0x0C};

D.unsignedcharidatastep[]={0x08,0x04,0x02,0x01};

34、8051一个键盘/显示器的单片机系统,其监控程序通常应包括D

a.键盘管理

b.显示

c.初始化

d.存储器管理

A.a,b   B.a,b,c    C.b,c,d    D.a,b,c,d

35、十字路口的红绿灯定时控制系统,其硬件主要由CPU、存储器、D组成

A.传感器、A/D转换电路和驱动电路

B.传感器、A/D转换电路和开关量接口

C.人机对话部件、A/D转换电路和驱动电路

D.开关量接口、驱动电路

 

二、填空

1、一个机器周期=12个晶振周期

2、8051串口工作方式3为11位、波特率可变的传输方式,写出11位数据格式1位起始位,8位数据位,1位可编程位,1位停止位

3、8051单片机复位后,其特殊功能寄存器SP的值为07H

4、用8位地址实现输入和输出口寻址,可寻址的输入、输出口数量最多为256个

5、8051单片机中,定时器1的中断入口地址是001BH,用C51表示8051定时器1的中断服务函数为voidT1-IRS(void)interrupt3

6、若时钟晶振为12MHz,则8051单片机定时器0、1的最长定时时间间隔是65.536ms

7、数码显示器有静态显示和动态显示两种显示方式

8、8051外部中断

有低电平触发和下降沿触发两种方式

9、语句TMOD=(TMOD&0xf0)|0x01;功能设置T0工作于方式1,T1不变

10、正常情况下,8051单片机一个机器周期内包括2个ALE信号。

11、若unsignedchara=15,则执行a<<=3;后,a的结果为120

12、AT89S51单片机内部有4k的FlashROM,若要用内部的ROM引导则

应接高电平

三、简答题

1、8051单片机内部资源概述;

(1)一个8位CPU

(2)一个片内振荡器及时钟电路

(3)4KBROM程序存储器

(4)128BRAM数据存储器

(5)两个16位定时器/计数器

(6)可寻址64KB外部数据存储器和64KB外部程序存储器空间的控制电路

(7)32条可编程的I/O线

(8)一个可编程全双工串行接口

(9)具有5个中断源、两个优先级嵌套中断结构

2、8051单片机片内RAM的空间划分与地址段分配;

 

高128BRAM特殊功能寄存器(SFR)

3、8051四个并行接口各自的功能;

P0口:

P0口可以作为输入输出口,但在实际应用中常作为地址/总线口,即低8为地址与数据线分时使用P0口。

低8位地址由ALE信号的负跳变使它锁存到外部地址锁存器中,而高8位地址由P2口输出。

P1口:

P1口的每一位都能作为可编程的输入或输出线。

P2口:

P2口可以作为输入口或输出口使用,外接I/O设备时,又作为扩展系统的地址总线,输出高8位地址,与P0口一起组成16位地址总线。

P3口:

P3口为双功能口。

作为第一功能使用时,其功能同P1口。

4、8051单片机试外部中断INT0、定时器中断T0、串行口中断产生中断的原理;

(1)、外部中断INT0的原理

若INT0中断允许(使能EX0=1,EA=1),则CPU立即停止当前程序,跳转到INT0对应的中断入口(ROM保留地址0x0003)执行中断服务程序(中断服务程序后CPU自动对中断标志清零:

IE0=0),待INT0中断服务程序执行完毕后再回原执行程序处;

若INT0中断未允许,则程序不能跳转到INT0中断入口,不执行中断服务程序(中断标志IE0不能自动清0)。

(了解:

当INT0引脚输入如下信号:

下降沿(IT0=1)或低电平(IT0=0)

CPU自动(硬件)产生中断标志(IE0=1))

(2)、定时器中断T0原理

若T0中断允许(使能ET0=1,EA=1),则CPU立即停止当前程序,跳转到T0对应的中断入口(ROM保留地址0x000B)执行中断服务程序(中断服务程序后CPU自动对溢出标志清零:

TF0=0),待T0中断服务程序执行完毕后再回原执行程序处;

voidTIMER0_ISR(void)interrupt1

{//定时器0中断服务程序

}

若T0中断未允许,则程序不能跳转到T0中断入口,不执行中断服务程序(中断标志此时TF0不能自动清0)。

(了解:

手工启动定时器(TR0=1)后,T0开始对机器周期计数(硬件对TH0、TL0构成的16位计数器递增计数);当计至TH0=0xff,TL0=0xff后,再计一次则定时器产生溢出(溢出标志TF0=1))

(3)、串行口中断产生中断的原理

执行串口发送指令SBUF=a;通过TXD口发送串行数据,发送结束后CPU自动产生发送结束标志(TI=1);此时若串行中断使能(ES=1,EA=1),则程序立即停止当前程序,跳转置中断号为4的串行口中断入口地址(0x0023),执行中断服务程序voidUART_ISR(void)interrupt4,CPU不具有自动清零功能;

同样,若串口在RXD引脚接收到数据,硬件自动产生接收结束标志(RI=1),若此时若串行中断使能(ES=1,EA=1),则程序立即停止当前程序,跳转置中断号为4的串行口中断入口地址(0x0023),执行中断服务程序voidUART_ISR(void)interrupt4,CPU不具有自动清零功能,可通过b=SBUF;指令取出暂存在数据缓冲区内的数据。

 

5、8051单片机的5个中断源名称、各自对应的中断号与中断入口地址,中断服务程序函数形式,各自的中断标志位名称,中断优先级等。

中断源名称

中断号(n)

中断入口地址(8n+3)

中断服务程序函数形式

中断标志位名称

中断优先级

外部中断0

0

0003H

voidINT0_ISR(void)interrupt0

{}

定时/计数器0溢出中断(

1

000BH

voidT0_ISR(void)interrupt1

{}

外部中断1

2

0013H

voidINT1_ISR(void)interrupt2

{}

定时/计数器1溢出中断(

3

001BH

voidT1_ISR(void)interrupt3

{}

串行接口

4

0023H

voidUART_ISR(void)interrupt4

{}

6、若串口通信率为9600bps,每个字节以10位方式传输。

若要传输1K字节大概多少时间?

7、会根据给定的fosc频率,计算8051定时器0的方式0、方式1、方式2的最长定时时间间隔计算。

方式0:

方式1:

方式2:

8、8051单片机应用系统的开发语言与开发步骤;

(1)开发语言:

C语言、汇编语言

(2)开发步骤:

了解系统功能、要求、任务

确定设计方案

硬件设计

软件设计

系统调试

 

9、标志位:

EX0、EX1、ET0、ET1、ES;IE0、IE1、TF0、TF1、RI、TI;IT0、IT1;TR0、TR1;SMOD的功能;

EX0:

外部中断0中断允许位。

1允许;0禁止。

EX1:

外部中断1中断允许位。

1允许;0禁止。

ET0:

定时/计数器0的溢出中断允许位。

1允许;0禁止。

ET1:

定时/计数器1的溢出中断允许位。

1允许;0禁止。

ES:

串行接口中断允许位。

1允许;0禁止。

RI:

串行接口接收中断标志。

在串行接口方式0中,收到第8位数据时,由硬件置位;其它方式中,收到停止位的中间位置时硬件置位。

中断服务子程序中,软件清0。

TI:

串行接口发送中断标志。

在串行接口方式0中,每当发完8位数据时由硬件置位;其它方式中,停止位开始时置位。

中断服务子程序中,软件清0。

TF0:

T0的溢出中断标志。

当T0溢出时,硬件使其置1。

CPU响应该中断时,硬件清0。

TF1:

T1的溢出中断标志。

当T1溢出时,硬件使其置1。

CPU响应该中断时,硬件清0。

TR0:

T0的运行控制位。

1启动计数;0停止计数。

TR1:

T1的运行控制位。

1启动计数;0停止计数。

IT0:

外部中断0触发方式控制位。

1下降沿出发;0低电平触发。

IT1:

外部中断1触发方式控制位。

1下降沿出发;0低电平触发。

IE0:

外中断0中断请求标志。

为低电平或下降沿时,IE0由硬件置1。

CPU响应该中断时,硬件使IE0清0。

IE1:

外中断1中断请求标志。

为低电平或下降沿时,IE1由硬件置1。

CPU响应该中断时,硬件使IE1清0。

SMOD:

波特率选择位。

串口工作于方式2时,0波特率为振荡器频率的1/64,1波特率为振荡器频率的1/32;串口工作于方式1或方式3时,0波特率为定时器1溢出率的1/32,1波特率为定时器1溢出率的1/16。

10、寄存器:

TMOD、TH0、TL0、TH1、TL1、SCON、PCON、PCON、SBUF的功能。

 

TMOD:

:

1计数器方式;0定时器方式。

(一般取0)。

GATE:

一般取0。

 

TCON:

 

SCON:

SM0,SM1:

串口操作方式选择位。

(表2-9)

SM2:

允许方式2和方式3的多机通信使能位。

(一般取0)

REN:

允许串行接收位。

1允许;0禁止。

(一般取1)

TB8:

方式2和3中要发送的第9位数据。

(任意项)

RB8:

方式2和3中已接收的第9位数据。

(任意项)

TI,RI:

发送、接收中断标志。

(一般取0)

 

PCON:

 

SBUF:

存放串口已接收或要发送的一个字节的数据。

四、程序设计

1、语句功能分析与应用;

#definesetbit(var,bit)(var|=(0x01<<(bit)))//定义置位函数

#defineclrbit(var,bit)(var&=(~(0x01<<(bit))))//定义位清零函数

#definecheckbit(var,bit)(var&(0x01<<(bit)))//定义位查询函数

#definexorbit(var,bit)(var^=(0x01<<(bit)))//定义位取反函数

2、给定晶振,在P1.0引脚上产生一要求的方波,写出完成的源程序,包括主程序与定时器中断服务程序;

#include"reg51.h"

#defineCOUNT445//修改周期

unionMY1

{

unsignedinta;

unsignedcharb[2];

}

unionMY1X;

sbitp1_0=P1^0;

voidT0_ISR(void)interrupt1

{

staticunsignedchari=0;

TH0=X.b[0];

TL0=X.b[1];

i++;

if(i==3){p1_0=0;}//修改占空比

if(i==4)

{

p1_0=1;

i=0;

}

}

voidmain(void)

{

X.a=65535-COUNT;

TMOD=(TMOD&0xf0)|0x01;

TH0=X.b[0];

TL0=X.b[1];

ET0=1;

EA=1;

TR0=1;

while

(1)

{}

}

周期为2ms,占空比为75%的方波。

 

3、给定fosc=11.0592MHz,根据串口通信波特率参数要求,写出串口初始化程序voidsbuf_init(),要求有计算过程。

波特率计算方法:

晶振频率,n:

计数器的计数值,SMOD:

波特率选择位,等于0或1。

方式0:

方式1:

方式2:

方式3:

与方式1一样

voidsbuf_init(void)//11.0592MHz--10位异步通信方式,9600bps,SMOD=0,T1计数值n=3

{

SCON=0x50;//01010000串口工作于方式1

PCON=0X00;//最高位SMOD=0

TMOD=(TMOD&0x0f)|0x20;//T1工作于方式2,8位计数器TL1溢出后,TH1的值自动载入TL1.

TH1=0Xfd;//T1计数值为3

TL1=0xfd;//T1计数值为3

TR1=1;//T1启动

}

4、会定时器相关计算。

(参考简答题7)

五、分析设计题

1、A/D转换(实验七)

(1)会分析与设计ADC0809与AT89S51的接口电路;

(2)会根据硬件电路确定ADC0809的外部RAM地址;

上图中ADC引脚(实验中接P2.7)为0时,芯片被选中。

(3)会分析与设计基于查询方式的A/D转换程序;

#include"reg51.h"

#include"absacc.h"

#defineAIN0XBYTE[0x0000]

sbitEOC=P3^3;

voidmain(void)

{

unsignedchari=0;

unsignedchara;

while

(1)

{

AIN0=0;//开始AD转换

i=i;

i=i;

while(EOC==0);//等待转换完成

a=AIN0;//转换结果放在变量a中

}

}

(4)会根据采集到的数字量与输入模拟量进行对应的计算。

V:

参考电压(

)n:

采集到的数字量

测得模拟电压

2、D/A转换(实验八)

(1)会设计DAC0832与AT89S51的单缓冲方式接口电路;

(2)会根据硬件电路确定DAC0832的外部RAM地址;

上图中DAC引脚(实验中接P2.7)为0时,芯片被选中。

(3)会编写锯齿波或三角波程序;

三角波:

voidtriangle(void)//三角波子函数,如要改成锯齿波,只需去除产生下降沿的For循环。

{

unsignedchari;

for(i=0;i<255;i++)//三角波上升沿

{

DAC0832=i;

delay

(1);

}

for(i=0;i<255;i++)//三角波下降沿,去除此循环即为锯齿波。

{

DAC0832=255-i;

delay

(1);

}

}

 

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

当前位置:首页 > 高中教育 > 初中教育

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

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