- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
单片机原理及应用;8.1 I/O口扩展概述
◆ MCS-51的I/O (输入/输出)口是MCS-51与外
设交换数字信息的桥梁。
◆ I/O扩展也属于系统扩展的一部分。
◆ 真正用作I/O口线的只有P1口的8位I/O线和P3
口的某些位线。
◆ 在多数应用系统中,MCS-51单片机都需要外
扩I/O接口电路。 ;MCS-51单片机信号引脚简介 ;8.1.1 I/O接口的功能;2. 输出数据锁存;I/O接口(Interface)和I/O端口(Port)的区别: ;I/O端口编址两种方式:独立编址与统一编址。;MCS-51使用统一编址的方式;8.1.3 I/O数据的几种传送方式;2.查询传送方式(条件传送,异步式传送);简单的I/O口扩展
可编程I/O口芯片
利用串行口扩展并行口;简单I/O口扩展;简单I/O扩展接口;口地址的确定及编程应用; 可编程I/0芯片的使用;8155的结构和技术性能;MCS-51单片机与8155的接口与操作;设置8155工作方式;设置8155工作方式示例;P2.3;;;;RAM扩展实例----在8051单片机上扩展2K RAM;(1)8255:可编程的通用并行I/O口扩展接口芯片(3个8位并行I/O口)。;(3) 利用MCS-51单片机的串行口工作在方式0(同步移位寄存器工作方式),也可扩展I/O口,这时所扩展的I/O口不占用片外RAM地址。
;8.2 MCS-51与可编程并行I/O芯片8255A的接口;1.引脚说明;2.8255的内部结构;(1)端口A、B、C;(2)A组和B组控制电路;表8-1 8255A端口工作状态选择;3、工作方式选择控制字及C口置位/复位控制字;方式控制字;例如:写入工作方式控制字95H);C口置位/复位控制字;2. C口按位置位/复位控制字;4、 8255A的三种工作方式; 例如:在某一电路中,单片机与8255A连接, 8255A的PA口线连了8个LED指示灯,PB口线连接了8个开关。要求读入这组开关的状态,使LED指示灯反应开关的状态。不需要联络信号。;假设8255A的控制字寄存器地址为FF7FH,PA口地址为FF7CH,PB口地址为FF7DH。
MOV DPTR,#0FF7FH ;控制字寄存器地址送DPTR
MOV A,#83H ;方式控制字83H送A
MOVX @DPTR,A ;83H送控制字寄存器
MOV DPTR,#0FF7DH ;PB口地址送DPTR
MOVX A, @DPTR ;从PB口读入开关状态
MOV DPTR,#0FF7CH ;PA口地址送DPTR
MOVX @DPTR,A ;开关状态送LED显示;2. 方式1;图8.5 方式1输入联络信号;STB*:选通输入,是由输入外设送来的输入信号。
IBF:输??缓冲器满,高电平有效。表示数据已送入
8255A的输入锁存器,它由STB*信号的下降沿置
位,由信号的上升沿使其复位;图8.6 A口方式1 输入的工作示意图;(2)方式1输出;图8.7 方式1输出联络信号;B口的方式1输出如图8-8所示:;3.方式2;图8.9 A口在方式2下的工作示意图;8.2.2 MCS-51单片机和8255A的接口设计;图8-10 8031扩展1片8255A的电路图;2.端口地址确定;例1:要求8255A工作在方式0,且A口作为输入,
B口、C口作为输出,则程序如下:
MOV A,#90H ;A口方式0输入,B口、C口输出的方式控制→A
MOV DPTR,#0FF7FH ;控制寄存器地址→DPTR
MOVX @DPTR, A ;方式控制字→控制寄存器
MOV DPTR,#0FF7CH ;A口地址→DPTR
MOVX A, @DPTR ;从A口读数据
MOV DPTR,#0FF7DH ; B口地址→DPTR
MOV A, #DATA1 ;要输出的数据DATA1 →A
MOVX @DPTR, A ;将DATA1送B口输出
MOV DPTR,#0FF7EH ; C口地址→DPTR
MOV A, #DATA2 ; DATA2 →A
MOVX @DPTR, A ;将DATA2送C口输出;例2:要求通过8255A的PC5端向外输出1个正
脉冲信号,已知8255A的C口和控制口的地址
分别为0002H和0003H。
MOV DPTR, #0003H ;指向8255A的控制口
MOV A,#0AH ;对PC5置0
MOVX @DPTR, A
LCALL DELAY
文档评论(0)