并行口与串行口实时通讯.docVIP

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
并行口与串行口实时通讯.doc

并行口与串行口实时通讯 来源:中国论文下载中心????[ 08-08-05 10:32:00 ]????作者:廖秉训 ????编辑:Studa_hasgo122 摘要 该文介绍了一种利用并行打印口与串行通讯口实施单向数据通讯的方法,该方法曾成功地实际应用于由386微机所组成的某个工程系统中,取得了满意的效果。 一、引言 一般的科学实验或工程应用中,常常需将实验数据或产品数据由打印机输出,然后再由人工(或输入电脑)进行分析处理。 如果将那些送往打印口的数据,直接传送给电脑,由软件进行分析处理,形成一个完整的数据处理系统,将给用户的数据处理带来方便,更好地为生产科研服务。 本文叙述的是,结合油田使用的检波器测试仪(SMT-100),解决了将那些送往打印口(热敏打印机-富士通FTPO40UCS)的数据通过PC机串行口直接送往电脑的问题,以及所开发的接口应用软件。 二、工作原理 由于SMT-100检波器测试仪的8位数据是经并行口送到打印机的,若欲将输出到该并行口的数据再经并行口送往电脑主机,则需设计专用接口板(如扫描仪专用接口板)。因为电脑所配置的并行口均被系统定义成标准输出设备,无法接收外来的并行数据,但其所配置的串行口却是标准的输入设备[1]。将并行数据经并-串转换之后,由标准RS-232串行口送往电脑主机是可行的。特别是在工业实际应用中,既可节省远距离并行电缆的开支,又提高了抗干扰能力,因此在传送数据量不是很大时,可以采用并行发送,串行接收的通讯方式。如图1所示。 图1接口连接图(并口到串口)双向转换器采用工业产品SXP-320[2]。(略) 其主要功能参数如表1。 表1(略) 其参数设置由侧面的8位DIP开头完成: 图2(略) 工作时,只需将其波特率、数据长度、停止位和奇偶校验等的设置与主机相匹配即可。 三、接口程序设计 利用BIOS提供的串行口例行程序传输,当传输速度大于2400bps时,有可能丢失字符[3]。为此,本系统采用了中断控制方式,对串行口的接收和存储实施控制,以防数据丢失。 PC机中执行串行通讯的主芯片8250是可编程的,有10个可访问寄存器,其中5个根据需要,在程序开始时,对它们初始化就可使用。 其端口地址与状态字的含义如表2。 表2 PC机内的8259A芯片,有一个中断屏敝寄存器(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 out dx,almov al,01h mov dx,3f9hout dx,al mov al,0sti;开中断 out dx,al 利用线状态寄存器(端口地址3FDH),可检测接收的数据是否有错。若有错,就发出报警声,退出中断服务程序,以便根据情况中止数据传送。 四、应用程序设计 采用上述通讯方式,可以采集到外部设备发送的全部信息,欲对其做进一步处理和存储,尚需根据用户需要,开发相应的应用软件。 我们将油田检波器测试仪与主机(386)按上述方式连通,并将那些经串行口接收到的全部信息,经过应用软件分析、处理,生成磁盘数据文件[4],为用户项目的深入研究提供原始资料[5]。 检测一个元件的处理过程如下: (1)在主程序中为串行口存储数据,建立一个先进先出的字符缓冲区circle-buffer,动态申请64K内存,可接收相当于2000个元件的全部信息。 (2)在主程序中开辟一个能存放单个元件处理结果的小缓冲区(如30字节)readbuffer。 (3)BX基指针指向circle buffer缓冲区,顺序扫描,每次处理一个元件所接收的信息量,利用堆栈技术,将一个元件各参数间分隔符(如=)地址压入堆栈。然后逐一弹出,按输出文本格式进行处理,并将处理结果存入readbuffer。 (4)将readbuffer的内容经磁盘文件管理功能调用,写入数据文件。一次一个记录,如此重复(3)和(4),直到circle-buffer的内容为空。 (5)工作过程中,通过ESC功能键可随时中止串行口通讯工作。 五、结束语 在调试过程中,经对500个元件进行测试、传送、接收和处理,都取得了令人满意的结果。本项目已交西安石油勘探仪器厂检

文档评论(0)

docindoc + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档