- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章___AT89C51扩展IO接口的设计
1 第9章 AT89C51扩展I/O接口的设计 ? * 单片机原理及 接口技术 授课教师:林 君 授课对象:07级计算机 第9章 AT89C51扩展I/O接口的设计 9.1 I/O接口扩展概述 由第8章可知,扩展I/O接口与扩展存储器一样,都属于系统扩展的内容。那么AT89C51单片机扩展I/O接口应该具有哪些功能呢? 9.1.1 I/O接口的功能 I/O接口电路应满足以下要求: 1.实现和不同外设的速度匹配 大多数的外设的速度很慢,无法和μs量级的单片机速度相比。 2. 输出数据锁存 由于单片机工作速度快,数据在数据总线上保留的时间十分短 暂,无法满足慢速外设的数据接收。I/O电路应具有数据输 出锁存器,以保证接收设备接收。 3. 输入数据三态缓冲 输入设备向单片机输入数据时,但数据总线上面可能“挂”有多 个数据源,为不发生冲突,只允许当前正在进行数据传送的 数据源使用数据总线,其余的应处于隔离状态。 9.1.2 I/O端口的编址 首先搞清楚I/O接口(Interface)和I/O端口(Port)的概念。 I/O端口:简称I/O口,指具有端口地址的寄存器或缓冲器。 I/O接口:是指单片机与外设间的I/O接口芯片。 一个I/O接口芯片可以有多个I/O端口,分为: (1)数据口(2)命令口(3)状态口 I/O端口编址是给所有I/O接口中的寄存器编址。 I/O端口编址两种方式:独立编址与统一编址。 1.独立编址 I/O寄存器地址空间和存储器地址空间分开编址,但 需专门读写I/O的指令和控制信号。 2.统一编址 I/O寄存器与数据存储器单元同等对待,统一编址。 不需要专门的I/O指令,直接使用访问数据存储器 的指令进行I/O操作,简单、方便且功能强。 AT89C51使用统一编址的方式 9.1.4 I/O接口电路 常用的外围I/O接口芯片有: (1)82C55:可编程的通用并行接口电路(3个8位I/O口) (2)81C55:可编程的IO/RAM扩展接口电路(2个8位I/O口,1个6位I/O口, 256个RAM字节单元,1个14位的减法定时器/计数器)。 9.2 AT89C51与可编程并行I/O芯片82C55的接口设计 9.2.1 82C55芯片介绍 82C55是Intel公司生产的可编程并行I/O接口芯片,具有3个8位的并行I/O口,3种工作方式,可通过编程改变其功能,因而使用灵活方便,通用性强。 1.引脚说明 40只引脚,双列直插式封装,见图9-1。 引脚功能: D7~D0:三态双向数据线,与单片机数据总线连接 CS*:片选信号线,低电平有效,表示本芯片被选中 RD*:读出信号线,控制8255A中数据的读出高 WR*:写入信号线,控制向8255A数据的写入。 Vcc:+5V电源 PA7~PA0:A口输入/输出线。 PB7~PB0:B口输入/输出线 PC7~PC0:C口输入/输出线 A1、A0:地址线,用来选择82C55内部的4个端口。 RESET:复位引脚,高电平有效 表9-1 82C55端口工作状态选择 数据总线为三态 0 1 1 × × 非法状态 0 1 0 1 1 数据总线为三态 1 × × × × 0 0 1 1 1 0 0 1 0 1 0 0 1 1 0 写端口A:总线数据→A口 写端口B:总线数据→B口 写端口C:总线数据→C口 写控制字:总线数据→控制字寄存器 0 0 1 0 0 0 1 0 0 1 0 1 0 1 0 读端口A:A口数据→数据总线 读端口B:B口数据→数据总线 读端口C:C口数据→数据总线 0 1 0 0 0 工作状态 CS* WR* RD* A0 A1 9.2.2 工作方式选择控制字及C口置位/复位控制 1.工作方式选择控制字 82C55有三种工作方式: (1) 方式0:基本输入输出 (2) 方式1:选通输入输出; (3) 方式2:双向传送(仅A口有)。 三种工作方式由方式控制字来决定。控制字格式如下。 例9-1 写入工作方式控制字 可将8255A编程为:A口方式0输入,B口方式1输出,C口的上半 部分(PC7~ PC4)输出,C口的下半部分(PC3~PC0)输入。 MOV DPTR,#0FF7FH ;控制字寄存器地址送DPTR MOV A,#95H ;方式控制字83H送A MOVX @DPTR,A ;95H送控制字寄存器 9.2.3 82C55的三种工作方式 1.方式0 基本的输入/输出方式。 AT89C51可对82C55进行数据的无条件传送 例如
文档评论(0)