5208|8

1282

帖子

10

TA的资源

五彩晶圆(初级)

楼主
 

天然气报警之上位机的建立 [复制链接]

       天然气报警之上位机的建立

       这两天才匆匆忙忙把上位机调试完,有很多不完善的地方,界面也比较难看,等有时间的时候好好整理下。这个界面是用VB建立的,模仿的是eZ430-RF2500 Sensor Monitor,eZ430-RF2500 Sensor Monitor是个比较好玩的界面,就模仿这个建立一个适合我的上位机界面。
       下图是我接入传感器检测装置所测得的天然气含量。

图(一)
       下个模块是在没有插入带电池的无线模块时的上位机界面,该节目实现功能和TI给出的界面基本功能是一样的.

图(二)

       通过显示两个模块的距离来显示硬件设备中两个无线模块的距离。

  

 

 

天然气报警之上位机建立.pdf (93.71 KB, 下载次数: 51)

 

上位机界面:

VB天然气.rar (13.22 KB, 下载次数: 47)

 

 

By fxw451      

2011-3-31      


 

[ 本帖最后由 fxw451 于 2011-3-31 10:37 编辑 ]
查看本帖全部内容,请登录或者注册

最新回复

学习学习学习  详情 回复 发表于 2012-11-6 23:23
 
点赞 关注

回复
举报

1282

帖子

10

TA的资源

五彩晶圆(初级)

沙发
 

具体软件部分,我在详细的介绍下我是怎么加上我这个天然气模块的。

 

首先在demo_ED中,对天然气采集所需要的AD进行设置

  1.     ADC10CTL1 = INCH_1 + ADC10DIV_4;       // Temp Sensor ADC10CLK/5
        ADC10CTL0 = SREF_1 + ADC10SHT_3 + REFON + ADC10ON + ADC10IE + ADC10SR;
        for( degC = 240; degC > 0; degC-- );    // delay to allow reference to settle
        ADC10CTL0 |= ENC + ADC10SC;             // Sampling and conversion start
        __bis_SR_register(CPUOFF + GIE);        // LPM0 with interrupts enabled
        results[2] = ADC10MEM;

复制代码

我采用的是INCH_1通道,其他就是配置了,最后就是results[2] = ADC10MEM,将采集的数据给results[2],而results采集的结果,我这里是有三个,电压,温度和天然气含量。

然后就是 bj = results[2];       msg[3] = bj;,好在其他函数里调用要用到

 

然后在demo_AP中,需要添加天然气的数据如下有详细的程序

  1. void transmitDataString(char addr[4],char rssi[3], char msg[MESSAGE_LENGTH] )
    {
      char temp_string[] = {" XX.XC"};
      int temp = msg[0] + (msg[1]<<8);

  2.   if( !degCMode )
      {
        temp = (((float)temp)*1.8)+320;
        temp_string[5] = 'F';
      }
      if( temp < 0 )
      {
        temp_string[0] = '-';
        temp = temp * -1;
      }
      else if( ((temp/1000)%10) != 0 )
      {
        temp_string[0] = '0'+((temp/1000)%10);
      }
      temp_string[4] = '0'+(temp%10);
      temp_string[2] = '0'+((temp/10)%10);
      temp_string[1] = '0'+((temp/100)%10);
     
      if( verboseMode )
      {
        char output_verbose[] = {"\r\nNode:XXXX,Temp:-XX.XC,Battery:X.XV,Strength:XXX%,RE:no,R:XXX "};

  3.     output_verbose[46] = rssi[2];
        output_verbose[47] = rssi[1];
        output_verbose[48] = rssi[0];
       
        output_verbose[17] = temp_string[0];
        output_verbose[18] = temp_string[1];
        output_verbose[19] = temp_string[2];
        output_verbose[20] = temp_string[3];
        output_verbose[21] = temp_string[4];
        output_verbose[22] = temp_string[5];
       
        output_verbose[32] = '0'+(msg[2]/10)%10;
        output_verbose[34] = '0'+((msg[2]%10))*4;
       
        output_verbose[59] = '0'+(msg[3]%10);  ////
        output_verbose[60] = '0'+((msg[3]*10)%10);  ////,R:XXX
       
        output_verbose[7] = addr[0];
        output_verbose[8] = addr[1];
        output_verbose[9] = addr[2];
        output_verbose[10] = addr[3];
        TXString(output_verbose, sizeof output_verbose );
      }
      else
      {
        char output_short[] = {"\r\n$ADDR,-XX.XC,V.C,RSI,N#"};

  4.     output_short[19] = rssi[2];
        output_short[20] = rssi[1];
        output_short[21] = rssi[0];
       
       
        output_short[8] = temp_string[0];
        output_short[9] = temp_string[1];
        output_short[10] = temp_string[2];
        output_short[11] = temp_string[3];
        output_short[12] = temp_string[4];
        output_short[13] = temp_string[5];
      
        output_short[15] = '0'+(msg[2]/10)%10;
        output_short[17] = '0'+((msg[2]%10))*4;
       
        output_short[22] = '0'+(msg[3]);      ///
       
        output_short[3] = addr[0];
        output_short[4] = addr[1];
        output_short[5] = addr[2];
        output_short[6] = addr[3];
        TXString(output_short, sizeof output_short );
      }
    }

复制代码

其实程序就这样,大家可能刚开始学这个东西的时候需要花费很长的时间,去了解程序里的每个函数是什么意思,以及芯片是如何配置的。等大家学到一定程度的时候就很容易去编程了,当然我编的也不一定就好,这个只作为一个参考,有错误之处请大家及时通知我,我好及时的修改,以免影响大家。

 
 

回复

1282

帖子

10

TA的资源

五彩晶圆(初级)

板凳
 
顺便把例程在发给大家,看看我修改的和demo有什么区别。




fxw451-eZ430-RF2500 Wireless Sensor Monitor.rar (842.95 KB, 下载次数: 42)
 
 
 

回复

326

帖子

1

TA的资源

一粒金砂(中级)

4
 
 
个人签名QQ:2213825928 语音芯片、模块。串口MP3芯片、模块 http://mk020.taobao.com
 
 

回复

186

帖子

0

TA的资源

纯净的硅(中级)

5
 
分享了,学习学习
 
 
 

回复

256

帖子

0

TA的资源

一粒金砂(高级)

6
 
output_short[4] = addr[1];
    output_short[5] = addr[2];
    output_short[6] = addr[3];
    TXString(output_short, sizeof output_short
上面的程序学习了
 
个人签名追求卓越,成功就会在不经意间追上你
 
 

回复

255

帖子

0

TA的资源

纯净的硅(中级)

7
 
多谢楼主分享,看完后很受启发!
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(中级)

8
 

求上位机源码

求此上位机源码,sjupc@126.com  谢谢楼主
 
 
 

回复

272

帖子

0

TA的资源

一粒金砂(初级)

9
 
学习学习学习
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
【回帖赢京东卡】说说无线技术那些事儿
即日起—2月28日,参与回帖讨论都有机会赢取【30元京东卡】

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表