李升单片机原理与接口技术复习题参考答案.docx
《李升单片机原理与接口技术复习题参考答案.docx》由会员分享,可在线阅读,更多相关《李升单片机原理与接口技术复习题参考答案.docx(58页珍藏版)》请在冰豆网上搜索。
李升单片机原理与接口技术复习题参考答案
升主编《单片机原理与接口技术》习题参考答案
*******************************************************************************
本答案由工程学院电网监控专业闵大立、斌同学及王曼老师整理,读者在使用过程中如发现有不妥之处,请及时联系本书主编升sora2008126.
*******************************************************************************
习题一
一、单项选择题
1.C
2.D
3.B
二、填空题
1.CPU、存储器、定时器/计数器、I/O接口电路
2.8751
3.128B
4.4
5.8031、EPROM、锁存器
三、简答题
1、将CPU、只读存储器(ROM)、随机存储器(RAM)、定时器/计数器和多种I/O接口电路都集成到一块集成电路芯片上的微型计算机就是单片微型计算机,简称单片机。
2、工业测控等实时控制系统、智能化仪表、机电一体化产品、分布式系统、民用领域。
3、8031没有片ROM,8051有4KB掩膜ROM,8751有4KBEPROM。
4、
(1)ISP功能
(2)AT89S51最高工作频率达33MHz,而AT89C51最高工作频率为24MHz。
(3)部集成有“看门狗”定时器
(4)双数据指示器和电源断开标识
(5)全新的加密算法,使得对AT89S51解密难度大大增加。
习题二
一、单项选择题
1.A
2.A
3.B
4.B
5.B
6.A
7.D
8.D
9.D
10.B
二、填空题
1.片外程序存储器
2.1/6
3.程序
4.位
5.接地
6.CY
7.0000H
8.置1(FFH)
9.8
10.先进后出
三、简答题
1.8位CPU,4KBFlash程序存储器,128BRAM,4个8位并行I/O接口,2个16位可编程定时/计数器,6个中断源,5个中断矢量、2个优先级,一个全双工串行通信口,片看门狗定时器,26个SFR,两个数据指针,在线可编程ISP端口。
2.时钟周期:
主频振荡周期。
机器周期:
CPU完成某一个规定操作(如存储器读或写、I/O读或写等)所需要的时间称为机器周期;机器周期又由12个振荡周期组成。
单片机的每个机器周期包括6个状态周期S。
指令周期:
把执行一条指令所需要的时间称为指令周期;指令周期一般由1~4个机器周期组成。
主频为24MHz时,T=0.5us,执行一条指令最长需要2us。
3.(P0)=(P1)=(P2)=(P3)=FFH,(PC)=0000H,(DPTR)=0000H,(SP)=07H,(ACC)=00H,(PSW)=00H。
复位不影响片RAM单元的数据变化,仅影响特殊功能寄存器中的容,对于部分特殊功能寄存器复位后的初始值具有重要意义。
4.从物理结构上分:
片程序存储器、片外程序存储器、片数据存储器、片外数据存储器。
从逻辑结构上分:
片外统一编址的64KB程序存储器、片256B的数据存储器(包含特殊功能寄存器SFR)、片外64KB的数据存储器。
5.AT89S51单片机有两种节电运行模式:
空闲模式和掉电模式。
空闲模式和掉电模式都是由特殊功能寄存器中的电源控制器PCON有关控制位来控制的。
PD=1,进入掉电模式,IDL=1则进入空闲模式。
6.ISP(In-SystemProgramming)在系统可编程,指在改写片存储器程序时不需要将芯片从工作环境剥离。
电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。
习题三
一、单项选择题
1.B
2.D
3.A
4.D
5.A
6.B
7.A
8.A
9.C
10.B
二、填空题
1.寻找操作数所在地址的方式
2.寄存器间接寻址
3.0,1,1,1,-33
4.片RAM,片外RAM,片外ROM
5.R0,R1,DPTR
三、简答题
1.SUBBA,30H;(A)=7AH-A5H-01H=D4H
SUBBA,#30H;(A)=7AH-30H-01H=49H
ADDA,R0;(A)=7AH+30H=AAH
ADDA,30H;(A)=7AH+A5H=1FH
ADDA,#30H;(A)=7AH+30H=AAH
ADDCA,30H;(A)=7AH+A5H+01H=20H
SWAPA;(A)=A7H
XCHDA,R0;(A)=75H,((R0))=AAH
XCHA,R0;(A)=30H,(R0)=7AH
XCHA,30H;(A)=A5H,(30)=7AH
XCHA,R0;(A)=A5H,((R0))=7AH
MOVA,R0;(A)=A5H
2.MOVA,#45H;立即数
MOVA,45H;字节地址,RAM45H单元
MOV45H,46H;字节地址,RAM45H单元
MOV45H,#45H;前一个字节地址,RAM45H单元,后一个立即数
MOVC,45H;位地址
3.MOVSP,#5AH;(SP)=5AH
MOVA,#20;(A)=20H
MOVB,#30H;(B)=30H
PUSHACC;(SP)=5BH,(5BH)=20H
PUSHB;(SP)=5CH,(5CH)=30H
POPACC;(SP)=5BH,(A)=30H
POPB;(SP)=5AH,(B)=20H
4.(SP)=34H,(33H)=7BH,(34H)=00H
5.MOVA,R0;(A)=80H
MOVR0,40H;((R0))=(40H)=08H
MOV40H,A;(40H)=(A)=80H
MOVR0,#35H;(R0)=35H
四、编程题
1.方法1MOVA,20H
CJNEA,#00H,L1
SJMPL4
L1:
JCL3
L2:
LJMP2100H
L3:
LJMP2200H
L4:
LJMP2300H
方法2
MOVA,20H
JZLOOP1
JBACC.7,LOOP2
LJMP2100H
LOOP1:
LJMP2300H
LOOP2:
LJMP2200H
2.MOVA,20H
RRCA
MOV20H,A
MOVA,21H
RRCA
MOV21H,A
MOV07H,C
3.MOVR0,#20H
MOVR1,#20H
MOVR2,#50H
LOOP:
MOVA,R0
MOVXR1,A
INCR0
INCR1
DJNZR2,LOOP
习题四
一、单项选择题
1、B
2、A
3、B
4、D
5、C
二、简答题
1、四部分:
(1)置初值部分
(2)循环工作部分(3)循环控制变量修改部分(4)循环终止部分
2、子程序:
能被其他程序调用,在实现某种功能后能自动返回到调用程序去的程序。
其最后一条指令一定是返回指令,故能保证重新返回到调用它的程序中去。
也可调用其他子程序,甚至可自身调用(如递归)。
注意保护现场和恢复现场。
3、ADDA,#78H改为ADDCA,#78H
(30H)=86H(31H)=13H
三、程序阅读题
1、(60H)=ACH,(61H)=50H,(62H)=FCH,(A)=03H
2、(R0)=11H,(A)=04H,((R1))=15H,(30H)=15H,(B)=03H,(10H)=03H
3、ACC,03H,02H
4、MOVXA,R1
MOVXA,DPTR
5、(A)=BDH
(A)=23H,CY=1
(A)=BBH
(A)=0BH
(A)=F4H
(P1)=F4H
C=1
6、100.006
12X[1+(1+1+2X123+2)X200+2]/6X10^6
7、C,ONEMAX,C,ONEMAX,RMAX
8、MAIN,#10H,#10H,DPTR,DPTR
四、编程题
1、ORG0000H
SJMPSTART
ORG0030H
START:
MOVDPTR,#2040H
MOVXA,DPTR
MOVR0,A
SWAPA
ANLA,#0FH
INCDPTR
MOVXDPTR,A
MOVA,R0
ANLA,#0FH
INCDPTR
MOVXDPTR,A
END
2、ORG0000H
MOVA,30H
ASCH:
CLRC
SUBBA,#30H
CJNEA,#10H,AH9
AH9:
JCAH10
SUBBA,#07H
AH10:
AJMP$
END
3、ORG0000H
AJMPSTART
ORG0030H
START:
MOVR0,#20H
MOVR2,#00H
MOVR3,#00H
MOVR4,#0FH
MOV40H,#41H
MOV60H,#61H
LOOP1:
MOVA,R0
JBACC.7,LOOP3
LOOP2:
INCR2
MOVR1,40H
MOVR1,A
INC40H
AJMPLOOP4
LOOP3:
INCR3
MOVR1,60H
MOVR1,A
INC60H
LOOP4:
INCR0
DJNZR4,LOOP1
MOV40H,R2
MOV60H,R3
END
4、
BUFEQU10H
ORG0000H
AJMPSTART
ORG0030H
START:
MOVA,#38H
ADDA,#2AH
CLRC
SUBBA,#19H
MOVBUF,A
END
5、DATA1EQU30H
DATA2EQU50H
ORG0000H
SJMPSTART
ORG0030H
START:
MOVR0,#DATA1
MOVR1,#DATA2
MOVR2,#14H
LOOP:
MOVA,R1
XCHA,R0
XCHA,R1
INCR0
INCR1
DJNZR2,LOOP
END
6、
ORG0000H
AJMPSTART
ORG0030H
START:
MOVA,#6
MOVDPTR,#TAB
DECA
RLA
MOVB,A
MOVCA,A+DPTR
MOVR6,A
MOVA,B
INCA
MOVCA,A+DPTR
MOVR7,A
ORG1000H
TAB:
DW1,4,9,16,25,36,49,64,81,100
DW121,144,169,196,225,256,289,324,400
END
7、ORG0000H
AJMPSTART
ORG0030H
START:
MOVA,#04H
MOVDPTR,#TAB
MOVCA,A+DPTR
ORG0100H
TAB:
DB40H,79H,24H,30H,19H,12H,02H,78H,00H,1BH
END
8、ORG0000H
AJMPSTART
ORG0030H
START:
MOVR0,#20H
MOVR1,#40H
MOVR2,#00H
LOOP1:
MOVA,R0
CJNEA,#0DH,LOOP2
SJMPED
LOOP2:
CJNEA,#43H,LOOP3
INCR2
LOOP3:
INCR0
AJMPLOOP1
ED:
MOVA,R2
MOVXR1,A
END
9、ORG0000H
SJMPSTART
ORG0030H
START:
MOVA,R3
RLA
MOVDPTR,#JMPTAB
JMPA+DPTR
JMPTAB:
AJMPM00
AJMPM01
AJMPM02
......
AJMPM7F
END
10、ORG0000H
SJMPSTART
ORG0030H
START:
MOVR0,#30H
MOVR7,#0FH
CLRF0
LOOP:
MOVA,R0
MOV10H,A
INCR0
MOV11H,R0
CLRC
SUBBA,R0
JZNEXT
JCNEXT
MOVR0,10H
DECR0
MOVR0,11H
INCR0
SETBF0
NEXT:
DJNZR7,LOOP
JBF0,START
END
习题五
一、单项选择题
1.B
2.C
3.C
4.C
5.C
6.A
7.C
8.A
9.A
10.C
二、填空题
1.2
2.0CH
3.电平触发、脉冲触发
4.12
5.TL0
6.TF1
7.SCON
8.停止位
9.自动重装入初值8位定时器/计数器
10.方式1
三、简答题
1.P0口有一个输出锁存器,两个三态输入缓冲器,由场效应管FET1.FET2组成输出驱动电路。
P1口有一个输出锁存器,两个三态输入缓冲器,由场效应管FET和上拉电阻R组成输出驱动电路。
P2口有一个输出锁存器,两个三态输入缓冲器,由场效应管FET和上拉电阻R组成输出驱动电路,有一个多路开关MUX。
P3口有一个输出锁存器,两个三态输入缓冲器,由场效应管FET、非门M和上拉电阻R组成输出驱动电路。
2.读锁存器指令时,引脚的输出锁存器Q端状态经读锁存器输入缓冲器进入部总线,由CPU根据指令要求把Q端状态值修改后,又重新写回锁存器中,被称为读—修改—写指令。
读引脚指令时,首先必须通过读锁存器指令或复位方式将端口锁存器置1。
3.中断是指在计算机执行期间,系统发生任何非寻常的或非预期的急需处理事件,使得CPU暂时中断当前正在执行的程序而转去执行相应的事件处理程序。
待处理完毕后又返回原来被中断处继续执行或调度新的进程执行的过程。
我们把引起中断的原因,或者能够发出中断请求信号的来源统称为中断源。
中断装置和中断处理程序统称为中断系统。
中断入口是一地址。
该地址表又称中断矢量表,它是中断矢量类型码与该中断类型相对应的中断服务程序入口之间的连接表。
H为使系统能及时响应并处理发生的所有中断,系统根据引起中断事件的重要性和紧迫程度,硬件将中断源分为若干个级别,称作中断优先级。
中断嵌套是指中断系统正在执行一个中断服务时,有另一个优先级更高的中断提出中断请求,这时会暂时终止当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执行,这个过程就是中断嵌套。
4.5个中断源,2个中断优先级。
按照自然优先级,自然优先级是按照外部中断0、定时器/计数器0、外部中断1、定时器/计数器1、串行口的顺序依次来响应中断请求。
5.TCON、SCON、IE、IP。
6.分为三个阶段:
中断响应、中断处理、中断返回。
7.外部中断0、定时器/计数器0、外部中断1、定时器/计数器1自动撤除。
软件清0。
8.2个。
TMOD中前4位T1,后4位T0。
M1M0=00,工作方式0,13位计数器。
M1M0=01,工作方式1,16位计数器。
M1M0=10,工作方式2,2个独立8位计数器。
M1M0=11,工作方式3。
9.方式0为同步移位寄存器,波特率=f/12。
方式1为10位移位收发器,波特率由定时器控制。
方式2为11位移位收发器,波特率=f/32或者f/64。
方式3为11位移位收发器,波特率由定时器控制。
10.应用软件运行时受干扰时可进行实时复位。
MOV0A6H,#1EHMOV0A6H,#0E1H。
四、应用编程题
1.ORG0000H
LJMPMAIN
ORG0003H
LJMPINT01
ORG000BH
LJMPINT
ORG0030H
MAIN:
MOVR0,#20
MOVSP,#50H
MOVTMOD,#01H
MOVTH0,#3CH
MOVTL0,#0B0H
SETBEA
SETBEX0
SETBIT0
SJMP$
INT01:
SETBET0
SETBTR0
CLRP1.0
RETI
INT:
MOVTH0,#3CH
MOVTL0,#0B0H
DJNZR0,DE
DE0:
SETBP1.0
CLRET0
CLRTR0
MOVR0,#20
DE:
RETI
END
2.
(1)1FH,08H
(2)ORG0000H
LJMPMAIN
ORG000BH
LJMPINT
ORG0030H
MAIN:
MOVTMOD,#00H
MOVSP,#50H
MOVTH1,#1FH
MOVTL1,#08H
SETBEA
SETBET0
SETBTR0
SJMP$
INT:
MOVTH1,#1FH
MOVTL1,#08H
CPLP1.0
RETI
END
3.ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVTMOD,#90H
MOVTL1,#00H
MOVTH1,#00H
MOVR0,#50H
JBP3.3,$
SETBTR1
JNBP3.3,$
JBP3.3,$
CLRTR1
MOVR0,TL1
INCR0
MOVR0,TH1
SJMP$
END
4.ORG0000H
LJMPMAIN
ORG000BH
LJMPINT
ORG001BH
LJMPINT11
ORG0030H
MAIN:
MOVTMOD,#03H
MOVTH1,#0C8H
MOVTL1,#64H
MOVSP,#50H
SETBEA
SETBET0
SETBTR0
SETBTR1
SJMP$
INT:
MOVTL1,#64H
CPLP1.0
RETI
INT11:
MOVTH1,#0C8H
CPLP1.1
RETI
END
5.ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVR0,#50H
MOVR1,#01H
MOVR7,#10H
MOVTMOD,#20H
MOVTH1,#0FEH
MOVTL1,#0FEH
SETBTR1
CLRES
MOVSCON,#40H
MOVPCON,#00H
LOOP:
MOVA,R1
MOVR0,A
MOVSBUF,A
WAIT:
JBCTI,CONT
SJMPWAIT
CONT:
INCR0
INCR1
DJNZR7,LOOP
END
习题六
一、单项选择题
1.B
2.C
3.B
4.D
5.A
二、填空题
1.程序存储器,数据存储器,64
2.
3.,
4.MOVXA,Ri、MOVXA,DPTR
5.MOVCA,A+PC、MOVCA,A+DPTR
6.R0,R1,DPTR
7.接地
8.线选法、译码法
三、简答题
1.对于无片ROM型单片机或片程序存储器不够用的情况,需要扩展片外程序存储器。
由于有需要大量数据缓冲保存的要求,因此仅依靠片的RAM存储器不够,需要扩展片外数据存储器。
2.不会。
单片机片外程序存储器、片外数据存储器空间在逻辑上是严格分开的,通过不同的选通信号,,来选通不同的逻辑空间。
四、设计题
1.
6116地址围:
0000H——07FFH(0000000000000000B——0000011111111111B)
2.
2764地址围:
40000H—5FFFFH
6264地址围:
20000H—3FFFFH
习题七
一、单项选择题
1.A
2.D
3.D
4.D
5.C
二、填空题
1.C
2.3,2
3.PC4,PC5
4.00000011B
5.输出缓冲器满信号
三、简答题
1.10110100B,11000100B
2.8255A口具有输入、输出两个锁存器,B口只具有输出锁存器。
3.向A口写入新数据前加一个延时子程序,延时时间应略大于K从按下到释放的时间。
四、应用编程题
1.ORG0000H
LJMPMAIN
ORG0030H
MAIN:
MOVSCON,#00H
MOVSP,#50H
CLRES
MOVA,#80H
DELR:
CLRP1.0
MOVSBUF,A
JNBTI,$
SETBP1.0
ACALLDELAY
CLRTI
RRA
AJMPDELR
DELAY:
MOVR6,#0FFH
DL0:
MOVR7,#0F