网站大量收购闲置独家精品文档,联系QQ:2885784924

430单片机 GPES RS485多通信 AD转换.doc

  1. 1、本文档共14页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
430单片机 GPES RS485多通信 AD转换

芯片型号为MSP430F169 本程序包好GPRS通信实现短信,电话,RS485多机通信,5通道ADC /*****************************************************************************/ /***main.c 编译环境是IAR *****************/ /****************************************************************************/ #includemsp430x16x.h #includestdio.h #includestdlib.h #includeUASR.h//串口通信相关配置 #includeADC.h//AD采样相关配置 #includedeath.h//包含数据采集算法 #includeADC.h//包含AD初始化 #includehumiture.h//温湿度传感器初始化 #includeCRC16.h//CRC16校验初始化 #ifndef uchar typedef unsigned char uchar; #endif #ifndef uint typedef unsigned int uint; #endif extern uchar ADCOK=0;//ADC12转换成功结束标志位 ADCOK=1表 转换 extern uint ADCvalue[5];//ADC12转换出来的结果 extern uchar Rx1finish;//终端数据接受完毕标志位 extern uchar Rx1buf[40];//接受到终端的数据 extern uchar CallNum[11];//存放手机号码 extern uint SecDelay=0,SecDelay1=0; extern uchar CallOK; extern uchar startCall=0; extern uchar phoneCallStart=0;//开始打电话 static int ADC12sampleValue[4]={0},dataDealfinishflg=0; uchar SmokeMax=20,TemperationMax=60; uchar sampling=0; uint CRC16value=0; uchar setMaxOK=0,setMaxNum=0; #pragma vector = TIMERA0_VECTOR __interrupt void Timer_A (void) { CCR0 += 62500; static int watchpass=0; watchpass++; if(watchpass%20==0)//秒级延时 { SecDelay++; setMaxNum++; SecDelay1++; } if(watchpass%4==0)//25ms钟采样一次数据 { sampling=1; // P4OUT|=BIT0; } else if(watchpass%30==0); //P4OUT=~BIT0; } void adc12SampleData() { static int temprature[10]; static int humitry[10]; static unsigned char num=0; if(sampling==1) { ADCOK=0;//清楚ADC完成标志位 adcStarrtWork(); //ADC12开始采样数据 while(!ADCOK);//等待ADC完成数据采集 temprature[num]= ADCvalue[2];//获取ADC12值 humitry[num]=ADCvalue[3]; num++; dataDealfinishflg=0; if(num==10) { ADC12sampleValue[0]=errordeath(num,temprature); ADC12sampleValue[1]=errordeath(num,humitry); num=0; dataDealfinishflg=1; } sampling=0; }

文档评论(0)

ccx55855 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档