首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于DSP和LTC1859数据采集系统设计
来源:本站整理  作者:佚名  2010-03-19 11:48:08



其中输入范围选择如表 3


2.2下面详细介绍软件编写,考虑到 SPI总线的时钟很快,采用查询方式,其软件流程如图 2,这里只介绍 LTC1859(1)的流程及源代码,其它原理都一样。

 


图 2流程图 Fig2 Flow chart
程序源代码及其详细注释:
void SPIAD_Init()
{   MCRB=MCRB | 0x001C; // SPISIMO,SPISOMI,SPICLK特殊功能方式  SPICCR=0x000F;  // 16bit数据, 上升沿无延时模式  SPICTL=0x0006; //禁止中断  SPIBRR=0x0004; // 8M波特率 ,40M/5=8M   SPICCR=SPICCR | 0x80;
}
void ADLTC()
{   PADATDIR=PADATDIR|0x1010;  //将 A4即 LTC2RD置高  PADATDIR=PADATDIR&0xFFFD;  //将 A1即 LTC1RD置低  PADATDIR=PADATDIR&0xFFFE;  //将 A0即 LTC1CON(CONVST)置低 PADATDIR=PADATDIR|0x0101; //将A0即LTC1CON(CONVST)拉高启动转换  asm(" NOP ");    while((PADATDIR&0x0004)!=0x0000); //等待 A2即 LTC1BUSY(BUSY)变低  PADATDIR=PADATDIR&0xFFFE; //A2即 LTC1BUSY(BUSY)变低后再将 A0即 LTC1CON(CONVST)拉低  while((PADATDIR&0x0004)!=0x0004); //等待 A2即 LTC1BUSY(BUSY)变高 SPITXBUF=(0x0004<<8);  // 输入通道 1控制字,当 LTC1BUSY变高说明转换完成 ,则可写入下次转换的命令字  while((SPISTS&0x0040)!=0x0040); //等待总线传输
  SPIRXBUF=SPIRXBUF;  PADATDIR=PADATDIR|0x0101;  asm(" NOP ");    while((PADATDIR&0x0004)!=0x0000);PADATDIR=PADATDIR&0xFFFE;         
  while((PADATDIR&0x0004)!=0x0004);  SPITXBUF=(0x0014<<8);
  while((SPISTS&0x0040)!=0x0040);
  /*虚读寄存器以清除中断标志*/  //将A0即LTC1CON(CONVST)拉高启动转换
 //等待 A2即 LTC1BUSY(BUSY)变低 //A2即 LTC1BUSY(BUSY)变低后再将 A0即 LTC1CON(CONVST)拉低 //等待 A2即 LTC1BUSY(BUSY)变高 //输入通道 2控制字,当 LTC1BUSY变高说明转换完成,则可写入下次转换的命令字 //等待总线传输
ADINRESULT[4]=(0x0FFF&SPIRXBUF);   /*保存转换结果 */   SPIRXBUF= SPIRXBUF; /*虚读寄存器以清除中断标志*/  PADATDIR=PADATDIR|0X0101; //将 A0即 LTC1CON(CONVST)拉高启动转换 asm(" NOP ");  while((PADATDIR&0x0004)!=0x0000); //等待 A2即 LTC1BUSY(BUSY)变低 PADATDIR=PADATDIR&0xFFFE;  //A2即 LTC1BUSY(BUSY)变低后再将
A0即 LTC1CON(CONVST)拉低  while((PADATDIR&0x0004)!=0x0004); //等待 A2即 LTC1BUSY(BUSY)变高  SPITXBUF=(0x0024<<8);  //输入通道3控制字当LTC1BUSY变高说明转换完成,
则可写入下次转换的命令字
  while((SPISTS&0x0040)!=0x0040); //等待总线传输
ADINRESULT[5]=SPIRXBUF; /*保存转换结果 */
  SPIRXBUF=SPIRXBUF;  /*虚读寄存器以清除中断标志*/
 ……………………………………………通道 3、4的转换程序原理一样 }
3 结 论

本文作者创新点是成功实现了基于 DSP和 LTC1859的 16位高精度数据采集系统,给出了全新实用的硬件和软件设计,特别适合差分信号和电压范围变化较大的系统该设计,对与 LTC1859与其它的 CPU的设计也有很大的参考价值。该系统性价比高,具有一般通用性能,有一定的应用推广价值。

上一页  [1] [2] 

关键词:

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

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

推荐阅读

图文阅读

热门阅读

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