资源预览内容
第1页 / 共91页
第2页 / 共91页
第3页 / 共91页
第4页 / 共91页
第5页 / 共91页
第6页 / 共91页
第7页 / 共91页
第8页 / 共91页
第9页 / 共91页
第10页 / 共91页
亲,该文档总共91页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
1 第第9 9章章 AT89S51AT89S51单片机单片机 的的I/OI/O扩展扩展 1 2 2 第第9章章 目录目录 9.1 I/O接口扩展概述接口扩展概述 9.1.1 扩展的I/O接口功能 9.1.2 I/O端口的编址 9.1.3 I/O数据的传送方式 9.1.4 I/O接口电路 9.2 AT89S51扩展扩展I/O接口芯片接口芯片82C55的设计的设计 9.2.1 82C55芯片简介 9.2.2 工作方式选择控制字及端口PC置位/复位控制字 9.2.3 82C55的3种工作方式 9.2.4 AT89S51单片机与82C55的接口设计 3 9.3 AT89S51扩展扩展I/O接口芯片接口芯片81C55的设计的设计 9.3.1 81C55芯片介绍 9.3.2 81C55的工作方式 9.3.3 AT89S51单片机与81C55的接口设计及软件编程 9.4 利用利用74LSTTL电路扩展并行电路扩展并行I/O口口 9.5 用用AT89S51单片机的串行口扩展并行口单片机的串行口扩展并行口 9.5.1 用74LS165扩展并行输入口 9.5.2 用74LS164扩展并行输出口 9.6 用用I/O口控制的声音报警接口口控制的声音报警接口 9.6.1 蜂鸣音报警接口 9.6.2 音乐报警接口 4 内容概要内容概要 AT89S51有4个I/O口P0P3,真正用作I/O口线的只有P1口口的8位I/O口线和P3P3口口的某些位线。因此,大多需要大多需要外部I/O接口的扩展。 介绍AT89S51与两种两种常用的可编程I/O接口芯片82C55和81C55的扩展接口设计。此外还介绍使用廉价的74LSTTL芯片芯片扩展并行I/O接口以及用AT89S51串行口串行口来扩展并行I/O接口的设计。最后介绍使用I/O口控制口控制的声音声音报警报警接口。 5 9.1 I/O接口扩展概述接口扩展概述 扩展I/O接口与扩展存储器一样,都属于系统扩展系统扩展的内容。扩展的I/O接口应该具有哪些功能? 9.1.1 扩展的扩展的I/O接口功能接口功能 扩展的I/O接口电路主要应满足以下功能要求。 1实现和不同外设的速度匹配实现和不同外设的速度匹配 大多数外设大多数外设的速度很慢速度很慢,无法和s量级的单片机速度量级的单片机速度相比。单片机在与外设间进行数据传送时,只有在确认外设已为数据传送做好准备做好准备的前提下才能进行数据传送才能进行数据传送。外设是否准备好,就需要I/O接口电路与外设之间传送状态传送状态信息信息,以实现单片机与外设之间的速度匹配。 5 6 2输出数据锁存输出数据锁存 与外设比,单片机的工作速度快,与外设比,单片机的工作速度快,数据在数据总线上保数据在数据总线上保留的时间十分短暂留的时间十分短暂,无法满足慢速外设的数据接收。所以,无法满足慢速外设的数据接收。所以在扩展的在扩展的I/O接口电路中接口电路中应有输出数据锁存器应有输出数据锁存器,以保证输,以保证输出数据能出数据能为慢速的接收设备为慢速的接收设备所接收。所接收。 3输入数据三态缓冲输入数据三态缓冲 数据总线数据总线上可能上可能“挂”有多个数据源“挂”有多个数据源,为使传送数据时,为使传送数据时不发生冲突不发生冲突,只允许当前时刻,只允许当前时刻正在接收数据的正在接收数据的I/O接口使接口使用数据总线用数据总线,其余的其余的I/O接口接口应处于隔离状态应处于隔离状态,为此要求,为此要求I/O接口电路能为数据输入提供三态缓冲功能。接口电路能为数据输入提供三态缓冲功能。 6 7 9.1.2 I/O端口的编址端口的编址 介绍I/O端口编址端口编址之前,首先要弄清楚I/O接口接口和I/O端端口口的概念。 I/O接口接口是单片机与外设间的连接电路的总称。 I/O端口端口(简称I/O口)是指I/O接口电路中具有单元地址的寄存器或缓冲器。一个I/O接口芯片可以有多个I/O端口,如数据口,命令口,状态口数据口,命令口,状态口。当然,并不是所有的外设都一定需要3种端口齐全的I/O接口。 每个I/O接口中的端口接口中的端口都要有地址都要有地址,以便AT89S51通过读写端口来和外设交换信息和外设交换信息。常用的I/O端口编址端口编址有两种方式,独立编址方式独立编址方式与统一编址方式统一编址方式。 7 8 1独立编址独立编址 I/O端口地址空间和存储器地址空间分开编址。优点是I/O地址空间和存储器地址空间相互独立,界限分明。但需要设置一套专门的读写I/O端口的指令和控制信号。 2统一编址 把I/O端口与数据存储器单元同等对待。I/O端口和外部数据存储器RAM统一编址统一编址。因此外部数据存储器空间也包括I/O端口在内。 优点优点是不需专门的I/O指令。缺点缺点是需要把数据存储器是需要把数据存储器单元地址与单元地址与I/O端口的地址划分清楚端口的地址划分清楚,避免数据冲突。 8 9 9.1.3 I/O数据的传送方式数据的传送方式 为了实现和不同外设的速度匹配速度匹配,必须根据不同外设选择恰当的I/O数据传送方式数据传送方式。I/O数据传送方式有:同步传送、异步传送和中断传送。 1同步传送同步传送 同步传送又称无条件传送。当外设速度和单片机的速度相比拟时,常采用同步传送方式,典型的同步传送是单片单片机和外部数据存储器之间机和外部数据存储器之间的数据传送数据传送。 2查询传送查询传送 又称有条件传送(也称异步式传送)。通过查询外设“准备好”后,再进行数据传送。优点是通用性好,硬件连线和查询程序简单,但工作效率不高。 9 10 3中断传送中断传送 为了提高提高单片机对外设的工作效率工作效率,通常采用中断传送方式,来实现I/O数据的传送。单片机只有在外设准备好只有在外设准备好后,才中断主程序的执行后,才中断主程序的执行,从而进入与外设数据传送的中断服务子程序,进行数据传送。中断服务完成后又返回主程序断点处继续执行。采用中断方式可大大提高工作效率提高工作效率。 9.1.4 I/O接口电路接口电路 常用的外围I/O接口芯片: (1)82C55:可编程通用并行接口(3个8位I/O口)。 10 11 (2)81C55:可编程的IO/RAM扩展接口电路(2个8位I/O口,1个6位I/O口,256RAM单元,1个14位的减法计数器)。 都可以和AT89S51直接连接,接口逻辑简单。 9.2 AT89S51扩展扩展I/O接口芯片接口芯片82C55的设计的设计 先介绍可编程并行I/O接口芯片82C55的应用特性应用特性,然后介绍AT89S51与82C55的接口电路接口电路以及软件设计软件设计。 9.2.1 82C55芯片简介芯片简介 Intel公司的可编程并行I/O接口芯片,3个个8位并行位并行I/O口,口,3种工作方式,种工作方式,单片机与多种外设连接时的中间接口电路。中间接口电路。引脚及内部结构如图图9-1和图图9-2所示所示。 11 12 12 图图9-1 82C55的引脚图的引脚图 图图9-2 82C55的内部结构的内部结构 13 1引脚说明引脚说明 共40个引脚个引脚,引脚功能如下引脚功能如下: D7D0:三态双向数据线,与单片机的P0口连接,用来与单片机之间传送数据信息。 :片选信号线,低有效,表示本芯片被选中。 :读信号线,低有效,读82C55端口数据的控制信号。 :写信号线,低电平有效,用来向82C55写入端口数据的控制信号。 VCC:+5V电源。 13 CSRDWR14 PA7PA0:端口A输入/输出线。 PB7PB0:端口B输入/输出线。 PC7PC0:端口C输入/输出线。 A1、A0:地址线,用来选择82C55内部的4个端口。 RESET:复位引脚,高电平有效。 2内部结构内部结构 如图图9-2所示所示,3个并行数据输入个并行数据输入/输出端口输出端口,两种工作两种工作方式方式的控制电路,一个读/写控制逻辑电路和一个8位数据总线缓冲器。 各部件的功能如下: 14 15 (1)端口)端口PA、PB、PC 3个8位并行口PA、PB和PC,都可以选为输入/输出工作模式,功能和结构上有差异。 PA口:口:一个8位数据输出锁存器和缓冲器输出锁存器和缓冲器;一个8位数据输入锁存输入锁存器。 PB口:口:一个8位数据输出锁存器和缓冲器输出锁存器和缓冲器;一个8位数据输入缓冲器输入缓冲器。 PC口:口:一个8位的输出锁存器输出锁存器;一个8位数据输入缓冲输入缓冲器器。 通常PA口、口、PB口口作为输入/输出口,PC口口既可作为输入/输出口,也可在软件控制下,分为两个4位的端口,作为端口PA、PB选通方式操作时的状态控制信号。 15 16 (2)A组和组和B组控制电路组控制电路 是两组根据AT89S51写入的“命令字”“命令字”控制82C55工作方式的控制电路。A组组控制PA口和PC口的上半部上半部(PC7PC4);B组组控制PB口和PC口的下半部下半部(PC3PC0),并可用“命令字”来对端口PC的每一位实现按位置“1”或清“0”。 (3)数据总线缓冲器)数据总线缓冲器 数据总线缓冲器是一个三态双向8位缓冲器,作为82C55与系统总线之间的接口,用来传送用来传送数据、指令、控制命令以及外部状态信息。 16 17 (4)读)读/写控制逻辑电路写控制逻辑电路 接收接收AT89S51单片机发来单片机发来的控制信号控制信号 、 、RESET、地址信号地址信号A1、A0等,然后根据控制信号的要求,端口数据被AT89S51单片机读出,或者将AT89S51单片机送来的数据写入端口。 各端口工作状态与控制信号的关系见表表9-1。 17 RDWR18 18 RDWRCS19 9.2.2 工作方式选择控制字及端口工作方式选择控制字及端口PC置位置位/复位控制字复位控制字 可向向82C55控制寄存器写入两种控制寄存器写入两种不同的控制字不同的控制字。 1工作方式选择控制字工作方式选择控制字 82C55有3种种基本工作方式: (1)方式)方式0基本输入/输出; (2)方式)方式1选通输入/输出; (3)方式)方式2双向传送(仅PA口有此工作方式)。 3种工作方式方式控制字来决定。格式格式如图图9-3所示所示。最高位D7=1,为本方式控制字的标志标志,以便与另一控制字相区别(最高位D7 = 0)。 19 20 20 图图9-3 82C55的方式控制字格式的方式控制字格式 21 PCPC口分两部分口分两部分,随,随PAPA口口称为称为A A组组,随,随PBPB口口称为称为B B组组。其中。其中PAPA口口可工作于方式可工作于方式0 0、1 1和和2 2,而,而PBPB口口只能工作在只能工作在方式方式0 0和和1 1。 【例例9 9- -1 1】 AT89S51AT89S51向向82C5582C55的控制字寄存器写入的控制字寄存器写入工作工作方式控制字方式控制字95H95H,根据,根据图图9 9- -3 3,将,将82C5582C55编程设置为:编程设置为:PAPA口口方式方式0 0输入,输入,PBPB口方式口方式1 1输出,输出,PCPC口的上半部分(口的上半部分(PC7PC7PC4PC4)输出,输出,PCPC口的下半部分(口的下半部分(PC3PC3PC0PC0)输入。)输入。 MOVMOV DPTRDPTR,# #H H ;控制字寄存器端口地址;控制字寄存器端口地址 ;H H送送DPTR DPTR MOV MOV A A,#95H#95H ; 方式控制字方式控制字83H83H送送A A MOVXMOVX DPTRDPTR,A
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号