1、1第10讲 I/O口的扩展电气工程系赵志衡E-mail:2 可编程I/O芯片8255A的扩展 可编程I/O芯片8155H的扩展 计数器芯片8253的扩展 利用串口对并行口的扩展 采用通用TTL芯片的扩展电路3本讲主要内容 I/O扩展概述 8255A的工作原理及其扩展 采用通用TTL芯片的I/O扩展 编程举例4I/O(I/O(输入输入/输出输出)接口是接口是MCS-51MCS-51与外设交换数字信与外设交换数字信 息的息的桥梁桥梁。I/OI/O扩展扩展也属于系统扩展的一部分也属于系统扩展的一部分。真正用作真正用作I/OI/O口线的口线的只有只有P1P1口的口的8 8位位I/OI/O线和线和P3P
2、3口的某些口的某些 位线位线。在多数应用系统中,在多数应用系统中,MCS-51MCS-51单片机都需要外扩单片机都需要外扩I/OI/O接接 口电路。口电路。I/O扩展概述5I/OI/O接口电路可实现以下功能:接口电路可实现以下功能:1.1.实现和不同外设的速度匹配实现和不同外设的速度匹配 大多数的外设的速度很慢,无法和大多数的外设的速度很慢,无法和s s量级的单片机量级的单片机速度相比速度相比。单片机只有在单片机只有在确认确认外设已为数据传送做好准备的前提外设已为数据传送做好准备的前提下才能进行下才能进行I/OI/O操作。操作。想知道外设是否准备好想知道外设是否准备好,需需I/OI/O接口电路
3、与外设之接口电路与外设之间传送状态信息。间传送状态信息。I/O接口的功能接口的功能62.2.输出数据锁存输出数据锁存 由于由于单片机工作速度快,单片机工作速度快,数据在数据总线上保留的时数据在数据总线上保留的时间十分短暂,间十分短暂,无法满足慢速外设的数据接收无法满足慢速外设的数据接收。I/OI/O电路电路应具有数据锁存器,以保证接收设备可靠接收。应具有数据锁存器,以保证接收设备可靠接收。3.3.输入数据三态缓冲输入数据三态缓冲 单片机具有多个输入设备时,使得单片机具有多个输入设备时,使得数据总线上数据总线上可可“挂挂”有多个数据源有多个数据源,为不发生冲突,为不发生冲突,只允许当只允许当前正
4、在进行数据传送的数据源使用数据总线,其余前正在进行数据传送的数据源使用数据总线,其余的应处于隔离状态。的应处于隔离状态。7 I/O I/O端口的编址端口的编址首先清楚首先清楚I/OI/O接口接口(InterfaceInterface)和)和I/OI/O端口端口(PortPort)的概念的概念。I/OI/O端口:端口:简称简称I/OI/O口口,指具有端口地址的寄存器或,指具有端口地址的寄存器或 缓冲器。缓冲器。I/OI/O接口:接口:是指单片机与外设间的是指单片机与外设间的I/OI/O接口芯片。接口芯片。一个一个I/OI/O接口芯片可以有多个接口芯片可以有多个I/OI/O端口,端口,(1 1)数
5、据口数据口(2 2)命令口命令口(3 3)状态口状态口I/OI/O端口编址端口编址是给所有是给所有I/OI/O接口中的寄存器接口中的寄存器分配地址分配地址。8I/OI/O端口编址两种方式端口编址两种方式:独立编址独立编址与与统一编址统一编址1 1独立编址方式独立编址方式 I/O I/O寄存器地址空间和存储器地址空间寄存器地址空间和存储器地址空间分开编址分开编址,但,但需专门读写需专门读写I/OI/O的指令和控制信号。的指令和控制信号。2 2统一编址方式统一编址方式 I/OI/O寄存器与数据存储器单元同等对待寄存器与数据存储器单元同等对待,统一编址。,统一编址。不需要专门的不需要专门的I/OI/
6、O指令,直接使用访问数据存储器的指指令,直接使用访问数据存储器的指令进行令进行I/OI/O操作,简单、方便且功能强(操作,简单、方便且功能强(MOVXMOVX)。)。MCS51采用这种方式采用这种方式9MCS-51MCS-51使用统一编址的方使用统一编址的方式式 每一接口芯片中的一个功能寄存器(端口)的地址每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个就相当于一个RAMRAM单元。单元。I/OI/O数据的几种传送方式数据的几种传送方式 为实现和不同的外设的速度匹配,为实现和不同的外设的速度匹配,I/OI/O接口必须接口必须根据不同外设选择恰当的根据不同外设选择恰当的I/OI/O数据传
7、送方式。数据传送方式。I/O I/O数据传送的几种传送方式是:数据传送的几种传送方式是:(1 1)同步传送()同步传送(2 2)查询传送()查询传送(3 3)中断传送。)中断传送。101.1.同步传送方式同步传送方式(无条件传送)(无条件传送)当外设速度和单片机的速度相比拟时,常采用同步传当外设速度和单片机的速度相比拟时,常采用同步传送方式,最典型的同步传送就是单片机和外部数据存储送方式,最典型的同步传送就是单片机和外部数据存储器之间的数据传送。器之间的数据传送。2.2.查询传送方式查询传送方式(条件传送,异步式传送)(条件传送,异步式传送)查询外设查询外设“准备好准备好”后,再进行数据传送。
8、后,再进行数据传送。优点:优点:通用性好,硬件连线和查询程序十分简单,通用性好,硬件连线和查询程序十分简单,缺点:缺点:效率不高。效率不高。为提高效率,通常采用中断传送方式。为提高效率,通常采用中断传送方式。113.3.中断传送方式中断传送方式.外设准备好后,发中断请求,单片机进入与外设数外设准备好后,发中断请求,单片机进入与外设数据传送的中断服务程序,进行数据的传送。中断服务据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。工作效率高。完成后又返回主程序继续执行。工作效率高。常用的常用的I/OI/O接口电路芯片接口电路芯片 IntelIntel公司公司的的配套可编程配
9、套可编程I/OI/O接口芯片接口芯片的种类齐全,的种类齐全,为扩展为扩展I/OI/O接口提供了很大的方便。或者采用通用接口提供了很大的方便。或者采用通用的的TTLTTL集成电路芯片。集成电路芯片。12小结 原因:MCS-51单片机本身提供的口线不多(P1、P3)方法:MCS-51单片机将外扩I/O和外部数据存储器统一编址,用户可以把一部分外部数据存储器的空间(64k)作为I/O地址,通过MOVX指令完成对外扩口的输入输出。实现:采用专门的外围接口芯片8155,8255等 采用一般的TTL芯片74LS377,74LS373等13可编程并行I/O芯片8255A 引脚及结构介绍引脚及结构介绍 3个个
10、8位并行口位并行口PA、PB、PC。PC可分为高可分为高4位与低位与低4位位 D0D7数据端口数据端口 A,B两组控制电路两组控制电路 双向三态数据接口双向三态数据接口 控制总线接口控制总线接口 复位控制复位控制RESET,高电平有效高电平有效148255A的端口 8255端口选择A1A0RDWRCS操作操作001010000111000读端口读端口A读端口读端口B读端口读端口C00110101111100000000写端口写端口A写端口写端口B写端口写端口C写控制字寄存器写控制字寄存器x1xx1xx01x11100数据总线为三态数据总线为三态非法状态非法状态数据总线为三态数据总线为三态825
11、5A端口选择表端口选择表158255A功能简述 8255A的三种工作方式 方式0基本输入输出 方式1选通输入输出 方式2双向传送(仅PA口)8255A的工作方式由控制字选择168255A控制字 工作方式选择控制字 C口按位置位/复位控制字8255A控制字端口C按位置位/复位控制字178255A工作方式0(基本I/O方式)两个8位端口和两个4位端口 任一个端口都可以输入输出 输出锁存而输入不锁存 数据无条件传送,不需要状态端口188255A工作方式工作方式1(选通选通I/O方式)方式)可用作1或2个选通的输入或输出口 每个端口包括8位数据口和3条固定的控制线 可选择1个端口工作于方式1,余下的工
12、作在方式0 可选择2个端口都工作于方式119工作于方式工作于方式1 1下的端口下的端口 选通输入选通输入/输出工作方式。输出工作方式。A A口和口和B B口通常用于口通常用于I/OI/O数数据传送,据传送,C C口用作口用作A A口和口和B B口的联络线,以中断或查询口的联络线,以中断或查询的方式传送数据。的方式传送数据。208255A接口应用举例1 8255A与8031接口电路218255A8255A的接口应用举例的接口应用举例1 1端口地址确定端口地址确定8255A8255A各端口寄存器的地址为:各端口寄存器的地址为:A A口:口:FF7CHFF7CHB B口:口:FF7DHFF7DHC
13、C口:口:FF7EHFF7EH控制寄存器:控制寄存器:FF7FHFF7FH确定地址的原则:未使用到的片选地址线置确定地址的原则:未使用到的片选地址线置122软件编程软件编程要求要求8255A8255A工作在方式工作在方式0 0,且,且A A口作为输入,口作为输入,B B口、口、C C口作为输出,口作为输出,程序如下:程序如下:MOV MOV A,#90H A,#90H ;A A口方式口方式0 0输入,输入,B B口、口、;C C口输出的控制字送口输出的控制字送A AMOVMOVDPTR,#0FF7FH DPTR,#0FF7FH ;控制寄存器地址;控制寄存器地址DPTRDPTRMOVX DPTR
14、,AMOVX DPTR,A ;方式控制字;方式控制字控制寄存器控制寄存器MOVMOVDPTR,#0FF7CH DPTR,#0FF7CH ;A A口地址口地址DPTRDPTRMOVX A,DPTRMOVX A,DPTR ;从;从A A口读数据口读数据MOV DPTR,#0FF7DH MOV DPTR,#0FF7DH ;B B口地址口地址DPTRDPTRMOV MOV A,#55H A,#55H ;要输出的数据;要输出的数据55HA55HAMOVX DPTR,A MOVX DPTR,A ;将;将55H55H送送B B口输出口输出MOV DPTR,#0FF7EH MOV DPTR,#0FF7EH ;
15、C C口地址口地址DPTRDPTRMOV A,#60H ;60HAMOVX DPTR,A ;将;将60H送送C口输出口输出 238255A接口应用举例2 当口当口A、B工作于非方式工作于非方式0时,要使用到一些时,要使用到一些C口线,对口线,对于这些已被占用的于这些已被占用的C口不要进行置位、清零操作。口不要进行置位、清零操作。对端口对端口C的置位的置位/复位。先复位。先将将C口的口的PC5置置“1”,然后将,然后将其置其置“0”MOVDPTR,#0FF7FH;8255A芯片控制口地址MOVA,#0BH;方式控制字送入AMOVXDPTR,A;方式控制字送入8255APC5=1MOVA,#0AH
16、;方式控制字送入AMOVXDPTR,A;方式控制字送入8255A,PC5=0端口C按位置位/复位控制字24关于8255A的使用 一般让一般让8255A工作于方式工作于方式0,此时,此时MCS-51相当于多了相当于多了3个个I/O口,其中一个(口,其中一个(C口)口)既可以按字节操作,又可以按位操作。既可以按字节操作,又可以按位操作。在使用方式在使用方式1、方式、方式2时,一定要注意对时,一定要注意对C口控制时序的理解,而且一定要接支持口控制时序的理解,而且一定要接支持这种时序的外设,例如打印机等。这种时序的外设,例如打印机等。通常通常8255A可以由方式可以由方式1、方式、方式2实现实现的控制
17、,也可以由方式的控制,也可以由方式0实现。实现。25采用通用TTL芯片的I/O口 扩展 在许多情况下,有些开关量或并行数据需直接输出或输入。可采用8D锁存器和三态驱动门等进行扩展。(74LS377、74LS273、74LS244等)2674LS377作为输出口 功能说明:74LS377是8D锁存器,20个管脚,8个输入(D0D7)、8个输出(Q0Q7)、一个片选E、一个锁存端时钟(CLK)上升沿有效,另外,还有电源、地。123456ABCD654321DCBATitleNumberRevisionSizeBDate:10-Mar-2004Sheet of File:c:给赵志衡交接文件教学20
18、04毕业设计MyDesign.ddbDrawn By:D03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719CLK11E1U?74LS3772774LS377扩展为输出口 74LS377作为输出口,试确定其地址,E接P2.7;CLK接WR,377的输入端接8031的数据口,输出端接8个发光二极管。地址:7FFFHMov dptr,#7fffhMov a,#00hMovx dptr,a123456ABCD654321DCBATitleNumberRevisionSizeBDate:10-Mar-2004Sheet of File:c:给赵
19、志衡交接文件教学2004毕业设计MyDesign.ddbDrawn By:V5REDV7REDR31221R30221R29221R32221132V2132V4132V3R33221DW2BEW2UP2DW1BEW1UP1RUNUP1UP2BEW1BEW2DW1DW2BJV6REDR34221BJWRA15D0D1D2D3D4D5D6D7VCCRUND03Q02D14Q15D27Q26D38Q39D413Q412D514Q515D617Q616D718Q719CLK11E1U874HC3772874LS273作为输出口 功能说明:74LS273是8D锁存器,20个管脚,8个输入(D0D7)、
20、8个输出(Q0Q7)、一个清零端(CLR)、一个锁存端(CLK)上升沿有效,另外,还有电源、地。123456ABCD654321DCBATitleNumberRevisionSizeBDate:10-Mar-2004Sheet of File:c:给赵志衡交接文件教学2004毕业设计MyDesign.ddbDrawn By:D13Q12D24Q25D37Q36D48Q49D513Q512D614Q615D717Q716D818Q819CLK11CLR1U?74LS2732974LS273作为输出口123456ABCD654321DCBATitleNumberRevisionSizeBDate:
21、10-Mar-2004Sheet of File:c:给赵志衡交接文件教学2004毕业设计MyDesign.ddbDrawn By:V5REDV7REDR31221R30221R29221R32221132V2132V4132V3R33221DW2BEW2UP2DW1BEW1UP1RUNUP1UP2BEW1BEW2DW1DW2BJV6REDR34221BJWRA15D0D1D2D3D4D5D6D7VCCRUND13Q12D24Q25D37Q36D48Q49D513Q512D614Q615D717Q716D818Q819CLK11CLR1U?74LS273A1B2C3E14E25E36Y015Y
22、114Y213Y312Y411Y510Y69Y77U?74LS138123U?A74LS32A13A14VccVccCS0CS0CLKCLK地址:8000HMov dptr,#8000hMov a,#00hMovx dptr,a3074LS244作为输入口 功能说明:74LS244是8个三态线驱动器,20个管脚,2个4输入端(1A11A4)、(2A12A4);2个4输出端(1Y11Y4)、(2Y12Y4),两个控制端1G、2G(低电平有效,否则三态输出),另外,还有电源、地。123456ABCD654321DCBATitleNumberRevisionSizeBDate:10-Mar-2004
23、Sheet of File:c:给赵志衡交接文件教学2004毕业设计MyDesign.ddbDrawn By:1A121A241A361A482A1112A2132A3152A4171Y1181Y2161Y3141Y4122Y192Y272Y352Y431G12G19U?74LS2443174LS244作为输入口74LS244作为输入口,试确定其地址,1G、2G均接P2.6、RD的或门输出端;244的输出端接8031的数据口,输入端接8个按键。地址:BFFFH mov dptr,#0bfffh movx a,dptr123456ABCD654321DCBATitleNumberRevision
24、SizeBDate:10-Mar-2004Sheet of File:c:给赵志衡交接文件教学2004毕业设计MyDesign.ddbDrawn By:RDD0D1D2D3D4D5D6D7123U?A74LS32A14G1A121A241A361A482A1112A2132A3152A4171Y1181Y2161Y3141Y4122Y192Y272Y352Y431G12G19U?74LS244GJP2SW-PBVccR?RJP2SW-PBVccR?RJP2SW-PBVccR?RJP2SW-PBVccR?RJ1J2J7J0J1J2J7J0D0D1D2D7J0J1J2J732提示:使用TTL芯片扩展8051单片机的I/O口,实际使用中应用很多,要注意加深理解。选择芯片时,用为输入的,TTL芯片必须具有三态输出。用为输出的,一般选用具有锁存功能的TTL芯片,但有时也选用具有三态输出的芯片,要看具体电路的功能。33END
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。