单片机试题.docx
《单片机试题.docx》由会员分享,可在线阅读,更多相关《单片机试题.docx(18页珍藏版)》请在冰豆网上搜索。
![单片机试题.docx](https://file1.bdocx.com/fileroot1/2023-1/10/69021f8c-7b86-447e-8ff7-e45fc3e855f5/69021f8c-7b86-447e-8ff7-e45fc3e855f51.gif)
单片机试题
2013级单片机原理总复习题
1.单项选题
1.进制数3840转化为十六位进制数是(D)
A.0F0FHB.0F0F0HC.00FFHD.0F00H
2.十进制数-1的补码是(D)
A.10000001B.01111111C.11111110D.11111111
3.RAM指的是(D)
A.触发器B.只读存档C.随机存储器D.寄存器
4.一个机器周期包含几个震荡周期(C)
A.4个B.8个C.12个D.16个
5.当PSW的值为0FAH时,CUP选中的是哪一项工作寄存器(D)
A.第0组B.第1组C.第2组D.第3组
6.位地址7AH具体处于片内RAM中什么位子(C)
A.2FH中D0位B.2FH中D2位C.2FH中D2位D.2FH中1D位
7.要访问专用寄存器应采用什么寻址方式(C)
A.寄存器寻址B.间接寻址C.直接寻址D.变址寻址
8.用于控制定时器启动的寄存器是(B)
A.TMODB.TCONC.T0D.T1
9.存储容量为16KB的EPROM芯片,需要几根地址线(C)
A.8跟B.10跟C.14跟D.16跟
10.下面标号中的哪一个不符合汇编语言的规定(B)
A.LP2B.DJNZC.NEXTD.F3EAH
11.存储容量为16KB的EPROM芯片,需要几根地址线(D)
A.8跟B.11跟C.13跟D.15跟
12.下列指令中属于MCS-51指令系统的位指令是(A)
A.ANLC,/bitB.XRLC,bitC.ORLbit,CD.MOVC,bit
1.十进制数4256转换为十六进制数是(A)
A.10A0HB.0A0AHC.0AA00HD.00AAH
2.二进制数10000000的真值是(D)
A.128B.255C.-255D.-128
3.ROM指的是(B)
A.触发器B.只读存储器C.随机存储器D.寄存器
4.当系统的晶振频率位12MHz时,其机器周期是(C)
A.3μsB.2μsC.1μsD.4μs
5.开机复位后,并行口Ι/O各寄存器的状态是(D)
A.随机数B.维持原有内容C.00HD.0FFH
6.位地址1EH具体出去片内RAM中什么位子(A)
A.23H中D6位B.23H中D5位C.03H中D6位D03H中D5位
7.要访问片外数据存储器应采用什么寻址方式(C)
A.寄存器寻址B.直接寻址C.间接寻址D.变址寻址
8.用于控制定时器操作模式及工作港式的寄存器是(B)
A.TCONB.TMODC.T0D.T1
9.存储容量为8位RAM芯片,需要几根地址线(C)
A.8跟B.10跟C.13跟D.16跟
10.下面标号中的哪一个不符合汇编语言的规定(B)
A.OLLP1B.ADDC.DONED.A2B4
2.填空题
1.十六进制数的权是16ⁿ。
2.程序状态字寄存器PSW中状态位有CY,AC,OV,P。
3.在MCS-51单片机的特殊功能寄存器中,地址值能被8整除的寄存器均有寻址功能。
4.指令MOVCA,WA+PC是变址寻址方式。
5.访问65KB存储空间的转移类指令有LJMP,JMP和LCALL.
6.IE是中断允许寄存器,它的作用是对中断源的中断申请
7.定时器T1作用被波特率发生器时常选用造作模式2,原因是模式2具有定时常数自动重装功能。
8.串行口主要由SBUF,PCON,SCON,T1和移位寄存器组成。
(写4个就可以)
9.MCS-51的定时器T0工作于模式3时,TH0可作用定时,TL0可用作定时或计数,此时T1可用作其他三种方式不需要中断的场合。
.
10.MCS-51单片机引脚AIE,PSEN分别是外部扩展电路的地址锁存信号和外部程序存储器的选通信号.
11.IP是中断优先级寄存器,它的作用是将各中断源的优先级设置成高优先级和低优先级。
1.程序计数器PC的内容是下一条将要执行的指令的地址值,具有自加特点。
2.堆栈指针寄存器SP在系统复位后其初始值为连接,数据进栈时SP的值自动加1,数据出栈时SP的值自动减1。
3.MCS-51单片机可供用户使用的十六位寄存器是DPTR,它的主要作用是用作片外存储器的地址指针.
4.MCS-51单片机除PC外共有20个特殊功能寄存器,共占21个字节,分布找片内RAM的高128字节。
5.指令JZrel是相对寻址寻址方式。
6.访问2KB存储空间的转换累指令有AJMP和ACALL.
7.MCS-51的定时器T0工作于定时方式时,其计数脉冲信号来自于内部机器周期信号,计数脉冲周期是12/fosc,当T0工作于计数方式时,计数脉冲信号来自于P3.4端的外部脉冲信号。
其最高计数频率是fosc/24.
1.MCS-51单片机内部256B的存储器具体分为哪几个区?
地址范围是多少?
分别有什么作用?
两大部分四个不同的区
1)00H~7FH单元组成的128字节的片内RAM区,00H~7FH共32个单元,通常作业工作寄存区,20H~2FH共16个字节,这些单元可以构成布尔处理器的存储器,
2)00H~FFH单元组成高128字节的专用寄存器(STR)区
2.MCS-51定时/计数器用作定时器时,其定时时间与那些因素有关?
作计数器时,对外界计数脉冲频率有何限制?
定时时间与晶振频率和工作模式有关;
计数时,要求外部计数脉冲的高电平和低电平保持时间均在一个机器周期以内,既要求外部计数脉冲的频率《fosc/24
3.外中断有哪几种触发方式?
如何选择和设定?
答;有脉冲触发和电平触发;
TCON的ITi为1,选择设定脉冲下降沿触发中断
TCON的ITi为0,选择设定低电平触发中断
4.一般串行口按功能可以分为哪几类?
,分别有啥特点?
答;单工串行口,只能作为输入或输出口。
半双工串行口,可作为输入或输出口,但不能同时输入输出数据。
全双工串行口,可作为输入或输出口,同时输入输出数据。
8.说明什么是串行与并行传输?
分别有什么特点?
适用于什么场合?
并行通信:
将数据的各位同时并行传输线上传输,
特点:
数据的各位同时源到达目的地,传输速度快,需要多跟数据线,
适用场合:
适用于短距离、高速通信
串行通信:
将数据的各位按时间顺序依次在一根传输线上传输;
特点:
数据的各位依次由源到达目的地,传输速度慢,需要数据线少
远程传输费用低
适用场合:
适于长距离、中低速通信
9设8031系统的振荡频率fosc=12MHZ,要求用定时器0工作在方式0.定时时间为500us,请写出TMOD的内容并计算计数寄存器的值。
X=2@13-12*500/12=7692=1E0CH
初始值计算
X=M-1/12fosc*t
=8192-1*12*10@-6/12*500*10@-6
=1E0CH.
10.开机复位后,cpu使用的是那组工作寄存器,他们的地址是多少?
如何确定和改变当前工作寄存器组
答;开机复位后,cpu使用第0组工作寄存器,地址是00H~07H,可通过PSW状态字寄存器中RS1及RS0两位的设置来确定和改变cpu当前使用的工作寄存器组。
11.MCS-51定时计数器有几种操作模式?
各有啥特点?
模式0,13位寄存器,TH1使用高八位,TL1使用第八位,而T1i的高三位系统自动添0
模式1,16位计数器
模式2,8位自动重装计数器,THi的值在计数中不变,TLi溢出时,THi中的值自动装入TLi中
模式3,T0分成2个独立的8位计数器TH0和TH1,其中TH0只可用于定时,而TL0可用于定时或计数,此时T1停止计数,一般用于串行口波特率发生器
12.cpu响应中断有哪些条件?
1有中断源发出中断请求
2中断总容许位EA=1即cpu开中断
3申请中断的中断源的中断容许位为1,即没有被屏蔽
中断不受阻
13在MCS-51单片机的应用系统中,如果有多个中断源同时发出中断申请,cpu怎样处理?
答;不同级的中断源同时申请中断时,先高后低,同一级中断源同时申请中断时,按中断源的优先级进行处理
14简述汇编语言中的标号有什么规定?
(1)标号由1—8字符组成,头一个字符必须是字母。
(2)不能使用汇编语言已定义的符号。
(3)标号后必须跟冒号:
(4)同一标号在一个程序中只能定义一次。
2分析以下程序执行后个寄存器及寄存器的结果
MOVA,#30H
MOVSP,53H
MOVDPTR,#3000H
PUSHDPL
PUSHDPH
PUSHA
MOVDPTR,#2000H
MOVA,#11H
MOVX@DPTR,A
POPA
POPDPH
POPDPL
SP=53HA=30HDPTR=3000H(2000H)=11H
3分析以下程序执行结果
MOVA,#0F0H
CPLA
ANL30H,#00H
ORL30H,#OAAH
XRL30H,A
A=0FH(30H)=A5H
4设进位位C=1,给出执行以下程序结果及对程序执行的结果
MOVA,#0AAH
SUBBA,OC3H
C=1P=1OV=0A=0E6H
5分析以下程序段执行的结果
MOVA,#0EFH
MOVR0,#0CDH
MOVOCDH,#0ABH
XCHA,@R0
SWAPA
6析以下程序段执行的结果
MOVA,#10H
MOVDPTR,#2020H
MOVX@DPTR,A
MOVA,#30H
MOVDPTR,#3020H
MOVX@DPTR,A
MOVP2,#20H
MOVR0,320H
MOVXA,@R0
MOVR0,#30H
MOVX@RO,A
MOVR0,#20H
MOVP2,#30H
MOVXA,@R0
MOV31H,A
(2020H)=10H(2030H)=10H(3020H)=30H(31H)=30H
7分析以下程序执行结果
MOVA,#0F0H
CRLA
ANL30H,#00H
ORL30H,#0AAH
XRL30H,A
A=0FH(30H)=0A5H
4和8一样
9设R0内容为32H,A中内容为48H,内部RAM的32H单元内容为80H,40H单元内容为08H,请给出执行下述程序段后,上述各存储单元及寄存器的内容。
MOVA,@R0
MOV@R0,40H
MOV40H,A
MOVR0,#35H
(A)=80H(32H)=08H(40H)=80H(R0)=35H
10分析下列程序执行后的结果
MOVA,#10H
MOVDPTR,#2020H
MOVX@DPTR,A
MOVA,#30H
MOVDPTR,#3020H
MOVX@DPTR,A
MOVP2,#20H
MOVR0,#20H
MOVXA,@R0
MOVR0,#20H
MOVP2,#30H
MOVXA,#R0
MOV31H,A
(2020H)=10H(2030H)=10H(3020H)=30H(31H)=30H
11给出下列程序执行的A与C中的内容
MOVA,#88H
CLRC
RLCA
RLA
CRLA
RRCA
RRA
A=0F7HC=1
12给出以下程序执行后A的结果及程序状态后PSW的值
MOV30H,#45H
MOVR0,#27H
ADDA,@R0
A=6CHPSW=00H
13和11一样
五编写程序
1试编程讲片外RAM2000H与2001H单元的内容相乘,结果送往片内30H及31H单元中
2设置T1为定时工作方式,定时50ms,选操作模式1,容许中断,软启动,T0为计数方式,对外部脉冲进行计数10次,硬启动,禁止中断,选操作模式2.编写初始化程序
3请用位操作指令编写下面逻辑表达式的程序
1P2.3=P1.5*B.4+ACC.7*P1.0
2P1.7=ACC.0*(B.0+P2.1)+P3.2
4已知8051单片机的fosc=6MHZ,要求T1工作在方式2定时,是编写程序由P1.1输出周期为1ms的方波
5已知8051单片机的fosc=12MHZ,用T0定时工作模式2,试编写周期为500us的请写出TMOD的内容并计算计数寄存器初值。
答X=2&13-12*500/12=7692=1EOCH
所以TH0=0F0H,TL1=OCH
TMOD=00000000
6已知内部RAM30H单元开始存放20H个数据,将其传递到外部RAM的0000H请编程实现
解
MOVP2,#00H
MOVR0,#30H
MOVR1,#00H
MOVR2,#20H
LOOP:
MOVA,@R0;取数
MOV@R1,A;存数
LNCR0
LNCR1·
DJNZR2,LOOP
RET
7将片内40H单元开始的15个单元清0
解
MOVR0,#40H
MOVR1,#0FH
RQ0;MOVA,#00H
9.六.综合应用题。
10.如下图:
通过8031单片机的P1口接8只二极管,度如下程序后回答问题:
ORG0000H
LJMP0200H
ORG0200H
START:
MOVA,#20H
LOOP:
MOVP1,A
LCALLD2S:
调用延时2秒子程序
RLA
SJMPLOOP
D2S:
………..:
子程序省略
RET
END
11.1.第一次调用子程序时,哪个发光二极管亮?
2
11.2.第二次调用子程序时,哪个发光二极管亮?
.3
12.3.第八次调用子程序时,哪个发光二极管亮?
.1
13.4.第九次调用子程序时,哪个发光二极管亮?
2
14.5.当累加器A的值分别为4,8,20H时又怎样?
482
试题
一、填空题(每空1分,共10分)
1.当使用8031单片机时,需要扩展外部程序存储器,此时EA应为_________.
2.P0通常用作_________.
3.若由程序设定RS1、RS0=10,则工作寄存器R0~R7的直接地址为_________.
4.返回地址(或断点)是_________的程序计数器的内容。
5.中央处理器CPU是单片机的核心,它完成_________.
6.单片机的工作过程,实际上就是_________.
7.所谓中断源即是_________.
8.端口(或称口)是_________.
9.异步串行近程通信时的传送信号是_________.
10.若累加器A中的数据为01110010B,则PSW中的P=_________.
二、单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的序号填在题干的括号内。
每小题1分,共10分)
1.MCS—51单片机的复位信号是()有效。
A.高电平B.低电平C.脉冲D.下降沿
2.若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过()。
A.2μsB.4μsC.8μsD.1ms
3.若PSW.4=0,PSW.3=1,要想把寄存器R0的内容入栈,应使用()指令。
A.PUSHR0B.PUSH@R0
C.PUSH00HD.PUSH08H
4.能够用紫外光擦除ROM中程序的只读存储器称为()。
A.掩膜ROMB.PROMC.EPROMD.EEPROM
5.在片外扩展一片2764程序存储器芯片要()地址线。
A.8根B.13根C.16根D.20根
6.定时器/计数器工作方式1是()。
A.8位计数器结构B.2个8位计数器结构
C.13位计数结构D.16位计数结构
7.设MCS-51单片机晶振频率为12MHz,定时器作计数器使用时,其最高的输入计数频率应为()
A.2MHzB.1MHzC.500KHzD.250KHz
8.已知1只共阴极LED显示器,其中a笔段为字形代码的最低位,若需显示数字1,它的字形代码应为()。
A.06HB.F9HC.30HD.CFH
9.下列数据字定义的数表中,()是错误的。
A.DW“AA”B.DW“A”
C.DW“OABC”D.DWOABCH
10.串行口的控制寄存器SCON中,REN的作用是()。
A.接收中断请求标志位B.发送中断请求标志位
C.串行口允许接收位D.地址/数据位
三、简答题(每小题4分,共20分)
1.简述堆栈。
2.简述变址寻址方式并举例说明。
3.简述中断响应的主要内容。
4.简述汇编语言中的标号有什么规定
5.A/D转换器转换数据的传送有几种方式
四、读程序(每小题4分,共20分)
1.执行下列程序段中第一条指令后,
(1)(P1.7)=____(P1.3)=_____,(P1.2)=_________;执行第二条指令后,
(2)(P1.5)=_________,(P1.4)=_________,(P1.3)=_________.
ANLP1,#73H
ORLP1,#38H
2.下列程序段执行后,(A)=_________,(B)=_________.
MOVA,#0FBH
MOVB,#12H
DIVAB
3.下列程序段执行后,(R0)=_________,(7EH)=_________,(7FH)=_________.
MOVR0,#7FH
MOV7EH,#0
MOV7FH,#40H
DEC@R0
DECR0
DEC@R0
4.已知(SP)=09H,(DPTR)=4567H,在执行下列指令后,(SP)=_________,内部RAM(0AH)=_________,(0BH)=_________
PUSHDPL
PUSHDPH
5.下列程序中注释的数字为执行该指令所需的机器周期数,若单片机的晶振频率为6MHz,问执行下列程序需要多少时间
MOVR3,#100;1
LOOP:
NOP;1
NOP
NOP
DJNZR3,LOOP;2
RET;2
五、编程题(每小题4分,共20分)
1.请使用位操作指令,实现下列逻辑操作:
P1.5=ACC.2∧P2.7∨ACC.1∧P2.0
2.在外部RAM首地址为TABLE的数据表中有10个字节数据,请编程将每个字节的最高位无条件地置1.
3.已知内部RAM30H单元开始存放20H个数据,将其传送到外部RAM的0000H单元开始的存储区,请编程实现。
4.已知8个无符号数之和存于R3R4,求其平均值,结果仍存于R3R4中,请编程实现(R3为高字节)。
5.两个字符串分别存放在首地址为42H和52H的内部RAM中,字符串长度放在41H单元,请编程比较两个字符串。
若相等,则把数字00H送40H单元,否则把0FFH送40H单元。
六、综合应用题(每小题10分,共20分)
1.用8031单片机,并采用一片2716(2KB)和一片6116(2KB)组成一个既有程序存储器又有数据存储器的扩展系统,请:
(1)画出逻辑电路图
(2)说明其存储空间
2.已知D/A转换器DAC0832如图所示,口地址为7FFFH,运放电源为+5V,Vref=+5V,请
(1)画出单缓冲接口方式电路
(2)编程产生正向锯齿波
答案
一、填空题(每空1分,共10分)
1.低电平
2.单片机系统的地址/数据总线
3.10H~17H
4.在程序中断或子程序调用时
5.运算和控制功能
6.周而复始地取指令和执行指令的过程
7.引起中断的原因(或能发出中断请求的来源)
8.接口电路中已编址并能进行读或写操作的寄存器
9.TTL电平信号
10.0
二、单项选择题(每题1分,共10分)
1.A2.B3.D4.C5.B
6.D7.C8.A9.C10.C
三、简答题(每题4分,共20分)
1.
(1)在程序中断或子程序调用时,为了保护返回地址(断点)和保护现场而设立的RAM区。
(2)用MOVSP,#STK指令建立堆栈。
(3)存放数据按“后进先出”原则进行。
(4)利用PUSH、POP指令即可进行进栈、出栈操作。
2.
(1)变址寻址是以DPTR或PC作基址寄存器,累加器A作变址寄存器以两者内容相加形式的16位地址作为操作数地址。
(2)变址寻址只能对移定存储器寻址,其指令只有三条:
MOVCA,@A+DPTR
MOVCA,@A+PC
JMP@A+DPTR
前二条为查表指令,后一条为无条件转移指令
3.由硬件自动生成一条调用指令LCALL转去中断服务,具体操作为:
(1)将程序计数器PC的内容(断点)压栈
(2)将中断入口地址装入PC,转去执行中断服务程序
4.
(1)标号由1—8字符组成,头一个字符必须是字母。
(2)不能使用汇编语言已定义的符号。
(3)标号后必须跟冒号:
(4)同一标号在一个程序中只能定义一次。
5.
(1)定时传送方式:
A/D启动后,调用延时时间大于转换时间的延时程序后即可读取。
(2)查询方式:
A/D启动后,查询EOC(转换结束信号),转换一完成即可读取转换数据。
(3)中断方式:
将EOC作为外中断请求信号,转换一结束,即引起中断,读取转换数据。
四、读程序(每题4分,共20分)
1.
(1)(P1,7)=0,,(P1.3)=0,(P1.2)=0
(2)(P1.5)=1,(P1.4)=1,(P1.3)=1
2.(A)=0DH(或13)
(B)=11H(或17)
3.(R0)=7EH,(7EH)=FFH,(7FH)=3FH
4.(SP)=0BH
(0AH)=67H
(0BH)=45H
5.一个机器周期为2μs
执行程序所需时间T=2μs*(5×100+3)=1006μs≈1ms
五、编程题(每题4分,共20分)
1.先进行与操作,再进行或操作程序如下:
MOVC,ACC.1
ANLC,P2,0
MOV12H,C
MOV,C,ACC.2
ANLC,P2.7
ORLC,12H
MOVP1.5,C
RET
2.MOVR2,#10
MOVDPRT,#TABLE
LOOP:
MOVXA,@DPRT;取一数
ORLA,#80H;最高位置1
MOVX@DPTR,A;写回原地址
1NCDPTR;处理下一单元
DJNZR2,LOOP
RET
3.MOV