适配单片机原理与接口技术习题答案.docx
- 文档编号:7878065
- 上传时间:2023-01-26
- 格式:DOCX
- 页数:21
- 大小:221KB
适配单片机原理与接口技术习题答案.docx
《适配单片机原理与接口技术习题答案.docx》由会员分享,可在线阅读,更多相关《适配单片机原理与接口技术习题答案.docx(21页珍藏版)》请在冰豆网上搜索。
适配单片机原理与接口技术习题答案
单片机原理与接口技术习题答案
习题与思考题1
1-2单片微型计算机与一般微型计算机相比较有哪些区别?
有哪些特点?
答:
与通用微型计算机相比,单片机的硬件上,具有严格分工的存储器ROM和RAM和I/O端口引脚具有复用功能;软件上,采用面向控制的指令系统和硬件功能具有广泛的通用性,以及品种规格的系列化。
单片机还具备体积小、价格低、性能强大、速度快、用途广、灵活性强、可靠性高等特点。
1-4单片机的几个重要指标的定义。
答:
单片机的重要指标包括位数、存储器、I/O口、速度、工作电压、功耗和温度。
习题与思考题2
2-2MCS-51单片机的EA、ALE和PSEN端的功能是什么?
答:
ALE——ALE为地址锁存允许信号,在访问外部存储器时,ALE用来锁存P0送出的低8位地址信号。
PSEN——外部程序存储器的读选通信号。
当访问外部ROM时,PSEN产生负脉冲作为外部ROM的选通信号;在访问外部RAM或片内ROM时,不会产生有效的PSEN信号。
PSEN可驱动8个LSTTL门输入端。
EA——访问外部程序存储器控制信号。
对8051和8751,它们的片内有4KB的程序存储器。
当EA为高电平时,CPU访问程序存储器有两种情况:
一是访问的地址空间在0~4K范围内,CPU访问片内程序存储器;二是访问的地址超出4K时,CPU将自动执行外部程序存储器的程序。
对于8031,EA必须接地,只能访问外部ROM。
2-3程序计数器(PC)有多少位?
它的主要功能是什么?
答:
程序计数器有16位,它的功能和一般微型计算机的相同,用来存放下一条要执行的指令的地址。
当按照PC所指的地址从存储器中取出一条指令后,PC会自动加l,即指向下一条指令。
2-5MCS-51单片机如何实现工作寄存器组R0~R7的选择?
答:
每个工作寄存器组都可被选为CPU的当前工作寄存器,用户可以通过改变程序状态字寄存器(PSW)中的RS1、RS0两位来任选一个寄存器组为当前工作寄存器。
RS1
RS0
寄存器组
R0
R1
R2
R3
R4
R5
R6
R7
0
0
0组
00H
01H
02H
03H
04H
05H
06H
07H
0
1
1组
08H
09H
0AH
0BH
0CH
0DH
0EH
0FH
1
0
2组
10H
11H
12H
13H
14H
15H
16H
17H
1
1
3组
18H
19H
1AH
1BH
1CH
1DH
1EH
1FH
2-6单片机复位后,各特殊功能寄存器中的初始化状态是什么?
答:
特殊功能寄存器
初始状态
特殊功能寄存器
初始状态
ACC
00H
TMOD
00H
PC
0000H
TCON
00H
PSW
00H
TL0
00H
SP
07H
TH0
00H
DPTR
0000H
TL1
00H
P0~P3
0FFH
TH1
00H
IP
xx000000B
B
00H
IE
0x000000B
SCON
00H
PCON
0xxx0000B
SBUF
不定
2-7MCS-51单片机的21个特殊功能寄存器中,哪些具有位寻址能力?
答:
MCS-51单片机中的程序状态字寄存器(PSW),B寄存器,累加器(ACC),端口P0~P3,控制寄存器中用于中断控制的中断优先级控制寄存器(IP)和中断允许控制寄存器(IE),用于设置定时/计数器和串行口工作方式的定时/计数器控制寄存器(TCON)、串行口控制寄存器(SCON)具有位寻址能力。
2-8程序状态字寄存器(PSW)的作用是什么?
答:
PSW寄存器是8位寄存器,用做程序运行状态的标志,字节地址为D0H。
可以进行位寻址。
2-9MCS-51单片机的P3口具有哪些功能?
答:
P3口是双功能口,除了作为准双向通用I/O口使用外,每一根口线还具有第二种功能,P3口的各位如不设定为第二功能则自动处于第一功能。
P3的第二功能涉及到串行口、外部中断、定时器,与特殊功能寄存器有关。
2-13什么是时钟周期、状态周期、机器周期和指令周期?
当单片机时钟频率为12MHz时,一个机器周期是多少?
ALE引脚的输出频率是多少?
答:
时钟周期也称为振荡周期,定义为时钟脉冲频率(fosc)的倒数,它是计算机中最基本的、最小的时间单位。
时钟周期经2分频后成为内部的时钟信号,用作单片机内部各功能部件按序协调工作的控制信号,称为状态周期,用S表示。
完成一个基本操作所需要的时间称为机器周期。
指令周期是执行一条指令所需要的时间,一般由若干个机器周期组成,指令不同,所需要的机器周期数也不同。
当单片机时钟频率为12MHz时,一个机器周期为1μs。
ALE引脚的输出频率为2MHz。
2-14什么时候需要复位操作?
对复位信号有何要求?
答:
复位是单片机的初始化操作。
单片机系统在上电启动运行时,都需要先复位。
上电复位利用电容器的充电实现。
在时钟电路工作后,在RST端连续给出2个机器周期的高电平就可完成复位操作。
MCS-51单片机的上电加按键复位电路当复位按键按下后,复位端通过51Ω的小电阻与+5V电源接通,迅速放电,使RST引脚为高电平;当复位按键弹起后,+5V电源通过2kΩ电阻对22μF电容重新充电,RST引脚端出现复位正脉冲。
习题与思考题3
3-1什么是寻址方式?
MCS-51指令系统有哪些寻址方式?
相应的寻址空间在何处?
答:
在指令系统中,操作数是一个重要的组成部分,它指定了参与运算的数据或数据所在的地址单元。
如何找到参与运算的这个数据或数据所在的地址就称为寻址方式。
MCS-51指令系统的寻址方式主要有立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、基址加变址寻址、相对寻址和位寻址等七种。
对程序存储器只能采用立即寻址和基址加变址寻址方式;对特殊功能寄存器只能采用直接寻址方式,不能采用寄存器间接寻址,对8032/8052等单片机内部RAM的高128个字节(80H~FFH),只能采用寄存器间接寻址,不能使用直接寻址方式;对位操作指令只能对位寻址区操作;外部扩展的数据存储器只能用MOVX指令访问,而内部RAM的低128个字节(00H~7FH)既能用直接寻址,也能用间接寻址。
3-2访问外部数据存储器和程序存储器可以用哪些指令来实现?
举例说明。
答:
访问外部数据存储器可以用以下指令实现:
MOVXA,@Ri;((Ri))→A,寄存器Ri指向的片外RAM地址中的内容送到累加
器A中
MOVX@Ri,A;A→((Ri)),累加器中内容送到寄存器Ri指向的片外RAM地址
中
MOVXA,@DPTR;((DPTR))→A,数据指针指向的片外RAM地址中的内容送到累
加器A中
MOVX@DPTR,A;A→((DPTR)),累加器中内容送到数据指针指向的片外RAM地
址中
访问程序存储器可以用以下指令实现:
MOVCA,@A+DPTR;((A+DPTR))→A,表格地址单元中的内容送到累加器A中
MOVCA,@A+PC;PC+1→PC,((A+PC))→A,表格地址单元中的内容送到累
加器A中
3-3试用下列3种寻址方式编程,将立即数0FH送入内部RAM的30H单元中。
(1)立即寻址方式;
(2)寄存器寻址方式;(3)寄存器间接寻址方式
答:
(1)立即寻址方式:
MOV30H,#0FH
(2)寄存器寻址方式:
MOVR5,#0FH
MOV30H,R5
(3)寄存器间接寻址方式:
MOV@R1,#0FH
MOV30H,@R1
3-5试编写一段程序,将内部数据存储器30H、3lH单元内容传送到外部数据存储器1000H、1001H单元中。
答:
MOVA,30H
MOVDPTR,#1000H
MOV@DPTR,A
MOVA,31H
MOVDPTR,#1000H
MOV@DPTR,A
3-13SJMP指令和AJMP指令都是字节转移指令,它们有什么区别?
各自的转移范围是多少?
能否用AJMP指令代替程序中的所有SJMP指令?
为什么?
答:
AJMP和SJMP的区别有:
(1)跳转范围不同。
AJMPaddr1;短跳转范围:
2KB
SJMPrel;相对跳转范围:
-128~+127
(2)指令长度不同。
(3)指令构成不同。
AJMP、LJMP后跟的是绝对地址,而SJMP后跟的是相对地址。
不能用AJMP指令代替程序中的SJMP指令,因为如果改变的话,程序跳转到的新PC值指向的地址会不同,导致程序出现错误。
3-14试用位操作指令实现下列逻辑操作。
要求不得改变未涉及到的位的内容。
(1)使ACC.0置位;
(2)清除累加器高4位;
(3)清除ACC.3,ACC.4,ACC.5,ACC.6。
答:
(1)SETBACC.0
(2)CLRACC.4
CLRACC.5
CLRACC.6
CLRACC.7
(3)CLRACC.3
CLRACC.4
CLRACC.5
CLRACC.6
习题与思考题4
4-1MCS-51系列单片机汇编语言进行程序设计的步骤如何?
答:
单片机汇编语言进行程序设计的步骤:
(1)分析题意,明确要求;
(2)确定算法;(3)画程序流程图,用图解来描述和说明解题步骤;(4)分配内存工作单元,确定程序与数据区的存放地址;(5)编写源程序;(6)程序优化;(7)上机调试、修改和最后确定源程序。
4-3子程序调用时,参数的传递方法有哪几种?
答:
传递方法有传递数据、传送地址和通过堆栈传递参数。
4-5编写程序,采用算术平均值滤波法求采样平均值,设8次采样值依次放在20H~27H的连续单元中,结果保留在A中。
答:
FILT:
CLRA
MOVR2,A
MOVR3,A
MOVR0,#20H
MOVR7,#08H
;初始化
FILT1:
MOVA,@R0
ADDA,R3
MOVR3,A
CLRA
ADDCA,R2
MOVR2,A
INCR0
DJNZR7,FILT1
;累加采样值到R3,累加进位到R2=00000xxxB
FILT2:
SWAPA
RLA;R2/8,节省一个指令周期
XCHA,R3
SWAPA
RLA;R3/8,节省一个指令周期
ADDA,#80H;四舍五入
ANLA,#1FH;屏蔽移位进入的前三位
ADDCA,R3;结果相加
END
;取平均值
4-8假设在R0指向的片内RAM区,存有20个16进制数的ASCII字串。
将ASCII码转换为16进制数,然后两两合成一个字节,从低地址单元到高地址单元依次组合。
答:
ORG0000H
START:
MOVR7,#20
S0:
MOVA,R0
MOVR1,A;R1为中间量
MOVA,@R0
CLRC
SUBBA,#30H
MOV@R1,A
JCS01
MOVA,@R0
SUBBA,#07H
MOV@R1,A
S01:
INCR0
MOVA,@R0
CLRC
SUBBA,#30H
SWAPA
ORLA,@R1
MOV@R1,A
JCS02
MOVA,@R0
SUBBA,#07H
SWAPA
ORA,@R1
MOV@R1,A
S02:
INCR0
DJNZR7,S0
END
习题与思考题6
6-2MCS-51单片机提供了几个中断源?
有几级中断优先级别?
各中断标志是如何产生的又如何清除这些中断标志?
各中断源所对应的中断矢量地址是多少?
答:
MCS-51单片机提供了5个中断源,有2级中断优先级别。
中断标志由特殊功能寄存器TCON和SCON的相应位锁存。
(见书中图6-4、6-6)
中断标志的撤消分为:
1)定时/计数器中断请求的撤消
中断请求被响应后,硬件会自动清TF0或TF1。
2)外部中断请求的撤消
(1)跳沿方式外部中断请求的撤消是自动撤消的。
(2)电平方式外部中断请求的撤消,除了标志位清“0”之外,还需在中断响应后把中断请求信号引脚从低电平强制改变为高电平。
(见书中图例6-1)
3)串行口中断请求的撤消
响应串行口的中断后,CPU无法知道是接收中断还是发送中断,还需测试这两个中断标志位的状态,以判定是接收操作还是发送操作,然后才能清除。
所以串行口中断请求的撤消只能使用软件的方法。
CLRTI;清TI标志位
CLRRI;清RI标志位
各中断源对应的中断矢量地址分别为:
中断源
中断矢量
外部中断0
0003H
定时器T0中断
000BH
外部中断1
0013H
定时器T1中断
001BH
串行口中断
0023H
定时器中断T2(仅52系列有)
002BH
6-3外部中断源有电平触发和边沿触发两种触发方式,这两种触发方式所产生的中断过程有何不同?
怎样设定?
答:
采用中断电平触发方式时,中断请求标志IT0=0,CPU在每个机器周期的S5P2期间采样,一旦在P3.2
引脚上检测到低电平,则有中断申请,使IE0置位(置1),向CPU申请中断。
在电平触发方式中,在中断响应后中断标志位IE0的清0由硬件自动完成,但由于CPU对P3.2
引脚没有控制作用,使中断请求信号的低电平可能继续存在,在以后的机器周期采样时又会把已清0的IE0标志位重新置1,所以,在中断响应后必须采用其它方法撤消该引脚上的低电平,来撤除外部中断请求信号,否则有可能再次中断造成出错。
采用边沿触发方式时,IT0=1,CPU在每个机器的S5P2期间采样,当检测到前一周期为高电平,后一周期为低电平时,使标志IE0置1,向CPU申请中断,此标志位一直保持到CPU响应中断后,才由硬件自动清除。
在边沿触发方式中,为保证CPU在两个机器周期内检测到由高到低的负跳变,高电平与低电平的持续时间不得少于一个机器周期的时间。
6-4试分析以下几种中断优先级的排列顺序(级别由高到低)是否可能?
若可能,则应如何设置中断源的中断级别?
否则,请简述不可能的理由。
(1)定时器T0中断,定时T1中断,外中断1NT0,外中断INT1,串行口中断;
(2)串行口中断,外中断1NT0,定时器T0中断,外中断INT1,定时器T1中断;
(3)外中断INT0、定时器T1中断,外中断INT1,定时器T0中断,串行口中断。
答:
(1)可以,将定时器T0中断,定时T1设置为高优先级中断,将外中断1NT0,外中断INT1,串行口中断
(2)可以,将串行口中断设置为高优先级中断,将外中断1NT0,定时器T0中断,外中断INT1,定时器T1中断设置为低优先级中断;
(3)不行,因为MCS-51单片机有2级中断优先级别,同级中断还存在按次序决定的第二优先级结构,由高到低依次为外中断1NT0、定时器T0中断、外中断INT1、定时器T1中断、串行口中断。
习题与思考题7
7-1定时/计数器有哪些专用寄存器,它们有几种工作模式?
如何设置?
答:
有定时控制寄存器(TCON)和工作方式寄存器(TMOD),具有四种工作方式:
方式0、方式1、方式2和方式3,四种方式由工作方式寄存器(TMOD)的M1和M0两位决定。
7-4定时/计数器用作计数器时,对外界计数频率有何限制?
答:
外部输入的计数脉冲的最高频率为振荡器频率的1/24。
7-7编写程序,要求使用T0,采用方式2定时,在P1.0输出周期为400μs,占空比为10:
1的矩形脉冲。
答:
本题采用晶体振荡器频率为12MHz,使用定时器配合计数器,设计成一个40μs定时将P1.0置0和一个400μs定时将P1.0置1。
ORG0000H;中断入口地址
AJMPSTART
ORG000BH;定时器0的中断向量地址
AJMPTIME0
ORG0030H
START:
MOVSP,#5FH
MOV30H,#00H;软件计数器清零
MOVTMOD,#02H;T0工作在方式1
MOVTH0,#216
MOVTL0,#216
SETBEA
SETBET0
SETBTR0
;任意程序段
TIME0:
PUSHACC;中断处理子程序
PUSHPSW
CLRP1.0
INC30H
MOVA,30H
CJNEA,#10,T0_4
SETBP1.0
MOV30H,#00H
T0_4:
POPPSW
POPACC
RETI
END
7-9利用定时/计数器T0产生定时时钟,由P1口控制8个指示灯。
编一个程序,使8个指示灯依次一个一个闪动,闪动频率为20次/秒(8个灯依次亮一遍为一个周期)。
答:
本题采用晶体振荡器频率为12MHz,每个灯的闪烁周期是:
50ms,采用工作方式1。
ORG0000H
AJMPSTART
ORG000BH
AJMPTIME0
ORG0030H
START:
MOVSP,#5FH
MOVR7,#0FEH
MOVTMOD,#01H;T0在工作方式1
MOVTH0,#3CH
MOVTL0,#0B0H
SETBEA
SETBET0
SETBTR0
S0:
AJMPS0;此处放任意程序段
TIME0:
PUSHACC
PUSHPSW
MOVP1,R7
MOVA,R7
RLA
MOVR7,A
MOVTH0,#3CH
MOVTL0,#0B0H
POPPSW
POPACC
RETI
END
7-12简述特殊功能寄存器SCON,TCON,TMOD功能。
答:
SCON是串行口控制寄存器,主要用于控制、监视串行口的工作状态;TCON是定时控制寄存器,主要用于控制定时/计数器的启动和停止、计数溢出标志和管理外部中断;TMOD是工作方式控制寄存器,主要用于设定定时/计数器的的工作方式和选定定时还是计数以及门控INT0非信号。
7-15帧格式为1个起始位,8个数据位和1个停止位的异步串行通信方式是方式几?
。
答:
是异步串行通信方式1。
7-16简述串行口通信的第9数据位的功能。
答:
在工作方式2和3下,才有第9数据位,既可作为奇偶校验位使用,也可作为控制位使用。
习题与思考题8
8-1画图说明单片机系统总线扩展方法。
答:
单片机系统扩展总线原理如下图所示,扩展后由P0口经锁存器形成低8位地址,P2口形成高8位地址,共同形成16位地址总线;P0口形成8位数据线,/WR、/RD及/PSEN形成控制总线。
8-10以8031为核心的单片机应用系统中扩展程序存储器至16KB。
(1)选择存储器件;
(2)画出原理电路;
(3)说明各器件占用存储空间。
答:
(1)选用EPROM存储器作为程
序存储器,可选用1片27128或2片2764,本题选两片6264作为程序存储器。
(2)原理电路如下图所示。
(3)由于8031单片机内部没有程序程序器,外扩程序存储器地址必须从0000H开始,并且单片机的/EA引脚应接地。
从图中可以看出,1#2764的地址范围为0000-1FFFH,2#2764的地址范围为2000H-3FFFH
8-12试编程对8155进行初始化,设A口为选通输出,B口为选通输入,C口作为控制联络口,并启动定时/计数器按方式1工作,工作时间为10ms,定时器计数脉冲频率为单片机的时钟频率24分频,fOSC=12MHz。
答:
(1)参照书中图8-21,设:
①8155的片选信号CE接至51单片机的P2.7口,即单片机操作指令产生的地址信号P2.7为0时,对扩展的8155进行操作。
因此,扩展的8155口地址最高位为0;
②8155的IO/M(IO/M=1时选择8155的寄存器,IO/M=0时选择8155的存储器)信号接至51单片机的P2.0口,即单片机操作指令产生的地址信号P2.0为1时(前提是P2.7为0),对扩展8155的内部寄存器进行操作。
(2)8155内部寄存器口地址分析
根据前面假设,扩展的8155内部寄存器高8位地址是:
0xxx,xxx1B,取其中的任意位x为1,则8155内部寄存器高8位地址是:
0111,1111B=7FH。
参照书中表8-5知,8155地址信号有效时,由地址信号的低3位确定所操作的寄存器如下:
①控制字寄存器和状态字寄存器地址是:
××××,×000B,取其中任意值x为0,则该寄存器低8位地址是00H。
加上前面分析过的这里扩展的8155内部寄存器高8位地址7FH,该寄存器的16位地址为7F00H;
②A口寄存器地址是:
××××,×001B,取其中任意值x为0,则该寄存器低8位地址是01H。
同理,加上高8位地址7FH,该寄存器的16位地址为7F01H;
③B口寄存器地址是:
××××,×010B,取其中任意值x为0,则该寄存器低8位地址是02H。
同理,加上高8位地址7FH,该寄存器的16位地址为7F02H;
④C口寄存器地址是:
××××,×011B,取其中任意值x为0,则该寄存器低8位地址是03H。
同理,加上高8位地址7FH,该寄存器的16位地址为7F03H;
⑤定时/计数器低字节寄存器地址是:
××××,×100B,取其中任意值x为0,则该寄存器低8位地址是04H。
同理,加上高8位地址7FH,该寄存器的16位地址为7F04H;
⑥定时/计数器高字节寄存器地址是:
××××,×101B,取其中任意值x为0,则该寄存器低8位地址是05H。
同理,加上高8位地址7FH,该寄存器的16位地址为7F05H。
(3)8155控制字分析
根据8155控制字各位定义可知:
①D7~D6位(TM1和TM2)是定时/计数器工作方式,TM1和TM2=11时,启动定时/计数器。
根据题意要求,这两位取11(启动定时/计数器);
②D5位(IEB)是B口中断控制位,本题不涉及,故取0;
③D4位(IEA)是A口中断控制位,本题不涉及,故取0;
④D3~D2位(PAB2和PAB1)是定义A口、B口和C口的工作方式。
按照定义可知,PAB2~PAB1=10时,A口和B口均为选通方式。
此时,C口的PC0~PC5提供它们所需握手联络信号(PC0=INTRA,PC1=BFA,PC2=STBA,PC3=INTRB,PC4=BFB,PC5=STBB)。
其中与本题有关的信号是:
STBA为A口数据选通输入信号,STBB为B口数据选通输入信号(选通信号只在读取A、B口数据时使用,本题要求的初始化程序中不需要考虑);
⑤D1位(PB)定义B口的输入/输出,PB=0为输入,PB=1为输出。
根据题意应取该位为0;
⑥D0位(PA)定义A口的输入/输出,PA=0为输入,PA=1为输出。
根据题意应取该位为1。
综合以上分析,这里扩展的8155控制字为:
1100,1001B=C9H。
意为:
启动定时/计数器,A口和B口均为选通方式,B口为输入,A口为输出。
(4)定时/计数器工作方式及初值确定
51单片机的定时/计数器是以加法器方式工作,从定时常数开始加1直到溢出后产生定时中断。
而8155的定时/计数器是以减法器方式工作,从定时常数开
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 原理 接口 技术 习题 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)