晓庄单片机复习题.docx
《晓庄单片机复习题.docx》由会员分享,可在线阅读,更多相关《晓庄单片机复习题.docx(19页珍藏版)》请在冰豆网上搜索。
晓庄单片机复习题
单片机复习题(+作业)
一、填空题
1、AT89S51单片机有个中断源,有个中断优先级,其中INT0中断服务程序入口地址为 。
2、AT89S51单片机低128单元随机存贮器,按其用途可划分为 区、
区、区,它们的地址范围分别为 、 、
,RAM中地址为80H~FFH的为区。
3、8051单片机复位后SP= ,P0= 。
4、单片机8051片内有两个 位的定时/计数器,即T0和T1。
5、单片机8051中的串行通信共有 种方式,其中方式 是用作同步移位寄存器来扩展I/O口的。
6、单片机8051的时钟频率为6MHz,若要求定时1ms,定时/计数器工作于模式1,其定时/计数器的初值为。
7、KeiLC51软件中,编译连接后生成可烧写的文件扩展名是___________。
8、C51的存储类型有、bdata、idata、pdata、、。
9、AT89S51单片机的内部硬件结构包括了:
、、、和以及并行I/O口、串行口、中断控制系统、时钟电路、位处理器等部件,其最小系统由51单片机、电路和电路组成。
10、执行#definePA8255 XBYTE[0x3F]
PA8255=0x7e后,单元的内容变为。
二、选择
1、在MCS-51单片机中,当采用4MHZ晶振频率时,一个机器周期等于()微秒。
A.1B.2C.3D.4
2、单片机的程序计数器PC是16位的,其寻址范围为()。
A.128BB.256BC.8KBD.64KB
3、若将字库放在程序存储器中,则存储类型是()
A.xdataB.codeC.pdataD.Bdata
4、MCS-51单片机定时器工作方式0是指()工作方式。
A.8位B.8位自动重装C.13位D.16位
5、51单片机在同一优先级的中断源同时申请中断时,CPU首先响应()
A.外部中断0B.外部中断1C.定时器0中断D.定时器1中断
6、T0设置成计数方式时,外部引脚计数脉冲的最高频率应是晶振频率的()
A.1/12B.1/24C.1/48D.1/6
7、串行口工作在方式0时,作同步移位寄存器使用,此时串行数据输入输出端为()
A.RXD引脚B.TXD引脚C.T0引脚D.T1引脚
8、下列论述哪一项是错误的:
()
A.RS-232是同步传输数据的
B.RS-232编码协议是传输距离短的主要原因
C.RS-422、RS-485的电路原理与RS-232基本相同
D.RS-232广泛用于计算机接口
9、51外扩ROM,RAM和I/O口时,它的数据总线是()
A.P0B.P1C.P2D.P3
10、LCD1602属于那一种液晶显示器()
A.笔段式液晶显示器B.字符点阵式显示器C.图形点阵式液晶显示器
11、对5V电压进行A/D采样,若要求对电压的最小分辩率为5mv,则A/D的转换位数为:
()
A.8位二进制B.10位二进制C.12位二进制D.14位二进制
12、以下哪种方式的接口总线最少?
()
A.SPIB.I2CC.单总线D.并行通信
13、以下哪项不是SPI总线信号()
A.SCKB.MISOC.MOSID.EA
14、可以将P1口的低4位全部置高电平的表达式是()
A.P1&=0x0f;B.P1|=0x0f;CP1^=0x0f;D.P1=~P1;
15、如果执行IP=0x0A;则优先级最高的是()
附IP的定义:
×,×,×,PS,PT1,PX1,PT0,PX0
A.外部中断1B.外部中断0C.定时/计数器1D.定时/计数器0
16、汇编用RS1、RS0改变工作寄存器组,C51改变工作寄存器组用关键字()
A.interrupt B.sfrC.while D.using
17、执行#definePA8255 XBYTE[0x3F]
PA8255=0x7e; 后,下列说法对的是()
A.片外RAM存储单元003FH的值是7EH
B.PA单元的值为8255H
C.片内RAM存储单元003FH的值是是0x7e
D.PA单元的值为7EH
18、单片机程序设计中需要在主程序设计死循环来防止程序跑飞,在C51中实现死循环采用语句()。
A.while
(1);B.for(;;);Cwhile
(1);或for(;;);都可以D.前面的语句都不行
19、程序定义如:
voidT0_svr(void)interrupt1using1
请问下面说法哪个是错误的()
A.T0_svr无入口参数,也无返回值
B.T0_svr是中断函数,中断序号为1,对应汇编入口地址为000BH
C.T0_svr不能被其他程序调用,但可以被主程序callT0_svr调用
D.T0_svr的工作寄存器为1组,即片内RAM的08H-0FH地址处
20、下面的语句,用于设置定时器0的中断,并使之能的是()
A.EX0=1;B.ET0=1;C.ES=1;D.EX1=1;
21、MCS-51单片机的字长是()。
A.2位B.4位C.8位D.16位
22、单片机复位时,程序计数器PC的值为()。
A.0000HB.0030HC.4000HD.4100H
23、单片机在与外部I/O口进行数据传送时,将使用()线。
A.
B.
C.
D.
24、AT89S51单片机中的片内程序存储器空间有多大?
()
A.0KBB.4KBC.8KBD.64KB
25、AT89S51单片机的位寻址区位于内部RAM的()单元。
A.00H~7FHB.20H~7FHC.00H~1FHD.20H~2FH
26、下列计算机语言中,CPU能直接识别的是()
A.自然语言B.高级语言C.汇编语言D.机器语言
27、改变工作寄存器组的方法是()
A.usingnB.interruptmC.reentrantD.sbitm
28、若将字库放在程序存储器中,则存储类型是()
A.xdataB.codeC.pdataD.bdata
29、下列类型中,()是51单片机特有的类型
A.charB.intC.sbitD.float
30、0023H是51单片机的(串行口)中断入口地址
A.外部中断0B.外部中断1C.定时器中断1D.定时器中断0
31、T1中断允许控制位为()
A.ET0B.ET1C.ESD.EX1
32、定时器/计数器工作于模式2,在计数溢出时()
A.计数从零重新开始B.计数从初值重新开始
C.计数停止D.由程序设定
33、外部中断INT0的触发方式控制位IT0置1后,其有效的中断触发信号是()
A.高电平B.低电平C.上升沿D.下降沿
34、串行口工作在方式0时,作同步移位寄存器使用,此时串行数据输入输出端为()
A.RXD引脚B.TXD引脚C.T0引脚D.T1引脚
35、在异步通信中每个字符由9位组成,串行口每分钟传25000个字符,则对应的波特率为()b/s。
A.2500B.2750C.3000D.3750
36、当进行点对点通信时,通信距离为3M,则可以优先考虑下了哪种通信方式()
A.串行口直接相连B.RS-232C.RS-422AD.RS-485
37、甲乙双方采用串行口模式1进行通信,采用定时器T1工作在模式2做波特率发生器,波特率为2400bit/s,当系统晶振为6Mhz时,SMOD=1,计数初值为()
A.F3HB.F6HC.FEHD.E3H
38、51单片机外扩存储器芯片时,4个I/O口中用作地址总线的是(A)。
A.P0口和P2B.P0口C.P1口和P3口D.P2口
39、对5V电压进行A/D采样,若要求对电压的最小分辩率为5mv,则A/D的转换位数为:
()
A.8位二进制B.10位二进制C.12位二进制D.14位二进制
40、I2C总线在读或写时,开始的信号为()
A.SCL为高电平期间,SDA从低变高B.SCL为高电平期间,SDA从高变低
C.SCL为低电平期间,SDA从低变高D.SCL为低电平期间,SDA从高变低
41、AT89S51单片机CPU的主要组成部分为()。
A.运算器、寄存器B.加法器、寄存器
C.运算器、指令译码器D.运算器、控制器
42、程序计数器PC用来()。
A.存放上一条的指令地址B.存放指令
C.存放下一条的指令地址D.存放正在执行的指令地址
43、AT89S51单片机中,唯一一个用户不能直接使用的寄存器是()。
A.PCB.PSWC.BD.DPTR
44、单片机的堆栈指针SP始终是()。
A.指示堆栈顶B.指示堆栈长度C.指示堆栈底D.指示堆栈地址
45、什么是单片机()
A.CPU、存储器、I/O设备、总线集成在一个芯片上B.CPU、存储器、I/O设备
C.CPUD.CPU、存储器
46、堆栈设置在数据存储器的:
A.30H~7FHB.08H~7FH
C.30H~FFHD.08H~FFH
47、位寻址区在
A.20H~2FHB.30H~3FH
C.20H~FFHD.30H~FFH
48、51单片机复位后,片内SP、PC、P0~P3中内容分别为:
A.00H、0000H、FFHB.07H、0000H、FFH
C.07H、0000H、00HD.00H、FFFFH、FFH
49、AT89S51单片机要先完成复位,必须在RST引脚上加大于()机器周期的高电平。
A.1个B.0.5个C.1.5个D.2个
50、提高单片机的晶振频率,则机器周期()。
A.不定B.变短C.变长D.不变
51、在AT89S51中,为实现P0口线的数据和低位地址的分时复用,应使用()。
A.地址缓冲器B.地址译码器C.地址寄存器D.地址锁存器
52、假设晶体振荡频率为12MHZ,执行一条指令用一个机器周期,则1s执行()条指令
A.1000条指令B.100万条指令
C.10万条指令D.1万条指令
53、51单片机时钟频率为12Mhz,则复位脉冲宽度至少应为()
A.2μsB.1μsC.4μsD.8μs
54、语句intbdataibase表示ibase()。
A.是1位变量B.可位寻址C.不可位寻址D.是16位变量
55、MCS-51单片机内部设置了两个()位可编程定时器/计数器T0和T1.
A.1B.4C.8D.16
56、计数功能下,计数脉冲的频率最高为振荡频率的(),定时功能下,计数频率为振荡频率的()。
A.1/12,1/12B.1/24,1/12C.1/24,1/24D.1/12,1/24
57、控制寄存器TCON中和定时/计数器相关的有两个控制位,分别是()。
A.TFX,TRXB.ITX,IEXC.TFX,IEXD.ITX,TRX
58、控制寄存器TCON的低四位和()有关。
A.定时B.中断C.计数D.控制
59、工作方式1最大可计数为()。
A.65536B.256C.8192D.65535
60、位定义指令BIT的作用是()。
A.用于定义字B.用于定义某特定位的标识符
C.用于定义字节D.用来定义汇编程序的起始地址
61、unsignedint类型变量的二进制位数为()。
B
A.7位B.16位C.8位D.1位
62、语句intbdataibase表示ibase()。
A.可位寻址B.是1位变量C.不可位寻址D.是16位变量
63、控制寄存器TCON中定时/计数器的运行控制位是()
A.M0和M1B.GATEC.TR1和TR0D.TF0和TF1
64、定时/计数器的4种工作方式中,除了方式()之外,其他3种工作方式的基本原理是一样的。
A.3B.1C.0D.2
65、下列说法正确的是()。
A.串行通信传送数据的速度比并行通信的速度快。
B.并行通信传送数据的速度比串行通信的速度快。
C.在采用同一技术的情况下,串行通信传送数据的速度比并行通信的速度快。
D.在采用同一技术的情况下,并行通信传送数据的速度比串行通信的速度快。
66、串行通信数据传送分为()和(),单片机主要使用()方式。
A.异步传送,同步传送,异步传送
B.异步传送,同步传送,同步传送
C.单工通信,双工通信,单工通信
D.单工通信,双工通信,双工通信
67、数据传送的速度用()来表示,即每秒传送()。
A.帧,字符数
B.帧,代码的个数
C.波特率,字符数
D.波特率,二进制代码的个数
68、异步串行通信常用接口RS-232C通常的电压范围是()。
A.0-12VB.0-5VC.-12V-+12VD.-5V-+5V
69、允许串行接收位REN是由()置位或清除。
A硬件B软件C.自动D.外部输入信号
70、关于串行口工作方式1,以下说法正确的是()。
A.串行口工作方式1下,一条发送数据的起始位和停止位需要由软件加入。
B.串行口工作方式1下,数据有TXD端串行输出。
C.串行口工作方式1下,一帧数据发送完后,将TI清零。
71、串行口工作方式1下,定时器T1工作于方式()。
A.0B.1C.2D.3
72、51单片机的中断源个数和中断优先级个数分别是()。
A5、2B.5、3C.6、2D.6、3
73、在中断响应后必须用软件清零的是()。
A.TF1B.TIC.IE1D.TF0
74、51单片机定时器T0的溢出标志TF0,若计满数在CPU响应中断后()。
A.由硬件清零B.由软件清零C.A和B都可以D.随机状态
75、51单片机串行口发送/接收中断源的工作过程是:
当串行口接收或发送完一帧数据时,将SCON中的(),向CPU申请中断。
A.RI或TI置1B.RI或TI置0C.RI置1或TI置0D.RI置0或TI置1
76、AT89S51单片机响应中断后,能自动清除中断请求标志的有()。
A.外部中断采用的电平触发方式B.定时/计数器TO/T1的中断
C.串行口的发送中断TID.串行口的接收中断RI
77、在AT89S51的中断请求源中,需要外加电路实现中断撤销的是()。
A.电平方式的外部中断请求B.定时中断
C.外部串行中断D.跳沿方式的外部中断请求
78、在存储器扩展电路中74LS373的主要功能是()。
A.存储数据B.存储地址C.锁存数据D.锁存地址
79、51单片机的扩展I/O口与外部数据存储器的编址方式是()。
A.分别独立编址B.统一编址C.变址编址D.动态变址
80、PCON的波特率选择位是()。
A.SMODB.RB8C.TID.REN
81SCON的TI和RI都是()。
A.软件清零,硬件置位B.硬件清零,硬件置位
C.硬件清零,软件置位D.软件清零,软件置位
82、执行中断处理程序最后一句指令返回后,()。
A.程序返回到响应中断时一句的下一句
B.程序返回到主程序开始处
C.程序返回到调用语句的下一句
三、简答题
1、AT89S51单片机内部包含哪些主要逻辑功能部件?
简述各部分的功能作用
2、中断响应的条件是什么?
51系列中断系统包括几个中断源和几个中断优先级,写出所有的中断源的符号、名称及其入口地址。
(考到的)
一:
①:
总中断允许开关打开,即IE寄存器中的中断总允许为EA=1;
②:
该中断发出中断请求,即该中断源对应的中断请求标志为1;
③:
该中断的中原允许位位1,即该中断被允许;
④:
无同级或更高级的中断正在被服务;
二:
5个中断源,2个中断优先级;
三:
中断源符号
中断源名称
中断入口地址
INTO非
外部中断0
0003
T0
定时/计数器1
000B
INT1非
外部中断1
0013
T1
定时/计数器1
001B
串行口中断
0023
3、在使用51的定时器/计数器、串行口前,应对它进行初始化,其步骤是什么?
①定时计数器:
设置TMOD选择T1或者T0工作在哪个方式;
填初值TH/TL
总中断打开EA=1
中断允许位打开ET0/ET1=1
启动定时计数器TR0/TR1=1
在写中断的时候根据工作方式的不同决定是否要重新写初值
②串行口:
设置SCON,通过对SM0\SM1设置工作方式,根据REN决定串行口是否接受数据
4、51单片机的存储结构是什么?
如何划分及各部分功能?
四、读程序写结果
1、#include
sbitP1_0=P1^0;
voiddelay(unsignedintn)
{while(n--);}
voidint0_svr(void)interrupt0using1
{delay(1000);
if(INT0==0){P1_0=!
P1_0;while(INT0==0);}
}
voidmain()
{
EA=1;EX0=1;
while
(1);
}
请说明上面程序的功能:
答:
当中断0被触发时,P1^0口电平状态发生翻转,如果中断0一直处于触发的状态,就一直保持刚触发时的状态。
--------------------------------------------------------------------------------------2、#include
#include
voidmain(void)
{
unsignedchari;
for(i=0;i<10;i++){
DBYTE[0x40+i]=DBYTE[0x30+i];
DBYTE[0x30+i]=0;}
while
(1);
}
请说明上面程序的功能:
答:
将片外RAMdata区首地址为0X30h的连续十个内存单元赋值给片外RAMdata区首地址为0X40的连续十个内存单元,并且将首地址为0x30的连续十个内存单元进行清零
--------------------------------------------------------------------------------------
3、说明下列程序的作用是什么?
#include
#defineucharunsignedchar
#defineuintunsignedint
voiddelayms(uintxms)
{
uinti,j;
for(i=xms;i>0;i--)//i=xms即延时约xms毫秒
for(j=110;j>0;j--);
}
voidmain()
{
SM0=1;
SM1=0;
TB8=1;
EA=1;
ES=1;
TI=0;
while
(1)
{
SBUF=0xaa;
delayms
(1);
}
}
voidser0()interrupt4
{
TI=0;
}
答:
串行口工作在方式2,9位异步收发,发送的数据为0Xaa,且是地址帧,当发送数据后触发串行中断,在中断中将发送中断标志位置零,再进行发送,无限次发送数据为0Xaa的地址帧,帧时隙为1ms
--------------------------------------------------------------------------------------
4、完善程序例(并行口、中断、定时/计数器、串行口)
本图用单片机外中断功能改变数码管的显示状态,当无外部中断0中断请求时,主程序运行状态为数码管循环显示0,1,2,3,4,5,6,7,8,当有外部中断0产生时,数码管显示状态改为闪烁显示“8”,共8次后,返回主程序继续执行。
请补充完整程序,实现以上功能。
#include
unsignedcharcodetable[]={0x3f,0x06,0x5B,0x4f,
0x66,0x6d,0x7d,0x7f};
voiddelay(unsignedchardelaytime)
{
unsignedchari,j;
for(i=0;i<=_delaytimei++)
{
for(j=0;j<=200;j++);
}
}
上一届是写这个程序不是填空
voidinit_tx()
{
EA=_1_;
EX0=_1;
IP=0x00;
}
voidmain()
{
unsignedchari;
init_tx();
while
(1)
{
for(i=0;i<8;i++)
{
P1=table[i];
delay(200);
}
}
}
voidtx0()interrupt0
{
unsignedchari;
P1=0x7f;
delay(200);
for(i=0;i<=16;i++)
{
P1=~P1;
delay(200);
}
}
--------------------------------------------------------------------------------------
5.产生4:
1方波
/**************实验要求********
*开关控制方波的启动
*P2.4接拨动开关
*P2.6接示波器
*产生4:
1的方波
*周期为1秒
*1秒为一百万us1s等于1000ms
********************************/
#include
#defineucharunsignedchar
sbitswitches=P2^4;
sbitpwm=P2^6;
ucharcount=0;
main()
{
pwm=0;
TMOD=0X01;
TH0=(65536-20000)/256;
TL0=(65536-20000)%256;
EA=1;
ET0=1;
while
(1)
{
if(switches==0)
{