《片机IO(输入输出)口.ppt》由会员分享,可在线阅读,更多相关《片机IO(输入输出)口.ppt(33页珍藏版)》请在三一办公上搜索。
1、1,第10讲 I/O口的扩展,电气工程系赵志衡E-,2,I/O扩展主要内容,可编程I/O芯片8255A的扩展可编程I/O芯片8155H的扩展计数器芯片8253的扩展利用串口对并行口的扩展采用通用TTL芯片的扩展电路,3,本讲主要内容,I/O扩展概述8255A的工作原理及其扩展采用通用TTL芯片的I/O扩展编程举例,4,I/O(输入/输出)接口是MCS-51与外设交换数字信 息的桥梁。,I/O扩展也属于系统扩展的一部分。,真正用作I/O口线的只有P1口的8位I/O线和P3口的某些 位线。,在多数应用系统中,MCS-51单片机都需要外扩I/O接 口电路。,I/O扩展概述,5,I/O接口电路可实现以
2、下功能:,1.实现和不同外设的速度匹配,大多数的外设的速度很慢,无法和s量级的单片机速度相比。,单片机只有在确认外设已为数据传送做好准备的前提下才能进行I/O操作。,想知道外设是否准备好,需I/O接口电路与外设之间传送状态信息。,I/O接口的功能,6,2.输出数据锁存,由于单片机工作速度快,数据在数据总线上保留的时间十分短暂,无法满足慢速外设的数据接收。I/O电路应具有数据锁存器,以保证接收设备可靠接收。,3.输入数据三态缓冲,单片机具有多个输入设备时,使得数据总线上可“挂”有多个数据源,为不发生冲突,只允许当前正在进行数据传送的数据源使用数据总线,其余的应处于隔离状态。,7,I/O端口的编址
3、,首先清楚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接口中的寄存器分配地址。,8,I/O端口编址两种方式:独立编址与统一编址,1独立编址方式,I/O寄存器地址空间和存储器地址空间分开编址,但需专门读写I/O的指令和控制信号。,2统一编址方式,I/O寄存器与数据存储器单元同等对待,统一编址。不需要专门的I/O指令,直接使用访问数据存储器的指令进行I/O操作,
4、简单、方便且功能强(MOVX)。,MCS51采用这种方式,9,MCS-51使用统一编址的方式,每一接口芯片中的一个功能寄存器(端口)的地址就相当于一个RAM单元。,I/O数据的几种传送方式,为实现和不同的外设的速度匹配,I/O接口必须根据不同外设选择恰当的I/O数据传送方式。,I/O数据传送的几种传送方式是:,(1)同步传送(2)查询传送(3)中断传送。,10,1.同步传送方式(无条件传送),当外设速度和单片机的速度相比拟时,常采用同步传送方式,最典型的同步传送就是单片机和外部数据存储器之间的数据传送。,2.查询传送方式(条件传送,异步式传送),查询外设“准备好”后,再进行数据传送。,优点:通
5、用性好,硬件连线和查询程序十分简单,,缺点:效率不高。,为提高效率,通常采用中断传送方式。,11,3.中断传送方式.,外设准备好后,发中断请求,单片机进入与外设数据传送的中断服务程序,进行数据的传送。中断服务完成后又返回主程序继续执行。工作效率高。,常用的I/O接口电路芯片,Intel公司的配套可编程I/O接口芯片的种类齐全,为扩展I/O接口提供了很大的方便。或者采用通用的TTL集成电路芯片。,12,小结,原因:MCS-51单片机本身提供的口线不多(P1、P3)方法:MCS-51单片机将外扩I/O和外部数据存储器统一编址,用户可以把一部分外部数据存储器的空间(64k)作为I/O地址,通过MOV
6、X指令完成对外扩口的输入输出。实现:采用专门的外围接口芯片8155,8255等 采用一般的TTL芯片74LS377,74LS373等,13,可编程并行I/O芯片8255A,引脚及结构介绍3个8位并行口PA、PB、PC。PC可分为高4位与低4位D0D7数据端口A,B两组控制电路,双向三态数据接口控制总线接口复位控制RESET,高电平有效,14,8255A的端口,8255端口选择,8255A端口选择表,15,8255A功能简述,8255A的三种工作方式方式0基本输入输出方式1选通输入输出方式2双向传送(仅PA口)8255A的工作方式由控制字选择,16,8255A控制字,工作方式选择控制字,C口按位
7、置位/复位控制字,8255A控制字,端口C按位置位/复位控制字,17,8255A工作方式0(基本I/O方式),两个8位端口和两个4位端口任一个端口都可以输入输出输出锁存而输入不锁存数据无条件传送,不需要状态端口,18,8255A工作方式1(选通I/O方式),可用作1或2个选通的输入或输出口每个端口包括8位数据口和3条固定的控制线可选择1个端口工作于方式1,余下的工作在方式0可选择2个端口都工作于方式1,19,工作于方式1下的端口,选通输入/输出工作方式。A口和B口通常用于I/O数据传送,C口用作A口和B口的联络线,以中断或查询的方式传送数据。,20,8255A接口应用举例1,8255A与803
8、1接口电路,21,8255A的接口应用举例1,端口地址确定,8255A各端口寄存器的地址为:,A口:FF7CHB口:FF7DHC口:FF7EH控制寄存器:FF7FH,确定地址的原则:未使用到的片选地址线置1,22,软件编程,要求8255A工作在方式0,且A口作为输入,B口、C口作为输出,程序如下:,MOV A,#90H;A口方式0输入,B口、;C口输出的控制字送AMOVDPTR,#0FF7FH;控制寄存器地址DPTRMOVX DPTR,A;方式控制字控制寄存器,MOVDPTR,#0FF7CH;A口地址DPTRMOVX A,DPTR;从A口读数据MOV DPTR,#0FF7DH;B口地址DPTR
9、,MOV A,#55H;要输出的数据55HAMOVX DPTR,A;将55H送B口输出MOV DPTR,#0FF7EH;C口地址DPTRMOV A,#60H;60HAMOVX DPTR,A;将60H送C口输出,23,8255A接口应用举例2,当口A、B工作于非方式0时,要使用到一些C口线,对于这些已被占用的C口不要进行置位、清零操作。,对端口C的置位/复位。先将C口的PC5置“1”,然后将其置“0”MOVDPTR,#0FF7FH;8255A芯片控制口地址MOVA,#0BH;方式控制字送入AMOVXDPTR,A;方式控制字送入8255APC5=1MOVA,#0AH;方式控制字送入AMOVXDPT
10、R,A;方式控制字送入8255A,PC5=0,端口C按位置位/复位控制字,24,关于8255A的使用,一般让8255A工作于方式0,此时MCS-51相当于多了3个I/O口,其中一个(C口)既可以按字节操作,又可以按位操作。在使用方式1、方式2时,一定要注意对C口控制时序的理解,而且一定要接支持这种时序的外设,例如打印机等。通常8255A可以由方式1、方式2实现的控制,也可以由方式0实现。,25,采用通用TTL芯片的I/O口 扩展,在许多情况下,有些开关量或并行数据需直接输出或输入。可采用8D锁存器和三态驱动门等进行扩展。(74LS377、74LS273、74LS244等),26,74LS377
11、作为输出口,功能说明:74LS377是8D锁存器,20个管脚,8个输入(D0D7)、8个输出(Q0Q7)、一个片选E、一个锁存端时钟(CLK)上升沿有效,另外,还有电源、地。,27,74LS377扩展为输出口,74LS377作为输出口,试确定其地址,E接P2.7;CLK接WR,377的输入端接8031的数据口,输出端接8个发光二极管。地址:7FFFHMov dptr,#7fffhMov a,#00hMovx dptr,a,28,74LS273作为输出口,功能说明:74LS273是8D锁存器,20个管脚,8个输入(D0D7)、8个输出(Q0Q7)、一个清零端(CLR)、一个锁存端(CLK)上升沿
12、有效,另外,还有电源、地。,29,74LS273作为输出口,地址:8000HMov dptr,#8000hMov a,#00hMovx dptr,a,30,74LS244作为输入口,功能说明:74LS244是8个三态线驱动器,20个管脚,2个4输入端(1A11A4)、(2A12A4);2个4输出端(1Y11Y4)、(2Y12Y4),两个控制端1G、2G(低电平有效,否则三态输出),另外,还有电源、地。,31,74LS244作为输入口,74LS244作为输入口,试确定其地址,1G、2G均接P2.6、RD的或门输出端;244的输出端接8031的数据口,输入端接8个按键。地址:BFFFH mov dptr,#0bfffh movx a,dptr,D0D1D2D7,J0J1J2J7,32,提示:,使用TTL芯片扩展8051单片机的I/O口,实际使用中应用很多,要注意加深理解。选择芯片时,用为输入的,TTL芯片必须具有三态输出。用为输出的,一般选用具有锁存功能的TTL芯片,但有时也选用具有三态输出的芯片,要看具体电路的功能。,33,END,