|
|
SHT3x和SHT4x系列溫濕度傳感器通用驅(qū)動(dòng)源代碼,可讀取SHT3x或SHT4x系列傳感器的溫濕度值并在128*64的OLED屏幕上顯示,顯示值保留2位小數(shù),每次讀取數(shù)據(jù)都進(jìn)行校驗(yàn),保證數(shù)據(jù)讀取的正確。可通過(guò)修改變量或IO口跳線來(lái)設(shè)定是驅(qū)動(dòng)SHT3x芯片或是SHT4x芯片。 附件是完整的工程文件,可直接編譯使用。程序在STC8G1K17單片機(jī)上測(cè)試通過(guò),其它型號(hào)單片機(jī)可能需要修改頭文件。代碼中有詳細(xì)注釋?zhuān)阌诮庾x。
20260204_155812.jpg (2.76 MB, 下載次數(shù): 0)
下載附件
2026-2-4 16:44 上傳
單片機(jī)源程序如下:
- /****************************************
- **
- ** 項(xiàng)目名稱(chēng): SHT3x&4x溫濕度傳感器采集
- ** 文件名稱(chēng): MAIN.c
- ** 模塊功能: 主程序
- ** 創(chuàng) 建 者: 常建國(guó)
- ** E-mail : cjg1972@163.com
- ** QQ : 2768842781
- ** 創(chuàng)建時(shí)間: 2026-01-08
- ** 版 本: v1.0(stc8g1k17/11.0592M)
- ** 描 述: 讀取SHT3x&4x溫濕度傳感器數(shù)據(jù)并計(jì)算、校驗(yàn),在OLED屏幕上顯示
- **
- *********************************************************/
- #include <stc8g.h>
- #include <intrins.H>
- #include <define.H>
- #include <OLEDLIB.H>
- #include <OLED12864.c>
- #include <sht3x4x.c>
- /*******************************************************************************************************/
- /*******************************************************************************************************/
- void main(void) //主函數(shù)
- {
- P1M1=0x00; //設(shè)置P1口準(zhǔn)雙向
- P1M0=0x00;
- P3M1=0x00; //設(shè)置P3口準(zhǔn)雙向
- P3M0=0x00;
- P5M1=0x00; //設(shè)置P5口準(zhǔn)雙向
- P5M0=0x00;
- Init_Timer(); //初始化定時(shí)器
- OLED_Init(); //初始化OLED
- if(P10==0)MODEL=0; //根據(jù)IO口設(shè)置芯片型號(hào)SHT3x
- if(P11==0)MODEL=1; //根據(jù)IO口設(shè)置芯片型號(hào)SHT4x
- SHT_init(0x44); //初始化SHT傳感器
- OLED_Brig(250); //設(shè)置屏幕亮度
- OLED_CLS(); //清屏幕
- OLED_P6x8Str(0,44,MODEL==0?"SHT3x":"SHT4x",0);
- while(1) //主循環(huán)
- {
- SHT_read_result(0x44);
- delayMS(3000); //3秒鐘刷新一次
- }
- }
- /********************************************************/
- /********************************************************/
- void Init_Timer(void) //初始化定時(shí)器
- {
- AUXR=0xc0; //T0、T1為1T模式
- TL0=T1MS; //定時(shí)器0賦初值
- TH0=T1MS>>8;
- ET0=1; //打開(kāi)定時(shí)器0中斷
- TR0=1; //啟動(dòng)定時(shí)器0
- EA=1; //總中斷打開(kāi)
- }
- /********************************************************/
- /********************************************************/
- void Timer0_isr(void) interrupt 1 //定時(shí)器0中斷程序
- {
- MS++; //ms計(jì)數(shù)
- }
復(fù)制代碼
Keil代碼下載:
SHT3x4x.rar
(24.36 KB, 下載次數(shù): 0)
2026-2-4 16:45 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|