您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 管理学资料 > 单片微机应用系统输入输出接口扩展技术
第3章单片微机应用系统输入/输出扩展技术⒈单片微机为什么需要I/O接口电路①外部设备的工作速度快慢差异很大。②外部设备种类繁多,既有机械式的,又有机电式的,还有电子式的。不同外部设备之间性能各异,对数据传送的要求也各不相同的。③外部设备的数据信号是多种多样的。④外设的数据传送有近距离的,也有远距离的。必须在单片微机和外设之间有一个接口电路,通过接口电路对单片微机与外设之间的数据传送进行协调。3.1概述接口电路主要功能:①速度协调由于速度上的差异,使得数据的I/O传送只能以异步方式进行,要知道外设是否准备好,就需要通过接口电路产生或传送外设的状态。②数据锁存在接口电路中需设置锁存器,以保存输出数据直至为输出设备所接收。③三态缓冲只允许当前时刻正在进行数据传送的数据源使用数据总线,其它数据源都必须与数据总线处于隔离状态。④数据转换包括:模/数转换、数/模转换、串/并转换和并/串转换。⒉接口与端口接口特指计算机与外设之间在数据传送方面的联系。其功能主要是通过电路实现的,称之为接口电路。一个接口电路中可能包括有多个口,例如数据口、状态口和命令口等,一个接口电路就对应着多个口地址。★端口地址特定,注释也特定。⒊数据隔离技术计算机的I/O操作中,输入输出的数据都要通过系统的数据总线进行传送,为了正确地进行数据的传送,就必须解决数据总线的隔离问题。使数据在设备需要的时候与数据总线接通,而在不需要的时候又能同数据总线隔开,这就是总隔离问题。对于输出设备的接口电路,要提供锁存器,当允许接收输出数据时闩锁打开,否则关闭。对于输入设备的接口电路,要使用三态缓冲电路或集成电路。(1)三态缓冲电路三态缓冲电路就是具有三态输出的门电路。三态,就是指低电平状态、高电平状态和高阻抗三种状态。当三态缓冲器的输出为高或低电平时,就是对数据总线的驱动状态;当三态缓冲器的输出为高阻抗时,就是对总线的隔离状态。在隔离状态下,缓冲器对数据总线不产生影响,犹如缓冲器与总线隔开一般。在电路中,由“三态控制”信号控制缓冲器的输出是驱动状态还是高阻抗状态。(2)集电极开路门把集电极回路中的电阻去除,让集电极开路,就得到了集电极开路门电路。集电极开路器件的输出是低电平起作用,如果其中一个为低电平,则总的输出即为低电平。只有当所有连在一起的集电极开路器件的输出端均为高电平时,总的输出才是高电平时。对于这种逻辑关系有时也称之为“线或”。4.I/O编址技术有两种需要编址的部件:存储器,接口电路。接口电路则是对其中的端口进行编址,对端口编址是为I/O操作而进行的,也称为I/O编址。常用的I/O编址共有两种方式:⑴独立编址方式I/O地址空间和存储器地址空间相互独立,但需要专门设置一套I/O指令(如IN或OUT指令)和控制信号。(2)统一编址方式把系统中的I/O和存储器统一编址,把接口中的寄存器(端口)与存储器中的存储单元同等对待,存储器映像编址。5.I/O数据传送的控制方式无条件传送方式、查询方式、中断方式和直接存储器存取(DMA)方式4种。在单片微机中主要使用前三种方式。(1)无条件传送方式同步程序传送。①具有常驻的或变化缓慢的数据信号的外部设备。例如:机械开关、指示灯、发光二极管、数码管等。②工作速度非常快,足以和CPU同步工作的外部设备。例如并行DAC,速度很快,单片微机可以随时向其传送数据,进行数/模转换。(2)程序查询方式有条件传送方式,把以程序方法对外设状态的检测称之为“查询”。为了实现查询方式的数据输入输出传送,需要由接口电路提供外设状态,并以软件方法进行状态测试。(3)程序中断方式中断方式是单片微机中断请求的被动形式。当外设为数据传送作好准备之后,就向单片微机发出中断请求。3.280C51单片微机的输入/输出端口及应用3.2.180C51片内输入/输出端口及应用80C51的4个8位双向口,都具有数据I/O操作功能,可进行简单的I/O应用。⒈有关I/O口的指令80C51采用统一编址方式。4个I/O口(P0、P1、P2和P3)均属于内部的特殊功能寄存器SFR,地址分别为80H、90H、A0H和B0H,适用于SFR的指令都可用作输入/输出指令。⑴I/O口的数据传送指令从口输出数据的指令有:MOVPx,AMOVPx,RnMOVPx,@RiMOVPx,direct从口输入数据的指令有:MOVA,PxMOVRn,PxMOV@Ri,PxMOVdirect,Px⑵I/O口的位操作指令80C51单片微机的I/O口都具有位寻址功能。位传送指令MOVPx.y,C位清0指令CLRPx.y位置1指令SETBPx.y位取反指令CPLPx.y位为1转移指令JBPx.y,rel位为0转移指令JNBPx.y,rel位为1转移清0指令JBCPx.y,rel可用于对口的位线进行操作。x为0,1,2,3,表示P0~P3口;y为0~7,表示PX口的某一位。⑶I/O口其它操作指令逻辑与指令ANLPx,A逻辑或指令ORLPx,A逻辑异与指令XRLPx,A加1指令INCPx减1指令DECPx减1条件转移指令DJNZPx,rel数值比较转移指令CJNEA,Px,rel3.2.280C51单片微机简单I/O的扩展⒈简单输出口的扩展主要功能是进行数据保持(锁存),一般应用锁存器芯片实现。74LS377:具有“使能”控制端的8D锁存器。一个时钟输入端CK,一个锁存允许信号,当G=0时,CK的上跳变将把8位D输入端的数据打入8位锁存器,Q输出端将保持D端输入的数据。接口见图3–1。74LS377的口地址为7FFFH。例:将一个数据字节从74LS377输出MOVDPTR,#7FFFH;地址指针指向74LS377MOVA,#0CFH;将输出数据送AMOVX@DPTR,A;输出数据⒉简单输入口的扩展对于常态数据的输入,只需采用8位三态门控制电路芯片即可。图3-2是用74LS244通过P0口扩展的8位并行输入口。图中三态门由P2.6和RD相或控制,其端口地址为BFFFH。例:数据输入MOVDPTR,#0BFFFH;指向74LS244口地址MOVXA,@DPTR;输入数据送累加器A包含有256个字节RAM,2个8位、1个6位的可编程并行I/O口和1个14位定时器/计数器。可直接与80C51连接,不需要增加任何硬件逻辑。8155/8156的引脚及内部结构如图3-7所示。3.4并行可编程I/O接口8155/8156扩展及应用3.4.18155/8156内部结构与引脚功能1.引脚说明AD7~AD0:地址数据线。单片微机和8155之间的地址、数据、命令、状态信息都是通过它传送。CE:片选信号线(对于8156,用CE表示,高电平有效)。RD:存储器(I/O)读信号线。WR:存储器(I/O)写信号线。ALE:地址及片选信号锁存信号线,其后沿将地址及片选信号锁存到器件中,IO/M:I/O接口与存储器选择信号线。IO/M=1,选择I/O接口IO/M=0,选择存储器PA7~PA0:A口输入/输出线。PB7~PB0:B口口输入/输出线。PC5~PC0:C口输入/输出或控制信号线TIMERIN:定时器/计数器输入端。TIMEOUT:定时器/计数器输出端RESET:复位信号线。Vcc:+5V电源。Vss:地。8155内部结构如图3-7(b)所示。各部件和存储器地址的选择由IO/M信号决定。当IO/M=0时,表示AD7~AD0输入的是存储器地址,寻址范围为00H~FFH。当IO/M=1时,表示AD7-AD0输入的是I/O接口地址,其编码如表3-4所示。其中A7~A3,可经译码器进行译码,产生片选信号CE,内部寄存器和口地址由A2~A0给出。有一个控制命令寄存器和一个状态标志寄存器。8155的工作方式由单片微机写入控制命令寄存器中的控制字来确定。工作方式控制字的格式如图3-8所示。8155的A口、B口可工作于基本I/O方式或选通方式,C口可作为输入输出口线,也可作为A口、B口选通方式工作时的状态控制信号线。3.4.28155的工作方式和控制80C51和8155的接口方法如图3-11所示。80C51P0口输出的低8位地址直接与8155的AD0~AD7相连,地址锁存直接用ALE在8155锁存。3.4.38155和80C51单片微机的接口及应用8155的CE接P2.7,IO/M端与P2.0相连。当P2.7为低电平时,P2.0=1,访问8155的I/O口;P2.0=0,访问8155的RAM单元。图3-11中8155的地址编码如下:RAM字节地址:7E00H~7EFFHI/O口地址:命令/状态口:7FF8HPA口:7FF9HPB口:7FFAHPC口:7FFBH定时器低8位:7FFCH定时器高8位:7FFDH例:A口定义为基本输入方式,B口定义为基本输出方式。START:MOVDPTR,#7FF8H;指向命令/状态口MOVA,#0C2H;设定命令控制字MOVX@DPTR,A;A口为基本输入方式,B口为;基本输出方式,开启定时器。MOVDPTR,#7FFAH;指向PB口MOVA,#0C2HMOVX@DPTR,A;PB口输出11000010B例:读8155RAM中F1H单元内容。MOVDPTR,#7EF1H;指向8155的F1H单元MOVXA,@DPTR;8155F1H单元内容送A例:将立即数41H写入8155RAM的20H单元。MOVA,#41H;立即数送AMOVDPTR,#7E20H;指向8155的20H单元MOVX@DPTR,A;立即数送到8155RAM的20H单元3.6应用虚拟I2C总线扩展输入/输出接口(PCF8574)PCF8574是一种单片CMOS电路,具有I2C总线接口和8位准双向口。PCF8574与PCF8574A的差别仅在于器件的从地址不同。PCF8574具有低的电流损耗,静态电流为10μA;能输出大的电流,并有锁存功能,可直接驱动LED发光管;还有中断逻辑线。3个硬件地址引脚使I2C总线系统可挂接8片PCF8574。PCF8574和PCF8574A一起使用,可以接16个器件。3.6.1PCF8574结构框图与外部引脚功能.PCF8574/PCF8574A结构框图如图3-15所示。图3-16给出了PCF8574/PCF8574A的引脚图。●SDA:串行数据线。●SCL:串行时钟线。●P7~P0:8位准双向输入/输出口。准双向口的每一位可作输入或输出。上电复位时,口的每一位均为高电平。某位在作输入前,应置为高电平。●A2~A0:地址输入线。●INT:中断输出线。3.6.2PCF8574的寻址方式及操作⒈PCF8574/PCF8574A的地址PCF8574的从地址为:D7D6D5D4D3D2D1D00100A2A1A0R/WPCF8574A的从地址为:D7D6D5D4D3D2D1D00111A2A1A0R/W⒉读操作(输入)将PCF8574口的数据传给控制器(主器件)。对PCF8574读操作的时序见图3-17。3.写操作(输出)控制器(主器件)将数据传给PCF8574口。对PCF8574写操作的时序见图3-18。3.6.3PCF8574应用和编程1.应用PCF8574扩展8位输入口如图3-19所示。将开关的状态读入片内RAM30H单元中。RDS:ACALLSTA;开始MOVA,#41H;PCF8574为读方式ACALLWRBYTACALLCACK;检查ACK信号JBF0,RDS;出错,重读ACALLRDBYT;读数据MOV30H,A…2.应用PCF8574扩展8位输出口电路如图3-20所示。WRS:ACALLSTA;开始MOVA,#40H;PCF8574为写方式ACALLWRBYTACALLCACK;检查ACK信号JBF0,WRS;出错,重写MOVA,#XXH;指示灯的亮熄取决于不同的立即数ACALLWRBYTACALLCACK;检查ACK信号JBF0,WRS;出错,重写3.应用PCF8574扩展4位输入口和4位输出口如图3-21所示。START:ACALLSTA;开始MOVA,#41H;PCF8574为读方式ACALLWRBYTACALLCACK;
本文标题:单片微机应用系统输入输出接口扩展技术
链接地址:https://www.777doc.com/doc-3219151 .html