《水塔供水远程自动控制》论文 - 图文(4)

2019-03-22 11:06

大学学士学位论文

实物如图 3-4:

图 3-4 AT89S52 微控制芯片 3.3.3短息模块

短信模块在本系统中只是做为一个信息的传输工具,现在对于它所使用的硬件设施已经很成熟了,本课题我们使用的硬件模块是华为的GTM900-B,对于此硬件就不做过多介绍了,把线路连接上之后拿来使用就可以了。

实物如图 3-5:

图 3-5 GTM900-B模块

- 11 -

第四章 水塔供水远程自动控制系统设计分析

第四章 水塔供水远程自动控制系统设计分析

本次设计使用C语言实现该系统,其功能代码及硬件电路分别介绍如下。 4.1 主板电路图

本课题的硬件电路如下,功能主要分为三个模块,分别是水位检测模块、自动控制模块、以及SMS短消息模块,另外还有个外接电路的继电器。如图 4-1:

(a) (b)

图 4-1 水塔供水远程自动控制系统的电路图

4.2 系统仿真与设计

在protues仿真软件界面上,界面设计的电路如下。如图 4-2:

图 4-2 仿真电路图

- 12 -

大学学士学位论文

以上电路包括了水位检测,和短息模块等。

4.3 水塔供水远程自动控制程序设计 4.3.1水塔控制模块的设计

我们使用的AT89C52芯片,首先要做的就是定义管脚, sbit JQ = P2^0 ; sbit k1=P3^7;

bit biaozhi; //标志 uint getdate; uchar shuiwei;

sbit led1=P1^5; //工作指示 sbit led2=P1^4; //短信指示 sbit shuiwei_1=P1^2; //低水位输入 sbit shuiwei_2=P1^3; //高水位输入 sbit led3=P1^0; sbit led4=P1^1; sbit IGT=P2^1; bit biaozhi2; uint kk;

定义完管脚之后就需要定义通信指令,就好比我说“上水”单片机就会听懂一样,所以我们要给它定义一个标准。就是编译好的像口令一样的东西。我们与单片机对一下口令,他就知道你的意思了。弄完这些以后我们还要给它一个账号,在我们这个系统中也就是手机号,另外再给他一个接收账号,也就是他所发送的手机号,这样单片机就可以执行我们想要的操作了。

uchar code zifu1[]=\定义一个口令 uchar code zifu2[]=%uchar flag_biaozhi[]=\ 接收SC

uchar idata rbuff[128];

//串口接收数据缓存区

uchar numbuff[]=\ //此处修改为需要接收短信的

手机号码,注意要定义为字符串(\\0)

- 13 -

//继电器脚

//水位指示LED //水位指示LED

//接收标志位。01接收BD 23

第四章 水塔供水远程自动控制系统设计分析

uchar rcount; bit bit

//串口接收数据指针 //TC35注册

//收到模块“ok”标志

tc35_init_ok; receive_ok;

成功初始化完成标志 bit new_sms; bit Ring; bit

接下来的是程序的核心,那就是判语语句,一般程序功能的实现都会依赖判断语句的实现,要对水位检测到的电信号进行判断,并且要给短息模块一个反馈信息,而且当短信模块接收到手机发过来的信息时,这时也要对这个“口令”进行判断,不能说凡是单片机收到的信息都会作为下一步的指令,如果经过验证之后,是我们原定的指令,单片机就会执行相应的程序,相反要不是我们原定的指令,单片机则不予理睬。 (1) 短信接收判断语句:

void RECEIVE_DATA(void) interrupt 4 存

{

ES=0; if(RI) {

rbuff[rcount++]=SBUF; RI=0; }

//判断是否接收完毕

if((rbuff[rcount-1]==0x0a)&&(rbuff[rcount-2]==0x0d)&&(rbuff[rcount-3]=='K')&&

(rbuff[rcount-4]=='O'))

{ //换行

//回车 receive_ok=1; }

//判断是否为新短消息指示

//接收tC35发送的数据并缓

//收到新信息标志 //来电标志

//读到来电号码标志

clcc;

- 14 -

大学学士学位论文

if((rbuff[rcount-14]=='C')&&(rbuff[rcount-13]=='M')&&(rbuff[rcount-12]=='T')&&

(rbuff[rcount-11]=='I')&&(rbuff[rcount-1]==0x0A))

{ //换行 new_sms=1; }

else new_sms=0;

if((rbuff[rcount-6]=='R')&&(rbuff[rcount-5]=='I')&&(rbuff[rcount-4]=='N')&&(rbuff

[rcount-3]=='G'))//来电提醒

{ //换行

//回车 Ring=1; rcount=0; } else Ring=0;

if(rcount>128)rcount=0; ES=1; }

(2)判断水位高低判断语句: while(1) {

led3=shuiwei_1; led4=shuiwei_2;

if((shuiwei_1==1)&&(shuiwei_2==1)) //判断水位在哪个位置 {

shuiwei=0; }

if((shuiwei_1==0)&&(shuiwei_2==1)) {

shuiwei=1; }

if((shuiwei_1==0)&&(shuiwei_2==0)) {

- 15 -


《水塔供水远程自动控制》论文 - 图文(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:十二五国家战略性新兴产业发展规划(2012年)

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

马上注册会员

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