• 单片机diy电压表头 > 基于89c2051 单片机的热表通讯模块的开发
  • 基于89c2051 单片机的热表通讯模块的开发

    免费下载 下载该文档 文档格式:PDF   更新时间:2009-08-01   下载次数:0   点击次数:1
    文档基本属性
    文档语言:Traditional Chinese
    文档格式:pdf
    文档作者:user
    关键词:
    主题:
    备注:
    点击这里显示更多文档属性
    1994-2006 China Academic Journal Electronic Publishing House. All rights reserved.
    达不到分布式控制系统传输距离的要求 ,需要电平转 换芯片构成接口电路与上位机连接 .同时 , 单片机与 热表连接时也要通过相应的接口电路达到电平的匹 配. 另外 ,单片机是工控机与热表进行数据交换的通 讯枢纽 ,担负着同时与工控机和热表进行串行通讯的 责任 ,因此需要两个串行通讯端口 .有 3 种方法供选 择 : ( 1) 采用多串口的单片机 ; ( 2) 采用通用异步串口 扩展芯片 ; ( 3) 采用普通 I/ O 端口模拟实现串行通信 . 第 3 种方法最简单经济 , 并且可以实现高速率通信 . 另外 ,考虑到对硬件资源的充分利用 ,选用 ATMEL 公 司生产的 89C2051 单片机进行开发 . 3 通信模块的开发 311 硬件接口 理论上 ,利用软件的方法可使普通 I/ O 口扩展成 的串行口与标准的串行口具有同样的功能 .但是 , 根 据实际情况 ,单片机自带的串行口容易通过专用的电 平转换芯片实现 RS - 485 电平与上位机连接 ; 热表数 据通讯接口对发送和接收数据有不同的波特率要求 , 在模拟串口的程序中只要作相应的延时处理 ,就能满 足 .因此 ,用标准串口通过电平转换连接上位机 ( 见
    http://www.cnki.net
    2005 No17
    7期 第
    王宇等 : 基于 89C2051 单片机的热表通讯模块的开发
    31
    图 2) ,用普通 I/ O 口模拟的串口经相应的接口电路与 热表相连 ( 见图 3) .
    图 4 f = 16 倍波特率的字符再同步过程 图 2 - 485 电平转换 RS
    图 2 中单片机的标准串口通过 75176 芯片转换为 RS - 485 电平 ,75176 为 8 个管脚 ,DIP 封装 .RO 为数 据接收端 ;RE 为数据接收允许端 , 低电平有效 ;DI 为 数据发送端 ;DE 为数据发送允许端 , 高电平有效 ;DT + , - 脚为电流环回路端 .图 2 中把 RE , 脚连 DT DE 结在一起 ,当 P3. 7 脚为高电平时 , 允许数据发送 , 当 P3. 7 为低电平时 , 允许数据接收 . R 为电路匹配电 阻 ,可增强系统抗差模干扰的能力 .
    发 ,进入中断处理程序 .首先 , 调用半位周期延时程 序 ,判断是否为起始位 , 若是则再调用位周期延时程 序 ,进行数据位的判断与接收 , 最后判断接收停止位 . 只要延时程序能准确地保证延时时间 ,就能完成对图 4 中工作时序的模拟 .另外 ,在接收数据帧各个位时 , 都连续地采样 3 次 ,并遵循 3 中取 2 的原则来确定所 检测的值 .这样做很大程度上抑制了干扰 , 提高了信 号传输的可靠性 .同理 ,单片机发送数据时只要调整 好发送数据帧各数据位之间的传输时间间隔 ,满足热 表接收数据的波特率 ,就能完成热表对单片机发送数 据的接收 ,程序流程图如图 5 所示 .
    图3 单片机与热表接口电路
    3 中虚线框内为热表本身的数据通讯接口电 图 路 ,热表通过该接口连接专用的外接插头可以同计算 机或相应的数据终端进行 RS - 232 通讯 .利用示波 器检测热表在与计算机一对一的通讯过程中收发端 的电平信号特征 , 采用分立元器件搭建了接口电路 , 使之与单片机端口达到电平的匹配 .在单片机同热 表的通讯过程中 ,为保证通讯的可靠且能保证单片机 及时地接收热表传来的数据 , 采用中断的接收方式 , P3. 2 为中断触发端 ,所以选用该端口作为模拟串口的 接收端 ,选用了 P3. 4 作为模拟串口的发送端 . 312 串行通信软件 普通 I/ O 口模拟串口的软件编程实质上就是模拟 异步通讯规程.异步通信规程是把一个字符看作一个 独立的信息单元 ,并且字符出现在数据流中的相对时 间是任意的.而每个字符中各数据位以固定的时间传 送 ,因此这种传送在同一字符内部是同步的 ,而字符间 是异步的.异步通信收发取得同步的方法 ,是采用在 字符格式中设置起始位和停止位.但由于发送器和接 收器不是使用同一个时钟 ,而是以各自时钟来划分每 位的宽度 ,收发时钟的误差必然影响数据的正确采样 , 所以要求准确识别起始位的前沿.实际的做法是利用 1 个 16 倍波特率的时钟 ,在 1 个位周期的 1/ 16 时间内 确定出字符的开始 ,接收器在每个时钟的上升沿采样 数据输入线.若发现低电平 ,紧接着又连续采样到 8 次 均为低电平 ,则认定为起始位 ,以后每隔 16 个时钟采样 1 次数据.字符再同步过程见图 4 . 在软件编程中 ,根据热表发送数据的波特率计算 出数据位周期 ,而后再根据单片机的晶振频率编写数 据位周期延迟程序和半位周期延迟程序 .当单片机 检测到 INT0 ( 即 P3. 2 端口) 为低电平时 ,外部中断触

    上一页下一页

  • 下载地址 (推荐使用迅雷下载地址,速度快,支持断点续传)
  • 免费下载 PDF格式下载
  • 您可能感兴趣的
  • 单片机diy  lcd数字电压表头  电压表数显表头  数字电压表头  电压表头  交流电压表  高精度数字电压表  数显电压表  指针电压表