文档介绍:1 并行口与串行口实时通讯摘要该文介绍了一种利用并行打印口与串行通讯口实施单向数据通讯的方法, 该方法曾成功地实际应用于由 386 微机所组成的某个工程系统中, 取得了满意的效果。一、引言一般的科学实验或工程应用中, 常常需将实验数据或产品数据由打印机输出, 然后再由人工( 或输入电脑) 进行分析处理。如果将那些送往打印口的数据, 直接传送给电脑, 由软件进行分析处理, 形成一个完整的数据处理系统, 将给用户的数据处理带来方便, 更好地为生产科研服务。本文叙述的是, 结合油田使用的检波器测试仪(SMT-100), 解决了将那些送往打印口( 热敏打印机- 富士通 FTPO40UCS) 的数据通过PC 机串行口直接送往电脑的问题, 以及所开发的接口应用软件。二、工作原理 2 由于 SMT-100 检波器测试仪的 8 位数据是经并行口送到打印机的, 若欲将输出到该并行口的数据再经并行口送往电脑主机, 则需设计专用接口板( 如扫描仪专用接口板) 。因为电脑所配置的并行口均被系统定义成标准输出设备, 无法接收外来的并行数据, 但其所配置的串行口却是标准的输入设备[1] 。将并行数据经”并-串”转换之后, 由标准 RS-23 2 串行口送往电脑主机是可行的。特别是在工业实际应用中, 既可节省远距离并行电缆的开支, 又提高了抗干扰能力, 因此在传送数据量不是很大时, 可以采用并行发送, 串行接收的通讯方式。如图 1 所示。图1 接口连接图( 并口到串口) 双向转换器采用工业产品 SXP-320[2] 。(略) 其主要功能参数如表 1。表1 (略) 其参数设置由侧面的 8位 DIP 开头完成: 图2 (略) 工作时, 只需将其波特率、数据长度、停止位和奇偶校验等的设置与主机相匹配即可。三、接口程序设计利用 BIOS 提供的串行口例行程序传输, 当传输速度大于 3 2400bps 时, 有可能丢失字符[3] 。为此, 本系统采用了中断控制方式, 对串行口的接收和存储实施控制, 以防数据丢失。 PC 机中执行串行通讯的主芯片 825 0 是可编程的,有10 个可访问寄存器, 其中 5 个根据需要, 在程序开始时, 对它们初始化就可使用。其端口地址与状态字的含义如表 2。表2PC 机内的 8259 A 芯片, 有一个中断屏敝寄存器(IMR), 可以提供8 个中断源, 其中 RS-232 接口对应于 IRQ4, 可按要求设置中断屏蔽控制字。当 8250 发出的中断申请信号( 表示已准备好接收数据), 经系统总线到达 8259A 中断控制器的输入端(IRQ4),CPU 若响应该中断, 则执行该中断的服务程序, 进行数据的传送和存储操作。实用中的初始化设置如下: mov al 2ch; 8259a 初始化 mov dx,3fbh out 21h,almov al,03h mov dx,3fbh;8350 初始化 out dx,al mov al,80hmov dx,3fch out dx,almov al,0bh mov dx,3f8hout dx,al mov al,20mov dx,3f9h 4 out dx,almov al,01h mov dx,3f9hout dx,al mov al,0sti; 开中断 out dx,al 利用线状态寄存器( 端口地址 3FDH),