习题参考答案9章
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第9章 AT89C51单片机扩展I/O接口的设计
1.判断下列说法是否正确,为什么?
(1)由于81C55不具有地址锁存功能,因此在与A T89C51芯片的接口电路中必须加地址锁存器。
(2)在81C55芯片中,决定端口和RAM单元编址的信号是AD7~AD0和WR。(3)82C55具有三态缓冲器,因此可以直接挂在系统的数据总线上。
(4)82C55的PB口可以设置成方式2。
答:
(1)错,81C55具有地址锁存功能。
(2)错,在81C55芯片中,引脚IO/M*、A2、A1、A0决定端口地址和RAM 单元编址。
(3)错,82C55不具有三态缓冲器。
(4)错,82C55的PB口只可以设置成方式0和方式1。
2.I/O接口和I/O端口有什么区别?I/O接口的功能是什么?
答:I/O端口简称I/O口,常指I/O接口电路中具有端口地址的寄存器或缓冲器。I/O接口是指单片机与外设间的I/O接口芯片。
I/O接口的功能:(1)实现和不同外设的速度匹配;(2)输出数据缓存;(3)输入数据三态缓冲。
3.I/O数据传送由哪几种传送方式?分别在哪些场合下使用?
答:(1)同步传送方式。同步传送又称无条件传送。当外设速度可与单片机速度相比拟时,常常采用这种方式。最典型的同步传送就是单片机和外部数据存储器之间的数据传送。
(2)查询传送方式。查询传送又称有条件传送,也称异步传送。单片机通过查询得知外设准备好后,再进行数据传送。异步传送的优点是通用性好,硬件连线和查询程序十分简单,但是效率不高。为了提高单片机的工作效率,通常采用中断方式。
(3)中断传送方式。中断传送方式是利用AT89C51本身的中断功能和I/O 接口的中断功能来实现I/O数据的传送。单片机只有在外设准备好后,发出数据传送请求,才中断主程序,进入与外设进行数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。因此,采用中断方式可以大大提高单片机的工作效率。
4.常用的I/O端口编址有哪两种方式?它们各有什么特点?AT89C51单片机的I/O端口编址采用的是哪种方式?
答:有两种。(1)独立编址方式。就是I/O地址空间和存储器地址空间分开编址。
其优点是,I/O地址空间和存储器地址空间相互独立,界限分明。但是,却需要设置一套专门的读/写I/O的指令和控制信号。(2)统一编址方式。它是把I/O端口的寄存器与数据存储器单元同等对待,统一编址。统一编址的
优点是不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,简单、方便且功能强大。
89C51单片机使用的是I/O和外部数据存储器RAM统一编址的方式。
5.82C55的“方式控制字”和“PC口按位置位/复位控制字”都可以写入82C55的同一控制寄存器,82C55是如何来区分这两个控制字的?
答:82C55通过写入控制字寄存器的控制字最高位来判断,最高位为1时,为方式控制字;最高位为0时,为PC口按位置位/复位控制字。
6.编写程序,采用82C55的PC口按位置位/复位控制字,将PC7置“0”,PC4置“1”(已知82C55各端口的地址为7FFCH~7FFFH)。
答:本题主要考察对82C55的PC口的操作。其方式控制字的最高位为0时,低4位对PC口进行置位。由题目可知方式控制寄存器的地址为7FFFH。
ORG 0100H
MAIN: MOV DPTR,#7FFFH ;控制字寄存器地址7FFFH送DPTR MOV A,#0EH ;将PC7置0
MOVX @DPTR,A
MOV A,#09H ;将PC4置1
MOVX @DPTR,A
END
7.由图9-6来说明82C55的PA口在方式1的应答联络输入方式下的工作过程。答:当外设输入一个数据并送到PA7~PA0上时,输入设备自动在选通输入线STB向82C55发送一个低电平选通信号,则把PA7~PA0上输入的数据存入A
PA口的输入数据缓冲/锁存器;然后使输入缓冲器输出线IBFA变成高电平,以通知输入设备,82C55的PA口已收到它送来的输入数据。82C55检测到联STB由低电平变成了高电平、IBFA为1状态和中断允许触发器INTEA 络线A
为1时,使输出线INTRA(PC3)变成高电平,向89C51发出中断请求。INTEA 的状态可由用户通过对PC4的置位/复位来控制。89C51响应中断后,可以通过中断服务程序从PA口的输入数据缓冲/锁存器读取外设发来的输入数据。
当输入数据被CPU读走后,82C55撤销INTRA上的中断请求,并使IBFA变为低电平,以通知输入外设可以送下一个输入数据。
8.81C55的端口都有哪些?哪些引脚决定端口的地址?引脚TIMERIN和TIMEROUT的作用是什么?
答:81C55的端口有以下几种:命令/状态寄存器、PA口、PB口、PC口、计数器的高8位寄存器与低8位寄存器以及RAM单元。引脚IO/M,A2、A1、A0决定端口地址。TIMERIN是计数脉冲输入引脚,输入脉冲的上跳沿用于对81C55片内的14位计数器减1。TIM EROUT为计数器输出引脚。当14位计数器减为0时,就在该引线上输出脉冲或方波,输出的信号波形与所选的计数器工作方式有关。
9.现有一片A T89C51单片机,扩展了一片82C55,若把82C55的PB口用作输入,PB口的每一位接一个开关,PA口用作输出,每一位接一个发光二极管,请
画出电路原理图,并编写出PB口某一位开关接高电平时,PA口相应位发光二极管被点亮的程序。
答:电路图可以参考图9-10,PA口每一位接二极管的正极,二极管的负极接地。
PB口每1位接一开关和上拉电阻,开关另一端直接接地。这样只需要将读到的PB口的值送给PA口就可以满足题目要求了。
ORG 0100H
MIAN: MOV A,#10000010B ;设置PA口方式0输出,PB口方式0输入MOV DPTR,#0FF7FH ;控制口地址送DPTR
MOVX @DPTR,A ;送方式控制字
MOV DPTR,#0FF7DH ;PB口地址送DPTR
MOVX A,@DPTR ;读入开关信息
MOV DPTR,#0FF7CH ;PA口地址送DPTR
MOVX @DPTR,A ;PA口的内容送PB口点亮相应的二极管
END
10.假设81C55的TIMERIN引脚输入的频率为4MHz,问81C55的最大定时时间是多少?
答:81C55计数器的初值范围是3FFFH~2H。当频率为4MHz,初值为3FFFH时,最大定时时间为0.004096s。
11.假设81C55的TIMERIN引脚输入的脉冲频率为1MHz,请编写在81C55的TIMEROUT引脚上输出周期为10ms的方波的程序(假设I/O口地址为7F00H~7F05H)。
答:将1MHz的脉冲改变为10ms的方波,实际上就是分频。分频前后频率之比为100∶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 @DPTR,A
MOV DPTR,#7F00H ;指向命令/状态口
MOV A,#0C2H ;设定控制字
MOVX @DPTR,A ;启动计数器
END