姜伟光 山东大学
随着PC计算机用户和销售市场的发展,使用ISA总线、PCI总线和RS-232标准串行接口已成为连接外部世界的有效通路。作为专门用于接入打印机使用的PC机并行接口,俗称“打印口”也为众多开发者所青睐,使用PC机并口进行数据采集的方式已成为许多外部设备的标准接口。虽然PC机并口在586以后已经扩展为EPP(Enhenced Parallel Port)接口标准,但是仍兼容486及以下PC机并口的SPP(Standard Parallel Port)接口标准。本文介绍了以SPP方式采集AD的一个接口电路。
1. SPP方式的三个寄存器接口 PC机的并行接口SPP方式(俗称打印口)通常是供打印机使用的专用接口。它共有以下三个寄存器接口。 ●378H数据口 SPP方式下的数据口是PC机向打印机发送数据的唯一出口,该口有8条线,而且只能输出,不能输入。使用下列三行指令可对数据口进行写操作。其中XX可以是0~255中的任意值。 MOV DX,378H MOV AL,XX OUT DX,AL ●37AH控制口 控制口是PC机向打印机发出打印控制命令的端口。它有四条线,与数据口一样只能输出,不能输入。使用下列三行指令可对数据口进行写操作。其中送入AL中的X分别对应D0、D1、D2、D3,可以是0或1的任意值。其中,除D2外,其它三位都是负逻辑,即送出高电平输出低电平。 MOV DX,37AH MOV AL,X OUT DX,AL ●379H状态口 状态口是打印机返回给PC机的联络信号,用于反映打印机的当前状态。该口共有五条输入线,执行下列两条指令后对应AL中的D7、D6、D5、D4、D3。其中D7为负逻辑,即外部输入低电平,读入AL中为高电平。 MOV DX,379H IN AL,DX
2. AD采集电路图 一个实用的PC机并口SPP方式采集AD电路图如图1所示,电路简单实用。采用MAXIM公司的最新产品MAX118。SPP并口的378H数据口充当了MAX118的掉电控制PWRDN、片选CS和拟输入七个通道选择A0、A1、A2;控制口充当了MAX118的WR和RD以及273的输出控制端、157的选择端;而状态口则充当了AD数据的采集口,不过,对一个8位数据是由157控制,通过两次读状态口,然后合并数据完成的。 3. 应用程序 以下是利用PC机并口SPP方式采集AD数据的实用程序: CODE SEGMENT ASSUME CS:CODE,DS:CODE AD桽PP PROC FAR BEGIN JMP START BUF DB 7 DUP(0) ;设置7个AD采集数据存放单元 ;…… START: MOV SI,OFFSET BUF ;设置数据区指针 MOV CX,7 ;设置循环计数器 MOV BL,XXX01000B ;设置MAX118上电,片选,选择第一路 NEXT: MOV DX,37AH MOV AL,XXXX0110B ;WR,RD,373和 157的控制端初始化 OUT DX,AL ;…… MOV DX,378H MOV AL,BL ;选通AD输入 OUT DX,AL ;…… MOV DX,37AH MOV AL,XXXX0010B ;D2产生WR的下降沿 OUT DX,AL MOV AL,XXXX0110B ;D2产生WR的上升沿 OUT DX,AL ;…… MOV AL,XXXX1110B ;-D3产生RD的下降沿 OUT DX,AL MOV AL,XXXX1100B ;-D1产生373控制端上升沿,将AD数据锁存于373 OUT DX,AL MOV AL,XXXX0110B ;-D3,-D1产生上升沿,恢复RD和373控制端 OUT DX,AL ;…… MOV DX,379H IN AL,DX ;从157中读入高四位数据 XOR AL,80H ;异或-D7位 AND AL,0F0H ;屏蔽低四位 MOV AH,AL ;得到高四位数据,暂存AH中 ;…… MOV DX,37AH MOV AL,XXXX0111B ;D0产生157的控制端为低电平 OUT DX,AL ;…… MOV DX,379H IN AL,DX ;从157中读入低四位数据 XOR AL,80H ;异或-D7位 SHR AL,1 SHR AL,1 SHR AL,1 SHR AL,1 ;将AL中高四位移到低四位 OR AL,AH ;两次读入的数据合并 MOV [SI],AL ;送入数据区 INC SI ;数据区地址增一 INC BX ;MAX118的A0、A1、A2控制端增一 LOOP NEXT ;循环计数器减一 ;…… MOV DX,378H MOV AL,XXX11000B ;设置MAX118掉电,片选无效 OUT DX,AL ;…… RET AD-PP ENDP CODE ENDS END BEGIN
|