|
這個(gè)傳感器出來有兩個(gè)多月了,1.9票的很值,提供下僅供大家參考謝謝代碼已經(jīng)校準(zhǔn)和小米基本差異。早在快倆月前就弄好了今天閑發(fā)一貼
喜歡的請(qǐng)給我加分,謝謝
這是做的彩屏的
代碼局部截圖
這個(gè)IC長(zhǎng)這樣
下載選項(xiàng)一定不要勾選“允許低壓復(fù)位”,并將低壓檢測(cè)電壓設(shè)置成3.0V
單片機(jī)源程序如下:
- #include "stc8.h" //STC8頭文件
- #include "def.h" //宏定義 常用函數(shù)
- #include "delay.h" //延時(shí)函數(shù)
- #include "aht10.h"
- #include "timer.h"
- #include "oled.h"
- u32 read_aht10_Cnt = 0;
- u32 CT_data[2];
- int AHT10_Tem,AHT10_Hum;
- //本地函數(shù)申明
- void Read_TempAndHum(void);
- //外部擴(kuò)展變量聲明
- extern bit B_1ms;
- void main(void)
- {
- u8 ret = 0;
- u8 cnt = 0;
-
- //延時(shí)等待電源穩(wěn)定
- delay_ms(500);
- delay_ms(500);
-
- Timer0_Init(); //定時(shí)器0初始化
- Timer1_Init(); //定時(shí)器1初始化
-
- EA = 1; //開啟總中斷
-
- OLED_Init(); //初始化OLED
- OLED_Clear(); //清屏
- ret = JH_Init();
- while(JH_Read_Cal_Enable()==0)//等到校準(zhǔn)輸出使能位為1,才讀取。
- {
- ret = JH_Init(); //如果為0再使能一次
- delay_ms(30);
-
- if(++cnt>3)
- break;
- }
- while(1)
- {
- Read_TempAndHum(); //獲取溫濕度
- }
- }
- void Read_TempAndHum(void)
- {
- if(read_aht10_Cnt>=1000) //1S讀取一次溫濕度
- {
- JH_Read_CTdata(CT_data); //讀取溫度和濕度
- //計(jì)算得到濕度值(放大了10倍,如果c1=523,表示現(xiàn)在濕度為52.3%)
- AHT10_Hum = CT_data[0]*1000/1024/780;
- //計(jì)算得到溫度值(放大了10倍,如果t1=245,表示現(xiàn)在溫度為24.5℃)
- AHT10_Tem = CT_data[1] *200*10/1024/1024-512;
- /************* 溫濕度計(jì) **********/
- OLED_ShowCHinese(32,0, 1,16);//溫
- OLED_ShowCHinese(48,0, 2,16);//濕
- OLED_ShowCHinese(64,0, 3,16);//度
- OLED_ShowCHinese(80,0, 4,16);//計(jì)
-
- /************* 顯示溫度 **********/
- OLED_ShowCHinese(0 ,3, 1,16); //溫
- OLED_ShowCHinese(16,3, 3,16); //度
- OLED_ShowString( 32,3,":",16);
- OLED_ShowString( 64,3,".",16);//顯示小數(shù)點(diǎn)
- OLED_ShowNum(48, 3,AHT10_Tem/100 , 1,16);//環(huán)境溫度-十位
- OLED_ShowNum(56, 3,(AHT10_Tem%100)/10, 1,16);//環(huán)境溫度-個(gè)位
- OLED_ShowNum(72, 3,AHT10_Tem%10 , 1,16);//環(huán)境溫度-小數(shù)位
-
- OLED_ShowCHinese(96,3,0,16); //"℃"
-
- /************* 顯示濕度 **********/
- OLED_ShowCHinese(0 ,6, 2,16); //濕
- OLED_ShowCHinese(16,6, 3,16); //度
- OLED_ShowString( 32,6,":",16);
- OLED_ShowString( 64,6,".",16);//顯示小數(shù)點(diǎn)
-
- OLED_ShowNum(48, 6,AHT10_Hum/100 , 1,16);//環(huán)境濕度-十位
- OLED_ShowNum(56, 6,(AHT10_Hum%100)/10, 1,16);//環(huán)境濕度-個(gè)位
- OLED_ShowNum(72, 6,AHT10_Hum%10 , 1,16);//環(huán)境濕度-小數(shù)位
- OLED_ShowString(96, 6,"%",16);
- read_aht10_Cnt = 0;
- }
- }
復(fù)制代碼
所有資料51hei提供下載:
修改的AHT20溫濕度已驗(yàn)證.zip
(178.45 KB, 下載次數(shù): 641)
2020-10-12 12:02 上傳
點(diǎn)擊文件名下載附件
|
評(píng)分
-
查看全部評(píng)分
|