. 第九章复习思考题
1. 计算机系统中为什么要设置输入输出接口?
输入/输出接口电路是CPU与外设进行数据传输的桥梁。外设输入给CPU的数据,首先由外设传递到输入接口电路,再由CPU从接口获取;而CPU输出到外设的数据,先由CPU输出到接口电路,然后与接口相接的外设获得数据。CPU与外设之间的信息交换,实际上是与I/O接口电路之间的信息交换。
2. 简述输入输出接口的作用。
I/O接口电路的作用主要体现在以下几个方面:(1)实现单片机与外设之间的速度匹配;(2)实现输出数据锁存;(3)实现输入数据三态缓冲;(4)实现数据格式转换。 3. 在计算机系统中,CPU与输入输出接口之间传输数据的控制方式有哪几种?各有什么特点?
在计算机系统中,CPU与I/O接口之间传输数据有3种控制方式:无条件方式,条件方式,中断方式,直接存储器存取方式。
在无条件方式下,只要CPU执行输入/输出指令,I/O接口就已经为数据交换做好了准备,也就是在输入数据时,外设传输的数据已经传送至输入接口,数据已经在输入接口端准备好;输出数据时,外设已经把上一次输出的数据取走,输出接口已经准备好接收新的数据。 条件控制方式也称为查询方式。CPU进行数据传输时,先读接口的状态信息,根据状态信息判断接口是否准备好,如果没有准备就绪,CPU将继续查询接口状态,直到其准备好后才进行数据传输。
在中断控制方式下,当接口准备好数据传输时向CPU提出中断请求,如果满足中断响应条件,CPU则响应,这时CPU才暂时停止执行正在执行的程序,转去执行中断处理程序进行数据传输。传输完数据后,返回原来的程序继续执行。
直接存储器存取方式即DMA方式,它由硬件完成数据交换,不需要CPU的介入,由DMA控制器控制,使数据在存储器与外设之间直接传送。
4. 采用74LS273和74LS244为8051单片机扩展8路输入和8路输出接口,设外设8个按钮开关和8个LED,每个按钮控制1个LED,设计接口电路并编制检测控制程序。
80C51P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7D0D1D2D3D4D5D6D7CLKQ0Q1Q2Q3Q4Q5Q6Q7CLRLED0LED1LED2LED3LED4LED5LED6LED7R0R1R2R3R4R5R6R7+5 V74LS27374LS244WRP2.6?1?1RD1Y11Y21Y31Y42Y12Y22Y32Y41A11A21A31A42A12A22A32A41G2GR8R9R10R11R12R13R14R15K0K1K2K3K4K5K6K7
图9.1题3接口电路原理图
1 / 24
.
接口电路原理图如图9.1 源程序:
MOV DPTR,#BFFFH
NOP NOP
;设置输入/输出口地址
;读取开关状态
;延时,总线稳定 ;延时,总线稳定 ;输出,驱动LED显示
MOVX A,DPTR MOVX DPTR,A AJMP CONT
COMT:
5. 74LS377是8D触发器,其功能表见表9.17,其中Di为触发器的数据输入端,Qi为触发器的数据输出端,G是使能控制端,CLK是时钟输入端,Q0为建立稳态输入条件之前,锁存器输出Q的状态。采用它为8051单片机扩展1个8位的并行输出口。
80C51P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7P2.7D0D1D2D3D4D5D6D7GCLKQ0Q1Q2Q3Q4Q5Q6Q7LED0LED1LED2LED3LED4LED5LED6LED7R0R1R2R3R4R5R6R7+5 VWR74LS377
图9.2 题5接口电路原理图
用74LS377扩展的输出口电路如图9-2所示。用P2.7与74LS377的使能控制端G相连,当P2.7为0时,74LS377被选中,如果默认其他未用的地址线为1,则扩展的输出口地址为7FFFH。由于MCS-51单片机的WR接到74LS377的时钟输入端CLK,当CPU执行写外部输出口指令MOVX时,把数据输出到数据总线上,在WR信号由低变高时,写出的数据被打入74LS377并锁存。程序如下:
MOV DPTR, #7FFFH ;输出口地址 MOV A, R6 ;取数据 MOVX DPTR, A ;输出,
6. 74LS245是一种具有双向驱动的8位三态输出缓冲器,它的功能表见表9.18,其中G为使能端,DIR为方向控制端,A1~A8为A端的数据输入/输出,B1~B8为B端的数据输入/输出。当G为低电平时,DIR为高电平把A端数据传送至B端;DIR为低电平,把B端数据传送至A端。在其他情况下不传送数据,并输出呈高阻态。采用它为8051单片机扩展1个8位的输入口。
2 / 24
. 80C51P0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7RDP2.0?180C5174LS245A1A2A3A4A5A6A7A8G74LS245B1B2B3B4B5B6B7B8DIRB1B2B3B4B5B6B7B8DIRR+5 VP0.0P0.1P0.2P0.3P0.4P0.5P0.6P0.7RDP2.0A1A2A3A4A5A6A7A8G
(1) (2) 图9-3 题6采用74LS245扩展输入口的2种电路
图9-3为采用74LS245扩展输人接口电路。
电路(1)中,DIR上拉为高电平,74LS245数据传送方向强制为B端到A端,当P2.0为0时,且RD为低电平时,使能端G为低电平,74LS245三态门打开,单片机CPU读取外设输入的数据。其他情况下,74LS245的三态门呈高阻状态。
电路(2)中,只有单片机读取外设数据时,P2.0=0使74LS245的使能端G有效,如果RD为低电平,把74LS245数据传送方向置为A端到B端,其A→B方向的三态门打开,单片机CPU读取外设输入的数据。P2.0=1时,使能端G无效,A端和B端处于隔离状态。 图9-3的2个电路都采用P2.0为片选,其输入口地址为0FEFFH(默认未用地址线为1)。 7. 采用8155芯片为8051单片机系统扩展接口,外设为开关组(8个开关组成)和8个LED,每个开关控制1个LED。现需要读取开关组的状态,并把其状态存储到8155芯片RAM中,若开关组的开关全部断开,则不记录。设计接口电路并编制检测程序。
MCS-51P2.7P2.0RDWRALEP0.7P0.6P0.5P0.4P0.3P0.2P0.1P0.0RESETCSIO/MRDWRALEAD7AD6AD5AD4AD3AD2AD1AD0RESET8155PA0PA1PA2PA3PA4PA5LED6PA6PA7LED7LED0LED1LED2LED3LED4LED5+5 VR0R1R2R3R4R5R6R7+5 VPB0PB1PB2PB3PB4PB5PB6PB7R8R91R01RR1121R31R41R5K0K1K2K3K4K5K6K7
图9.4 题7接口电路
接口电路如图9.4所示, 8155的PB口用作读取开关组状态,PA口用作控制LED组,分配地址如下:命令/状态寄存器:0100H;PA口:0101H;PB口:0102H; PA和PB口为基本输入输出方式。K0控制LED0,K1控制LED1,以此类推。设存储开关状态的单元为STATE。程
序如下: CMMD EQU 0100H
PORTA EQU 0101H
3 / 24