欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: SHT31溫濕度傳感器的51單片機程序(SH79F1615中穎芯片) [打印本頁]

作者: 風車車坐大巴    時間: 2018-1-9 16:57
標題: SHT31溫濕度傳感器的51單片機程序(SH79F1615中穎芯片)
SHT31溫濕度傳感器+SH79F1615中穎的芯片


主程序:
  1. /*所有包含的頭文件*/
  2. #include <SH79F1615.H>
  3. #include <intrins.h>
  4. #include "myiic.h"
  5. #include "sht30.h"

  6. //==========================================================================//

  7. /**************************************************************************
  8. *        函數名:  main
  9. *        函數功能:主函數
  10. *        輸入參數:        無
  11. *        返回參數:        無
  12. *        備注:
  13. ***************************************************************************/
  14. void main(void)
  15. {
  16.         IIC_Init();
  17.         while(1)
  18.         {                 
  19.                 Read_sht30();        
  20.                 Convert_sht30();
  21. delay_ms(5000);
  22.         }
  23. }


復制代碼

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

  2. #include "myiic.h"
  3. unsigned char BUFt[2]={0};
  4. unsigned char BUFh[2]={0};

  5. unsigned int hum_value=0;
  6. unsigned int hum_sum=0;
  7. unsigned char count=0;
  8. /*unsigned char crc8(char *buf)
  9. {
  10. unsigned char i,j,crc;

  11.   crc=0;
  12. for(j=1;j<7;j++)
  13. {
  14.         crc=crc^(*buf);
  15.         for(i = 8; i > 0; i--)
  16.         {
  17.             if(crc & 0x80)
  18.             {
  19.              crc = (crc<< 1)^0x31;
  20.             }
  21.     else
  22.             {
  23.              crc = crc<< 1;
  24.     }
  25.         }
  26.     buf++;
  27. }
  28. return crc;
  29. }*/

  30. unsigned char Get_Crc8(unsigned char *ptr,unsigned int len)
  31. {
  32.         unsigned char crc;
  33.         unsigned char i;
  34.         crc=0;
  35.         while(len--)
  36.         {
  37.                 crc^=*ptr++;
  38.                 for(i=0;i<8;i++)
  39.                 {
  40.                         if(crc&0x01)crc=(crc>>1)^0x8C;
  41.                         else crc >>= 1;
  42.                 }
  43.         }
  44.         return crc;
  45. }
  46. void Cmd_Write_sht30(unsigned char msb,unsigned char lsb)
  47. {
  48.   IIC_Start();                          //起始信號
  49.   IIC_Send_Byte(0x88+0);   //發送設備地址+寫信號
  50.   while(IIC_Wait_Ack());                                                //從機應答
  51.   IIC_Send_Byte(msb);                                            //發送命令
  52.   while(IIC_Wait_Ack());
  53.   IIC_Send_Byte(lsb);                                            //發送命令
  54.   while(IIC_Wait_Ack());
  55.   IIC_Stop();                   //發送停止信號
  56.         delay_ms(5);
  57. }


  58. unsigned char crc1=0;
  59. unsigned char crc2=0;
  60. unsigned char tem ;
  61. unsigned char hum ;
  62. void Read_sht30(void)
  63. {           
  64.                 unsigned char a=0;
  65.                 Cmd_Write_sht30(0x20,0x32); //數據采集頻率1 m/s
  66.                 delay_ms(5000);
  67.                 IIC_Start();           //起始信號
  68.                 IIC_Send_Byte(0x88+1);         //發送設備地址+讀信號
  69.                 while(IIC_Wait_Ack());
  70.                 BUFt[0]=IIC_Read_Byte(1);  //發送ACK
  71.                 BUFt[1]=IIC_Read_Byte(1);  //發送ACK
  72.             a=IIC_Read_Byte(1); //
  73.                 BUFh[0]=IIC_Read_Byte(1);  //發送ACK
  74.                 BUFh[1]=IIC_Read_Byte(1);  //發送ACK
  75.                 IIC_Stop();                          //發送停止信號
  76.                 delay_ms(5);
  77. }

  78. //數據轉換
  79. void Convert_sht30(void)
  80. {
  81.         tem=((unsigned long)175*(BUFt[0]*256+BUFt[1]))/65535-45; //攝氏度
  82.         hum=((unsigned long)100*(BUFh[0]*256+BUFh[1]))/65535;
  83. ……………………

  84. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

全部資料下載地址: SHT30(51代碼).zip (112.91 KB, 下載次數: 280)




作者: 13017685967    時間: 2018-1-9 18:14
厲害了6666水一波
作者: ~IOT夙愿    時間: 2018-4-27 19:20
感謝樓主分享
作者: launching    時間: 2018-4-28 08:43
謝謝,回去試試
作者: jxsunyao    時間: 2018-9-5 17:12
非常好,非常好
作者: ljh024    時間: 2018-11-29 16:38
您好,謝謝樓主分享,請教一下,SHT30的地址我看資料里寫的是0X44,0X45,資料我也看的很懵,明明低位是讀寫地址,官方資料里說成0x44和0X45兩個地址,但是看您的程序里地址是0x88,不知道這個地址到底是多少呢?
作者: 1092648746    時間: 2018-12-11 21:33
剛接觸這模塊,不知道為啥總是沒數據
作者: bruck    時間: 2019-1-30 00:40
謝謝提供
作者: 摩爾曼斯克    時間: 2019-10-7 16:17
謝謝樓主分享,下載來看看
作者: 六號啦    時間: 2020-1-19 09:39
工作正好接觸到 SHT31   學習一下,謝謝樓主分享

作者: 混沌度日    時間: 2020-3-11 22:52
這是sht30的代碼,sht31通用嘛?




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1