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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3958|回復: 1
打印 上一主題 下一主題
收起左側

基于stm32的智能插座程序設計,hlw8012和DHT11和iaq等傳感器設計代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:486397 發表于 2019-3-7 17:18 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
基于stm32的智能插座設計,其中包含hlw8012和DHT11和iaq等傳感器設計代碼,用于測量電流電壓功率和溫度濕度和空氣中的TVOC值。同時也用到了i2c。

單片機源程序如下:
  1. #include "pbdata.h"


  2. extern u8 P_mode_flag;
  3. extern u8 I_mode_flag;
  4. extern u8 V_mode_flag;
  5. extern u8 close_IT_flag;

  6. u8 select_mode(u8 Mode)//默認為電流模式,返回值為當前的模式
  7. {

  8.    if(Mode ==1)
  9.          {
  10.             HLW8012_SEL_L;
  11.          }
  12.          else
  13.    {
  14.             HLW8012_SEL_H;
  15.          }
  16.          return Mode ;
  17.                  
  18. }
  19. float HLW_avg(float *PULSE_T)
  20. {
  21.           u16 k;
  22.           float  avg_8012=0;
  23.     for(k=0;k<10;k++)
  24.         {
  25.                  avg_8012= avg_8012+*(PULSE_T+k);
  26.            
  27.         }
  28.         avg_8012=avg_8012/10;
  29.         return avg_8012 ;
  30. }

  31. float HLW_V_DATA_CAL(float mea_V,float avg_8012)
  32. {
  33.   mea_V=(cal_V*cal_V_T)/avg_8012;
  34.         return mea_V;
  35. }
  36. float HLW_I_DATA_CAL(float mea_I,float avg_8012)
  37. {
  38.   mea_I=(cal_I*cal_I_T)/avg_8012;
  39.         return mea_I;
  40. }

  41. float HLW_P_DATA_CAL(float mea_P,float avg_8012)
  42. {
  43.   mea_P=(cal_P*cal_P_T)/avg_8012;
  44.         return mea_P;
  45. }

  46. void HLW_close_IT(void)
  47. {
  48.                                  TIM3->CR1 &= ~(0x01);
  49.                EXTI->IMR&=~(1<<1);//屏蔽line11上的中斷
  50.                      EXTI->IMR&=~(1<<2);//屏蔽line11上的中斷
  51.                                         P_mode_flag=0;
  52.                                         I_mode_flag=0;
  53.                                         V_mode_flag=0;
  54. }
  55. float HLW_P_factor(float mea_P,float mea_V,float mea_I)
  56. {
  57.     float P_factor;
  58.           P_factor=mea_P/(mea_V *mea_I );
  59.           return P_factor;
  60. }
  61. void HLW_8012_data(float mea_P,float mea_V,float mea_I,float P_factor)
  62. {
  63.                                                     printf("有效電壓為: %.3f  V\r\n",mea_V);        
  64.                                                                 printf("有效電流為: %.3f  A\r\n",mea_I);
  65.                                                                 printf("有功功率為: %.3f  W\r\n",mea_P);
  66.                                                                 P_factor =HLW_P_factor(mea_P,mea_V,mea_I);
  67.                                                                 printf("功率因數為: %3f  \r\n",        P_factor);
  68. }
復制代碼
  1. #include "pbdata.h"




  2. float mea_P;              //測量的有效功率
  3. float mea_apparent_P_;    //測量的視在功率
  4. float P_factor ;          //測量的功率因數
  5. float mea_V;              //測量的電壓
  6. float mea_I;              //測量的電流


  7. u8 shift_Mode=0;

  8. u8 P_mode_flag=0;
  9. u8 I_mode_flag=0;
  10. u8 V_mode_flag=0;
  11. u8 close_IT_flag=0;


  12. u8 DHT11_sd;       
  13. u8 DHT11_wd;       




  14. u8 iaq_Read_buf[9];       //讀取的數據存放的數組
  15. u16 iaq_pred;
  16. u8 iaq_status;
  17. s32 iaq_res;
  18. u16 iaq_tvoc;

  19. u32 ad=0; //存放ADC1讀取的數值
  20. u32 ad1=0;//存放ADC2讀取的數值
  21. u8 i=0;
  22. u8 j=0;

  23. double gl=0.5;
  24. double dy=1,dl=0.3;       




  25. int main(void)
  26. {

  27.    RCC_Configuration();        //系統時鐘初始化
  28.    GPIO_Configuration();//端口初始化
  29.    USART_Configuration();//串口配置
  30.    NVIC_Configuration(); //中斷優先級配置
  31.    ADC_Configuration();        //ADC
  32.          ADC2_Configuration();
  33.          I2C_Self_Init();//軟件模擬I2C
  34.    EXTI_Configuration();
  35.         // TIM3_Configuration();//定時中斷配置
  36.          LCD_Init();           //液晶屏初始化
  37.          LCD_Show();
  38.        
  39.   while(1)
  40.    {

  41.    }
  42. }
復制代碼


所有資料51hei提供下載:
程序.zip (3.26 KB, 下載次數: 78)


評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

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

使用道具 舉報

沙發
ID:202803 發表于 2020-4-1 10:18 | 只看該作者
您好,,請教一下,hlw8012這個芯片怎么通過頻率算出功率和電流啊
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产精品综合视频 | 中文字幕11页 | av网站免费观看 | 亚洲国产成人av好男人在线观看 | 欧美精品一区二区三 | 中文字幕伊人 | 97精品超碰一区二区三区 | 久久国产精品一区二区三区 | 超碰免费在线 | 成年男女免费视频网站 | 日韩精品极品视频在线观看免费 | 日韩在线视频观看 | 欧美一级在线 | 国产福利在线播放麻豆 | 午夜精品视频在线观看 | 波多野结衣精品在线 | 国产一区二区三区四区五区加勒比 | 欧美国产日韩成人 | 日韩视频在线免费观看 | 亚洲精品福利在线 | 日本在线看| 日日夜夜精品 | 免费午夜视频在线观看 | 日韩欧美1区2区 | 免费一区二区三区 | 国产 欧美 日韩 一区 | 中文日韩在线 | 国产精品色综合 | cao在线| 日韩人体在线 | 久久久国产一区 | 国产精品亚洲精品日韩已方 | 国产精品视频久久 | 成人精品在线观看 | 国产亚洲成av人在线观看导航 | 欧美a级成人淫片免费看 | 亚洲91视频 | 国产在线观看一区二区三区 | 欧美日韩综合一区 | 日韩视频精品在线 | 亚洲综合无码一区二区 |