单片微机原理及应用 徐春辉第12章 习题答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第12章习题解答
1.I/O接口和I/O端口有什么区别?I/O接口的功能是什么?
解:I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。I/O接口是指单片机与外设间的I/O接口芯片。
I/O接口的主要功能:一.实现和不同外设的速度匹配;二.输出数据缓存;三.输入数据三态缓冲。除此之外,还可能有信号转换、提供状态和控制信息及时序协调等功能。
2.常用的I/O接口编址有哪两种方式?它们各有什么特点?AT89S51的I/O端口编址采用的是哪种方式?
解:一.独立编址方式:独立编址方式就是I/O地址空间和存储器地址空间分开编址。独立编址的优点是I/O地址空间和存储器地址空间相互独立,界限分明。但是,却需要设置一套专门的读写I/O的指令和控制信号。二.统一编址方式:这种编址方式是把I/O端口的寄存器与数据存储器单元同等对待,统一进行编址。统一编址的优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O 操作,简单、方便且功能强大。AT89S51单片机使用的是I/O和外部数据存储器RAM统一编址的方式。
3.I/O数据传送有哪几种传送方式?分别在哪些场合下使用?
解:一.同步传送方式:同步传送又称为有条件传送。当外设速度可与单片机速度相比拟时,常常采用同步传送方式,最典型的同步传送就是单片机和外部数据存储器之间的数据传送。二.查询传送方式:查询传送方式又称为有条件传送,也称异步传送。单片机通过查询得知外设准备好后,再进行数据传送。异步传送的优点是通用性好,硬件连线和查询程序十分简单,但是效率不高。为了提高单片机的工作效率,通常采用中断方式。三.中断传送方式:中断传送方式是利用AT89S51本身的中断功能和I/O接口的中断功能来实现I./O数据的传送。单片机只有在外设准备好后,发出数据传送请求,才中断主程序,而进入与外设进行数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。因此,采用中断方式可以大大提高单片机的工作效率。四.直接存储器存取方式:是一种采用专用硬件电路执行输入/输出的传送方式,它使I/O设备直接与内存进行高速的数据传送,而不必经过CPU传送程序。适用于高速的输入/输出设备成批交换数据的情况。
4.编写程序,采用82C55的C口按位置位/复位控制字,将PC7置0,PC4置1,(已知82C55各端口的地址为7FFCH-7FFFH)。
解:本题主要练习对82C55的C口的操作。其控制字的高位为0时,低四位对C口进行置位。由题目我们得到了控制口的地址为7FFFH。程序如下:
ORG 0000H
MAIN: MOV DPTR,#7FFFH ;控制字寄存器地址送DPTR MOV A,#0EH ;将PC7置0
MOVX @DPTR,A
MOV A,#09H ;将PC4置1
MOVX @DPTR,A
SJMP $
END
5.82C55的方式控制字和C 口按位置位/复位控制字都可以写入82C55的同一控制寄存器,82C55是如何区分这两个控制字的?
解:82C55通过它们的最高位来进行判断,最高位为1时,这时82C55认为这是方式控制字,否则认为是C 口按位置位/复位控制字
6.以图12-8为例,说明82C55的A 口在方式1的选通输入方式下的工作过程。 解:
说明:当外设输入一个数据并送到PA7~PA0上时,输入设备自动在选通输入线 A STB 向82C55发送一个低电平选通信号。82C55收到选通信号后:首先把PA7~PA0上输入的数据存入A 口的输入数据缓冲/锁存器;然后使输入缓冲器输出线IBF A 变成高电平,以通知输入设备,82C55的A 口已收到它送来的输入数据。82C55检测到联络线 A STB 由低电平变成了高电平、IBF A 为1状态和中断允许触发器INTEA 为1时,使输出线INTR A (PC3)变成高电平,向AT89S51发出中断请求。(INTE A 的状态可由用户通过对PC4的置位/复位来控制。AT89S51相应中断后,可以通过中断服务程序从A 口的输入数据缓冲/锁存器读取外设发来的输入数据。当输入数据被CPU 读走后,82C55撤销INTR A 上的中断请求,并使IBF A 变为低电平,以通知输入外设可以送下一个输入数据。
7.判断下列说法是否正确,为什么?
A .由于81C55不具有地址锁存功能,因此在与AT89S51的接口电路中必须加地址锁存器。
B .在81C55芯片中,决定端口和RAM 单元编址的信号线是AD7~AD0和。
C .82C55具有三态缓冲器,因此可以直接挂在系统的数据总线上。
D .82C55的B 口可以设置成方式2。
解:A.错,81C55具有地址锁存功能,因此在与AT89S51的接口电路中不必加地址锁存器;
B.错,引脚IO/、A2、A1、A0决定端口地址和RAM 单元编址;
C. 错,82C55不具有三态缓冲器;
D. 错,82C55的B 口只可以设置成方式0和方式1。
8.假设81C55的TIMERIN 引脚输入的频率为4MHz ?问81C55的最大定时时间是多少?
解:81C55记数器的初值范围是:3FFFH-2H。当频率为4MHz,初值为3FFFH 时,最大定时时间为:16383/4E+6=0.00409575S
9.AT89S51的并行接口的扩展有多种方式,在什么情况下,采用扩展81C55比较合适?什么情况下,采用扩展82C55比较适合?
解:82C55具有3个8位的并行I/O口,3种工作方式,可通过编程改变其功能,因而使用灵活方便,通用性强,可作为单片机与多种外围设备连接时的中间接口电路。81C55芯片内包含有256B的RAM存储器(静态),2个可编程的八位并行口PA和PB,1个可编程的6位并行口PC,以及1个14位减法定时器/计数器。所以它经常用于单片机的外围接口芯片。
10.假设81C55的TIMERIN引脚输入的脉冲频率为1MHz,请编写出在81C55的
引脚上输出周期为10ms的方波的程序。
解:将1MHz的脉冲改变为10ms的方波,这就让我们想到了在数字电路里面学到的分频器。计算得出分频前后频率之比为10000:1,这样我们只要将定时器初值设置为64H就可以了。(假设I/O口地址为7F00H-7F05H)
START:MOV DPTR,#7F04H ;指针指向定时器低8位
MOV A,#64H ;送初值给A
MOVX @DPTR,A ;初值送给低8位
INC DPTR ;指向高8位
MOV A,#40H ;定时器方波输出
MOVX @DPTE,A
MOV DPTR,#7F00H ;指向命令/状态口
MOV A,#0C2H ;设定控制字
MOVX @DPTE,A;启动定时器
END
11.根据图12-21所示的电路,编程完成对81C55的操作:
A. 读81C55的80H单元。
B. 将立即数88H写入81C55的30H单元。
解:A.
MOV DPTR,#7E80H
MOVX A,@DPTR
B.
MOV A,#88H
MOV DPTR,#7E30H
MOVX A,@DPTR
12.根据图12-21所示的电路,欲将81C55内部40H单元中的内容传送到A口输出,试编程实现之。
解:首先对81C55进行初始化设置,设置A口为基本输出方式,由此可得控制字为:00H。根据图12-21知控制字寄存器地址为:7F00H,A口地址为:7F01H,81C55内部RAM40H 单元的地址为:7E40H,由此得程序如下:
MOV DPTR,#7F00H
MOV A, #00H
MOVX @DPTR,A
MOV DPTR, #7E40H