




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、7.4 I/O接口的扩展接口的扩展计算机扩展系统中共有两类数据传送操作:计算机扩展系统中共有两类数据传送操作: CPU和存储器之间的数据读写操作;和存储器之间的数据读写操作;(扩展存储器与(扩展存储器与CPU之间连接简单,仅需将地址线、数据线和控之间连接简单,仅需将地址线、数据线和控制读或写选通信号线与系统连接,实现方便。)制读或写选通信号线与系统连接,实现方便。) 2. CPU和外部设备之间的数据输入输出和外部设备之间的数据输入输出(I/O)操作。操作。(在设计应用系统时,要考虑在(在设计应用系统时,要考虑在CPU和外设之间提供和外设之间提供接口电路接口电路,通,通过过接口电路接口电路对对C
2、PU与外设之间的数据传送进行协调。)与外设之间的数据传送进行协调。) 7.4.1 I/O接口电路的作用接口电路的作用 v1对单片机输出的数据锁存 就对数据的处理速度来讲,单片机往往要比I/O设备快得多。因此单片机对I/O设备的访问时间大大小于I/O设备对数据的处理时间。I/O接口的数据端口要锁存数据线上瞬间出现的数据,以解决单片机与I/O设备的速度协调问题。v2对输入设备的三态缓冲 单片机系统的数据总线是双向总线,是所有I/O设备分时复用的。设备传送数据时要占用总线,不传送数据时必须对总线呈高阻状态。利用接口的三态缓冲功能,可以实现I/O设备与总线的隔离,便于其他设备的总线挂接。I/O接口电路
3、的作用接口电路的作用v3信号转换 由于I/O设备的多样性,必须利用I/O接口实现单片机与I/O设备间信号类型(模拟或数字、电流或电压)、信号电平(高或低、正或负)、信号格式(并行或串行)等的转换。v4时序协调 单片机输入数据时,只有在确知输入设备已向I/O接口提供了有效的数据后,才能进行读操作。输出数据时,只有在确知输出设备已做好了接收数据的准备后,才能进行写操作。不同的I/O设备的定时与控制逻辑是不同的,与CPU的时序往往也是不一致的,这就需要I/O接口进行时序的协调。 7.4.2 接口与端口接口与端口 v接口:“接口”的英文是“Interface”,具有界面、相互联系等含义。接口这个术语在
4、计算机领域中应用十分广泛。本章所述的接口则特指计算机与外设之间在数据传送方面的联系。其功能主要通过电路来实现,因此也称为接口电路,简称接口。v端口:一个接口电路中可能包含有多个端口,例如保存数据的数据口、保存状态的状态口和保存命令的命令口等,因此一个接口电路就对应着多个口地址。口是供用户使用的,用户在编写有关类数据输入输出程序时,可能会用到接口电路中的各个口,因此要知道它们的设置和编址情况。从应用的角度来看,接口问题的重点就是如何正确地使用端口。 I/o端口编址技术端口编址技术 v MCS-51单片机的地址总线宽度为16位。P2口提供高8位地址(A8A15),P0口经外部锁存后提供低8位地址(
5、A0A7)。为了唯一地选中外部某一存储单元(I/O接口芯片已作为数接口芯片已作为数据存储器的一部分据存储器的一部分),就要用到单片机的编址技术。 v1统一编址统一编址:I/O端口与存储器统一编址v在这种编址方式中,将存储器地址空间的一部分作为I/O端口空间。也就是说,把I/O接口中可以访问的端口作为存储器的一个存储单元,统一纳入存储器地址空间,为每一个端口分配一个存储器地址,CPU可以用访问存储器的方式来访问I/O端口。v优点:不用专门设置访问端口的指令,用于访问存储器的指令都可以用于访问端口。v缺点:由于端口占用了存储器的一部分存储空间,使得存储器的实际存储空间减少;程序I/O操作不清晰,难
6、以区分程序中的I/O操作和存储器操作。在MCS51、MCS96单片机系统中,多数采用这种编址方法。 v2。独立编址独立编址 :I/O端口与存储器独立编址端口与存储器独立编址 v 为了提高存储器空间的利用率,将存储器与I/O端口分为两个独立的地址空间进行编址,并设置了专用的输入/输出指令对I/O端口进行访问,如80 x86CPU系统就是采用了这种编址方式。v I/O端口可采用8位地址进行编址,端口地址范围为0255(00HFFH),也可以采用16位地址进行编址,端口地址范围为065 535(0000HFFFFH),对I/O端口的操作使用输入/输出指令(IN和OUT)。v优点:不占用内存空间;使用
7、I/O指令,程序清晰,很容易区分是存储器操作还是I/O操作。v缺点:只能用专门的I/O指令,访问端口的方法不如访问存储器的方法多。 7.4.3 I/O的传送方式的传送方式 v1无条件传送方式 无条件传送也称为同步程序传送,类似于CPU和存储器之间的数据传送。这种传送方式不测试I/O设备的状态,只在规定的时间到来时,单片机用输入或输出指令来进行数据的输入或输出,即通过程序来定时同步传送数据。无条件传送方式适用于以下两类外设的输入/输出:v(1) 外设的工作速度非常快,足以和CPU同步工作。例如,当与计算机的数模转换器DAC之间进行数据传送时,由于DAC并行工作,速度很快,因此CPU可以随时向其传
8、送据。v(2) 具有不变的或变化缓慢的数据信号的外设。例如,机械开关、指示灯、发光二极管、数码管等,可以认为它们是随时为输入输出数据做好准备的。 I/O的传送方式v2查询传送方式 查询传送又称为条件传送,即数据的传送是有条件的。单片机在执行输入输出指令前,先要检测I/O接口的状态及端口的状态,以了解外设是否已为数据输入输出做好了准备。只有在确认外设已“准备就绪”的情况下,CPU才能执行数据输入输出操作。通常把通过程序对外设状态的检测称之为“查询”,所以这种方式又称为程序查询方式。I/O的传送方式v3中断传送方式 这里所说的中断,是指I/O设备暂时停止单片机当前正在执行的任务(主程序),转行为该
9、I/O设备服务的任务(中断服务程序)。一旦中断任务结束,再从原来停止作业的地方继续执行任务。由于CPU的工作速度很快,传送一次数据所需的时间很短,对外设来讲,似乎是对CPU发出请求的瞬间,CPU就实现了相应功能;对主程序来讲,虽然中断了一个瞬间,但由于时间很短,也不会有什么影响。中断方式完全取消了CPU在查询方式中的等待过程,大大提高了CPU的工作效率。在高速计算机系统中,由于采用中断方式,可以将多个外设同时接到CPU上去,实现单片机与外设的并行工作。 I/O的传送方式v4直接存储器存取(DMA)方式 利用中断传送方式,虽然可以提高单片机的工作效率,但它仍需由单片机通过执行程序来传送数据,并在
10、处理中断时,还要进行“保护现场”和“恢复现场”等操作,而这操作与数据传送没有直接的关系,却依然要占用一定的时间,这对于高速外设以及成组数据交换的场合还是显得较慢。 DMA(Direct Memory Access)方式是一种采用专用硬件电路执行输入输出的传送方式,它使I/O设备可以直接与内存进行高速的数据传送,而不必经过CPU执行传送程序,这不必进行保护现场之类的额外操作,实现了对存储器的直接存取。这种传送方式通常采专门的硬件,即DMA控制器,如Intel公司的8257及Motorola公司MC6844等。 并行并行I/O接口扩展方法接口扩展方法 在实际应用中,MCS-51单片机的P0口和P2
11、口常被用作扩展总线,P3口的某些口线又常用作它的第二功能。所以,若一个MCS-51应用系统需连接较多的并行I/O设备(如打印机、键盘、显示器等),就必须扩展并行接口。 以下是常用的MCS-51并行接口扩展器件: TTL或CMOS三态门电路、锁存器,如74LS377、74LS244、74LS245。标准的可编程并行接口电路,如8255A。 RAM/IO或EPROM/IO扩展器,如8155/8156。一、简单一、简单I/OI/O口的扩展口的扩展 v 在实际应用中经常会遇到开关量、数字量的输入输在实际应用中经常会遇到开关量、数字量的输入输出,如开关、键盘、数码显示器等外设,主机可以随时出,如开关、键
12、盘、数码显示器等外设,主机可以随时与这些外设进行信息交换。在这种情况下,只要按照与这些外设进行信息交换。在这种情况下,只要按照“输入三态,输出锁存输入三态,输出锁存”与总线相连的原则,选择与总线相连的原则,选择74LS74LS系列的系列的TTLTTL或或MOSMOS电路即能组成简单的电路即能组成简单的I/OI/O扩展扩展 口。例如,口。例如,采用采用8 8位三态缓冲器位三态缓冲器74LS24474LS244组成组成输入口输入口,采用,采用8D8D锁存器锁存器74LS27374LS273、74LS37374LS373、74LS37774LS377等组成等组成输出口输出口。7.4.4 用用TTL芯
13、片扩展芯片扩展I/O口口 74LS27374LS273芯片的地址号为:芯片的地址号为: 1111 1101 1111 1111 1111 1101 1111 1111 FDFFHFDFFH。74LS24474LS244芯片地址号为芯片地址号为: : 1111 1110 1111 1111 1111 1110 1111 1111 FEFFHFEFFH。此时此时CPUCPU与外设交换信息所采用的指令为与外设交换信息所采用的指令为输入操作:输入操作: MOV DPTR,MOV DPTR,0FEFFH0FEFFH ; ;输入端口地址输入端口地址DPTRDPTR MOVX A,DPTRMOVX A,DP
14、TR ; ;输入数据在输入数据在A A寄存器中寄存器中输出操作:输出操作: MOV DPTR,MOV DPTR,0FDFFH0FDFFH ; ;输出端口地址输出端口地址 DPTR DPTR MOVX DPTR,AMOVX DPTR,A ; ;输出数据输出数据v 采用74LS244作扩展输入,74LS273作扩展输出的简单I/O扩展电路。PO口为双向数据线,既能从74LS244输入数据,又能把数据传送给74LS273输出。 输出数据时,输出控制信号由P2.0和WR合成,当P2.0=0且WR 0时,使或门输出+0,将PO口的数据锁存到74LS273中,其输出控制发光二极管(LED)。当某线输出“0
15、电平时,该线上的LED发光。 输入数据时,输入控制信号由合成,当P2.0=0且RD =0时,下面的或门输入“0,选通74LS244,将外部输入信息输入到总线。当与74LS244相连的开关无键按下时,输入全为“1,若某键按下,则相应的输入为“0。v两个芯片都是用P2.0作片选使能,因此,两芯片的有效端口地址相同(0FEFFH)。但它们分别经或门连到片选引脚,因此,只有读操作时,74LS244片选有效;只有写操作时,74LS273片选有效。可将开关状态读入,然后用对应的指示灯反映出来。v程序为: LOOP :MOV DPTR, #0FEFEH ;送外部端口地址 MOVX A, DPTR ;读入开关
16、状态 MOVX DPTR, A ;根据开关状态,驱 ;动发光二极管 SJMP LOOP ; 循环测试 7.4.5 用可编程芯片扩展I/O口 v 可供单片机进行I/O扩展的接口芯片很多,但按其所能实现的扩展功能又可分为两类:一类是只能实现简单扩展的中、小规模集成电路芯片;另一类则是能实现可编程I/O扩展的可编程接口芯片。可编程I/O扩展的并行接口芯片功能较强,其特点在于工作方式的确定和改变是可以用程序实现。对复杂I/O口的扩展一如键盘、显示器、串行口、A/D与D/A转换等的扩展,可采用可编程接口芯片及其他专用芯片。v 在单片机I/O扩展中常常用的可编程接口芯片有可编程通用并行接口芯片8255A、
17、带RAM和定时计数器的可编程并行接口芯片8155等。 18255A的内部结构 v(1)数据端口A、B、C。8255A有三个8位数据端口,即端口A、端口B和端口C。编程人员可以通过软件将它们分别作为输入端口或输出端口,这三个端口在不同的工作方式下有不同的功能及特点,如表7.2所示。v (2) A组和B组控制电路。这是两组根据CPU的命令字控制8255A工作方式的电路。它们的控制寄存器先接收CPU送出的命令字,然后根据命令字分别决定两组的工作方式,也可根据CPU的命令字对端口C的每一位实现按位“复位”或“置位”。其中:vA组控制电路控制端口A和端口C的上半部(PC7PC4)。vB组控制电路控制端口
18、B和端口C的下半部(PC3PC0)。v(3) 数据总线缓冲器。这是一个三态双向的8位数据缓沖器,可直接与系统的数据总线相连,以实现CPU和8255A之间的数据、控制字的状态信息等的传送。v(4) 读写控制逻辑。读写控制逻辑电路负责管理8255A的数据传输过程。它接收及来自系统地址总线的信号A1、A0和控制总线的信号RESET、,将这些信号进行组合后,得到对A、B两组控制部件的控制命令,并将命令发送给这两个部件,以完己成对数据、状态信息和控制信息的传输。 28255A的芯片引脚表表7.3 8255A端口选择表端口选择表38255工作方式工作方式 v8255 有方式0、方式 1、方式 2 这3种基
19、本 v(1)方式 0 为基本 /输出方式。方式 0 适合于无条件数据传送,可供使用的是 PA口和 PB口两个 8 位口及 PC口高位部分和低位部分两个 4 位口。 v(2)方式 1 为选通输入/输出方式。方式 1 下,PA口和 PB口分别用于数据的输入/输出,而 PC口则作为数据传送的联络信号。 v(3)方式 2 为双向数据传送方式。只有 PA口才能选择这种工作方式,这时 PA口既能输入数据又能输出数据。在这种方式下需使用 PC 口的 5 位口线作控制线。方式 2 适用于查询或中断方式的双向数据传送。如果把 PA口置于方式 2 下,则 PB口只能工作于方式 0。 8255工作方式工作方式 v(
20、1) 方式方式1(选通输入输出方式)(选通输入输出方式)v在方式1下,A口和B口均工作在输入或输出状态时,需利用C口的6条线作为控制和状态信号线,其定义如图7.20(a)所示。 A口、口、B口均为输入时口均为输入时 A口、口、B口均为输出时口均为输出时 vC口所提供的用于输入的联络信号有:口所提供的用于输入的联络信号有:v/STB(Strobe)选通脉沖信号(输入),低电平有效。当外设送来信号时,输入数据装入8255A的输入锁存器。vIBF(lnput Buffer Full)输入缓冲器满信号(输出),高电平有效。该信号有效时,表明已有一个有效的外设数据锁存于8255A的口锁存器中,尚未被CP
21、U取走,暂时不能向接口输入数据。这是一个状态信号。vINTR(lnterrupt Request)中断请求信号(输出),高电平有效。当IBF信号为高,/STB由低变高时,该信号有效,向CPU发出中断请求。STB方式1下的输入时序 v数据输入过程为:数据输入过程为: 当外设准备好数据输入后,发出/STB信号,输入的数据送入A口缓冲器。然后IBF信号有效(变为高电平)。如使用查询方式,则IBF作为状态信号供查询使用:如使用中断方式,当IBF信号由低变高时,产生INTR信号,向单片机发出中断请求。单片机在响应中断后执行中断服务程序时产生信号/RD,将数据读入CPU中, /RD信号的下降沿使INTR信
22、号变低(失效),而/RD信号的上升沿使IBF信号变低(失效),以此通知外设准备下一次数据输入。数据输入操作的时序关系如图7.21所示。 方式方式1下的输出时序下的输出时序 v数据输出过程为:数据输出过程为: 外设接收并处理完一组数据后,发回/ACK信号。该信号使/OBF变高,表明输出缓冲器已空(实际上是表明输出缓沖器中的数据已无保留的必要)。如使用查询方式,则可作为状态信号供查询使用;如使用中断方式,则当/ACK信号结束时,INTR有效,向单片机发出中断请求。在中断服务过程中,把下一个输出数据写入8255A的输出缓冲器。写入后,/OBF有效,表明输出数据已到,并以此信号启动外设工作,取走并处理
23、8255A中的输出数据。 (2).方式方式2(双向数据传送方式)(双向数据传送方式) 找出图中错找出图中错误的地方误的地方48255A的控制字及初始化的控制字及初始化 v8255A是可编程接口芯片,以控制字形式对其工作方式以及C口各位的状态进行设置。因此它有两种控制字:工作方式控制字和C口置位复位控制字。v1) 工作方式控制字(D7=1) (用于确定各口的工作方式及数据的传送方向 )2)C口置位复位控制字口置位复位控制字 (D7=0)5. 8255A与单片机的连接与单片机的连接 v分析分析8255A的端口地址的端口地址 PA口地址为:口地址为: 0000H , PB口地址为:口地址为: 0001
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 衢江区游乐设施管理办法
- 襄阳市道路管理办法规定
- 西秀区人才津贴管理办法
- 论坛管理研讨会暂行办法
- 评标委员会管理暂行办法
- 财务负责人委派管理办法
- 购物卡会计凭证管理办法
- 贵州省防洪预案管理办法
- 资产证券化业务管理办法
- 足球俱乐部运营管理办法
- 二等水准测量记录表
- 母线槽安装检验批质量验收记录
- 养老机构安全检查表
- 企业员工上下班交通安全培训(简详共2份)
- 小区物业服务收支情况公示
- 22种常见环境违法行为笔录调查询问笔录及现场笔录模板(修改版)
- 统编版小学语文二升三衔接专项训练—看图写话(二)【含答案】
- 全国教育系统关心下一代工作先进集体事迹材料
- 临时占道申请书(精品)
- 除湿机设备一级保养记录表
- 10kV电容器组安装施工方案(共7页)
评论
0/150
提交评论