保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

利用EPP接口协议实现高速数据通信


//port为SPP数据端口地址

写操作初始化:outportb(port+2,0x04);

//port+2为EPP控制端口地址

4.EPP1.7和EPP1.9

EPP接口最先有EPP1.7标准定义,由于硬件厂商的原因,EPP现有两个标准:EPP1.7和EPP1.9,可以在BIOS/外围设备/并行口(BIOS/Peripheral Setup/Parallel Port Mode)方式中进行设置。两者有如下不同点:

(1)EPP状态端口寄存器的最低位bit0,在EPP1.9中定义为TMOUT。在EPP操作时序中,如果PC机数据(地址)选通信号变低后,且在10μs时间内,外设未能将nWait置为低,则TMOUT置为1,表示延时。

(2)EPP1.9标准中,只有当nWait为低时,才能开始一个操作周期;但在EPP1.7中,无论nWait状态如何,nAstrb(nDstrb)都会被置低,从而开始一个新的数据(地址)操作周期。

二、EPP接口传输数据的一个实例

在某单片机系统中,须要将单片机系统中数据存储器的大量数据传输到PC机中进行分析处理。EPP接口(采用EPP1.7标准)硬件电路及软件流程图如图3~图5所示。

GAL译码电路方程式为/O1=/I1*/I2*/I3*I4*/I5,EPP接口选通地址为2000H。当单片机执行如下指令:

MOV DPTR,#2000H

MOVX @DPTR,A

就将寄存器A中的数据锁存到数据总线上,便于PC机利用EPP接口进行读操作。

C语言例程:

#define SPPDATA 0x0378 //定义各寄存器地址

#define SPPSTAT 0x0379

#define SPPCNTL 0x037A

#define EPPADDR 0x037B

#define EPPDATA 0x037C

#include<stdio.h>

FILE *fp;

Int data;

Long i;

int k;

fp=fopen(filename,"wb"); //打开要存储数据的文件

outportb(SPPCNTL,0x24);

//向控制端口发00100100代码,初始化为读操作模式for(i=0;i<524288;i++)

{

while(!((inportb(SPPSTAT))&0x80))

//查询是否发送完毕

{}

data=inportb(EPPDATA); //读数据

fputc(data

《利用EPP接口协议实现高速数据通信(第3页)》
本文链接地址:http://www.oyaya.net/fanwen/view/140668.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。