1、 数据数据信息信息数字量;模拟量;开关量数字量;模拟量;开关量状态状态信息信息1bit的二进制数;数字量的二进制数;数字量控制控制信息信息1bit的二进制数;数字量的二进制数;数字量 主主机机外外设设 数据数据缓冲器缓冲器状态状态寄存器寄存器控制控制寄存器寄存器总线驱动总线驱动地址译码地址译码控制逻辑控制逻辑接接CPU一侧一侧接外设一侧接外设一侧DBABCB数据信息数据信息控制信息控制信息状态信息状态信息端口端口I/O端口编址方式:存储器映像或端口编址方式:存储器映像或I/O独立编址独立编址一个外设可能有多个端口,一个端口也可能属于多个外设一个外设可能有多个端口,一个端口也可能属于多个外设 内
2、内存存空空间间I/O空空间间I/O空空间间内内存存空空间间 8086微处理器系统中微处理器系统中I/O端口采用了独立编址方端口采用了独立编址方式。为区分存储器寻址和式。为区分存储器寻址和I/O端口寻址,端口寻址,8086提供了提供了专门的专门的I/O端口读写指令(端口读写指令(IN/OUT指令)和外部控指令)和外部控制信号(制信号(28脚脚 )。实际上,)。实际上,8086CPU只允许用只允许用户使用低户使用低16位地址线位地址线A0A15对对I/O端口寻址,即端口寻址,即8086系统中系统中I/O端口地址最多有端口地址最多有64K个个;而;而在在PC系列微机系列微机中,中,I/O端口地址只有
3、端口地址只有1K个,即个,即PC机只使用了低机只使用了低10位地址线位地址线A0A9对对I/O端口寻址端口寻址。IOM/一种最简单的一种最简单的I/O控制方式,控制方式,CPU可以随时可以随时根据需要无条件地读写根据需要无条件地读写I/O端口端口u外设要求:简单,数据变化缓慢,操作时间外设要求:简单,数据变化缓慢,操作时间固定,如固定,如一组开关或一组开关或LED显示管显示管。外设被认为。外设被认为始终处于就绪状态始终处于就绪状态 LEA u接口特点接口特点:避免了对端口的:避免了对端口的“盲读盲读”、“盲写盲写”,数据传送的可靠性高,并且硬件接口相对简单。,数据传送的可靠性高,并且硬件接口相
4、对简单。缺点是缺点是CPU工作效率低工作效率低,I/O响应响应速度慢速度慢;u外设要求外设要求:应具有必要的联络(握手)信号如:应具有必要的联络(握手)信号如READY、ACK等;等;u在有多个外设的系统中,在有多个外设的系统中,CPU的查询顺序由的查询顺序由外设外设的优先级的优先级确定。确定。u一种一种CPU主动、外设被动主动、外设被动的的I/O操作方式,很好操作方式,很好地解决了地解决了CPU与外设之间的与外设之间的同步同步问题。问题。程序查询程序查询方式方式数据缓冲器数据缓冲器(输入端口输入端口)状态缓冲器状态缓冲器(输入端口输入端口)锁锁存存器器输输入入设设备备数据端口读选通数据端口读
5、选通状态端口读选通状态端口读选通输入选通输入选通输入数据输入数据RQD5VDB(数据、状态数据、状态)READYD0输入状态信息输入状态信息 READY?输入数据信息输入数据信息查询查询程序程序程序查询程序查询方式方式程序查询程序查询方式方式数据锁存器数据锁存器(输出端口输出端口)状态缓冲器状态缓冲器(输入端口输入端口)输输出出设设备备输出选通输出选通RQD5VDB(数据、状态)数据、状态)BUSY(1bit)ACK状态端口读选通状态端口读选通数据端口写选通数据端口写选通输入状态信息输入状态信息 BUSY?输出数据信息输出数据信息查询查询程序程序查询式查询式8路模拟数据采集系统路模拟数据采集系
6、统D0 D1 D2324A/D转换器转换器DB多路开关多路开关数据端数据端口读选口读选通通1路模拟量路模拟量状态端口状态端口读选通读选通控制端口控制端口读选通读选通READYSTARTD0CPU8路模路模拟量拟量输入输入A0A7D3D7 D0D3 D0DATA查询式查询式8路模拟数据采集系统路模拟数据采集系统DSTOR DB 8 DUP(?)(?)START:MOV DI,OFFSET DSTOR ;取输入数据缓冲区的偏移地址取输入数据缓冲区的偏移地址MOV CX,8;一共要采集一共要采集8次(路)数据次(路)数据MOV DL,0F8H;DL需要送出的控制字需要送出的控制字AGAIN:MOV
7、AL,DLAND AL,0F7H;令令D3(START)0,停止停止AD转换转换OUT 4,ALCALL DELAY;等待等待ADC停止工作停止工作MOV AL,DLOUT 4,AL ;送出控制字,选择模拟量送出控制字,选择模拟量A0,启动启动A/DPOLL:IN AL,2;输入状态信息输入状态信息SHR AL,1;D0 CFJNC POLL;若若ADC未未READY,程序循环等待程序循环等待IN AL,3;否则,输入数据否则,输入数据STOSB;将数据存入将数据存入DI所指的缓冲区所指的缓冲区INC DL;准备选择下一路模拟输入准备选择下一路模拟输入LOOP AGAINu接口特点接口特点:避
8、免了:避免了CPU 反复低效率的查询,适用反复低效率的查询,适用于于CPU任务繁忙、而数据传送不太频繁的系统中。任务繁忙、而数据传送不太频繁的系统中。缺点是硬件电路和处理过程都比较复杂;缺点是硬件电路和处理过程都比较复杂;(中断控(中断控制芯片)制芯片)u外设要求外设要求:应具有必要的联络(握手)信号如:应具有必要的联络(握手)信号如READY等;等;uCPU被动而外设主动被动而外设主动的的I/O操作方式,较大地提高操作方式,较大地提高了了CPU的的工作效率,工作效率,并使系统具有了并使系统具有了实时处理实时处理功能功能 QRD数据缓冲数据缓冲端口译码端口译码端口译码端口译码控制端口控制端口Q
9、D+5VWR外外设设READYDBABDBINTRINTA中断可中断可被响应被响应的条件:的条件:中断请求触发器置位;中断屏蔽触发器清零;中断请求触发器置位;中断屏蔽触发器清零;CPU内部开放中断;内部开放中断;CPU未处理更高级中断;未处理更高级中断;CPU现行指令执行完;现行指令执行完;2 2接口芯片的分类接口芯片的分类接口芯片种类繁多、功能各异,分类方法也各有不同。接口芯片种类繁多、功能各异,分类方法也各有不同。一般常用的有以下几种分类方法:一般常用的有以下几种分类方法:(1 1)按通用性分类:可分为专用接口芯片和通用接口)按通用性分类:可分为专用接口芯片和通用接口芯片。芯片。(2 2)
10、按数据传送方式分类:可分为并行接口和串行接)按数据传送方式分类:可分为并行接口和串行接口。口。(3 3)按可编程性分类:可分为可编程接口和不可编程)按可编程性分类:可分为可编程接口和不可编程接口。接口。3可编程通用接口芯片的开发应用可编程通用接口芯片的开发应用总的来说,可编程通用接口芯片的学习、使用主要包括总的来说,可编程通用接口芯片的学习、使用主要包括以下几个方面:以下几个方面:(1)了解芯片的基本性能(功能)和内部结构;)了解芯片的基本性能(功能)和内部结构;(2)掌握芯片的外部连接特性,以进行硬件设计。)掌握芯片的外部连接特性,以进行硬件设计。(3)掌握芯片各控制字的含义和设置方法,能根
11、据系)掌握芯片各控制字的含义和设置方法,能根据系统设计要求确定各控制字值;统设计要求确定各控制字值;(4)CPU在初始化程序中按要求发送各控制字到相应在初始化程序中按要求发送各控制字到相应端口(寄存器)以确定芯片的工作方式和状态;端口(寄存器)以确定芯片的工作方式和状态;(5)CPU在工作过程中可以通过读状态端口检查接口在工作过程中可以通过读状态端口检查接口芯片的工作状态,并可重新设置和发送某些控制字值,以芯片的工作状态,并可重新设置和发送某些控制字值,以改变芯片的工作方式。改变芯片的工作方式。6.4.1 6.4.1 常用芯片功能介绍常用芯片功能介绍1 1单向三态缓冲器单向三态缓冲器 74LS
12、24474LS244 74LS244 74LS244 缓冲器主要用于三态输出缓冲器主要用于三态输出的地址驱动器、时钟驱动器、总线定向的地址驱动器、时钟驱动器、总线定向接收器和定向发送器等。接收器和定向发送器等。74LS244 74LS244 是一个典型的三态输出是一个典型的三态输出的的 8 8 缓冲器。缓冲器。由于三态门具有由于三态门具有“通断通断”控制能控制能力,所以可用作输入接口。利用三态力,所以可用作输入接口。利用三态门作为输入信号接口时,要求信号的门作为输入信号接口时,要求信号的状态是能够保持的。这是因为三态门状态是能够保持的。这是因为三态门本身没有对信号的保持或锁存能力。本身没有对信
13、号的保持或锁存能力。(1 1)锁存器)锁存器 74LS273 74LS273 由于三态门器件没有数据的保持能力,由于三态门器件没有数据的保持能力,所以它一般只用作输入接口,不能直接用作数据输出接口。数所以它一般只用作输入接口,不能直接用作数据输出接口。数据输出接口通常是用具有信息存储能力的双稳态触发器来实现。据输出接口通常是用具有信息存储能力的双稳态触发器来实现。从引线上可以看出,它比从引线上可以看出,它比74LS27374LS273多了一个输出允许多了一个输出允许OEOE端。端。只有当只有当OE OE 0 0时时74LS37474LS374的输出三态门才导通。当的输出三态门才导通。当OEOE
14、1 1 时,则时,则呈高阻状态。呈高阻状态。如果希望完成如下任务:如果希望完成如下任务:当开关接通时,当开关接通时,CPU执行程执行程序段序段ON;当开关断开时,;当开关断开时,CPU执行程序段执行程序段OFF。下述。下述指令的执行可以完成该任务:指令的执行可以完成该任务:MOV DX,0FFF7HIN AL,DX AND AL,01HJZ ON JMP OFF 锁存器作为输出接锁存器作为输出接口,其外设地址为口,其外设地址为0000H0000H。当。当CPUCPU执行如下执行如下指令时,即可将图中两指令时,即可将图中两个发光二极管点亮。个发光二极管点亮。MOV AL,81H MOV DX,0
15、000H OUT DX,AL 而而CPUCPU执行下述指令可以使执行下述指令可以使两个发光二极管不发亮。两个发光二极管不发亮。MOV DX,0000H MOV AL,00H OUT DX,AL 当执行当执行OUTOUT指令时,指令时,CPCP端会有负脉冲产生,端会有负脉冲产生,这就可以将数据线上的这就可以将数据线上的81H81H锁存在输出端,从锁存在输出端,从而点亮发光二极管。而点亮发光二极管。三态门三态门 74LS24474LS244作作为输入接口,其为输入接口,其I/OI/O地址地址采用了部分地址译码采用了部分地址译码地址地址A A1 1和和A A0 0未参加译码,未参加译码,所以它所占用
16、的地址为所以它所占用的地址为FF00HFF00HFF04HFF04H。可以使。可以使用其中任何一个线地址,用其中任何一个线地址,而其他重叠的而其他重叠的3 3个地址空个地址空着不用。着不用。用一片用一片74LS24474LS244芯片作为输入接口最多可以连接芯片作为输入接口最多可以连接8 8个开关个开关或其他具有信号保持能力的外设。当然也可只接一个外设而或其他具有信号保持能力的外设。当然也可只接一个外设而让其他端悬空(如图让其他端悬空(如图6-216-21所示所示),),所以所以对空着未用的端,其对空着未用的端,其对应位的数据是任意值,在程序中常用逻辑对应位的数据是任意值,在程序中常用逻辑“与
17、与”指令将其指令将其屏蔽掉。如果有更多的开关状态(或其他外设)需要输入时屏蔽掉。如果有更多的开关状态(或其他外设)需要输入时,可用类似的方法用两片或更多的芯片并联使用。,可用类似的方法用两片或更多的芯片并联使用。利用程序可以判断任何一个开关的状态。例如,当利用程序可以判断任何一个开关的状态。例如,当K6闭合时,程序闭合时,程序转向转向CLOSK6;而当它打开时程序转向;而当它打开时程序转向OPENK6。这段程序如下:。这段程序如下:START:MOV DX,0FF00H IN AL,DX AND AL,60H JZ CLOSK6 JMP OPENK6 由图可以看到,数据输出口和状态输入口共用一
18、个地址由图可以看到,数据输出口和状态输入口共用一个地址00FFH00FFH。前者是只写的,而后者是只读的。现欲将。前者是只写的,而后者是只读的。现欲将56000H56000H为首为首地址的顺序地址的顺序100100单元的数据,利用查询方式输出到此外设。单元的数据,利用查询方式输出到此外设。其程序可简写如下:其程序可简写如下:START:MOV AX,5000H MOV DS,AX MOV SI,6000H MOV CX,100 GOON:MOV DX,00FFH WAIT:IN AL,DX AND AL,01H JZ WAIT MOV AL,SI OUT DX,AL INC SI LOOP GOON DB HOLD CPU HLDA AB DMAC MEM I/O请求响应
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。