基于单片机的水位远程监测系统设计 - 图文(5)

2019-08-03 11:16

唐 山 学 院 毕 业 设 计

{

TACTL = TASSEL1 + TACLR; //选择SMCLK,清除TAR TACTL += ID1;

TACTL += ID0;

//1/8 SMCLK CCTL0 = CCIE; //CCR0 中断允许 CCR0 = 32768; //时间间隔1s TACTL |= MC0; //增记数模式 return; }

////////////////////////////////////定时器中断完成A/D转换 void Init_ADC(void); void Init_TimerA(void);

//定时器中断,完成ADC转换 interrupt [TIMERA0_VECTOR] void TimerA_ISR(void) {

int results;

ADC12CTLO &= ~ENC; //关闭转换 results = ADC12MEM0; //读出转换结果 ADC_BUF[nADC_Count] = result;

nADC_Count += 1; //设置标志 if(nADC_Count == 10) {

nADC_Flag = 1;

for (int i = 0; i<10; i++) ADC_BUF_Temp[i] = ADC_BUF[i]; nADC_Count = 0; //将数据倒向缓冲区 }

ADC12CTL0 |= ENC = ADC12SC; //开启转换 }

以上程序使用了全局变量nADC_Flag,通过nADC_Flag变量通知主程序有新的数据到来,全局变量nADC_Count用来技术处理, nADC_BUF0[]等全局变量,用来临时存放数据,nADC_BUF_Temp[]等全局变量用来作为与主程序交换数据的缓冲区。

21

唐 山 学 院 毕 业 设 计

4.2 发送与接受短信的实现

在前面了解了短息相关的AT指令之后,对短信的操作有了一些基本的概念,在这一节了面具体介绍相关的短信操作的实现。在本系统中,短信的操作是基于TEXT格式的。因为TEXT格式的短信实现起来比较容易,而且能够满足本系统的要求,在本系统中传感器采集的电压经过转换之后传给TC35的是数字量,不需要编码与解码,所以相对于PDU格式的短信具有相当大的优势。短消息的实现主要有短消息中心地址的设置,短消息格式的设置,短消息发送,短消息接受,短消息删除等操作。

下图是发送短消息软件流程图:

图4-3发送短消息软件流程图

结束 送出短消息目的内容 送出短消息目的号码 发送短消息? 输入短消息内容 开始

22

唐 山 学 院 毕 业 设 计

接受短消息的软件流程图如下:

图4-4接收短消息软件流程

结束 输出短消息内容 传输完毕? 正常响应? 开始 退出 Y 发出读取短消息指令 Y N N 超时? Y 删除接收区中无用的短消息 4.2.1 首先进行初始化

// 初始化

int tc35_init(char pBuf[]) {

pBuf[0] = 'A'; pBuf[1] = 'T'; pBuf[2] = 'E'; pBuf[3] = '0'; pBuf[4] = 13; return 5; }

23

唐 山 学 院 毕 业 设 计

4.2.2 短信中心地址的设置

// 设置短信中心地址 int setCsca(char pBuf[]) {

pBuf[0] = 'A'; pBuf[1] = 'T'; pBuf[2] = '+'; pBuf[3] = 'C'; pBuf[4] = 'S'; pBuf[5] = 'C'; pBuf[6] = 'A'; pBuf[7] = '=';

pBuf[8] = '+'; pBuf[9] = '8'; pBuf[10] = '6'; pBuf[11] = '1'; pBuf[12] = '3'; pBuf[13] = '8'; pBuf[14] = '0'; pBuf[15] = '0'; pBuf[16] = '3'; pBuf[17] = '1'; pBuf[18] = '1'; pBuf[19] = '5'; pBuf[20] = '0'; pBuf[21] = '0'; pBuf[22] = ','; pBuf[23] = '1'; pBuf[24] = '4'; pBuf[25] = '9';

pBuf[26] = '13'; //结束字符 return 27; //返回数据包长度 }

24

唐 山 学 院 毕 业 设 计

该程序中,封装好命令“AT+CASC=+8613800311500,149”,函数返回的是数据包的长度,其中“+8613800311500”为信息中心地址。命令中的149为地址识别号

4.2.3 短消息格式的设置

在发送短消息的时候,需要选择短消息的格式,短消息的格式分为两种,分别为TEXT何PDU格式。该系统的格式为TEXT格式,具体程序如下: //设置短消息格式 int setCmgf(char pBuf[]) {

pBuf[0] = 'A'; pBuf[1] = 'T'; pBuf[2] = '+'; pBuf[3] = 'C'; pBuf[4] = 'M'; pBuf[5] = 'G'; pBuf[6] = 'F'; pBuf[7] = '=';

pBuf[8] = '1'; //短消息格式为TEXT格式 pBuf[9] = 13; //结束字符

return 10; //返回数据包长度 }

在该程序中,封装好命令“AT+CMGF=1”,函数返回的是数据包的长度。由于设置的格式为TEXT格式,所以参数设置为“1”.

4.2.4 短消息的发送

//短消息的发送

int setCsca(char pBuf[]) {

pBuf[0] = 'A'; pBuf[1] = 'T'; pBuf[2] = '+'; pBuf[3] = 'C'; pBuf[4] = 'M';

25


基于单片机的水位远程监测系统设计 - 图文(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:大学生恋爱观的调查分析报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: