第二章习题参考答案
2-1 51单片机部包含哪些主要逻辑功能部件? (1)一个8位微处理器CPU。
(2)256B数据存储器RAM和特殊功能寄存器SFR。 (3)4K程序存储器ROM。
(4)两个定时/计数器,用以对外部事件进行计数,也可用作定时器。
(5)四个8位可编程的I/O(输入/输出)并行端口,每个端口既可做输入,也可做输出。 (6)一个串行端口,用于数据的串行通信
(7)1个可管理5个中断源、2级优先嵌套的中断管理系统;。 (8)片振荡器及时钟发生器。
2-2 MCS-51引脚中有多少I/O总线?它们和单片机对外的地址总线和数据总线有什么关系?地址总线和数据总线各是几位?
32条I/O口线,分为4组,每组8条,称为P0~P3口,P0口有8位数据总线和地址总线的低8位,P2口有地址总线的高8位,因此单片机的地址总线位是16位,寻址空间为64KB,数据总线位宽为8位。同时在P3口还R/W控制信号线。I/O口线的总数与地址总线和数据总线没有多大联系,只是说地址总线和数据总线需要占用一定的端口。像AT89C2051单片机,只有15条I/O口线(P3.6没有引出,作为部使用),分为P1口(8位)和P3口(7位),没有所谓的地址总线和数据总线,并且P1口并不完整,因为P1.0和P1.1被电压比较器占用了。
2-3 51单片机的 EA, ALE,PSEN信号各自功能是什么?
EA:为片外程序存储器选用端,该引脚有效(低电平)时,只选用片外程序存储器,否则单片机
上电或复位后选用片程序存储器。
ALE:地址锁存有效信号输出在访问片外程序存储器期间,ALE以每机器周期两次进行信号
输出,其下降沿用于控制锁存P0输出的低8位地址;在不访问片外程序存储器期间,ALE端仍以上述频率(振荡频率fosc的1/6)出现,可作为对外输出的时钟脉冲或用于定时目的.
PSEN:片外程序存储器读选通信号输出端,低电平有效。
2-4 51系列单片机有哪些信号需要芯片引脚的第二功能方式提供? P3.0 :PxD 串行口输入端 P3.1 :TxD串行口输出端
P3.2 :INT0 外部中断0请求输入端,低电平有效 P3.3 :INT1 外部中断1请求输入端,低电平有效 P3.4 :T0 定时/计数器 0技术脉冲输入端 P3.5 :T1 定时/计数器 1技术脉冲输入端
P3.6 :WR 外部数据存数器写选通信信号输出端,低电平有效 P3.7 :RD 外部数据存数器读选通信信号输出端,低电平有效
2-5 51系列单片机的程序状态字PSW中存放什么信息?其中的OV标志位在什么情况下被置位?置位是表示什么意思?
●PSW是一个8位标志寄存器,它保存指令执行结果的特征信息,以供程序查询和判别。 ●1)做加法时,最高位,次高位之一有进位则OV被置位 2)做减法时,最高位,次高位之一借位则OV被置位 3)执行乘法指令MUL AB,积大于255,OV=1
4)执行除法指令DIV AB,如果B中所放除数为0 ,OV=1 ●0V=1,置位反映运算结果超出了累加器的数值围
2-9 片RAM低128单元划分为哪几个区域?应用中怎么样合理有效的使用? ●工作寄存器区,位寻址区,数据缓冲区 ①工作寄存器区用于临时寄存8位信息,分成4组,每组有8个寄存器,每次只用1组, 其他各组不工作 ②位寻址区(20H~2FH),这16个单元的每一位都赋予了一个位地址,位地址围为00H~7FH,位寻址区的每一位都可能当作软件触发器,由程序直接进行位处理。
③由于工作寄存器区,位寻址区,数据缓冲区统一编址,使用同样的指令访问,因此这三个 区的单眼既有自己独特的功能,又可统一调度使用,前两个已未使用的单元也可作为一般的用户RAM单元。
2-10 51系列单片机的堆栈与通用微机中的堆栈有何异同?在程序设计时,为什么要对堆栈指针SP重新赋值?
●堆栈是按先进后出或后进先出的远侧进行读/写的特殊RAM区域 51单片机的堆栈区时不固定的,可设置在部RAM的任意区域
●当数据压入堆栈时,SP的容自动加1,作为本次进栈的指针,然后再存取数据SP的值随着数据的存入而增加,当数据从堆栈弹出之后,SP的值随之减少,复位时,SP的初值为07H,堆栈实际上从08H开始堆放信息,即堆栈初始位置位于工作寄存器区域,所以要重新赋值
2-13 什么是时钟周期,机器中期和指令周期?当晶振荡频率为6MHZ时,一条双周期指令的执行时间是多少?
●时钟周期:CPU始终脉冲的重复周期(2个振荡周期) 机器周期:一个机器周期包含6个状态周期 指令周期:执行一条指令所占用的全部时间 12MHZ时,一条双周期指令周期时间为2us 6MHZ时,一条双周期指令周期时间为1us
2-14 定时器/计数器定时与计数的部工作有何异同?
●定时工作模式和技术工作模式的工作原理相同,只是计数脉冲来源有所不同:
处于计数器工作模式时,加法计数器对芯片端子T0(P3.4)或T1(P3.5)上的输入脉冲计数; 处于定时器工作模式时,加法计数器对部机器周期脉冲计数。
2-15 定时器/计数器有四种工作方式,它们的定时与计数围各是多少?使用中怎样选择工作方式?
●工作方式0:定时围:1~8192us;计数值围:1~8192 工作方式1:定时围:1~65536us;计数值围:1~65536 工作方式2:定时围:1~256us;计数值围:1~256 工作方式3:定时围:1~256us;计数值围:1~256
●通过TMOD来选择,低4位用于定时器/计数器0,高4位用于定时器/计数器1
M1,M0:定时器计数器工作方式选择位
2-16 定时器/计数器的门控方式与非门控方式有何不同?使用中怎么样选择哪种工作方式?初值应设置为多少(十六进制)?
●GATE:门控位,用于控制定时器/计数器的启动是否受外部中断请求信号的影响。 GATE=1,则定时器/计数器0的启动受芯片引脚INT0(P3.2)控制,定时器/计数器1的启动受芯片引脚INT1(P3.3)控制
GATE=0,则定时器/计数器的启动与引脚INT0、INT1无关,一般情况下GATE=0
2-18 51单片机的五个中断源中哪几个中断源在CPU响应中断后可自动撤除中断请求,哪几个不能撤除中断请求?CPU不能能撤除中断请求的中断源时,用户应采取什么措施?
●可撤除:计数器T0`T1的溢出中断
不可撤除:触发的外部中断;发送接收中断
●1)触发的外部中断:由于CPU对INTx引脚没有控制作用,也没有相应的中断请求标志位,因此需要外接电路来撤除中断请求信号。
2)串行口的发送/接收中断:当串行口发送完或接收完一帧信息时,SCON的TI,RI向CPU申请中断,响应中断后,接口应计算呢不能自动将TI或RT清0,用户需采用软件方法将TI或RT清0,来撤除中断请求信号
2-21 使单片机复位有几种方式?复位后单片机的初始状态如何? ●上电复位,按钮复位
●(PC)=0000H:程序的初始入口地址为0000H
(PSW) =00H:由于RS1(PSW.4)=0,RS0(PSW.3)=0,复位后单片机选择工作寄存器0组
(SP)=07H:复位后堆栈早起片RAM的08H单元处建立
TH1、TL0、TH0、TL0:他们的容为00H,定时器/计数器的初值为0 (TMOD)=00H:复位后定时器/计数器T0、T1定时器方式0,非门控方式
(TCON)=00H:复位后定时器/计数器T0、T1停止工作,外部中断0、1为电平触发方式
(T2CON) =00H:复位后定时器/计数器T2停止工作
(SCON)=00H:复位后串行口工作在移位寄存器方式,且禁止串行口接收 (IE)=00H:复位后屏蔽所有中断
(IP)=00H:复位后所有中断源都直指为低优先级
P0~P3:锁存器都是全1状态,说明复位后4个并行接口设置为输入口
2-23 51单片机串行口有几种工作方式?这几种工作方式有何不同?各用于什么场合?
●有4种工作方式:方式0、方式1、方式2、方式3
工作方式:方式0移位寄存器方式;方式1、方式2、方式3都是异步通信方式