单片微机原理与接口技术电子工业出版社宋跃答案整理.docx
- 文档编号:11607748
- 上传时间:2023-03-28
- 格式:DOCX
- 页数:27
- 大小:85.82KB
单片微机原理与接口技术电子工业出版社宋跃答案整理.docx
《单片微机原理与接口技术电子工业出版社宋跃答案整理.docx》由会员分享,可在线阅读,更多相关《单片微机原理与接口技术电子工业出版社宋跃答案整理.docx(27页珍藏版)》请在冰豆网上搜索。
单片微机原理与接口技术电子工业出版社宋跃答案整理
(颜色特殊标志的地方是指与原来同学整理的答案有差别或是有补充,仅供参考,有不对的地方还望同学们指正~~)
第一部分
1.奇偶校验原理是什么?
(P150,154)
答:
奇校验规定8位有效数据连同1位附加位中,二进制数“1”的个数为奇数;偶校验规定8位有效数据连同1位附加位中,二进制数“1”的个数为偶数。
附:
80C51中,只有以累加器A为目的操作数的指令,才可能影响奇偶标志P。
以A中内容判断,不包括进位。
2.比特率、波特率是什么?
(P150)
答:
比特率是指每秒传送二进制数的信号数(即二进制数的位数),单位是bps(或b/s);波特率是指每秒传送信号的数量,单位是波特(B)。
附:
只有在二进制通信系统中,波特率和比特率在数值上才相等。
3.I2C总线字节传送与应答时数据传送格式是什么?
(P167)
答:
一个字节数据8位+一个应答位=一帧9位
附:
I2C总线的传送格式为主从式,即主机发出起始信号后,先发出从机的8位地址信息,该信息前7位是从机芯片的内部地址,第8位是读/写信息(R/——W),“1”为读,“0”为写;然后进行和主机之间的读写数据传送;接收方接收到一字节数据后,给予发送方一个应答信号,表示接受正常;数据全部发完后,主机发出停止信号,结束数据传送。
4.串行口方式0收发过程?
TB8、RB8有什么作用?
奇偶校验如何定义?
(P152,153)
答:
串行口在工作方式0下为8位同步移步寄存器输入/输出方式,波特率固定为fosc/12。
方式0下的串行口本身相当于“并入串出”(发送状态)或“串入并出”(接收状态)的移位寄存器。
此时,串行数据由RXD(P3.0)逐位移出/移入(低位在先,高位在后);TXD(P3.1)输出移位时钟,频率为系统时钟频率fosc的1/12。
发送/接收数据时,每发送/接收8位数据TI/RI自动置1;需要用软件清零TI/RI。
TB8:
在方式2、3中,是要发送的第9位数据;在双机通信中,用于对接收到的数据进行奇偶校验;在多机通信中,用作判断地址帧/数据帧,TB8=0表示发送的是数据,TB8=1表示发送的是地址。
RB8:
在方式2、3中,用于存放收到的第9位数据;在双机通信中,作为奇偶校验;在多机通信中,用作区别地址帧/数据帧的标志。
在方式1时,SM2=0,RB8接收的是停止位。
在方式0时,RB8不用。
约定发送采用奇校验时,若发送的8位有效数据中“1”的个数为偶数,则要人为在附加位中添加一个“1”一起发送;若发送的8位有效数据中“1”的个数为奇数,则要人为在附加位中添加一个“0”一起发送。
约定接收采用奇校验时,若接收到的9位数据中“1”的个数为奇数,则表明接收正确,取出8位有效数据即可;若接收到的9位数据中“1”的个数为偶数,则表明接收出错,应当进行出错处理。
采用偶校验时,处理方法与奇校验类似。
5.试述51单片机串行口方式1的接收过程(含RI、SM2不同情况下数据的装载情况)。
((P153,154))
答:
(详细答案在书本153页)接收过程是在RI=0且REN=1条件下启动,此时接收器开始工作。
当接收电路采样到输入信号从1到0的负跳变时,确认是开始位0,就启动接收控制器接收数据。
如果接收到的起始位的值不是0,则起始位无效,复位接收电路。
如果起始位为0,则开始接收本帧其他各位数据。
控制器发出内部移位脉冲将RXD上的数据逐位移入移位寄存器,当8位数据及停止位全部移入后,在开始操作。
操作时,根据状态的不同,可以有以下不同操作:
若RI=0、SM2=0,则接收控制器发出“装载SBUF”信号,将8位数据装入接收数据缓冲器SBUF,停止位装入RB8,并置RI=1,向CPU发出中断请求信号。
若RI=0、SM2=1,则只有在停止位为1时才发生上述操作;
若RI=0、SM2=1,且停止位为0,则所接收的数据不装入SBUF,即数据丢失。
若RI=1,则所接收的数据在任何情况下都不装入SBUF,即数据丢失。
6.51单片机的寻址方式有哪些?
各寻址空间有哪些?
(P81)
答:
序号
寻址方式
1
寄存器寻址
R0~R7
A、B、C(CY)、AB(双字节)、DPTR(双字节)、PC(双字节)
2
直接寻址
内部RAM低128字节(00H~7FH)
特殊功能寄存器
内部RAM位寻址区的128个位
特殊功能寄存器中可寻址的位
3
寄存器间接寻址
内部RAM(采用@R0,@R1或SP)
外部RAM(采用@R0,@R1或@DPTR)
4
立即寻址
ROM程序存储器(常数)
5
变址寻址
程序存储器(@A+PC,@A+DPTR)(只限于访问ROM)
6
相对寻址
ROM(PC当前值的-128~127字节)
7
位寻址
可寻址位(内部RAM、20H~2FH单元位和部分SFR位)
备注:
(1)特殊功能寄存器只能用直接寻址方式操作。
(2)各寻址方式例子:
立即寻址:
MOVA,#30H
直接寻址:
MOVA,30H
寄存器寻址:
MOVA,R0
寄存器间接寻址:
MOVA,@R0
变址寻址:
MOVCA,@A+DPTR;MOVCA,@A+PC;JMP@A+DPTR;
相对寻址:
JZrel;JCrel;
位寻址:
MOVC,00H
附:
位寻址其实是直接寻址方式的一种
7.若(SP)=30H,标号“XADD”表示的实际地址为1111H,PC的当前值为2222H。
执行指令LCALLXADD后返回地址为多少?
(SP)=?
(P96)
答:
返回地址为:
2225H;(SP)=32H;
说明:
调用子程序时,断点将会自动存入堆栈中,而断点就是单片机调用完子程序后下一条将执行的指令的入口地址,而指令LCALLXADD为三个字节的指令,所以返回的地址为:
2222H+3=2225H;
8.以80C31为主机,用1片6264扩展片外RAM,1片27128扩展片外ROM,试画出接口电路,说明CPU控制信号作用、译码方式和芯片地址范围。
解:
接口电路图上图所示,只要把上图的27C56改为27C128和把A14改为A13就行了。
CPU控制信号:
(1)ALE信号作为低8位地址的锁存控制信号;
(2)
信号作为扩展程序存储器的读选通信号。
(3)
信号作为内外程序存储器的选择控制信号。
(4)/RD和/WR信号作为扩展数据存储器和I/O口的读选
通,写选通信号。
译码方式采用的是线选法
芯片ROM27C128的地址范围为:
0000H-3FFFH,4000H-7FFFH
芯片RAM62C64的地址范围为:
8000H-9FFFH,A000H-BFFFH,C000H-DFFFH,E000H-FFFH
9.设计81C55实现的的键盘及显示接口,若在最左一位显示3,如何设计程序?
设计有无健按下的识别程序?
答:
解:
最左一位显示3程序
ORG0100H
MAIN:
MOVA,#03H;前三行为8155初始化,即PA、PB为基本输出,PC为输入
MOVDPTR,#7F00H
MOVX@DPTR,A
DIS:
MOVA,#20H;20H为最左一位的位选信号
MOVDPTR,#7F01H
MOVX@DPTR,A;送位选信号
INCDPTR
MOVA,#4FH;4FH为共阴极3的代码
MOVX@DPTR,A;送段选信号
AJMPDIS;一直这样循环下去,就能够看到最左一位显示静态的3
END
有无按键按下的识别程序
ORG1000H
MAIN:
MOVA,#03H;前三行为8155初始化,即PA、PB为基本输出,PC为输入
MOVDPTR,#7F00H
MOVX@DPTR,A
KEYHN:
MOVDPTR,#7F01H
MOVA,#0FFH
MOVX@DPTR,A
INCDPTR
INCDPTR
MOVXA,@DPTR
CPLA
ANLA,#07H
END
10.基本型单片机有SFR是什么?
如何分布?
哪些可以位寻址?
答:
SFR区是专用寄存器区(也称特殊功能寄存器区),位于内部RAM高128单元。
程序计数器PC虽然也是专用寄存器,但它在物理上是独立的,没有地址,故不可寻址,它不属于内部RAM的SFR区。
其他可寻址的(共21个)寄存器离散分布于80H~0FFH。
寄存器符号
地址
寄存器名称
寄存器符号
地址
寄存器名称
ACC
E0H
累加器
P3
B0H
I/O口3
B
F0H
B寄存器
PCON
87H
电源控制及波特率选择寄存器
PSW
D0H
程序状态字
SCON
98H
串行口控制寄存器
SP
81H
堆栈指示器
SBUF
99H
串行口数据缓冲区
DPL
82H
数据指针低8位
TCON
88H
定时器控制寄存器
DPH
83H
数据指针高8位
TMOD
89H
定时器方式控制寄存器
IE
A8H
中断允许控制寄存器
TL0
8AH
定时器0低8位
IP
B8H
中断优先控制寄存器
TL1
8BH
定时器1低8位
P0
80H
I/O口0
TH0
8CH
定时器0高8位
P1
90H
I/O口1
TH1
8DH
定时器1高8位
P2
A0H
I/O口2
备注:
数据指针即是DPTR。
上表中,寄存器地址能被8整除的都是可以位寻址的(即十六进制地址的最后一位数是“8”或“0”的)
即:
ACC,B,PSW,IE,IP,P0,P1,P2,P3,SCON,TCON;(共11个)
11.8031、8032、8051单片机的供应状态如何?
系统复位时,各寄存器状态是怎样的?
答:
8031、8032、8051单片机都是总线型单片机,它们的资源配置如下
芯片型号
类型
ROM
RAM
并口
串口
定时/计数器
中断源
80C31
基本型
无
128B
4个
1个
2个
5个
80C32
增强型
无
256B
4个
1个
3个
6个
80C51
基本型
4KB掩模
128B
4个
1个
2个
5个
12.51单片机中断标志如何复位?
答:
(中断标志复位应该是指中断撤销)定时/计数器中断标志、下降沿触发的外部中断标志是在中断响应后硬件自动清除的;串口中断标志是需要软件清除的;低电平触发的外部中断标志由于与外部信号的电平相反,不能由单片机硬件自动清零,也不能软件清零,只能通过使外部信号变为1来撤销申请。
13.画出内部定时器/计数器的内部结构?
分析其工作原理?
控制信号如何确定?
各方式有何特点?
工作方式2、3时,将T0、T1有何特点?
(P135,137)
答:
(定时/计数器的内部结构图在书本135页)
定时/计数器的工作方式选择如下表:
M1M0
工作方式
00
方式0,13位定时/计数器
01
方式1,16位定时/计数器
10
方式2,自动重装的8位定时/计数器
11
方式3
定时/计数器0,分成两个8位计数器
定时/计数器1,停止计数
备注:
只有定时/计数器0可以工作在方式3;
需要重点掌握的控制信号有:
(1)IE(中断允许控制寄存器,128页)中的各个中断控制位;
(2)TCON(定时器控制寄存器,137页)中的各个控制位,其中IE1、IE0比较次要;
(3)SCON(串行口控制寄存器,151页)中的各个控制位;
(4)IP(中断优先控制寄存器,129页)各个控制位,参考126页中的结构图更有利于理解;
(5)TMOD(定时器工作方式寄存器,136页),重点,需要记住各个位作用以及位置,因为TMOD的地址为89H,不能按位寻址,只能对整个寄存器编程。
(6)定时/计数器各种工作方式初值的计数,理解应用定时/计数器的程序的编写;
(7)各个中断源的自然优先级及其入口地址(129页);
(8)记住并掌握串行口4种工作方式波特率的计数公式
(9)PCON(电源控制寄存器,152页)中设置波特率是否加倍的SMOD;
14.51单片机内部定时计数器在作计数器使用时,读数有何要求?
(P136)
答:
计数时钟下降沿有效。
由于采用一个下降沿需要两个机器周期,因此外部计数时钟的最高频率是fosc/24(其中fosc是系统时钟频率)。
用作计数器时,只能选择外部时钟,且通常设置计数初值为零。
15.89C51中可以用作间接寻址的寄存器有哪些?
(P79)
答:
R0、R1、SP、DPTR;
16.51单片机堆栈区只可设置在哪里?
组织原则是什么?
SP始终指向哪里?
SP的地址是多少?
(P62)
答:
(62页)堆栈通常设置在内部RAM的30H~7FH之间(当系统复位后,SP的内容为07H)。
堆栈的原则是“后进先出”。
SP的内容就是堆栈“栈顶”的存储单元地址,即始终指向栈顶单元。
17.当RS1RS0=10时,当前工作寄存器组是第几组?
对应R0的地址为多少?
如何改变寄存器组?
(P59)
答:
第2组,对应R0的地址为10H,寄存器组的选择由程序状态寄存器PSW中RS1、RS0位的状态组合来确定。
18.利用51单片机内部定时/计数器T0方式2实现外部脉冲宽度的测量,TMOD该如何设置,编写给T0TMOD赋值又不影响T1TMOD原来设置的指令序列。
(P136)
答:
分析:
用于计算外部脉冲宽度,即定时/计数器的计数启动要受到外部的影响,工作在定时器模式,工作方式为方式2,所以GATE=1,C/T=0,M1M0=10。
T0的TMOD赋值程序段如下:
ANLTMOD,#F0H;按位“与”运算,将TMOD中关于T0的设置清零
ORLTMOD,00001010B;按位“或”运算,保留T1的设置,更改T0的设置
19.51单片机的中断申请标志是如何复位的?
外部中断如何定义?
如何撤销?
答:
答案在12题。
20.已知10010110是一个补码,真值为多少?
,若为BCD码,则其真值为多少?
-89的补码是多少?
答:
10010110的真值为-106。
若为BCD码,其真值为96。
-89的补码为10100111。
21.键盘扫描有哪些方法?
对于非编码键盘,如何去抖?
行列扫描的原理是怎样的?
(P230)
答:
(独立键盘的扫描方法要看电路连接而定)矩阵式键盘扫描控制方式有:
(1)程序扫描方式;
(2)定时控制扫描方式;(3)中断控制方式;
按键消抖有两种方式:
一种是硬件消抖,另一种是靠软件延时来消抖;
硬件消抖就是在电路中加入硬件电路来对按键出现的抖动信号进行处理,常见的方式有加入触发器电路,或者采用滤波电路。
软件消抖的方式,就是当单片机检测到有按键按下后,则调用一个延时10ms子程序,延时后再来确认该键是否确实按下,从而消除抖动带来的不良影响。
(行列扫描程序在230页,程序的第一条指令时错误的,应改为:
MOVP1,#0F0H)
行列扫描的原理是:
1、读取列线的编号。
先置行线低电平,置列线高电平。
然后读取行列线的值(即程序中的P1。
如果有按键按下的话,其中一条列线将会被拉低为低电平,即为“0”),将数值取反,再将行线的值屏蔽掉后,检测列线的值是否不为零,(因为如果有按键按下的话,数值取反后,列线的值是不为零的),若不为零,则说明有按键按下,即需继续获取行线的编码。
若为零,则跳出键盘扫描程序。
2、读取行线的编号。
与获取列线的编号类似。
3、延时消抖后,再读取一遍列线、行线的编号,确定按键是否确实按下。
4、确定有按键按下后,利用列线、行线的编号计数出被按下按键的编号,并执行相应程序指令。
22.中断优先级是什么?
中断响应时间是什么?
什么情况下中断受阻?
答:
中断优先级是不同中断源对应的不同优先权等级。
从中断申请到执行第一条中断服务程序的最短时间是3个机器周期(优先权扫描1个机器周期,LCALL指令2个机器周期),在没有执行同级或更高级别的中断服务子程序的情况下,中断响应最长的等待时间不超过8个机器周期。
(131页)
23.设计51单片机与81C55实现的的键盘及显示接口,说明8155RAM及I/O口地址为多少?
(设地址译码无关位为1),试完成8155的初始化,请设计循环动态显示程序。
解:
8155RAM的地址为:
7E00H-7EFFH
I/O地址为:
7F00H-7F05H
8155的初始化程序
MOVA,#03H
MOVDPTR,#7F00H
MOVX@DPTR,A
从左到右循环动态显示0,1,2,3,4,5的显示子程序
DIS:
MOVR0,#00H;第0个数
MOVR2,#01H
MOVA,R2
LOOP:
MOVDPTR,#7F01H
MOVX@DPTR,A
INCDPTR
MOVA,R0
ADDA,#0DH;因为下面指令到列表一共有13个字节,所以这里加0DH
MOVCA,@A+PC;1个字节
MOVX@DPTR,A;1个字节
ACALLD10MS;2个字节
INCR0;取下个数,1个字节
MOVA,R2;1个字节
JBACC.5,DIS;若显示完6个数,从头开始再次循环,3个字节
RLA;1个字节
MOVR2,A;1个字节
AJMPLOOP;2个字节
DB60H,66H,4FH,5BH,06H,3FH;从左到右分别为5,4,3,2,1,0
D10MS:
MOVR6,#10
D1MS:
MOVR5,#249
DL:
NOP
NOP
DJNZR5,DL
DJNZR6,D1MS
RET
24.设计将内部RAM起始地址为50H的数据串传送到外部RAM中起始地址为8000H的存储区域,直到发现‘$’字符停止传送。
答:
ORG0100H
MAIN:
MOVR0,#50H
MOVDPTR,#8000H
LOOP:
MOVA,@R0
CJNEA,#24H,LOOP1;其中24H是‘$’字符的ASCII码
SJMPLOOP2
LOOP1:
MOVX@DPTR,A
INCR0
INCDPTR
SJMPLOOP
LOOP2:
END
25.中断控制器IE、IP如何设置?
地址为多少?
答:
如何设置(128~129页),地址:
IE的地址为A8H,IP的地址为B8H。
26.单片机系统扩展时,地址与数据总线是如何分离的?
依靠什么信号来实现?
设计扩展2片27256、2片6116的电路图。
(P195)
答:
单片机系统扩展时,数据总线为单片机的P0口。
而P0又是一个分时复用的地址/数据线,所以地址总线的低8位地址线为P0口,高8位地址线为P2口。
而单片机的P0口与地址锁存器的输入端相连接,地址锁存器的输出端与所扩展的存储器的低8位地址A0~A7相连接。
地址锁存允许端ALE用于控制地址锁存器锁存P0口输出的低8位地址,从而实现数据与低位地址的复用。
扩展电路·····关于6116的扩展电路在202页。
27.51单片机系统读外部ROM由什么信号选通?
在外部ROM中取数只能采用什么方式寻址?
有哪些指令来实现?
答:
—————PSEN是读外部ROM的选通信号;只能采用变址寻址方式;对应的读取外部ROM的指令有:
MOVCA,@A+DPTR
MOVCA,@A+PC
28.MCS-51单片机系统晶振为12MH,则时钟周期、机器周期、最长指令执行时间为多少?
答:
时钟周期为1/6us;机器周期为1us;最长指令执行时间为4us(即4个机器周期)(70页)
29.地址线12根可选多少个存储单元?
4KBROM的首地址为6000H,则末地址为多少?
答:
可选122个存储单元;末地址为6FFFH。
30.访问片外RAM时采用哪些指令?
是什么寻址方式?
选通信号是什么?
访问片外ROM时采用什么指令?
是什么哪些方式?
选通信号是什么?
(P83、194)
答:
访问片外RAM时采用的指令有:
(1)MOVXA,@Ri
(2)MOVXA,@DPTR
(3)MOVX@Ri,A(4)MOVX@DPTR,A
是寄存器间接寻址方式,片外RAM的选通信号不为/RD和/WR;访问片外ROM是采用的指令有:
(1)MOVCA,@A+DPTR
(2)MOVCA,@A+PC
是变址寻址方式,选通信号是—————PSEN。
31.MOVXA,@R0能将访问64KB的存储器吗?
如何编写指令序列来实现?
(P84)
答:
不能。
(因为RO只是一个字节(即8位)的存储单元,最多能访问256B的存储器)。
访问64KB的存储器可以采用指令:
(1)MOVXA,@DPTR(读外RAM)
(2)MOVX@DPTR,A(写外RAM)
32.I2C总线是如何来选通扩展器件?
如何确定寻址字节?
答:
I2C总线中的器件既可以作为主控器,也可以作为被控器,系统中每个器件均具有唯一的地址,各器件之间通过寻址确定数据交换方。
主机发出起始信号后,先发出从机的8位地址信息,该信息前7位是从机芯片的内部地址,第8位是读/写信息(R/——W),“1”为读,“0”为写。
33.JCrel发生跳转时,目标地址如何计算?
RETI,RET指令时如何操作的?
二者有何区别?
用在哪里?
答:
目标地址为PC=(PC)+2+rel;(因为JCrel为两字节指令)。
RETI,RET指令时,先把栈顶的一个数弹出赋给PC的高8位,然后调整栈顶位置,在把栈顶的一个数弹出赋给PC的低8位,再次调整栈顶位置。
区别及用处:
RET指令的功能是从堆栈中弹出由调用指令压入堆栈保护的返回地址,并送入指令计数器PC,从而结束子程序,继续执行原来的程序。
RETI专用于中断服务程序返回,它具有清除内部相应的中断状态触发器(以保证正确的中断逻辑)的功能。
34.MOVA,P1和ANLA,P1指令,源操作数P1分别来自哪里?
答:
前者来自P1口的状态(即单片机P1引脚的状态,受外部电路影响而改变的),后者来自特殊功能寄存器I/O口1(地址为80H)。
35.在访问外部数据存储器时,DPH,DPL,A是如何进行输入输出的?
从时序上予以分析。
答:
DPL(地址低8位)的数据从P0传送到地址锁存器的输入端锁存,再从地址锁存器的输出端传送到外部数据存储器,而DPH(地址高8位)的数据直接从P2口传送到外部数据存储器。
外部数据存储器地址与DPH,DPL相对应的存储单元的内容从P0口读入,然后再从P0口传送到累加器A。
36.51单片机串行口各方式的波特率分别是如何确定的?
答:
串行口各方式的波特率为:
(1)方式0的波特率=fosc/12;(固定的)
(2)方式1的波特率=(SMOD2/32)×(T1溢出率)
(3)方式2的波特率=(SMOD2/64)×fosc(固定的)
(4)方式3的波特率=(SMOD2/32)×(T1溢出率)
37.51单片机执行片内ROM与外部ROM中是如何确定的?
答:
(55页)由程序存储器地址允许输入端——EA/Vpp来确定。
当——EA为高电平时,CPU执行片内程序存储器(即ROM)指令,但当P
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片 微机 原理 接口 技术 电子 工业出版社 答案 整理
![提示](https://static.bdocx.com/images/bang_tan.gif)