找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5786|回复: 4
收起左侧

自己做的单片机PM2.5检测,通过GSM模块监控,功能都可以实现

[复制链接]
ID:189312 发表于 2017-6-12 16:14 | 显示全部楼层 |阅读模式
Altium Designer画的原理图和PCB图如下:(51hei附件中可下载工程文件)
0.png 0.png

GP2Y1051AU0FPM,GP2Y1010AU_设计参考指南及原理等2.5资料分享:
0.png 0.png

OS32BGGGUKP)@FW10_IDYON.png ISADEC43S2L4CPWK49VHO@J.png
程序写的很整齐,让他易懂,原理图特画出来了,很适合初学者。

单片机源程序如下(GP2Y1051夏普PM2.5检测+GSM模块):
  1. #include"stc12c5a60s2.h"
  2. #include"delay.h"
  3. #include"adc.h"
  4. #include"1602.h"
  5. #define uchar unsigned char
  6. #define uint  unsigned int
  7. sbit F=P2^2;
  8. extern uint pmzhi;
  9. void Uart1Sends(uchar *str);
  10. void Uart1Send(uchar c);
  11. void main()
  12. {
  13.         init();                   //显示屏初始化
  14.         AD_init();    //A/D转换初始化
  15.         serial_init();   //串口初始化
  16.         while(1)
  17.         {  
  18.                 shuju();
  19.             if((pmzhi)>350)                                                           
  20.                  {
  21.                          F=0;                                                                     //开蜂鸣器
  22.                          Uart1Sends("AT+CMGF=1\r\n");                                                                                   
  23.                          delay(200);                                                           
  24.                          Uart1Sends("AT+CSMP=17,167,2,25\r\n");
  25.                          delay(200);  
  26.                          Uart1Sends("AT+CSCS=\"UCS2\"\r\n");                                                                           //设置sim900模块GSM字符集
  27.                      delay(200);                                                                                                                     
  28.                          Uart1Sends("AT+CMGS=00310038003000380036003700320039003700380037");          //电话号码  18086729787                                                              
  29.                          delay(200);
  30.                          Uart1Sends("0050004D0032002E00355DF28D8551FAFF0C8BF753CA65F659047406");
  31.                          delay(200);
  32.                          Uart1Send(0x1a);                                                                                                                 //告诉模块发送出短信       
  33.                          delay(2000);                                                                                                                   
  34.                          F=1;                                                                        //关蜂鸣器
  35.                  }                        
  36.         }
  37. }
  38. /*串行通讯中断,收发完成将进入该中断*/
  39. voidal_Seriinterrupt() interrupt 4
  40. {
  41. //        a=SBUF;
  42. //        P2=SBUF;
  43.         RI=0;//接收中断信号清零,表示将继续接收
  44. //        flag=1;//进入中断的标志符号
  45. }


  46. void Uart1Send(uchar c)
  47. {
  48.         SBUF=c;
  49.         while(!TI);//等待发送完成信号(TI=1)出现
  50.         TI=0;       
  51. }

  52. //串行口连续发送char型数组,遇到终止号/0将停止
  53. void Uart1Sends(uchar *str)
  54. ……………………

  55. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
PM2.5.rar (2.95 MB, 下载次数: 82)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:1 发表于 2017-6-12 16:38 | 显示全部楼层
好资料,51黑有你更精彩!!!
回复

使用道具 举报

ID:210558 发表于 2017-6-12 19:34 来自手机 | 显示全部楼层
可不可请教以下,这个测试范围是多大啊,本人大三,也做这个期末设计,但是没弄出来,能不能给我讲解一下
回复

使用道具 举报

ID:189312 发表于 2017-6-12 21:55 | 显示全部楼层
vivitan 发表于 2017-6-12 19:34
可不可请教以下,这个测试范围是多大啊,本人大三,也做这个期末设计,但是没弄出来,能不能给我讲解一下

这个测量范围,PM2.5手册里面有的,你可以看一下
回复

使用道具 举报

ID:210558 发表于 2017-6-12 22:05 | 显示全部楼层
我下载了,怎么没有原理图啊
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表