首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
液晶显示器边框精密检测系统的实现
来源:本站整理  作者:佚名  2009-03-26 11:56:11



按照Cycle模式,其处理多通道数据的代码如下(以地址为0x10的那片ADS8364为例):
  PBDATDIR &= 0XFFFB; // 给IOPB2一个低电平脉冲,复位ADS8364
  asm (' NOP');
  PBDATDIR |= 0X0004;
  PBDATDIR &= 0XFFFD; // 给IOPB1一个低电平脉冲,触发ADS8364采样
  asm ('NOP');
  PBDATDIR |= 0X0002;
  Delay_2ms(); // 延时一段时间,等待采样结束
  /* 来自ADS8364的6个测量值:6个通道 */
  Channel1 = port10;
  Channel2 = port10;
  Channel3 = port10;
  Channel4 = port10;
  Channel5 = port10;
  Channel6 = port10;
3.2 基于CAN总线的通讯模块
  测距数据采集板发送测距数据以中断的方式完成。TMS320LF2407有专门的mailbox中断,用于响应发送/接收中断。每个接触式传感器的测距值在DSP内用2个字节存储,而CAN总线传输标准要求每个数据帧最多只能传输8个字节的数据。本系统有12个传感器,共有24个字节存储所有测距值。CAN总线传输所有测距值需要3个数据帧才能传送完。该系统中将通讯模块分成发送和接收模块两个部分。在设计中将发送和接收封装成结构体,大大简化了通讯驱动模块的设计,并可将此通讯结构应用在任何CAN通讯方面,具有很强的通用性。
  发送模块:
  typedef struct Transmit
  {
  BOOLEAN ExtendFlag;  // 扩展帧标志
  BOOLEAN RemoteFlag;   // 远程帧标志
  LONG ID;       // 本机地址
  BYTE DataLen;     // 发送数据长度
  BYTE Data[8];     // 待发数据缓冲区
  }TRANSMIT;
  接收模块:
  typedef struct Receive
  {
  BYTE  DataLen;
  BYTE Data[8];
  }RECEIVE;
  编写驱动函数不仅能省去对寄存器的繁琐设置,使数据帧的发送和接收更方便,而且可使代码具有很强的可移植性,调用驱动函数的代码完全可以在不同的系统中移植,只要改写驱动函数部分即可。
  本文介绍的显示器边框检测系统采用接触式测距的方式,并用TMS320LF2407作为核心处理器,可以达到很高的测量精度。通过CAN总线通讯,可以将测量数据可靠地发给PC机,并实现大规模检测。此系统已经在实际生产中得到应用,验证了硬件系统的可靠性和稳定性。

上一页  [1] [2] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:179,918.00000 毫秒