没有合适的资源?快使用搜索试试~ 我知道了~
精品资料(2021-2022收藏)单片机原理及接口技术课后作业及答案.doc
0 下载量 181 浏览量
2022-11-22
18:01:25
上传
评论
收藏 245KB DOC 举报
温馨提示
试读
17页
精品资料(2021-2022收藏)单片机原理及接口技术课后作业及答案.doc
资源推荐
资源详情
资源评论
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 个
2.89C51 的 EA 端有何用途?
答:/EA 端接高电平时,CPU 只访问片内 flash Rom
并执行内部程序,存储器。/EA 端接低电平时,CPU
只访问外部 ROM,并执行片外程序存储器中的指
令。/EA 端保持高电平时,CPU 执行内部存储器中
的指令。
3. 89C51 的存储器分哪几个空间?如何区别不同
空间的寻址?
答:ROM(片内 ROM 和片外 ROM 统一编址)(使用
MOVC)(数据传送指令)(16bits 地址)
(64KB)
片外 RAM(MOVX)(16bits 地址)(64KB)
片内 RAM(MOV)(8bits 地址)(256B)
4. 简述 89C51 片内 RAM 的空间分配。
答:片内 RAM 有 256B
低 128B 是真正的 RAM 区
高 128B 是 SFR(特殊功能寄存器)区
5. 简述布尔处理存储器的空间分配,片内 RAM 中
包含哪些可位寻址单元。
答:片内 RAM 区从 00H~FFH(256B)
其中 20H~2FH(字节地址)是位寻址区
对应的位地址是 00H~7FH
6. 如何简捷地判断 89C51 正在工作?
答:用示波器观察 8051 的 XTAL2 端是否有脉冲信
号输出(判断震荡电路工作是否正常?)
ALE(地址锁存允许)(Address Latch Enable)
输出是 fosc 的 6 分频
用示波器观察 ALE 是否有脉冲输出(判断 8051
芯片的好坏?)
观察 PSEN(判断 8051 能够到 EPROM 或 ROM
中读取指令码?)
因为/PSEN 接外部 EPROM(ROM)的/OE 端子
OE=Output Enable(输出允许)
7. 89C51 如何确定和改变当前工作寄存器组?
答:PSW(程序状态字)(Program Status Word)
中的 RS1 和 RS0
可以给出 4 中组合
用来从 4 组工作寄存器组中进行选择
PSW 属于 SFR(Special Function
Register)(特殊功能寄存器)
8. 89C51 P0 口用作通用I/O口输入时,若通过
TTL“OC”门输入数据,应注意什么?为什么?
答:
9. 读端口锁存器和“读引脚”有何不同?各使用
哪种指令?
答:读锁存器(ANL P0,A)就是相当于从存储器
中拿数据,而读引脚是从外部拿数据(如 MOV
A,P1 这条指令就是读引脚的,意思就是把端口 p1
输入数据送给 A)
传送类 MOV,判位转移 JB、JNB、这些都属
于读引脚,平时实验时经常用这些指令于外部通
信,判断外部键盘等;字节交换 XCH、XCHD 算术
及逻辑运算 ORL、CPL、ANL、ADD、ADDC、SUBB、
INC、DEC 控制转移 CJNE、DJNZ 都属于读锁存器。
10. 89C51 P0~P3 口结构有何不同?用作通用I/
O口输入数据时,应注意什么?
答:P0 口内部没有上拉电阻,可以用做 16 位地
址的低 8 位;
P3 有第二功能;
P2 口可以用做 16 位地址的高 8 位;
需要上拉电阻。OC 门电路无法输出高低电平,
只有靠上拉电阻才能实现
11. 89C51 单片机的EA信号有何功能?在使用
8031 时,EA信号引脚应如何处理?
答:(1)80C51 单片机的 EA 信号的功能
EA 为片外程序存储器访问允许信号,低电平
有效;在编程时,其上施加 21V 的编程电压
EA 引脚接高电平时,程序从片内程序存储器
开始执行,即访问片内存储器;EA 引脚接低电平
时,迫使系统全部执行片外程序存储器程序。
(2)在使用 80C31 时,EA 信号引脚的处理方法
因为 80C31 没有片内的程序存储器,所以在
使用它时必定要有外部的程序存储器,EA 信号引
脚应接低电平。
12. 89C51 单片机有哪些信号需要芯片引脚以第
2 功能的方式提供?
答: 第一功能 第二功能
串行口:
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
中断:
P3.2
INT0 外部中断 0
P3.3
INT1 外部中断 1
定时器/计数
器(T0、T1):
P3.4
T0(定时器/计数器 0 的外部输入)
P3.5
T1(定时器/计数器 1 的外部输入)
数据存储器
选通:
P3.6
WR(外部存储器写选通,低电平有效,输出)
P3.7
RD(外部存储器读选通,低电平有效,输出)
定时器/计数
器(T2):
P1.0
T2(定时器 T2 的计数端)
P1.1
T2EX(定时器 T2 的外部输入端)
13. 内部 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
个字节单元,可以采用间接字节寻址
的方法访问。
14. 使单片机复位有几种方法?复位后机器的初
始状态如何?
答:(1)单片机复位方法
单片机复位方法有:上电自动复位、按键电平
复位和外部脉冲三种方式,如题图 2-1 所示。
题图 2-1
(2)复位后的初始状态
复位后机器的初始状态,即各寄存器的状
态:PC 之外,复位操作还对其他一些特殊功能寄
存器有影响,它们的复位状态如题表 2-1 所例
15. 开机复位后,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
写程序的时候就是通过定义程序状态字来选择使
用不同的寄存器组。也可以直接对 RS1 和 RS0 赋
值。
(最后一问同题 7)
16. 程序状态寄存器 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(奇偶校验位)
17. 位地址 7CH 与字节地址 7CH 如何区别?位地
址 7CH 具体在片内 RAM 中的什么位置?
答:用不同的寻址方式来加以区分,即访问 128
个位地址用位寻址方式,访问低 128 字节单元用
字节寻址和间接寻址。
具体地址为 2F 的第五位,即为 7C。
18. 89C51 单片机的时钟周期与振荡周期之间有
什么关系?什么叫机器周期和指令周期?
答:时钟信号的周期称为机器状态周期,是振荡
周期的两倍。一个机器周期是指 CPU 访问存储器
一次所需的时间。指令周期是执行一条指令所需
的时间。
19. 一个机器周期的时序如何划分?
答:一个机器周期=12 个震荡周期=6 个时钟周期
(状态周期)
S1P1,S1P2,S2P1,S2P2,S3P1,S3P2,
S4P1,S4P2,S5P1,S5P2,S6P1,S6P2 其中 s=state
(状态),p=phase(相位)
20. 什 么 叫 堆 栈 ? 堆 栈 指 针 SP 的 作 用 是 什
么?89C51 单片机堆栈的容量不能超过多少字节?
答:堆栈都是一种数据项按序排列的数据结构,
只能在一端(称为栈顶(top))对数据项进行插入
和删 除 。要 点 :堆 :顺序 随意栈 :后进 先出
(Last-In/First-Out)
在调用子程序时需要保存调用函数的 CPU 寄
存器 PC 指针,PC 指针是被 CALL 指令自动压入 SP
所指向的片内存储器,CPU 寄存器要由用户用
PUSH 指令自行保存,因此 SP 的作用就是一个指
针,当进行中断调用,子函数调用时将现场数据压
入 SP 所指向的存储器,SP 自动增加 1 或 2,当中
断结束 RETI,调用返回 RET,POP 时将 SP 数据弹
出,SP 自动减 1 或,2
8051 最大为 128 字节的片内存储器,0X20 以上理
论都可以做堆栈用 96 字节,8052 为 256 字节 224
字节可用,但这样便没有其它空间可用于数据存
储现在的单片机的程序一般都能用 C51 来,不用
关心堆栈大小与 SP 寄存器
21. 89C51 有几种低功耗方式?如何实现?
答:空闲方式和掉电方式
空闲方式和掉电方式是通过对 SFR 中的 PCON
(地址 87H)相应位置 1 而启动的。
当 CPU 执行完置 IDL=1(PCON.1)的指令后,系统
进入空闲工作方式。这时,内部时钟不向 CPU 提
供,而只供给中断、串行口、定时器部分。CPU
的内部状态维持,即包括堆栈指针 SP、程序计数
器 PC、程序状态字 PSW、累加器 ACC 所有的内容
保持不变,端口状态也保持不变。ALE 和 PSEN 保
持逻辑高电平。
当 CPU 执行一条置 PCON.1 位(PD)为 1 的指令后,
系统进入掉电工作方式。在这种工作方式下,内
部振荡器停止工作。由于没有振荡时钟,因此,
所有的功能部件都停止工作。但内部 RAM 区和特
殊功能寄存器的内容被保留,而端口的输出状态
值都保存在对应的 SFR 中,ALE 和 PSEN 都为低电
平。
22. PC 与 DPTR 各有哪些特点?有何异同?
答:(1)程序计数器 PC 作为不可寻址寄存器的特
点
程序计数器 PC 是中央控制器申最基本的寄
存器,是一个独立的计数器,存放着下一条将程
序存储器中取出的指令的地址。
程序计数器 PC 变化的轨迹决定程序的流程。
程序计数器的宽度决定了程序存储器可以
寻址的范围。
程序计数器 PC 的基本工作方式有:
①程序计数器 PC 自动加 1。这是最基本的工
作方式,也是这个专用寄存器被称为计数
器的原因。
②执行条件或无条件转移指令时,程序计数
器将被置入新的数值,程序的流向发生变化。
变化的方式有下列几种:带符号的相对跳转 SJMP、
短跳转 AJMP、长跳转 LJMP 及 JMP @A+DPTR 等。
③在执行调用指令或响应中断时:
●PC 的现行值,即下一条将要执行的指令的
地址送入堆栈,加以保护;
●将子程序的入口地址或者中断矢量地址送
入 PC,程序流向发生变化,执行子程序或中断服
务程序;
●子程序或中断服务程序执行完毕,遇到返
回指令 RET 或 RETI 时,将栈顶的内容送到 PC 寄
存器中,程序流程又返回到原来的地方,继续执
行。
(2)地址指针 DPTR 的特点
地址指针 DPTR 的特点是,它作为片外数据存
储器寻址用的地址寄存器(间接寻址)。
(3)地址指针 DPTR 与程序计数器 PC 的异同
①相同之处:
●两者都是与地址有关的、16 位的寄存器。
其中,PC 与程序存储器的地址有关,而
DPTR 与数据存储器的地址有关。
●作为地址寄存器使用时,PC 与 DPTR 都是
通过 P0 和 P2 口(作为 16 位地址总线)输
出的。但是,PC 的输出与 ALE 及 PSEN 有
关;DPTR 的输出,则与 ALE、RD 及 WR 相联系。
②不同之处:
●PC 只能作为 16 位寄存器对待,由于有自
动加 1 的功能,故又称为计数器;
DPTR 可以作为 16 位寄存器对待,也可以
作为两个 8 位寄存器对待。
●PC 是不可以访问的,有自己独特的变化方
式,它的变化轨迹决定了程序执行的流程;
DPTR 是可 以 访 问 的, 如 MOV DPTR ,
#XXXXH,INC DPTP。
23. 89C51 端口锁存器的“读—修改—写”操作
与“读引脚”操作有何区别?
答:指令系统中有些指令读锁存器的值, 有些指
令则读引脚上的值。读锁存器指令是从锁存器中
读取一个值并进行处理, 把处理后的值(原值或已
修改后的值)重新写入锁存器中。这类指令称为读-
修改-写指令。
对于读-修改-写指令。直接读锁存器而不是
读端口引脚, 是因为从引脚上读出的数据不一定
能真正反映锁存器的状态。
单片机原理及接口技术课后习题答案
第三章
1、 指令:CPU 根据人的意图来执行某种操作
的命令
指令系统:一台计算机所能执行的全部指令集合
机器语言:用二进制编码表示,计算机能直接识
别和执行的语言
汇编语言:用助记符、符号和数字来表示指令的
程序语言
高级语言:独立于机器的,在编程时不需要对机
器结构及其指令系统有深入了解的通用性语言
2、 见第 1 题
3、 操作码 [目的操作数] [,源操作数]
4、
寻址方式
寻址空间
立即数寻址
程序存储器 ROM
直接寻址
片内 RAM 低 128B、特殊功能寄存器
寄存器寻址
工作寄存器 R0-R7、A、B、C、DPTR
寄存器间接寻
址
片内 RAM 低 128B、片外 RAM
变址寻址
程序存储器(@A+PC,@A+DPTR)
相对寻址
程序存储器 256B 范围(PC+偏移量)
位寻址
片内 RAM 的 20H-2FH 字节地址、部分 SFR
5、 SFR:直接寻址,位寻址,寄存器寻址;片
外 RAM:寄存器间接寻址
6、 MOV A,40H ;直接寻址(40H)→A
MOV R0,A;寄存器寻址(A)→R0
MOV P1,#0F0H ;立即数寻址 0F0→P1
MOV @R0,30H;直接寻址(30H) →(R0)
MOV DPTR,#3848H;立即数寻址 3848H→DPTR
MOV 40H,38H;直接寻址 (38H) →40H
MOV R0,30H;直接寻址 (30H) →R0
MOV P0,R0;寄存器寻址( R0 )→P0
MOV 18H,#30H ;立即数寻址 30H→18H
MOV A,@R0 ;寄存器间接寻址 ((R0)) →
A
MOV P2,P1 ;直接寻址 (P1)→P2
最后结果:(R0)=38H,(A)=40H,(P0)=38H,
(P1)=(P2)=0F0H,(DPTR)=3848H,(18H)
=30H,(30H)=38H,(38H)=40H,(40H)=40H,
(48H)=38H
注意:→左边是内容,右边是单元
7、 用直接寻址,位寻址,寄存器寻址
8、
MOV A,DATA ;直接寻址 2 字节 1 周期
MOV A,#DATA ;立即数寻址 2 字节 1
周期
MOV DATA1,DATA2 ;直接寻址 3 字节 2
周期
MOV 74H,#78H ;立即数寻址 3 字节 2
周期
如果想查某一指令的机器码,字节数或周期数可
查阅书本后面的附录 A
9、
MOV A,@R0 ;((R0))=80H→A
MOV @R0,40H ;(40H)=08H→(R0)
MOV 40H,A ;(A)=80→40H
MOV R0,#35H ;35H→R0
最后结果:(R0)=35H (A)=80H,(32H)
=08H,(40H)=80H
10、用直接寻址,位寻址,寄存器寻址
11、只能采用寄存器间接寻址(用 MOVX 指令)
12、低 128 字节:直接寻址,位寻址,寄存器间
接寻址,寄存器寻址(R0~R7)
高 128 字节:直接寻址,位寻址,寄存器寻址
13、采用变址寻址(用 MOVC 指令)
14、压缩 BCD 码在进行加法运算时应逢十进一,
而计算机只将其当作十六进制数处理,此时得到
的结果不正确。用 DA A 指令调整(加 06H,
60H,66H)
15、用来进行位操作
16、ANL A,#17H ;83H∧17H=03H→A
ORL 17H,A ;34H∨03H=37H→17H
XRL A,@R0 ;03H⊕37H=34H
CPL A ;34H 求反等于 CBH
所以(A)=CBH
17、(1)SETB ACC.0 或 SETB E0H ;E0H 是
累加器的地址
(2)CLR ACC.7
CLR ACC.6
CLR ACC.5
CLR ACC.4
(3)CLR ACC.6
CLR ACC.5
CLR ACC.4
剩余16页未读,继续阅读
资源评论
zzzzl333
- 粉丝: 707
- 资源: 7万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功