芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

飞芯科技-芯片解密|单片机解密|IC解密|芯片破解|芯片复制| PCB抄板|软件开发

STM32F103的盆景生态监测

引脚硬件连接

LED指示灯

LED1--->PC13

BH1750  光照
SDA----->PB5
SCL----->PB6

DS18B20  温度
DATA---->PA12

DHT11  温湿度
DATA---->PA11

土壤多要素传感器
EN------->PA1
RXD------>PA2
TXD------>PA3

二氧化碳传感器
RXD------>PB10
TXD------>PB11

CH340下载器
RXD------>PA9
TXD------>PB10

单片机源程序如下:

  1. #include "led.h"
  2. #include "delay.h"
  3. #include "CO2.h"
  4. #include "sys.h"
  5. #include "usart.h"         
  6. #include "ds18b20.h"
  7. #include "DTH117.h"       
  8. #include "bh1750.h"
  9. #include "rs485.h"



  10. int main(void)
  11. {
  12.         u8 i;         
  13.         u8 t=0,key;
  14.         //u16 temp;//二氧化碳
  15.         u8 tempera;
  16.         short temperature;         
  17.         u8 humidity;                     
  18.   u16 Light=0;//光强
  19.         u8 USART3_buf[12];
  20.         u8 rs485buf[30];
  21.         u8 arr[8]={0X01,0X03,0X00,0X00,0X00,0X08,0X44,0X0C}; //土壤传感器问询帧
  22.         u8 avr[8]={0X01,0X03,0X00,0X05,0X00,0X01,0X94,0X0B}; //二氧化碳问询帧
  23.         delay_init();                     //延时函数初始化          
  24.         NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
  25.         Usart1_Init(115200);                 //串口初始化为 115200
  26. //        Usart3_Init(4800);                 //串口初始化为 4800
  27.         RS485_Init(4800);        //初始化RS485
  28.         USART3_Init(4800);        //初始化串口3
  29.         LED_Init();                                  //初始化与LED连接的硬件接口
  30.   bh1750_Init();
  31.         DS18B20_Init();
  32.         DHT11_Init();
  33.         DHT11_Read_Data(&tempera,&humidity);        //读取温湿度值       
  34.          //UsartPrintf(USART_DEBUG,"\r\n 温度:%d,湿度:%d,光照:%d",temp,humi,Light);
  35.          UsartPrintf(USART_DEBUG,"\n\r\n      欢迎使用盆景生态监测系统");
  36.          UsartPrintf(USART_DEBUG,"\r\n 本系统使用的传感器所能监测的环境因素有");
  37.          UsartPrintf(USART_DEBUG,"\r\n 温度 空气温湿度 光强 氮磷钾 二氧化碳");

  38.         while(1)
  39.         {                        
  40. if(t%10==0)                        //每100ms读取一次
  41.                 {       
  42.                 UsartPrintf(USART_DEBUG,"\r\n");  //换行       
  43.                        
  44.       /*----------------------*///温度采集                       
  45.                 temperature=DS18B20_Get_Temp();
  46.                 if(temperature==0)UsartPrintf(USART_DEBUG,"\r\n DS18B20 Error!");             //DS18B20报错       
  47.     else{                       
  48.                         if(temperature<0){
  49.                                  UsartPrintf(USART_DEBUG,"-");    //负温度
  50.                                 temperature=-temperature;                                        //转为正数
  51.                         }else
  52.       UsartPrintf(USART_DEBUG,"\r\n DS18B20:温度:%d.%d%s",temperature/10,temperature%10,"℃");  //显示温度
  53.                 }
  54.        
  55.                 /*-----------------------------------*///空气温湿度采集
  56.                 DHT11_Read_Data(&tempera,&humidity);        //读取温湿度值       
  57.                 if(humidity>100||tempera>100||(humidity+tempera==0))UsartPrintf(USART_DEBUG,"\r\n DHT11 Error!");              //DHT11报错
  58.     else {UsartPrintf(USART_DEBUG,"\r\n DHT11  :空气温度:%d%s",tempera,"℃");  //显示空气温湿度       
  59.                         UsartPrintf(USART_DEBUG,"\r\n        :空气湿度:%d%c",humidity,'%');  //显示空气温湿度
  60.                         humidity=0;
  61.                         tempera=0;
  62.                 }     



联系方式

地址:石家庄市新华区民族路77号华强广场D座2009
电话:0311-88816616/87087811
手机:13315190088
传真:0311-67901001
联系人:张工
网址:www.feixindz.com
邮箱:feixindz@163.com
微信:xinpianjiemi
QQ:527263666/568069805

在线客服
热线电话

企业微信