久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 3357|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

STM32F103C8 GP2Y1010AU0F PM2.5空氣質(zhì)量檢測(cè)

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:377443 發(fā)表于 2018-7-22 17:14 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
PM2.5空氣質(zhì)量檢測(cè)程序源碼,測(cè)試通過(guò)

單片機(jī)源程序如下:
  1. //=============================================================================
  2. //文件名稱:main.h
  3. //功能概要:STM32F103C8核心檢測(cè)
  4. //調(diào)試方式:J-Link OB ARM SW方式 5MHz
  5. //=============================================================================

  6. //頭文件
  7. #include "stm32f10x.h"
  8. #include "GPIOLIKE51.h"
  9. #include "USART.h"
  10. #include "DHT11.h"
  11. #include "ADC_DMA.h"
  12. #include "systick.h"
  13. #include <stdio.h>

  14. //=============================================================================
  15. //全局變量定義
  16. //=============================================================================
  17. float gp2y1010auof[100];

  18. //=============================================================================
  19. //函數(shù)定義
  20. //=============================================================================
  21. void LED_Init(void);//初始呼吸燈
  22. void TIME_Init(void);//初始初始計(jì)時(shí)器中斷
  23. u32 PM25_Val(void);//pm2.5濃度計(jì)算
  24. //=============================================================================
  25. //文件名稱:main
  26. //功能概要:主函數(shù)
  27. //參數(shù)說(shuō)明:無(wú)
  28. //函數(shù)返回:int
  29. //=============================================================================
  30. int main(void)
  31. {
  32.         u16 RxData = 0x00;       
  33.         uchar temp[]={"00.00"};  
  34.         uchar humi[]={"00.00"};
  35.         char szbuffer[32];

  36.         delay_init();//延時(shí)函數(shù)初始化
  37.         LED_Init();//初始呼吸燈
  38.         TIME_Init();//初始計(jì)時(shí)器中斷
  39.         USART_Configuration();//USART通迅端口初始化  
  40.         DHT11_Init();//初始化DHT11       
  41.         ADC_DMA_Init();//初始化ADC_DMA
  42.        
  43.         while (1)
  44.         {               
  45.                 RxData = USART_RECV();
  46.                 if(RxData == 0x00)
  47.                 {
  48.                         USART_SEND("測(cè)試連接成功\n");
  49.                 }
  50.                 else if(RxData == 0x01)
  51.                 {
  52.                         DHT11_GET_CALCULATE(temp, humi);
  53.                         sprintf(szbuffer, "溫度:%s 濕度:%s\n", temp, humi);
  54.                         USART_SEND(szbuffer);
  55.                 }
  56.                 else if(RxData == 0x02)
  57.                 {
  58.                         sprintf(szbuffer, "空氣質(zhì)量:%4.2f\n", ADC_DMA_GET_MQ135());
  59.                         USART_SEND(szbuffer);
  60.                 }
  61.                 else if(RxData == 0x03)
  62.                 {
  63.                         sprintf(szbuffer, "粉塵濃度:%d\n", PM25_Val());
  64.                         USART_SEND(szbuffer);
  65.                 }
  66.         }
  67. }

  68. //初始呼吸燈
  69. void LED_Init(void)
  70. {
  71.   GPIO_InitTypeDef GPIO_InitStructure;  
  72.   RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);
  73.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
  74.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  75.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  76.   GPIO_Init(GPIOB, &GPIO_InitStructure);
  77. }

  78. //初始計(jì)時(shí)器中斷
  79. void TIME_Init(void)
  80. {
  81.         TIM_TimeBaseInitTypeDef  TIM_TimeBaseStructure;
  82.         NVIC_InitTypeDef NVIC_InitStructure;        
  83.        
  84.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM3 , ENABLE);
  85.        
  86.         //((1+TIM_Prescaler )/72M)*(1+TIM_Period )=((1+7199)/72M)*(1+9999)=1秒
  87.         TIM_TimeBaseStructure.TIM_Period = 89;//10ms
  88.         TIM_TimeBaseStructure.TIM_Prescaler =  7199;
  89.         TIM_TimeBaseStructure.TIM_ClockDivision = 0;
  90.         TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up;       
  91.         TIM_TimeBaseInit(TIM3 , &TIM_TimeBaseStructure);       
  92.         TIM_ARRPreloadConfig(TIM3, ENABLE);
  93.         TIM_ClearFlag(TIM3, TIM_FLAG_Update);
  94.   TIM_ITConfig(TIM3, TIM_IT_Update, ENABLE);
  95.         TIM_Cmd(TIM3 , ENABLE);       

  96.   NVIC_PriorityGroupConfig(NVIC_PriorityGroup_0);                                                                                                         
  97.   NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQn;          
  98.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  99.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;       
  100.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  101.   NVIC_Init(&NVIC_InitStructure);
  102. }

  103. void TIM3_IRQHandler(void)
  104. {
  105.         static u16 sum = 0;
  106.         if(TIM_GetITStatus(TIM3,TIM_IT_Update) != RESET)
  107.     TIM_ClearITPendingBit(TIM3,TIM_IT_Update);               
  108.        
  109.         if(sum >= 100)//1秒
  110.         {
  111.                 sum = 0;
  112.                 PBout(0) = !PBin(0);
  113.         }
  114.         gp2y1010auof[sum] = ADC_DMA_GET_GP2Y1010AU0F();
  115.         sum++;
  116. }

  117. u32 PM25_Val(void)
  118. {
  119.         u16 index = 0;       
  120.         u32 hex_val = 0;
  121.         u32 hex_val_old = 0.0f;
  122.        
  123.         for(index = 0; index < 100; index++)
  124.                 hex_val += (gp2y1010auof[index] / 5) * 500;
  125.         hex_val /= 100;
  126.         hex_val_old = hex_val;
  127.         hex_val = (hex_val + hex_val_old) / 2;
  128.        
  129.         return hex_val;
  130. }
復(fù)制代碼

全部資料51hei下載地址:
air.rar (1016.48 KB, 下載次數(shù): 145)


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:166645 發(fā)表于 2018-8-2 16:17 | 只看該作者
麻煩管理員看一下,,這個(gè)為什么下載的時(shí)候會(huì)提示資源錯(cuò)誤呢
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美日韩国产高清 | 天天射色综合 | 九九热精品视频 | 日本超碰| 狠狠操狠狠操 | 黄免费观看 | 欧美一区二区免费电影 | 91成人在线 | 日韩在线观看中文字幕 | 中国av在线免费观看 | 亚洲a级| 成人网视频 | 欧美在线国产精品 | 插插宗合网 | 亚洲一区二区三区国产 | 99reav| 视频在线一区 | 欧美精品一级 | 国产小u女发育末成年 | 欧美乱码精品一区二区三区 | 亚洲毛片网站 | 奇米超碰在线 | 亚洲欧美一区二区三区国产精品 | 看a级黄色毛片 | 精品乱码一区二区三四区 | 亚洲精品乱码 | 91黄色片免费看 | 久热爱| 欧美日韩在线免费 | 亚洲视频在线一区 | 久久久国产精品入口麻豆 | 狠狠操狠狠操 | 黄色一级免费 | 欧美日韩在线一区二区三区 | 欧美午夜激情在线 | 亚州激情 | 欧美日韩在线一区二区三区 | 欧美区日韩区 | 亚洲三区在线观看 | 亚洲精品久久久一区二区三区 | 国产精品99久久久久久www |