最新单片机复习题纲1.docx
《最新单片机复习题纲1.docx》由会员分享,可在线阅读,更多相关《最新单片机复习题纲1.docx(20页珍藏版)》请在冰豆网上搜索。
最新单片机复习题纲1
单片机复习提纲
一.选择题:
1.MC-51单片机复位后,程序计数器PC的内容是(C)。
A.00HB.FFHC.0000HD.FFFFH
2.8051单片机芯片在使用时应把
信号引脚(A)。
A.接高电平B.接地C.悬空D.接地址锁存器选通端
3.MCS-51的程序计数器PC为16位计数器,因此其寻址范围是(D)。
A.8KB.16KC.32KD.64K
4.在MCS-51单片机中,唯一一个可供用户使用的16位寄存器是(B)。
A.PSWB.DPTRC.ACD.PC
5.在MCS-51单片机中,唯一一个用户不能直接使用的寄存器是(D)。
A.PSWB.DPTRC.ACD.PC
6.在单片机中,用作标志寄存器的一个特殊功能寄存器是(A)。
A.PSWB.DPTRC.ACD.PC
7.单片机的指令地址存放在(D)中。
A.PSWB.DPTRC.SPD.PC
8.提高单片机的晶振频率,则机器周期信号(C)。
A.不变B.变长C.变短D.变长变短不定
9.地址空间3000H~37FFH共有(B)存储单元。
A.1KB.2KC.4KD.8K
10.8051单片机系统扩展时使用的锁存器用于锁存(B)。
A.高8位地址B.低8位地址C.8位数据D.ALE信号
11.在MCS-51单片机的中断中,如果出现同级中断申请时,就按硬件查询
序列来处理响应次序,其优先级别中第三个为:
(D)
A、定时/计数器中断0B、定时/计数器中断1
C、外部中断0D、外部中断1E、串行口中断
12.MSC-51在响应中断时,必须由用户清除的标志为(B)
A、TF0B、RIC、IE0D、TF1
13.8051不具有第二功能的I/O口是:
(B)
A、P0口B、P1口C、P2口D、P3口
14.关于MCS-51的堆栈操作,正确的说法是(C)。
A、先入栈,再修改栈指针对B、先修改栈指针,再出栈
C、先修改栈指针,再入栈D、以上都不对
15.要使MCS-51能够响应定时器T1中断、串行接口中断,它的中断允许寄存器IE的内容应是(A)。
A、98HB、84HC、42HD、22H
16.PSW=18H时,则当前工作寄存器是(D)。
A、0组B、1组C、2组D、3组
17.执行IE=0x03后,MCS-51将响应的中断是(D)。
A、1个B、2个C、3个D、0个
18.各中断源发出的中断请求信号,都会标记在MCS-51系统中的(A)。
A、TCON/SCONB、IEC、IPD、TMOD
19.下列对SCON的相关位描述不正确的是(A)。
A、当REN=1时,禁止串行口接收数据B、在方式0时,SM2必须为0
C、RI位由软件清零D、TI=1,表示一帧数据发送结束
20.设串行口工作于方式1,晶振频率为6MHz,波特率为1200b/s,SMOD=0,则定时器1的计数初值为:
(B)
A、E8HB、F4HC、FDHD、FAH
21.以下所列特点,不属于串行口工作方式0的是(D)
A、波特率是固定的,为时钟频率的十二分之一B、8位移位寄存器
C、TI和RI都必须用软件清零D、在通信时须对定时器1的溢出率进行设置
22.MCS-51外扩ROM、RAM和I/O口时,它的数据总线是(A)
A、P0口B、P1口C、P2口D、P3口
23.在串行通信中,数据传送的速率为:
120字符/s,采用异步通信方式,帧的格式为:
1个起始位,7个数据位,1个奇偶校验位,1个停止位,则其波特率为:
(A)位/s
A、1200B、120C、840D、1080
24.若设串行控制寄存器SCON=40H,则串行口的工作方式为:
(B)
A、方式0B、方式1C、方式2D、方式3
25.CPU响应中断的条件包括(ACDE)。
A、现行指令运行结束B、保护现场C、有中断请求
D、申请中断的中断源中断允许位为1E、已开放CPU中断
26.MCS-51的并行I/O口信息有两种读取方法,一种是读引脚,还有一种是(A)
A、读锁存器B、读数据库C、读累加器AD、读CPU
27.单片机应用程序一般存放在(B)中。
A、RAMB、ROMC、CPUD、寄存器
28.系统总线指的是(ABE)。
A、数据总线B、地址总线C、内部总线D、外部总线E、控制总线
29.51系列单片机的内部RAM中,可以进行位寻址的地址空间为(B)。
A、00H~2FHB、20H~2FHC、30H~7FHD、7FH~FFH
30.共阳极LED数码管的驱动信号有何特点?
(B)
A、高电平点亮B、低电平点亮C、以上都不是
31.80C51单片机的CPU主要的组成部分为(A)。
A、运算器、控制器B、加法器、寄存器
C、运算器、加法器D、运算器、译码器
32.单片机能直接运行的程序称为(D)。
//可执行程序
A、源程序B、汇编程序C、目标程序D、编译程序
33.单片机中的程序计数器PC用来(C)。
A、存放指令B、存放正在执行的指令地址
C、存放下一条指令地址D、存放上一条指令地址
34.单片机80C51的ALE引脚是(B)。
A、输出高电平B、输出矩形脉冲,频率为fOSC的1/6
C、输出低电平于D、输出矩形脉冲,频率为fOSC的1/2
35.单片机上电复位后,AT89C51堆栈区的最大允许范围是(B)个单元。
A、64B、120C、128D、256
36.PSW中的RS1和RS0用来(A)。
A、选择工作寄存器区号B、指示复位C、选择定时器D、选择工作方式
37.80C51的串行数据缓冲器SBUF用于(B)。
A、存放运算中间结果B、存放待发送或已接收到的数据
C、暂存数据和地址D、存放待调试的程序
38.单片机应用程序一般存放在(B)中。
A、RAMB、ROMC、CPUD、寄存器
39.80C51单片机的机器周期为2µs,则其晶振频率fOSC为(C)MHz。
A、1B、2C、6D、12
40.在80C51中,需要外加电路实现中断撤除的是(A)
A、电平方式的外部中断B、脉冲方式的外部中断(硬件清0)
C、外部串行中断D、定时中断
41.80C51单片机串行口接收数据次序是下述的顺序(B)。
(1)接收完1帧数据后,硬件自动将SCON的RI置1
(2)用软件将RI清零
(3)接收到的数据由SUBF读出
(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)
42.80C51单片机串行口发送数据次序是下述的顺序(A)。
(1)待发送数据送SBUF
(2)硬件自动将SCON的TI置1
(3)经TXD(P3.1)串行发送一帧数据完毕(4)用软件将TI清零
A、
(1)(3)
(2)(4)B、
(1)(4)
(2)(3)
C、
(1)
(2)(3)(4)D、(3)(4)
(1)
(2)
二.填空题:
1.根据MCS—51内部RAM的配置情况填空:
MCS—15内部RAM共有128字节。
其中:
00H-1FH为工作寄存器区;
20H-2FH为位寻址区,可以字节寻址,也可以位寻址;
30H-7FH为用户RAM区,只能字节寻址。
2.根据51系列单片机的基本特性填空:
(1)、CPU字长是8位
(2)、可供使用的地址线最多可达到16根
(3)、可寻址的最大空间为64K
(4)、具有4个8位并行I/O口,共32根I/O线
(5)、具有5个中断源,2个优先级
(6)、8051具有片内ROM,8031无片内ROM
3.MCS-51外部中断0的中断入口地址是:
0003H、外部中断1的中断入口地址是:
0013H、定时器T0的中断入口地址是:
000BH定时器T1的中断入口地址是:
001BH、串行口的中断入口地址是:
0023H。
4.中断过程包括:
中断请求、中断响应、中断处理和中断返回。
5.在8051单片机采用总线结构扩展系统中,高8位地址由P2端口提供,低8位地址由_P0端口提供。
6.在8051单片机中,一个机器周期包括6个状态周期,一个状态周期包括2个振荡周期。
7.根据应用的要求,复位电路通常有两种基本形式,它们分别是上电复位和
按键复位。
8.C51源程序的扩展名为c。
机器能直接执行的文件的扩展名为hex。
9.按数据传送方向,串行通信可分为:
单工、半双工和全双工。
10.单片机中使用的串行通信都是全双工方式。
11.虽然MCS-51串行口的发送和接收缓冲寄存器都名为SBUF,但发送和接收可通过指令SBUF=ACC;、ACC=SBUF;来区别(以累加器为例)。
12.P0端口既可以传递数据又可以传递地址,是分时复用的。
13.当单片机复位后,程序的入口地址为0000H;堆栈指针SP为07H。
14.在MCS-51的I/O端口的读引脚方式下,CPU首先必须使欲读端口引脚所对应的锁存器置1。
15.C51程序的基本单位是函数。
一个C51源程序至少包含一个主函数。
16.变量的基本属性是变量名和变量值。
一旦在程序中定义了一个变量,C51编译器就会给这个变量分配相应的存储单元。
此后变量名就与存储单元地址相对应,变量值就与存储单元内容相对应。
17.DAC0832与单片机的接口连接可根据实际需要采用直通方式、单缓冲方式和
双缓冲方式3种工作方式。
18.为防止现场强电磁干扰或工频电压通过输出通道反串到测控系统,一般都采用通道隔离技术。
实现通道隔离的常用器件是光电耦合器。
19.电磁继电器既可以实现输入端与输出端的隔离,又能达到通过弱电信号控制高压、交直流大功率设备的目的。
20.单片机是指在一片集成电路芯片上集成微处理器(CPU)、存储器与各种输入/输出接口,从而构成的单芯片微型计算机。
三.判断题:
1、TMOD中的GATE=1时,也由TRi控制定时器的启停。
F
2、堆栈可用于响应中断或调用子程序时,保护断点地址,程序断点16位地址会自动压入堆栈,数据入栈前SP先自动加1,然后高8位地址进栈,每进栈一个字节SP又自动加1,而后是低8位地址进栈。
F
3、程序计数器PC也是特殊功能寄存器。
F
4、MCS-51复位不影响内部RAM中的数据,包括工作寄存器R0—R7。
F
5、MCS-51系列单片机的特点之一是内部工作寄存器以RAM形式组成。
T
6、P0端口既可以作地址线,又可以作数据线,是分时复用的。
T
7、在MCS-51单片机中,高级中断可以打断低级中断形成中断嵌套。
T
8、每个特殊功能寄存器都既有字节地址,又有位地址。
F
9、20H一定是字节地址。
F
10、中断初始化时,对中断允许寄存器的状态设置,只能使用位操作指令,而不能使用字节操作指令。
F
11、8051单片机具有4个并行端口和一个串行端口。
T
12、堆栈遵循数据先进后出,后进先出的原则。
T
13、只要有中断出现,CPU就立即响应中断。
F
14、MCS-51的外设端口地址是采用外设端口和外部RAM统一编址的方式。
T
15、MCS-51单片机共有五个中断源,因此相应地在芯片上就有五个中断请求输入引脚。
F
16、MCS-51单片机的定时和计数都使用同一计数机构,所不同的只是计数脉冲的来源。
来自于单片机内部的是定时,而来自于外部的则是计数。
T
17、MCS-51对LED管的显示可以分为静态和动态两种。
单片机控制系统通常采用动态扫描显示。
T
18、MCS-51使用于多机通信时必须在方式2或方式3下工作,作主机的80C51的SM2应设定为0,作从机的SM2设定为1。
T
19、在串行通信的查询法编程时,发送过程是先发后查,而接收过程是先查后收。
T
20、变量和函数都必须先定义后使用。
T
四.简答题:
1、简述行列式矩阵键盘扫描的工作过程。
答:
①判断键盘中是否有键按下;
②若有键按下,则调用延时子程序去抖动;再次判断是否有键按下;
③若有键按下,进行行(列)扫描,判断是哪一个键按下,求取按键的键值;
④等待按键释放;
⑤根据按键的键值,转入相应按键的处理程序。
2、简述单片机控制LED数码管进行动态显示的工作原理。
答:
动态显示就是一位一位地轮流点亮各个LED。
每一位LED数码管每隔一段时间才点亮一次。
单片机使用两个并行口来控制LED:
一个作为字形口,一个作为字位口;用循环程序每隔一段时间送出一个字形码、字位码让LED的某位显示某个数字;只要点亮的间隔时间小于人眼的视觉暂留时间,就可以看到是多个LED在“同时”显示了。
3、简述单片机系统扩展时采用总线结构的基本原则。
答:
(1)以P0口作地址/数据总线,此地址总线是系统的低8位地址线。
(2)以P2口的口线作高位地址线。
(不固定为8位,需要几位就从P2口引出几条口线)
(3)控制信号线:
1使用ALE作为地址锁存的选通信号,以实现低8位地址的锁存。
2以
信号作为扩展程序存储器(ROM)的读选通信号。
3以
信号作为内外程序存储器的选择信号。
4以
和
作为扩展数据存储器和I/O端口的读写选通信号。
4、计算机的存储器地址空间有哪两种结构形式,各有什么特点?
答:
普林斯顿结构:
也叫冯诺依曼结构,将程序指令存储器和数据存储器合并在一起,即ROM和RAM位于同一存储空间的不同物理位置。
哈佛结构:
将程序指令存储器和数据存储器分开,即ROM和RAM位于不同存储空间
5、用示意图表明C51的存储类型与单片机存储空间的对应关系。
P62
6、MCS-51有哪几个中断源?
它们的中断向量地址分别是多少?
中断编号是多少?
(用表格列出)
P90
7、80C51单片机的内部资源主要包括哪些?
中央处理器(CPU),
片内振荡器和时钟电路,
4KB片内程序存储器(ROM),
128字节的片内RAM,
2个16位的定时/计数器,
可寻址64KB片外数据存储器和64KB片外程序存储器空间的控制电路,
4个8位双向I/O端口,
一个全双工串行接口,
5个中断源
五.接口编程题。
1、利用定时器产生一方波信号,要求采用查询或中断的方式编写程序。
例:
4KHZ的方波
查询法:
#include
sbitp1_0=P1^0;
voidmian()
{
TMOD=0X01;//定时器1方式1
TR0=1;//启动定时器
while
(1)
{
TH0=0XFF;//装初值
TL0=-125;
while(!
TF0);
TF0=0;
p1_0=!
p1_0;
}
}
中断法:
#include
sbitp1_0=P1^0;
voidmian()
{
TMOD=0X01;//定时器1方式1
TH0=0XFF;//装初值
TL0=-125;
EA=1;//开总中断
ET0=1;//开定时器0中断
TR0=1;//启动定时器
while
(1);
}
voidT0_ISR()interrupt1
{
TH0=0XFF;
TL0=-125;
p1_0=!
p1_0;
}
2、数据采集系统的编程设计(要求采用查询或中断的方式编写程序)。
ADC的查询方式:
#include
#include
sbitSTART=P2^5;
sbitEOC=P2^6;
sbitOE=P2^7;
voidmain(void)
{
unsignedlongtemp,adc_value;
while
(1)
{
START=1;//启动转换
_nop_();
START=0;
while(EOC==0);//等待AD转换完成
OE=1;
P1=0xff;
temp=P1;//读取数据
OE=0;
adc_value=(1000*5*temp/255+5)/10;//四舍五入
display(adc_value);
}
}
3、利用延时子程序设计流水灯。
//低电平驱动
#include
#definePLED0P0
//延时
voiddelayms(unsignedintn)
{
unsignedinti,j;
for(i=n;i>0;i--)
for(j=123;j>0;j--);
}
voidmain()
{
unsignedchari,led=0x7f;
while
(1)
{
for(i=0;i<8;i++)
{
PLED1=led;
delayms(250);
led=(led>>1)|0x80;//或用循环右移_cror_
}
}
4、串行口的点对点通信时发送、接收程序。
//方式1
/******发送程序******/
#include
voiddelay_ms(unsignedinti);
voidmain()
{
unsignedcharc=0,temp;//定义计数变量
SCON=0x50;//SM0=0,SM1=1,方式1;REN=1,允许接收;SM2=TI=RI=0;
TMOD=0x20;//T1定时方式2
TH1=TL1=0xf4;//设置波特率为2400bps
TR1=1;//开始计时
while
(1)
{
SBUF=c;//把要发送的数据送到发送逻辑单元
while(!
TI);//在此等待数据发送完
TI=0;//发送数据后,软件把TI清零
while(!
RI);//在此等待B机返回的数据
RI=0;//接收数据后,软件把RI清零
temp=SBUF;//接收B机返回的值
if(temp==c)//如果B机返回的值与A机发送出去的值相等
{
P2=c;//显示
if(++c>=16)
c=0;
delay_ms(500);//间隔500毫秒再发送数据
}
}
}
/******接收程序******/
#include
unsignedcharr=0;//定义变量存放接收到的数据
voidmain()
{
SCON=0x50;//SM0=0,SM1=1,方式1;REN=1,允许接收;SM2=TI=RI=0;
TMOD=0x20;//定时器方式2
TH1=TL1=0xf4;//当晶振11.0592MHz,波特率为2400Mbps
TR1=1;
EA=1;
ES=1;
while
(1);
}
voidserial()interrupt4//串行口中断服务程序
{
RI=0;//软件清零标志位
ES=0;
r=SBUF;
P2=r;
SBUF=r;
while(TI==0);//如果是TI引起的中断
TI=0;
ES=1;
}
//方式2
/*双机通讯--甲方(发送)程序*/
#include
#defineucharunsignedchar
#defineuintunsignedint
/*延时函数*/
voiddelayms(uintn)
{
uinti,j;
for(i=n;i>1;i--)
for(j=125;j>1;j--);
}
voidmain()
{
ucharcounter=0;
P2=0X00;//从0开始算
TMOD=0X20;//定时器1工作于方式2
TH1=TL1=0XFD;//自动重装,初值0xFD,波特率:
9600
SCON=0XD0;//串口工作于方式3,允许接收
TR1=1;//启动定时器1
while
(1)
{
ACC=counter;//将数据放入累加器,以便奇偶校验
TB8=P;//奇偶校验
SBUF=counter;//发送数据给乙方
while(TI==0);//等待发送完成
TI=0;//清除发送标志位
while(RI==0);//等待乙方的回答
RI=0;//清除接收标志位
if(RB8==1)//接收到数据,并进行奇偶校验
{
P2=counter;//输出到数码管
if(++counter>15)counter=0;
delayms(500);
}
}
}
/*双机通讯--乙方(接收)程序*/
#include
#defineucharunsignedchar
voidmain()
{
(四)大学生对手工艺制品消费的要求ucharreceive;
P2=0X00;//从0开始算
TMOD=0X20;//定时器1工作于方式2
TH1=TL1=0XFD;//自动重装,初值0xFD,波特率:
9600
SCON=0XD0;//串口工作于方式3,允许接收
营销调研课题TR1=1;//启动定时器1
while
(1)
{
while(RI==1)//是否接收到数据
体现市民生活质量状况的指标---恩格尔系数,上海也从1995年的53.4%下降到了2003年的37.2%,虽然与恩格尔系数多在20%以下的发达国家相比仍有差距,但按照联合国粮农组织的划分,表明上海消费已开始进入富裕状态(联合国粮农组织曾依据恩格尔系数,将恩格尔系数在40%-50%定为小康水平的消费,20%-40%定为富裕状态的消费)。
{
RI=0;//接收标志位清0
receive=SBUF;//读取接收到的数据
根据调查资料分析:
大学生的消费购买能力还是有限的,为此DIY手工艺品的消费不能高,这才有广阔