单片机原理及接口技术课后习题答案(第四版)
第一章
1. 什么是微处理器 (CPU)、微机和单片机?
李朝青
答 微处理器本身不是计算机,但它是小型计算机或微机的控制和处理部分。
微机则是具有完整运算及控制功能的计算机, 除了微处理器外还包括存储器、 接口适配器以及输入输出设备等。
单片机是将微处理器、一定容量的 RAM、ROM以及 I/O 口、定时器等电路集成在一块芯片上,构成的单片微型计算机。 2. 单片机具有哪些特点 (1)片内存储容量越来越大。 (2 抗干扰性好,可靠性高。 (3)芯片引线齐全,容易扩展。 (4)运行速度高,控制功能强。
(5)单片机内部的数据信息保存时间很长,有的芯片可以达到 3. 微型计算机怎样执行一个程序?
答:通过 CPU指令,提到内存当中,再逐一执行。 4. 微型计算机由那几部分构成?
微处理器,存储器,接口适配器(即 I/O 接口),I/O 设备
第二章
1.89C51 单片机内包含哪些主要逻辑功能部件?
答:80C51系列单片机在片内集成了以下主要逻辑功能部件: (l)CPU( 中央处理器 ):8 位
(2) 片内 RAM:128B (3) 特殊功能寄存器 :21 个 (4) 程序存储器 :4KB (5) 并行 I/O 口:8 位,4 个 (6) 串行接口: 全双工,1 个 (7)
定时器/ 计数器:16 位,2 个
(8) 片内时钟电路 :1 个
1
100 年以上。
5.C51 的 EA端有何用途?
答:/EA 端接高电平时, CPU只访问片内 flash.com 并执行内部程序,存储器。 /EA 端接低电平时, CPU只访问外部 ROM,并执行片外程序存储器中的指令。 /EA 端保持高电平时, CPU执行内部存储器中的指令。
1.90 89C51 的存储器分哪几个空间 ?如何区别不同空间的寻址 ?
答:RO(M 片内 ROM和片外 ROM统一编址)(使用 MOV)C(数据传送指令)(16bits 地址)(64KB)
片外 RAM(MOV)X(16bits 地址)(64KB) 片内 RAM(MOV)(8bits 地址)(256B) 1.91 简述 89C51片内 RAM的空间分配。 答: 片内 RAM有256B
低128B是真正的 RAM区
高128B是 SFR(特殊功能寄存器)区
1.92 简述布尔处理存储器的空间分配,片内 RAM中包含哪些可位寻址单元。 答:片内 RAM区从 00H~FFH(256B)
其中 20H~2FH(字节地址)是位寻址区 对应的位地址是 00H~7FH 1.93 如何简捷地判断 89C51正在工作 ?
答:用示波器观察 8051 的 XTAL2端是否有脉冲信号输出(判断震荡电路工作是 否正常?)
ALE (地址锁存允许)(Address Latch Enable )输出是 fosc 的 6 分频 用示波器观察 ALE是否有脉冲输出(判断 8051 芯片的好坏?) 观察 PSEN(判断 8051能够到 EPROM或ROM中读取指令码?) 因为/PSEN接外部 EPRO(MROM)的/OE端子 OE=Output Enable
(输出允许)
1.94 89C51 如何确定和改变当前工作寄存器组 ?
答:PSW(程序状态字)(Program Status Word )中的 RS1和RS0
可以给出 4 中组合
用来从 4 组工作寄存器组中进行选择 PSW 属于 SFR(Special Function Register
)(特殊功能寄存器)
1.95 89C51P0口用作通用I / O口输入时,若通过 TTL“OC”门输入数据,应注意 什么?为什么?
答:应该要接一个上拉电阻
2
6. 读端口锁存器和“读引脚”有何不同?各使用哪种指令?
答:读锁存器( ANLP0,A)就是相当于从存储器中拿数据,而读引脚是从外部拿 数据(如 MOVA,P1 这条指令就是读引脚的, 意思就是把端口 p1输入数据送给 A)
传送类 MOV,判位转移 JB、JNB、这些都属于读引脚,平时实验时经常用这 些指令于外部通信, 判断外部键盘等; 字节交换 XCH、XCHD算术及逻辑运算 ORL、 CPL、ANL、ADD、ADDC、SUBB、INC、DEC控制转移 CJNE、DJNZ都属于读锁存器。 7. 89C51 P0~P3口结构有何不同 ?用作通用I / O口输入数据时,应注意什么 ? 答:P0口内部没有上拉电阻,可以用做 16 位地址的低 8 位;
P3有第二功能;
P2口可以用做 16 位地址的高 8 位;
需要上拉电阻。 OC门电路无法输出高低电平,只有靠上拉电阻才能实现
8. 89C51单片机的EA信号有何功能 ?在使用 8031 时,EA信号引脚应如何处 理?
答:(1)80C51 单片机的 EA信号的功能
EA 为片外程序存储器访问允许信号,低电平有效 ; 在编程时,其上施加 21V 的编程电压
EA 引脚接高电平时,程序从片内程序存储器开始执行,即访问片内存储 器;EA 引脚接低电平时,迫使系统全部执行片外程序存储器程序。 (2)
在使用 80C31时,EA 信号引脚的处理方法
因为 80C31没有片内的程序存储器, 所以在使用它时必定要有外部的程序存 储器,EA 信号引脚应接低电平。
9. 89C51 单片机有哪些信号需要芯片引脚以第 2 功能的方式提供 ? 答: 第一功能
第二功能 串行口:
P3.0 P3.1 P3.2 P3.3
RXD TXD
中断:
INT0 INT1
外部中断 0 外部中断 1
定时器/ 计数器(T0、T1):
P3.4 P3.5
T0 T1
(定时器/ 计数器 0 的外部输入) (定时器/ 计数器 1 的外部输入) 数据存储器选通:
3
(串行输入口) (串行输出口)
P3.6 P3.7 P1.0 P1.1
WR RD T2 T2EX
(外部存储器写选通, 低电平有效, 输出) (外部存储器读选通, 低电平有效, 输出) 定时器/ 计数器(T2):
(定时器 T2 的计数端) (定时器 T2的外部输入端)
10. 内部 RAM低 128 字节单元划分为哪 3 个主要部分 ?各部分主要功能是什么 ? 答:片内 RAM低 128 单元的划分及主要功能 : (l)
工作寄存器组 (00H~lFH)
RAM区的 0~31(00H~lFH), 共
这是一个用寄存器直接寻址的区域,内部数据
32 个单元。它是 4 个通用工作寄存器组,每个组包含 8 个 8 位寄存器,编号为 R0~R7。 (2)
位寻址区(20H~2FH)
从内部数据 RAM区的 32~47(20H~2FH)的 16个字节单元,共包含 128 位,是 可位寻址的 RAM区。这 16 个字节单元,既可进行字节寻址,又可实现位寻址。 (3)
字节寻址区 (30H~7FH)
从内部数据 RAM区的 48~127(30H~7FH),共 80个字节单元,可以采用间接 字节寻址的方法访问。
11. 使单片机复位有几种方法 ?复位后机器的初始状态如何 ? 答:(1) 单片机复位方法
单片机复位方法有 : 上电自动复位、按键手动复位和两种方式 (2) 复位后的初始状态
复位后机器的初始状态 , 即各寄存器的状态 :PC之外, 复位操作还对其他一 些特殊功能寄存器有影响 , 它们的复位状态如题表 2-1 所例
12. 开机复位后, CPU使用的是哪组工作寄存器 ?它们的地址是什么 ?CPU如何确 定和改变当前工作寄存器组 ?
答:一般开机复位后都是选择第一组通用工作寄存器作为工作寄存器的, 4 组,分别为 0.1.2.3 连续位于 00h到 1FH地址,
然后在机器中有个程序状态字 PSW,它的第四和第三位 RS1,RS0是用来选择工 作寄存器组的,可能不同机器地址稍有不同。他们俩的值和寄存器组的关系: RS1/RS0
0/0 0/1 1/0 1/1
0
1
2
3
一共有
使用的工作寄存器 地址
00-07 08-0F 10-17 18-1F
4
写程序的时候就是通过定义程序状态字来选择使用不同的寄存器组。 对 RS1和 RS0赋值。 (最后一问同题 7)
也可以直接
13. 程序状态寄存器 PSW的作用是什么 ?常用标志有哪些位 ?作用是什么 ? 答:PSW是一个 SFR(特殊功能寄存器)
位于片内 RAM的高 128B
具体地址 D0H(00H~FFH)(片内 RAM的编址)(8bits 编址方法) PSW=Program Status Word (程序状态字) PSW 的常用标志位有哪些? CY=Carry (进位标志位) AC=Auxiliary Carry F0
用户标志位
(辅助进位标志位) (半进位标志位)
RS1 ,RS0,用来选择当前工作寄存器组( R0~R7)(4 选 1) OV=Overflow (溢出标志位) P=Parity
(奇偶校验位)
14. 位地址 7CH与字节地址 7CH如何区别?位地址 7CH具体在片内 RAM中的什么 位置?
答:用不同的寻址方式来加以区分, 即访问 128 个位地址用位寻址方式, 访问低 128 字节单元用字节寻址和间接寻址。
具体地址为 2F 的第五位,即为 7C。
15. 89C51 单片机的时钟周期与振荡周期之间有什么关系 令周期?
答:时钟信号的周期称为机器状态周期, 是振荡周期的两倍。 一个机器周期是指 CPU访问存储器一次所需的时间。指令周期是执行一条指令所需的时间。 16. 一个机器周期的时序如何划分 ?
答:一个机器周期 =12个震荡周期 =6 个时钟周期(状态周期)
S1P1 ,S1P2,S2P1,S2P2,S3P1,S3P2,S4P1,S4P2,S5P1,S5P2,S6P1, S6P2 其中 s=state (状态),p=phase(相位)
17. 什么叫堆栈 ?堆栈指针 SP的作用是什么 ?89C51单片机堆栈的容量不能超过 多少字节 ?
答:堆栈都是一种数据项按序排列的数据结构,只能在一端
( 称为栈顶(top)) 对 ?什么叫机器周期和指
数据项进行插入和删除。 要点:堆:顺序随意栈: 后进先出(Last-In/First-Out)
5
单片机原理与接口技术-习题答案第四版李朝青(修订后)



