文档介绍:第7章 单片机系统扩展
第一页,共67页。
扩展使用的三总线
地址总线:P0-低8位
P2-高8位
数据总线:P0
控制总线:RD、WR、 ALE、 根据不同外设选择恰当的I/O数据传送方式。I/O数据传送方式有:同步传送、异步传送和中断传送。
1.同步传送
又称无条件传送。当外设速度和单片机的速度相比拟时,常采用同步传送方式,典型的同步传送是单片机和外部数据存储器之间的数据传送。
2.查询传送
又称有条件传送(也称异步式传送)。通过查询外设“准备好”后,再进行数据传送。优点是通用性好,硬件连线和查询程序简单,但工作效率不高。
*
第十一页,共67页。
3.中断传送
为提高单片机对外设的工作效率,常采用中断传送方式,来实现I/O数据的传送。单片机只有在外设准备好后,才中断主程序的执行,从而进入与外设数据传送的中断服务子程序,进行数据传送。中断服务完成后又返回主程序断点处继续执行。采用中断方式可大大提高工作效率。
I/O接口电路
常用的外围I/O接口芯片:
(1)82C55:可编程通用并行接口(3个8位I/O口);
*
第十二页,共67页。
(2)81C55:可编程的IO/RAM扩展接口电路(2个8位I/O口,1个6位I/O口,256RAM单元,1个14位的减法计数器)。
都可以和AT89S51直接连接,接口逻辑简单。
AT89S51扩展I/O接口芯片82C55的设计
先介绍可编程并行I/O接口芯片82C55的应用特性,然后介绍AT89S51与82C55的接口电路以及软件设计。
一、 82C55芯片简介
Intel公司的可编程并行I/O接口芯片,3个8位并行I/O口,3种工作方式,单片机与多种外设连接时的中间接口电路。引脚及内部结构如图9-1和图9-2。
*
第十三页,共67页。
82C55的引脚图 82C55的内部结构
*
第十四页,共67页。
(1)引脚说明
共40个引脚,引脚功能如下:
D7~D0:三态双向数据线,与单片机的P0口连接,用来与单片机之间传送数据信息。
CS*:片选信号线,低有效,表示本芯片被选中。
RD*:读信号线,低有效,读82C55端口数据的控制信号。
WR*:写信号线,低电平有效,用来向82C55写入端口数据的控制信号。
Vcc:+5V电源。
*
第十五页,共67页。
PA7~PA0:端口A输入/输出线。
PB7~PB0:端口B输入/输出线。
PC7~PC0:端口C输入/输出线。
A1、A0:地址线,用来选择82C55内部的4个端口。
RESET:复位引脚,高电平有效。
(2)内部结构
如图,3个并行数据输入/输出端口,两种工作方式的控制电路,一个读/写控制逻辑电路和一个8位数据总线缓冲器。
各部件的功能如下:
*
第十六页,共67页。
端口PA、PB、PC
3个8位并行口PA、PB和PC,都可选为输入/输出工作模式,功能和结构上有差异。
PA口:一个8位数据输出锁存器和缓冲器;一个8位数据输入锁存器。
PB口:一个8位数据输出锁存器和缓冲器;一个8位数据输入缓冲器。
PC口:一个8位的输出锁存器;一个8位数据输入缓冲器。
通常PA口、PB口作为输入/输出口,PC口既可作为输入/输出口,也可在软件控制下,分为两个4位端口,作为端口PA、PB选通方式操作时的状态控制信号。
*
第十七页,共67页。
A组和B组控制电路
是两组根据AT89S51写入的“命令字”控制82C55工作方式的控制电路。A组控制PA口和PC口的上半部(PC7~PC4);B组控制PB口和PC口的下半部(PC3~PC0),并可用“命令字”来对端口PC的每一位实现按位置“1”或清“0”。
数据总线缓冲器
数据总线缓冲器是一个三态双向8位缓冲器,作为82C55与系统总线之间的接口,用来传送数据、指令、控制命令以及外部状态信息。
*
第十八页,共67页。
读/写控制逻辑电路
接收AT89S51单片机发来的控制信号RD* 、WR* 、RESET、地址信号A1、A0等,然后根据控制信号的要求,端口数据被AT89S51单片机读出,或者将AT89S51单片机送来的数据写入端口。
各端口工作状态与控制信号的关系如表9-1。
*
第十九页,共67页。
*
第二十页,共67页。
二、 工作方式选择控制字及端口PC置位/复位控制字
可向82C55控制寄存器写入两种不同的控制字。
1.工作方式选择控制字
82C55有3种基本工作方式:
(1)方式0—基本输入/输出;
(2)