版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6章 常用的输入输出接口芯片,6.1 简单接口 6.2 总线控制器8288 6.3 总线裁决器8289 6.4 可编程并行接口8255 6.5 可编程定时器8253 6.6 可编程串行接口8250 6.7 A/D及D/A变换器接口,6.1 简单接口,6.1.1 三态门接口芯片 一个典型的三态门接口芯片(74LS244)如图2.12所示。从图中不难看出该芯片由8个三态门构成,其中每4个三态门由一个控制端( 或 )来控制。当控制端有效时(低电平),三态门导通;当它们为高电平时,相应的三态门呈现高阻状态。,在图61中,三态门74LS244采用部分地址译码地址线A1和A0未参加译码,故它所占的地址为
2、83FCH83FFH。我们可以用其中任何一个地址,而其他重叠的3个地址空着不用。,图6.1 三态门输入接口,利用程序可以判断任何一个开关的状态。例如,当K2闭合时,程序转向CLOSK2;而当它打开时程序转向OPENK2。这段程序如下: START: MOV DX,83FCH IN AL,DX AND AL,02H JZ CLOSK2 JMP OPENK2,6.1.2 锁存器接口芯片 74LS273用低电平的 复位,用CP脉冲上升沿将输入端DX的状态锁存在QX输出端。 74LS273的数据锁存输出端Q是通过一个一般的门(二态门)输出的。也就是说,只要74LS273正常工作,其Q端总有一个确定的逻
3、辑状态(0或1)输出。,图6.2 74LS273引线图和真值表,图6.3 74LS374引线图和真值表,图6.4 74LS374的内部结构,图6.5 74LS374作为输出接口,图6.6 74LS374用作输入接口,6.1.3 简单接口举例 1. LED数码管 LED数码管分为共阳和共阴两种结构。在封装上有将一位、二位或更多位封装在一起的。由于篇幅限制,只介绍一位共阳封装的LED数码管,如图67所示。,图6.7 共阳LED数码管的示意图,2. 接口电路 这种七段LED数码管与微机系统总线有多种接口方式。而生产厂家为数码管生产了多种译码器,可直接作为LED数码管接口,本书不做说明。在此,利用前面
4、提到的锁存器74LS273作为输出接口,将开路集电极门7406作为驱动器连接LED数码管。用三态门作为按钮K的输出接口,其连接图如图68所示。,图6.8 LED数码管及按钮的一种接口电路,下面一段程序可判断按钮的状态。当K闭合时,显示3,当K断开时显示6。 START:MOV DX,00F1H IN AL,DX TEST AL,01H JNZ KOPEN MOV DX,00F0H MOV AL,4FH,OUT DX,AL JM PSTART KOPEN:MOVDX,00F0H MOV AL,7DH OUT DX,AL JM PSTART,6.2 总线控制器8288,6.2.1 引线及功能 如图
5、69所示,总线控制器包括与处理器相连接的两组输入信号和两组输出信号,即处理器状态和控制信号、总线命令输出信号和由它输出的控制信号。下面仅对这些信号做最简单地说明。,图6.9 总线控制器8288引线图,为微处理器(8088或其他)的状态信号,这3个信号的不同编码代表处理器的不同状态。 CLK来自8284,是与CPU的CLK一样的时钟信号。 为地址允许信号。 CEN是命令允许信号。 IOB为I/O总线方式输入控制信号。 为超前I/O写命令,低电平有效。 为超前存贮器写命令,其含义与 类似,是由 发出的,用以提前告诉存贮器执行写命令的低电平有效信号。,为I/O写命令,低电平有效。 为I/O读命令,低
6、电平有效。 为存贮器读命令,低电平有效。 为存贮器写命令,低电平有效。 为中断响应信号,低电平有效。 为数据发送/接收控制信号。 ALE为地址锁存允许信号,高电平有效。 DEN数据允许信号,高电平有效。 MCE/ 是一个双功能引脚。,6.2.2 8288总线控制器使用举例 图6.10是一个利用8288总线控制器构成系统总线的简化图。,图6.10 利用8288构成系统总线,6.3 总线裁决器8289,6.3.1 8289引线及简单功能说明 总线裁决器8289引线如图6.11所示。8289的20条引线分成如图所示的几类。,图6.11 总线裁决器8289引线图,为由处理器来的处理器状态信号。 为锁定
7、信号。 为通用请求锁定信号。 RESB和 这两个输入信号根据输入电平不同可组合成多种不同的工作方式。如表6.1所示。 CLK为输入裁决器的时钟,通常由时钟发生器的CLK端提供。 ANYRQST为任意请求信号。 为忙信号。 为通用总线请求信号。,为地址允许信号。 为系统总线/保留总线选择输入信号。,6.3.2 优先级控制及工作方式 1. 优先级控制 主要有如下几种: (1)并行优先级控制 并行优先级控制如图6.12所示。 (2)串行优先级控制 8289串行优先级控制如图6.13所示。由1号8289到3号8289的优先级依次降低。,图6.12 并行优先级控制,图6.13 串行优先级控制,2. 82
8、89的工作方式 前面已经提到,8289有4种工作方式。 (1) IOB方式 (2) 保留总线方式 (3) 单总线方式 (4) IOB与保留混合方式,6.4 可编程并行接口8255,6.4.1外部引线及内部结构 1.外部引线 8255的外部引线如图6.14所示。 D0D7为双向数据信号线,用来传送数据和控制字。 为读信号线,与其他信号线一起实现对8255接口的读操作。,为写信号线,与其他信号一起实现对8255的写操作,通常接系统总线的 。 为片选信号线,当它为低电平(有效)时,才能选中该8255芯片,也才能对8255进行操作。A0,A1为口地址选择信号线。 RESET为复位输入信号。 PA0PA
9、7为A口的8条输入输出信号线。 PC0PC78条线根据其工作方式可作为数据的输入或输出线,也可以用作控制信号的输出或状态信号的输入线,具体情况将在本节后面做介绍。,图6.14 可编程并行接口8255引线图,2.内部结构 8255的内部结构框图如图6.15所示。 从图6.15中可以看到,左边的信号与系统总线相接,而右边是与外设相连接的3个口。3个口均为8位。 为了控制方便,将8255的3个口分成A,B两组。其中A组包括A口的8条线PA0PA7和C口的高4位PC4PC7。B组包括B口的8条线PB0PB7和C口的低4位PC0PC3。A组和B组分别由软件编程来加以控制。,图6.15 8255的内部结构
10、框图,8255A的内部结构和功能,外设数据端口,端口A:PA0PA7 A组,支持工作方式0、1、2 常作数据端口,功能最强大 端口B:PB0PB7 B组,支持工作方式0、1 常作数据端口 端口C:PC0PC7 仅支持工作方式0 A组控制高4位PC4PC7 B组控制低4位PC0PC3 可作数据、状态和控制端口 分两个4位,每位可独立操作 控制最灵活,最难掌握,6.4.2 8255的工作方式 8255有3种工作方式。这些工作方式可用软件编程来指定。这里我们首先对每一种工作方式进行说明。 1. 工作方式0,又称为基本输入输出方式 在此方式下,可分别将A口的8条线、B口的8条线、C口高4位对应的4条线
11、和C口低4位对应的4条线定义为输入或输出。,表6.2 8255方式0之下的输入输出组合,2.工作方式1,即选通输入输出方式 在这种方式下,A口和B口仍作为数据的输出口或输入口,同时还要利用C口的某些位作为控制和状态信号。 (1) 方式1下A口、B口均为输出 为输出缓冲器满信号,低电平有效。 为外设响应信号,低电平有效。 INTR为中断请求信号,高电平有效。 INTE为中断允许状态。,图6.16 方式1下,A、B口均为输出的信号定义,图6.17 方式1下的数据输出时序,(2)方式1下A口、B口均为输入 与方式1下两口均为输出类似,为实现选通输入,则同样要利用C口的信号线。其定义如图6.18所示。
12、 在口为输入时所用到的控制信号的定义如下: 为低电平有效的输入选通信号。 IBF为高电平有效的输入缓冲器满信号。 INTR为中断请求信号,高电平有效。 INTE为中断允许状态。,图6.18 方式1下A、B口均为输入时的信号定义,3. 工作方式2,又称双向输入输出方式 A口工作于方式2之下时,各信号的定义如图6.20所示。图中未画B口和C口的其他引线。 当A口工作在方式2时,其控制信号 、 、 、IBF及INTR与前面的叙述是一样的,所不同的主要是: 因为在方式2之下,A口既作为输出又作为输入,因此,只有当 有效时,才能打开A口输出数据三态门,使数据由PA0PA7输出。, 此时A口输入、输出均具
13、备锁存数据的能力。 在这种方式下,A口的数据输入或数据输出均可引起中断。,图6.20 方式2下的信号定义,图6.21 方式2下的时序图,6.4.3 方式控制字及状态字 1. 控制字 8255的控制字由8位二进制数构成,各位的控制功能如图6.22所示。 2. 状态字 当8255的A口、B口工作在方式1或A口工作在方式2时,通过读C口的状态,可以检测A口和B口的状态。,图6.22 8255的控制字格式,图6.23 C口的按位操作控制字格式,图6.24 A、B口均为方式1输入时的状态字,图6.25 A、B口均为方式1输出时的状态字,图6.26 A口在方式2工作时的状态字,6.4.4 8255的寻址及
14、连接使用 8255占外设编址的4个地址,即A口、B口、C口和控制寄存器各占一个外设接口地址。对同一个地址分别可以进行读写操作。 根据这种寻址结构,可以方便地将8255连接到系统总线上,如图6.27上所示。 由图6.27可见,8255与8088总线连接是比较容易的。只是图中为了简化起见未画出AEN的形成。,表6.3 8255的寻址,图6.27 PC机中8255的连接,利用全部A0A15地址线连接两片8255构成外设接口,其连接图如 图6.28所示。由图中的译码电路可以看到,两片8255的接口地址分别为FBC0HFBC3H和FBC4HFBC7H。,图6.28 8255连接到8088系统总线上,6.
15、4.5 初始化及应用举例 8255可编程接口芯片的初始化十分简单,只要将控制字写入8255的控制寄存器即可实现。 在下面的初始化程序中使B口为输入: INIT55: MOV DX,0383H MOV AL,10000011B OUT DX,AL MOV AL,00001101B OUT DX, AL,图6.29 8255与打印机的连接,图6.30 打印机的工作时序,若利用此打印机接口打印一批字符,且字符串长度在当前数据段的BLAK单元中,要打印的字符在由DATA单元开始的当前数据段中顺序排列,则打印程序如下: PRINT: MOV AL,BLAK MOV CL,AL MOV SI,OFFSET
16、 DATA GOON:MOV DX,0382H PWAIT: IN AL,DX AND AL,02H JNZ PWAIT;等待不忙,MOV AL,SI MOV DX,0380H OUT DX,AL ;送数据 MOV DX,0382H MOV AL,00H OUT DX,AL MOV AL,40H OUT DX,AL ;送 脉冲 IN CSI DE CCL JN ZGOON RET,若利用图6.27所示的8255的接口地址,在方式1下,8255与打印机的连接图如图6.31所示。 如图6.31所示,打印机接收一个字符后,会送出一个低电平的响应信号 。,图6.31 8255与打印机的另一种连接,下面
17、就是对8255进行初始化的程序: MOV DX,0383H MOV AL,10100000B OUT DX,AL MOV AL,00001101B OUT DX,AL,6.5 可编程定时器8253,6.5.1 外部引线及其功能 可编程定时器8253的外部引线如图6.32所示,相应的内部结构框图如图6.33所示。 8253与总线相连接的引线主要是: D0D7双向数据线,用以传送数据和控制字。 输入信号,低电平有效。 读控制信号,低电平有效。 写控制信号,低电平有效。,A0、A1为8253的内部计数器和一个控制寄存器的编码选择信号,其功能如下: A1 A0 0 0 可选择计数器0 0 1 可选择计
18、数器1 1 0 可选择计数器2 1 1可选择控制寄存器,图6.32 可编程定时器8253引线图,A0、A1与其他控制信号,如 , , 共同实现对8253的寻址。细节将在下面说明。 CLK 02是每个计数器的时钟输入端。计数器对此时钟信号进行计数。CLK最高频率可达2MHz。 GATE 02门控信号,即计数器的控制输入信号,用来控制计数器的工作。 OUT 02计数器输出信号,用来产生不同方式工作时的输出波形。,6.5.2 工作方式 从内部结构图6.33可以看到,可编程定时器8253内部有3个相同的16位计数器。 1.方式0(计数结束产生中断) 在这种方式下,计数器对CLK输入信号进行减法计数,每
19、一个时钟周期计数器减1。 2.方式1(可编程单稳) 当计数值装入计数器后,要由门控信号GATE上升沿开始启动计数。,图6. 33 可编程定时器8253内部结构框图,3.方式2(频率发生器) 在该方式下,计数器装入初值。开始工作后,计数器的输出OUT将连续输出一个时钟周期宽的负脉冲。 4.方式3(方波发生器) 在这种方式下,可以从OUT得到对称的方波输出。 5. 方式4(软件触发选通) 设置此方式后,输出OUT立即变为高电平。一旦装入计数值,计数立即开始。,6. 方式5(硬件触发选通) 设置此方式后,OUT输出为高电平。GATE的上升沿使计数开始。当计数结束时由输出端OUT送出一宽度为一个时钟周
20、期的负脉冲。 在此方式下,GATE电平的高低不影响计数,计数由GATE的上升沿启动。 若在计数结束前,又出现GATE上升沿,则计数从头开始。 从8253的6种工作方式中可以看到门控信号GATE十分重要,而且对不同的工作方式,其作用不一样。现将各种方式下,GATE的作用列于表6.4中。,表6.4 GATE信号功能表,6.5.3 8253的控制字 可编程定时器8253的控制字格式如图6.34所示。 8253的控制字D0用来定义用户所使用的计数值是二进制数还是BCD数。 8253控制字中,RL1RL0为00时的作用将在下面说明。 8253每个计数器都有自己的16位的计数值寄存器,由于其使用简单,亦不
21、做说明。,图6.34 8253的控制字格式,6.5.4 8253的寻址及连接 1.寻址 8253占用4个接口地址,地址由 、A0、A1来确定。 当对8253的计数器进行读操作时,可以读出计数值,具体实现方法有如下两种: 使计数器停止计数时,先写入控制字,规定好RL1和RL0的状态也就是规定读一个字节还是读两个字节。,表6.5 各寻址信号组合功能,在计数过程中读计数值。这时读出当前的计数值并不影响计数器的工作。为做到这一点,首先写入8253一个特定的控制字:SC1SC000。这是控制字的一种形式。,2.连接 为了用好8253,读者必须能熟练地将它连接到系统总线上。图6.35就是8253与8088
22、系统总线连接的例子。 在图6.35中,主要解决了8253与8088总线的连接。通过译码器,使8253占FF04HFF07H四个接口地址。假如在连接中采用了部分地址译码方式,使A0不参加译码,则8253的每一个计数器和控制寄存器分别占用两个接口地址。,图6.35 8253与8088系统总线的连接,图6.36 PC机中8253的连接简图,6.5.5 初始化及其应用 逐个对计数器进行初始化。 先写所有计数器的方式字,再装入各计数器的计数值,其过程如图6.38所示。,图6.37 一个计数器的初始化顺序,摘录该段程序如下: MOV AL,36H ;计数器0,双字节, ;方式3,十六进制计数 OUT 43
23、H,AL ;写入控制寄存器 MOV AL,0 OUT 40H,AL ;写低字节 OUT 40H,AL ;写高字节,图6.38 另一种初始化编程顺序,由于规定工作在方式3,在OUT0输出端可以获得对称方波。下面是对计数器1的初始化程序: MOV AL, 54H ;计数器1,只写低字节,方式2,二 进制计数 OUT 43H,AL ;写入控制寄存器 MOV AL,18 ;将低字节计数值18写入计数器1 OUT 41H,AL,下面是对计数器2的初始化程序: MOV AL, 0B6H ;选择计数器2,写双字节,方 式3,二进制计数 OUT 43H,AL ;装入控制寄存器 MOV AX,533H OUT
24、42H,AL ;送低字节 MOV AL,AH OUT 42H,AL ;装入高字节,下面我们以图6.35所示的连接图为例,写出8253的初始化程序。请读者分析此程序的初始化顺序以及各计数器的工作方式。 SET8253: MOV DX,0FF07H MOV AL,36H OUT DX,AL MOV AL,71H OUT DX,AL MOV AL,0B5H OUT DX,AL MOV DX,0FF04H,MOV AL,0A8H OUT DX,AL MOV AL,61H OUT DX,AL MOV DX,0FF05H MOV AL,00H OUT DX,AL MOV AL,02H OUT DX,AL
25、MOV DX,0FF06H MOV AX,0050H,OUT DX,AL MOV AL,AH OUT DX,AL 从以上的叙述中可以看到,8253在应用上具有很高的灵活性。通过对外部输入时钟信号的计数,可以达到计数和定时两种应用目的。,6.6 可编程串行接口8250,6.6.1 概述 在串行通信中,经常采用两种最基本的通信方式,一种是同步通信,一种是异步通信。 1.同步通信 所谓同步通信是指,在约定的波特率(每秒钟传送的位数)下,发送端和接收端的频率保持一致(同步)。,在图6.39中,除数据场的字节数不受限制外,其他均为8位。其中图(a)为单同步格式,传送一帧数据仅使用一个同步字。 图(b)为
26、双同步字格式,这时利用两个同步字进行同步。图(c)为同步数据链路控制(SDLC),而(e)称为高级数据链路控制(HDLC)。,图6.39 常见的几种同步通信格式,2. 异步通信 异步通信是指,收发端在约定的波特率下,不需要严格地同步,允许有相对的迟延。即两端的频率差别在1/10以内,就能正确地实现通信。异步通信的数据传送格式如图6.40所示。,图6.40 异步串行通信数据格式,6.6.2 可编程串行接口8250 50可编程串行接口的功能强,使用灵活,应用广泛。这里对它进行简要介绍,主要目的在于日后能够使用。 1.引线及功能 8250的外部引线及内部结构简图如图6.41和图6.42中所示。,图6
27、.41 可编程串行通信接口,图6.42可编程串行通信接口8250,CS0,CS1, 为输入选片信号。 A0,A1,A2为8250内部寄存器的选择信号。 为地址选通信号。 DISTR、 为数据输入选通信号。 DOSTR, 为数据输出选通信号。 RCLK为接收时钟信号。 SIN为串行信号输入端。 为清除发送信号。 为请求发送信号。,为数据终端准备好信号。 为数据装置准备好信号。 为接收线路信号检测信号。 为振铃指示信号。 是由用户编程指定的输出端。 与OUT1一样,可以由用户编程指定。 CSOUT为选片输出信号。 DDIS为驱动器禁止信号。 BAUDOUT为波特率输出。,INTR为中断请求输出信号
28、。 SOUT为串行输出信号。 XTAL1、XTAL2为外部时钟端。 D0D7双向数据线。 MR为主复位输入信号,高电平有效。,表6.6 MR功能,2. 8250的工作过程 这里我们简要说明8250的工作过程。 (1)发送数据 CPU执行有关程序,可将要发送的数据写到8250的发送数据寄存器中(见图6.42)。 (2)接收数据 由通信对方来的数据在接收时钟RCLK作用下,通过SIN逐位进入接收移位寄存器。,3. 内部寄存器 现在介绍8250的一些内部寄存器。只有了解这些内部寄存器各位的功能,才能用好8250。我们介绍这些内部寄存器的出发点也在于此。以下10个内部寄存器与用户编程使用8250有关。
29、 (1)通信控制字寄存器 这是一个8位的寄存器,其主要功能如图6.43所示。,图6.43 通信控制字,(2)通信状态寄存器 通信状态寄存器是一个8位寄存器,其各位的功能如图6.44所示。 D0为1时表示8250已接收到一个完整的字符,处理器可以从8250的接收数据寄存器中读取。 D1是越限状态标志。 D2为奇偶校验错标志。 D3为结构错标志。 D4为线路间断标志。 D5为1时表示发送数据寄存器空。,图6.44 通信状态字,D6为1时表示发送移位寄存器中无数据。 D7位恒为0。 (3) 发送数据寄存器 (4) 接收数据寄存器 (5) 除数锁存器 由下式求出除数锁存器应锁存的除数:,除数,(6)
30、中断允许寄存器,图6.45 中断允许字,(7) 中断标志寄存器 中断标志寄存器为8位,高5位为0,只用低3位作8250的中断标志。8250有4个中断源,在8250内部安排优先级的顺序如下所述: 最高优先级为接收器线路状态中断,包括越限、奇偶错、结构错、间断等。,(8) MODEM控制寄存器 这是一个8位的寄存器,用以控制MODEM或其他数字设备。各位的功能如图6.47所示。 D0位表示数据终端准备好。 D1位为1时,8250的 输出低电平,向MODEM发出请求发送信号,也以此来通知MODEM,串行接口8250已准备好。 D2位和D3位分别用以控制8250的输出信号 和 。,图6.46 中断标志
31、字,图6.47 MODEM控制字,D4位用来控制循环检测,实现8250自己对自己的自测试。 在D4=1,即自测试情况下,中断仍能进行。 当D4=0时,8250正常工作。 (9) MODEM状态寄存器 MODEM状态寄存器用以提供MODEM或其他外设加到8250上的控制线的信号状态以及这些控制线的状态变化。,图6.48 MODEM状态字,该寄存器D4位的状态是输入信号 反相之后的状态。在自测试 时,该位的状态等于MODEM控制寄存器 位的状态。 此寄存器的D5位对应 输入状态的反相,自测试时为 的状态。 D6位对应 输入信号的反相,自测试时为 的状态。 D7位对应 状态的反相,自测试时为OUT2
32、的状态。,3.8 250的寻址及连接 8250内部有10个与我们编程使用有关的寄存器,利用选片CS0、CS1和 可以选中8250。利用片上的A0、A1、A2三条地址线最多可以选择8个寄存器对应3位地址线的8种不同编码。,表6.7 8250的寻址,图6.49 8250的连接,4.初始化及其应用 8250初始化时,通常首先使通信控制字的D7=1,即使DLAB为1。在此条件下,将除数低8位和高8位分别写入8250内部的除数锁存器。然后再以不同的地址分别写入通信控制字、MODEM控制字及中断允许字等等。,图6.50 8250的初始化顺序,在图6.49中,8250的地址为03F8H到03FFH。根据该图
33、,对8250进行初始化的程序如下: INT50:MOV DX,3FBH MOV AL,80H OUT DX,AL ;将通信控制寄存器D7=1即 DLAB=1 MOV DX,3F8H MOV AL,60H OUT DX,AL ;锁存除数低8位 INC DX MOV AL,0,OUT DX,AL ;锁存除数高8位 MOV DX,3FBH MOV AL,0AH OUT DX,AL ;初始化通信控制寄存器 MOV DX,3FCH MOV AL,03H OUT DX,AL ;初始化MODEM控制器 MOV DX,3F9H MOV AL,0 OUT DX,AL ;写中断允许寄存器,发送数据的程序接在初始化
34、程序之后。若采用查询方式发送数据,且要发送数据的字节数放在BX中,要发送的数据顺序存放在以SEDATA为首地址的内存区中,则发送数据的程序如下: SEDPG: MOV DX,3FDH LEA SI,SEDATA WAITSE: IN AL,DX TEST AL,20H JZ WAITSE PUSH DX MOV DX,3F8H MOV AL,SI,OUT DX,AL POP DX IN CSI DE CBX JNZ WAITSE 同样,在初始化后,可以利用查询方式实现数据的接收。下面是8250接收一个数据的程序:,REVPG: MOV DX,3FDH WAITRE:INA L,DX TEST
35、AL,1EH JNZ ERROR TEST AL,01H JZ WAITRE MOV DX,3F8H IN AL,DX AND AL ,7FH,下面仍以图6.49所示的连接形式为例,说明利用中断方式,通过8250实现串行异步通信的过程。为了便于叙述,我们设想系统以查询方式发送数据,以中断方式接收数据,则对8250的初始化的程序如下: INISIR: MOV DX,3FBH MOV AL,80H OUT DX,AL;置DLAB=1 MOV DX,3F8H MOV AL,0CH,OUT DX,AL MOV DX,3F9H MOV AL,0 ;置除数为000CH,规定波特率为9600波特 OUT D
36、X,AL MOV DX,3FBH MOV AL,0AH OUT DX,AL ;初始化通信控制寄存器 MOV DX,3FCH MOV AL,0BH,OUT DX,AL ;初始化MODEM寄存器 MOV DX,3F9H MOV AL,01H OUT DX,AL ;初始化中断允许寄存器 STI ;允许接收数据寄存器满产生中断 该程序对8250进行初始化,并在初始化完时(假如其他接口初始化在此之前)开中断。,接收中断服务程序可如下编写: RECVE:PUSH AX PUSH BX PUSH DX PUSH DS MOV DX,3FDH IN AL,DX TEST AL,1EH JNZ ERROR MO
37、V DX,3F8H,IN AL,DX AND AL,7FH MOV BX,OFFSETBUFFER MOVBX,AL MOV DX,INTRER MOV AL,20H;将EOI命令发给中断控制器8259 OUT DX,AL POP DS POP DX POP BX POP AX STI IRET,6.6.3 串行通信总线RS-232C 1. RS-232C总线的特点 在这些串行总线中,RS-232C应用最为广泛,这是因为它具备许多优点: 信号线少。RS-232C总线规定了25条线,包含两个信号通道,即第一通道(又称主通道)和第二通道(又称副通道)。 有多种可供选择的传送速率。 传送距离远。 R
38、S-232C采用负逻辑无间隔不归零电平码传送。,2. RS-232C信号定义与说明 RS-232C的信号定义如表6.8所示。RS-232C主要信号说明如下: AA信号线与设备的机壳相连接,构成屏蔽地。 AB信号线为所有电路提供参考电位。 BA信号线传送要发送的数据。 BB信号线用以向本端接收设备传送数据。 CA信号在本端准备发送数据时,用来通知对方(MODEM或远置接收设备),请求向对方发送数据。 CB信号为上面CA的应答信号。,表6.8 RS-232C接口信号定义,CB信号为上面CA的应答信号。 CC信号是由对方(MODEM或远置终端)提供的状态信号。 CD信号是由本端输出到对方(MODEM
39、或远置终端)的信号,用来通知对方,本端已准备就绪,可以进行通信了。 CE信号线上传送由对方设备发来的振铃信号。 CF信号线输入由调制解调器送来的状态信号。 CG为数据质量检测信号,用来指示接收到的数据质量不好,误码率很高。 CH信号在双速率同步数据设备中用来选择两种码速率中的一种。,CI信号与上述CH相同,或者在非双速率同步数据设备中,用于在两个码速率中选择一种。 DA为发送信号变换器提供的码元定时信号。 DB为数据终端设备提供的码元定时信号。 DD信号为接收到的数据码元提供的码元定时信号。,3. RS-232C接口总线的实现 由图6.51可以看到,接口芯片8250提供的输出信号,主要是SOU
40、T、 等,图6.51 RS-232C总线形成,图6.52 RS-232C驱动和接收电路,图6.53 电流环接口传输电路,图6.53只画出了由微型机甲向微型机乙的电流环传送电路。读者一定可以想像出从乙向甲的电流环传送的情况。当SOUT输出为高电平时,环路中有20mA左右的电流,使发光二极管发光,经光敏三极管可在8250SIN端得到高电平。当SOUT发送低电平时,电流环路中无电流,则SIN可收到低电平。,6.7 A/D及D/A变换器接口,6.7.1 数字到模拟(D/A)变换器 1. D/A变换器的基本原理及技术指标 典型的D/A变换器芯片通常由模拟开关、权电阻网络、缓冲电路等组成,其框图如图6.5
41、4所示。,图6.54 典型D/A变换器芯片的组成框图,D/A变换器的主要技术指标有: (1) 分辨率 分辨率表示D/A变换器的1个LSB(最低有效位)输入使输出变化的程度。 (2) 精度 它表示由于D/A变换器的引入,使其输出和输入之间产生的误差。 D/A变换器的误差主要由下面几部分组成: 非线性误差。 温度系数误差。,电源波动误差。 误差的表示方法有两种:绝对误差和相对误差。 完整的D/A变换电路还应包括与D/A芯片输出相接的运算放大器。这些器件也会给D/A变换器带来误差。考虑到这些因素是相对独立的,因此D/A变换器的总精度如用均方误差来表示,则可写为: 2总=2非线性+2电源波动+2温度漂
42、移+2运放 标准差为 总 = 2非线性+2电源波动+2温度漂移+2运放,(61),(62),若某系统要求D/A变换电路的总误差必须小于0.1%。已知某D/A芯片的最大非线性误差为0.05%。那么根据式(61)可以确定,电源波动、温度漂移和运算放大器所引起的均方误差为 2电源波动+2温度漂移+2运放= 又假设,后三者是相等的,则经计算可得 电源波动=温度漂移=运放= 0.05%,(3) 变换时间 (4) 动态范围 2. 典型的D/A变换器芯片举例 (1)引线及其功能 D/A变换器DAC0832的引线及内部结构简图如图6.55和6.56所示。,图6.55 DAC0832的引线图,图6.56 DAC
43、0832内部结构图,AC0832为20条引线的芯片,各引线定义如下: D0D78条输入数据线; ILE输入寄存器选通命令,它与 、 配合使输入寄存器的输出随输入变化; 选片信号; 写输入寄存器信号; 写变换寄存器信号; 允许输入寄存器数据传送到变换寄存器;,VREF参考电压输入端,其电源电压可在-10V+10V范围中选取; IOUT1、IOUT2D/A变换器差动电流输出; Rfb反馈端,接运算放大器输出; AGND模拟信号地; DGND数字信号地; VCC电源电压,可用+5V(或+15V),(2)工作时序 D/A芯片DAC0832的工作时序如图6.57所示。 从DAC0832芯片的内部结构框图
44、可以看出,D/A变换是分两个步骤进行的。,图6.57 DAC0832的工作时序,(3) DAC0832的几种典型输出连接方式 单极输出电路。单极性输出电路如图6.58所示。D/A芯片输出电流i经输出电路转换成单极性的电压输出。图6.58(a)为反相输出电路,其输出电压为:,(63),图6.58(b)是同相输出电路,其电压输出为:,(64),图6.58 单极性输出电路 (a)反相输出; (b)同相输出, 双极性输出电路。 由电路参数计算可得到最后的输出电压表达式为 设U1为0-5V,则选取UREF为+5V。那么 UOUT=010V-5V=-5V5V (66),(65),图6.59 双极性输出电路
45、, DAC0832与8088微处理器的连接。 图6.60中的双极性输出端为UOUT。当D/A变换器输入端的数据从00HFFH变化时,UOUT输出将在-5+5V之间变化。如果想要单极性0+5V输出,那么只要使UREF=-5V,然后直接从运算放大器A1的输出端输出即可。在图中的输出端接一个6806800pF的电容是为了平滑D/A变换器的输出,同时也可以提高抗脉冲干扰的能力。,图6.60 DAC0832与PC/XT总线的连接图,设D/A的端口地址为278H,则用8088汇编语言书写的、能产生锯齿波的程序如下: ;用D/A产生锯齿波的程序 DAOUT: MOV DX,278H ;端口地址送DX MOV
46、 AL,00H ;准备起始输出数据 LOOP: OUT DX,AL DEC AL JMPLOOP ;循环形成周期锯齿波,在图6.60的基础上,请阅读下面的程序,判断UOUT的波形。 START: MOV DX,0278H NEXT1:INC AL OUT DX,AL CMP AL,0FFH JNE NEXT1 NEXT2:DEC AL OUT DX,AL CMP AL,00H JNE NEXT2 JMP NEXT1,6.7.2 模拟到数字(A/D)变换器 1.A/D变换器的基本工作原理及结构 (1) A/D变换器的基本工作原理 逐次反馈型A/D变换器的基本工作原理及变换过程和用天平称某一物体重
47、量的过程十分相似。 例如,某一个12位的A/D变换器,其最大输入的模拟电压为5V。那么,该A/D变换器输出的对应值就为FFFH。其最低有效位1位所代表的模拟电压值称为量化间隔(或称当量)。的定义为,最大输入电压,A/D变换器的量化电平数目,(67),(68),现设输入模拟电压为4.5V,其具体变换过程如下: 位序号 比较表达式 二进制值 b11 4.5V-20481.22mV=2V 0 1 b10 2V-10241.22mV=0.75V 0 1 b9 0.75V-5121.22mV=0.125V 0 1 b8 0.125V-2561.22mV 0 0 b7 0.125V-1281.22mV 0
48、 0 b6 0.125V-641.22mV=0.046V 0 1 b5 0.046V-321.22mV=0.0069V 0 1 b4 0.0069V-161.22mV 0 0 b3 0.0069V-81.22mV 0 0,b2 0.0069V-41.22mV=0.0021V 0 1 b1 0.0021V-21.22mV 0 0 b0 0.0021V-11.22mV 0 1 (2)A/D变换器的结构框图 一种逐次反馈型A/D变换器的结构框图如图6.61所示。从图中可以看到,它由5大部分组成:接口控制逻辑、逐次变换寄存器、D/A变换器、比较器及三态驱动器。在有的A/D变换器芯片中,还包含有参考电源
49、等其他附属电路。,图6.61 逐次反馈A/D变换器结构框图,2. A/D变换器的主要技术指标 (1)精度 A/D变换器的总精度由各种因素引起的误差所决定。这些误差有: 量化误差。A/D变换器的量化误差决定于A/D变换器的转换特性。一般的A/D变换器的转换特性如图6.62所示。 量化误差用绝对误差可表示为 量化误差= 1/2 量化间隔,用相对误差可表示为 量化误差= 也有人用 1/2 LSB来表示量化误差。 非线性误差。 电源波动误差。 例如,手册中给出AD574的电源灵敏度为: +13.5VVCC+16.5V 2LSB -16.5VVDD-13.5V ( 1/2) LSB +4.5VVLOGI
50、C+13.5V 2LSB,0.5,量化电平数目, 温度漂移误差。 零点漂移误差。 参考电源误差。 上述这些误差构成了A/D变换器的总误差。在计算A/D变换器总误差值时,应用各种误差的均方和的根来表示。例如,总误差可表示为 总 = 21+22+23+24+25 (69) 其中15为各因素引起的误差。总为A/D变换器的总误差。,(2) 变换时间(或变换速率) 完成一次A/D变换所需要的时间为变换时间。变换速率(频率)是变换时间的倒数。例如AD574KD变换时间为35s,其变换速率为28.57kHz。 (3)输入动态范围 一般A/D变换器的模拟电压输入范围大约为05V或010V。,3. A/D变换器
51、芯片及应用 在这里介绍两块典型的A/D变换器的应用。希望能在此基础上,学会应用任何类似的A/D芯片。 1) 12位A/D变换器芯片AD574 (1)AD574的引线及功能 AD574变换器的引线如图6.63所示。,图6.63 AD574的引线图,各引出线的定义如下: REFOUT内部参考电源电压输出(+10V)。 REFIN参考电压输入。 BIP偏置电压偏入。 10VIN5V输入或010V输入。 20VIN10V输入或020V输入。 DB0DB11高字节为DB8DB11,低字节为DB0DB7。 STS“忙”信号输出,高电平有效。,12/ 变换输出字长选择端,输入为高电平时,变换字长输出为12位,低电平时按8位输出。 选片信号。 A0字节地址控制输入。 R/ 数据读输出和转换控制输入。 CE工作允许信号,高电平有效。 +15V,-15V+15V,-15V电源输入端。 AGND模拟地。 DGND数字地。,(2)AD574的工作时序 AD574的控制功能如表6.9所示。,表6.9 AD574控制功能状态表,AD变换器芯片内部集成有高精度参考电压形成电路,满足12位A/D变换的要求。同时,其内部还集成有变换时钟电路,故无需外接时钟。这些都为使
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 小型农田水利工程施工组织设计
- 检验科医疗废物消毒处理制度
- 教师代课工作流程规范
- T-CCTAS 76-2023 轨道减振效果实验室评价方法
- 橡胶生产自动化生产线运维手册
- 《面部补水美容技术实操手册》
- 建筑工程质量与安全手册
- 环保工程设计规范与施工手册
- 项目书管理工作手册
- 电子元件灌封包封与固化操作手册
- GB/T 13589-2026再生锌及锌合金原料
- 无粘结预应力钢绞线施工方案及工艺方法
- 国能乌海能源五虎山矿业有限责任公司改建项目(新增充填开采)项目水土保持方案报告表
- 骨科护理沟通技巧获奖课件
- 护理领导力与团队激励策略
- 2025年安康杯知识竞赛题库测试卷附答案
- PICC置管护理与维护全流程指南
- 电商运营流程与管理制度
- 深度解析(2026)《NBT 20455-2017核电厂运行绩效评估准则》(2026年)深度解析
- 2023-2024学年北京市海淀区九年级(上)期末数学试卷(含解析)
- 机械加工质量控制与效率提升策略
评论
0/150
提交评论