女人荫蒂被添全过程13种图片,亚洲+欧美+在线,欧洲精品无码一区二区三区 ,在厨房拨开内裤进入毛片

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STC89C52+DHT20設(shè)計的環(huán)境溫濕度檢測儀

DS小龍哥-嵌入式技術(shù) ? 來源:DS小龍哥-嵌入式技術(shù) ? 作者:DS小龍哥-嵌入式技 ? 2023-05-26 09:13 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、項目背景

本項目基于STC89C52單片機(jī)和DHT20溫濕度傳感器,實現(xiàn)了一款環(huán)境溫濕度檢測儀。通過傳感器采集環(huán)境的溫度和濕度數(shù)據(jù),利用IIC接口的OLED顯示屏顯示出來,便于用戶實時監(jiān)測環(huán)境溫濕度狀態(tài)。

在現(xiàn)代社會,人們對環(huán)境溫濕度的要求越來越高。無論是工作場所還是居住環(huán)境,都需要維持一個舒適的溫濕度狀態(tài),以保證身體的健康和工作效率的提高。隨著科技的不斷進(jìn)步和物聯(lián)網(wǎng)技術(shù)的廣泛應(yīng)用,環(huán)境溫濕度檢測儀被廣泛運用于各種領(lǐng)域,如制造業(yè)、醫(yī)療、農(nóng)業(yè)等等,成為了一種重要的環(huán)境檢測設(shè)備。

而本項目所涉及的STC89C52單片機(jī)和DHT20溫濕度傳感器作為傳統(tǒng)的嵌入式開發(fā)技術(shù),在實現(xiàn)物聯(lián)網(wǎng)設(shè)備方面有著廣泛的應(yīng)用前景。通過本項目的學(xué)習(xí)和實踐,可以深入了解傳感器技術(shù)的原理和應(yīng)用,并掌握基于單片機(jī)的嵌入式開發(fā)技術(shù),為實現(xiàn)更多物聯(lián)網(wǎng)設(shè)備的開發(fā)和應(yīng)用打下基礎(chǔ)。

image-20230525221716401

二、設(shè)計思路

本項目的設(shè)計思路主要包括硬件和軟件兩個方面。

【1】硬件設(shè)計思路

本項目的硬件設(shè)計主要涉及到STC89C52單片機(jī)、DHT20溫濕度傳感器和OLED顯示屏三個模塊。其中,STC89C52單片機(jī)負(fù)責(zé)控制整個系統(tǒng)的運行,DHT20溫濕度傳感器用于采集環(huán)境的溫濕度數(shù)據(jù),OLED顯示屏則負(fù)責(zé)將溫濕度數(shù)據(jù)實時展示出來。

具體的硬件設(shè)計流程如下:

(1)選擇合適的STC89C52單片機(jī)開發(fā)板,并根據(jù)需要添加外部電源、復(fù)位電路、晶振等元件。

(2)選擇合適的DHT20溫濕度傳感器,并根據(jù)其引腳定義將其連接到單片機(jī)的I/O口。

(3)選擇合適的OLED顯示屏,并根據(jù)其接口定義將其連接到單片機(jī)的IIC總線上。

(4)在單片機(jī)開發(fā)環(huán)境中編寫程序,實現(xiàn)對DHT20傳感器的溫濕度數(shù)據(jù)讀取和對OLED顯示屏的控制。

【2】軟件設(shè)計思路

本項目的軟件設(shè)計主要涉及到單片機(jī)程序的編寫和調(diào)試。根據(jù)硬件設(shè)計的思路,將實現(xiàn)對DHT20傳感器的溫濕度數(shù)據(jù)讀取和對OLED顯示屏的控制。

具體的軟件設(shè)計流程如下:

(1)在單片機(jī)開發(fā)環(huán)境中編寫程序,實現(xiàn)DHT20傳感器的初始化、溫濕度數(shù)據(jù)的讀取和對OLED顯示屏的控制。

(2)通過串口調(diào)試助手,將DHT20傳感器采集到的溫濕度數(shù)據(jù)打印出來,檢查程序是否正常運行。

(3)連接OLED顯示屏,并調(diào)試程序,實現(xiàn)溫濕度數(shù)據(jù)的實時顯示。

三、設(shè)計代碼

【1】DHT20溫濕度讀取

DHT20是一款數(shù)字式溫濕度傳感器,其采用了廣受歡迎的I2C總線進(jìn)行數(shù)據(jù)通信,可以方便地與各種微控制器和單片機(jī)進(jìn)行連接和使用。該傳感器具有高精度、低功耗、穩(wěn)定性好等特點,被廣泛應(yīng)用于氣象站、冷庫、溫室、恒溫箱、智能家居等領(lǐng)域。

DHT20的工作電壓范圍為2.1V至5.5V,并且其在測量過程中的功耗非常低,最大電流為1.3mA,平時僅需要幾微安的待機(jī)電流,從而節(jié)省了能源并延長了電池壽命。該傳感器采用了獨特的校準(zhǔn)技術(shù),能夠?qū)崿F(xiàn)高精度的測量,溫度測量精度為±0.2℃,濕度測量精度為±2%RH。

DHT20是一款數(shù)字式溫濕度傳感器,其通過內(nèi)部的ADC模擬信號轉(zhuǎn)換成數(shù)字信號,并使用CRC校驗保證數(shù)據(jù)傳輸?shù)目煽啃浴4送猓搨鞲衅鬟€具有單次測量和連續(xù)測量兩種模式,可以滿足不同場景下的需求。

DHT20傳感器采用單線數(shù)字信號傳輸,讀取數(shù)據(jù)過程中需要按照協(xié)議進(jìn)行時序控制。

下面是基于STC89C52單片機(jī)的DHT20溫濕度數(shù)據(jù)讀取代碼示例,通過串口調(diào)試助手將讀取到的數(shù)據(jù)打印出來:

#include 
 #include 
 ?
 sbit DHT20 = P1^0;  //定義DHT20連接的IO口
 ?
 void delay_us(unsigned int us) //us級延時函數(shù)
 {
     while(us--)
     {
         _nop_();
     }
 }
 ?
 void DHT20_start(void) //開始信號
 {
     DHT20 = 1; //先將數(shù)據(jù)線置高
     delay_us(30); //延時30us
     DHT20 = 0; //拉低數(shù)據(jù)線
     delay_us(25); //持續(xù)拉低25us
     DHT20 = 1; //釋放數(shù)據(jù)線
     delay_us(5); //延時5us
 }
 ?
 unsigned char DHT20_read(void) //讀取一個字節(jié)的數(shù)據(jù)
 {
     unsigned char i, dat = 0;
     for(i=0; i<8; i++)
     {
         while(!DHT20); //等待數(shù)據(jù)線變高
         delay_us(4); //延時4us
         dat <<= 1; //左移一位
         if(DHT20) //如果數(shù)據(jù)線為高
         {
             dat |= 1; //在最低位寫入1
             while(DHT20); //等待數(shù)據(jù)線變低
         }
     }
     return dat;
 }
 ?
 void main()
 {
     unsigned char humi_H, humi_L, temp_H, temp_L, check_sum;
     while(1)
     {
         DHT20_start(); //發(fā)送開始信號
         if(!DHT20) //等待DHT20響應(yīng)
         {
             delay_us(80);
             if(DHT20)
             {
                 delay_us(80);
                 humi_H = DHT20_read(); //讀取濕度高8位
                 humi_L = DHT20_read(); //讀取濕度低8位
                 temp_H = DHT20_read(); //讀取溫度高8位
                 temp_L = DHT20_read(); //讀取溫度低8位
                 check_sum = DHT20_read(); //讀取校驗和
                 if((humi_H + humi_L + temp_H + temp_L) == check_sum) //校驗和正確
                 {
                     printf("濕度:%d.%d %%\\r\\n", humi_H, humi_L);
                     printf("溫度:%d.%d ℃\\r\\n", temp_H, temp_L);
                 }
             }
         }
         delay_ms(5000); //延時5s再讀取
     }
 }

【2】IIC接口的OLED顯示屏的驅(qū)動代碼

0.96寸OLED(SSD1306驅(qū)動芯片)顯示屏是一款常見的小型顯示器件,具有高對比度、低功耗、快速響應(yīng)等特點。其主要由OLED芯片和玻璃基板組成,可通過IIC或SPI接口控制,實現(xiàn)圖形、文字、數(shù)字等內(nèi)容的顯示。

SSD1306驅(qū)動芯片是最常用的OLED顯示器驅(qū)動芯片之一,具有低功耗、高對比度、高分辨率等優(yōu)點。它支持點陣圖像顯示、字符顯示、圖形顯示等多種顯示模式,可通過IIC/SPI接口進(jìn)行通信控制,支持控制字體大小、顯示位置、亮度等參數(shù),且內(nèi)置顯存,方便多屏幕拼接顯示。

0.96寸OLED(SSD1306驅(qū)動芯片)顯示屏通常采用128x64或者128x32的分辨率,顯示效果清晰,可顯示4行16列的字體信息。其內(nèi)置控制器,占用極少的CPU資源和存儲空間,適合于嵌入式系統(tǒng)智能家居、手持設(shè)備等場景中使用。

下面是基于STC89C52單片機(jī)控制IIC接口的0.96寸OLED(SSD1306驅(qū)動芯片)顯示屏顯示一個數(shù)字的詳細(xì)代碼:

#include 
 #include 
 ?
 #define uchar unsigned char
 #define uint unsigned int
 ?
 /* 定義IIC總線的SDA和SCL引腳 */
 sbit SDA = P1^0;
 sbit SCL = P1^1;
 ?
 /* 定義OLED顯示屏的地址,一般為0x78 */
 #define OLED_ADDRESS 0x78
 ?
 /* OLED顯示屏的初始化命令 */
 uchar init_cmd[] = {
     0xAE, /* 關(guān)閉OLED顯示 */
     0x00, /* 設(shè)置列地址低位 */
     0x10, /* 設(shè)置列地址高位 */
     0x40, /* 設(shè)置起始行 */
     0xB0, /* 設(shè)置頁地址 */
     0x81, /* 設(shè)置對比度 */
     0xFF, /* 對比度值 */
     0xA1, /* 水平翻轉(zhuǎn) */
     0xA6, /* 正常顯示 */
     0xA8, /* 設(shè)置多路復(fù)用率 */
     0x3F, /* 值越大,顯示點越多,亮度越高 */
     0xC8, /* 垂直翻轉(zhuǎn) */
     0xD3, /* 設(shè)置顯示偏移 */
     0x00, /* 偏移量為0 */
     0xD5, /* 設(shè)置時鐘分頻 */
     0x80, /* 分頻值為80 */
     0xD9, /* 設(shè)置預(yù)充電周期 */
     0xF1, /* 默認(rèn)值 */
     0xDA, /* 設(shè)置COM硬件配置 */
     0x12, /* 默認(rèn)值 */
     0xDB, /* 設(shè)置VCOMH電壓 */
     0x40, /* 默認(rèn)值 */
     0x20, /* 設(shè)置內(nèi)存地址模式 */
     0x00, /* 水平地址模式 */
     0xAF  /* 打開OLED顯示 */
 };
 ?
 /* IIC總線的延時函數(shù) */
 void Delay5ms()
 {
     uint i, j;
 ?
     for (i = 0; i < 5; i++) {
         for (j = 0; j < 110; j++);
     }
 }
 ?
 /* IIC總線的啟動信號,SDA從高到低,SCL為高電平 */
 void I2C_Start()
 {
     SDA = 1;
     SCL = 1;
     Delay5ms();
     SDA = 0;
     Delay5ms();
     SCL = 0;
 }
 ?
 /* IIC總線的停止信號,SDA從低到高,SCL為高電平 */
 void I2C_Stop()
 {
     SDA = 0;
     SCL = 1;
     Delay5ms();
     SDA = 1;
     Delay5ms();
 }
 ?
 /* IIC總線的寫數(shù)據(jù)函數(shù) */
 void I2C_Write(uchar dat)
 {
     uchar i;
 ?
     for (i = 0; i < 8; i++) {
         SDA = dat & 0x80;
         SCL = 1;
         Delay5ms();
         SCL = 0;
         dat <<= 1;
     }
 }
 ?
 /* OLED顯示屏的初始化函數(shù) */
 void OLED_Init()
 {
     uchar i;
 ?
     I2C_Start();
     I2C_Write(OLED_ADDRESS);
     for (i = 0; i < sizeof(init_cmd); i++) {
         I2C_Write(init_cmd[i]);
     }
     I2C_Stop();
 }
 ?
 /* OLED顯示屏的寫數(shù)據(jù)函數(shù) */
 void OLED_Write_Data(uchar dat)
 {
     I2C_Start();
     I2C_Write(OLED_ADDRESS);
     I2C_Write(0x40); /* 寫數(shù)據(jù)標(biāo)志 */
     I2C_Write(dat);
     I2C_Stop();
 }
 ?
 /* OLED顯示屏顯示數(shù)字的函數(shù) */
 void OLED_Show_Number(uchar num)
 {
     uchar i;
     uint j;
 ?
     /* 在第1頁、第5列顯示數(shù)字 */
     OLED_Write_Data(0xB0);
     OLED_Write_Data(0x00);
     OLED_Write_Data(0x10);
     for (i = 0; i < 8; i++) {
         OLED_Write_Data(0x00);
     }
     for (i = 0; i < 3; i++) {
         OLED_Write_Data(0xFF);
     }
     for (i = 0; i < 5; i++) {
         OLED_Write_Data(0x00);
     }
     for (i = 0; i < 3; i++) {
         OLED_Write_Data(0xFF);
     }
     for (j = 0; j < 5000; j++); /* 延時一段時間,讓數(shù)字停留在屏幕上 */
 }
 ?
 /* 主函數(shù) */
 void main()
 {
     /* 初始化OLED顯示屏 */
     OLED_Init();
 ?
     /* 顯示數(shù)字 */
     OLED_Show_Number(5);
 }

代碼首先定義了IIC總線的SDA和SCL引腳,以及OLED顯示屏的地址。然后定義了OLED顯示屏的初始化命令和顯示數(shù)字的函數(shù)。在主函數(shù)中調(diào)用初始化函數(shù),并在OLED顯示屏上顯示數(shù)字5。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 傳感器
    +關(guān)注

    關(guān)注

    2565

    文章

    52857

    瀏覽量

    766008
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6067

    文章

    44969

    瀏覽量

    649335
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2930

    文章

    46148

    瀏覽量

    390950
  • 檢測儀
    +關(guān)注

    關(guān)注

    5

    文章

    4246

    瀏覽量

    43976
  • IIC總線
    +關(guān)注

    關(guān)注

    1

    文章

    67

    瀏覽量

    20849
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    DIY 溫濕度檢測儀

    要DIY一個高大上的溫濕度檢測儀?其實很簡單準(zhǔn)備材料:UNO PLUSIO Expansion Shield沒有這個擴(kuò)展板也可以,直接用排針引出連接Temperature-Humidity
    發(fā)表于 03-28 14:09

    求一份萬年歷程序+電路圖(STC89c52+ds1302+溫濕度DHT11+12864

    求一份萬年歷程序+電路圖(STC89c52+ds1302+溫濕度DHT11+12864
    發(fā)表于 04-24 22:32

    環(huán)境溫濕度采集系統(tǒng)

    本項目使用STC89C52單片機(jī)采集DHT11溫濕度傳感器的數(shù)值,利用ESP8266 WIFI芯片模塊通過網(wǎng)絡(luò)傳輸數(shù)據(jù),最終達(dá)到在手機(jī)終端顯示溫濕度的結(jié)果。
    發(fā)表于 12-24 23:46

    NRF24L01無線溫濕度檢測儀基于單片機(jī)89c52c語言程序資料下載

    無線溫濕度檢測儀基于單片機(jī)89c52c語言程序 程序.rar
    發(fā)表于 07-19 05:48

    基于AT89S52單片機(jī)的全數(shù)字溫濕度設(shè)計與實現(xiàn)

    本文從實際應(yīng)用出發(fā),較全面地介紹了全數(shù)字溫濕度的設(shè)計與實現(xiàn)。方案采用AT89S52單片機(jī)作為MCU,DS18B20作為數(shù)字溫度傳感器,奧松DHT
    發(fā)表于 08-28 06:22

    怎樣去設(shè)計一種基于51單片機(jī)溫濕度檢測儀

    STC89C52單片機(jī)、DHT11傳感器模塊、1602液晶顯示屏模塊、按鍵模塊、報警模塊構(gòu)成。具體功能:1、DHT11數(shù)字溫濕度傳感器把采集到的
    發(fā)表于 07-14 08:25

    如何利用STC89C52和LCD1602實現(xiàn)溫濕度檢測報警系統(tǒng)的設(shè)計?

    如何利用STC89C52和LCD1602實現(xiàn)溫濕度檢測報警系統(tǒng)的設(shè)計?
    發(fā)表于 11-04 07:47

    怎樣去設(shè)計一種基于STC89C51單片機(jī)的溫濕度檢測系統(tǒng)

    基于STC89C51單片機(jī)的溫濕度檢測系統(tǒng)摘要:設(shè)計一種計算機(jī)教室溫度、濕度檢測系統(tǒng),用于控制機(jī)房的溫、
    發(fā)表于 11-09 07:16

    如何利用STC89C52DHT11實現(xiàn)溫濕度檢測儀的設(shè)計

    系統(tǒng)由STC89C52單片機(jī)、DHT11傳感器模塊、1602液晶顯示屏模塊、按鍵模塊、報警模塊構(gòu)成。具體功能:1、DHT11數(shù)字溫濕度傳感器把采集到的
    發(fā)表于 11-10 09:14

    通過使用AT89C52DHT11設(shè)計的溫濕度控制系統(tǒng)資料分享

    【資源下載】下載地址:點擊下載 1343 百度網(wǎng)盤本文通過使用AT89C52單片機(jī)、DHT11傳感器模塊、1602液晶顯示屏模塊以及繼電器控制模塊。簡單明了的實現(xiàn)的溫濕度的控制要求。DHT
    發(fā)表于 11-10 07:02

    基于SHT10傳感器的溫濕度檢測儀設(shè)計

    本文介紹了一種基于STC89C52單片機(jī)控制溫濕度傳感器SHT10實現(xiàn)的一種數(shù)字式溫濕度檢測,并使用在倉庫溫濕度
    發(fā)表于 01-07 06:52

    基于AT89S52單片機(jī)的溫濕度檢測儀-畢業(yè)設(shè)計

    基于AT89S52單片機(jī)的溫濕度檢測儀
    發(fā)表于 04-27 09:36 ?88次下載

    20-基于51單片機(jī)溫濕度檢測儀設(shè)計

    STC89C52單片機(jī)、DHT11傳感器模塊、1602液晶顯示屏模塊、按鍵模塊、報警模塊構(gòu)成。具體功能:1、DHT11數(shù)字溫濕度傳感器把采集到的
    發(fā)表于 11-04 13:21 ?18次下載
    <b class='flag-5'>20</b>-基于51單片機(jī)<b class='flag-5'>溫濕度</b><b class='flag-5'>檢測儀</b>設(shè)計

    20-基于51單片機(jī)的溫濕度檢測儀設(shè)計

    系統(tǒng)由STC89C52單片機(jī)、DHT11傳感器模塊、1602液晶顯示屏模塊、按鍵模塊、報警模塊構(gòu)成。具體功能:1、DHT11數(shù)字溫濕度傳感器把采集到的
    發(fā)表于 11-04 18:51 ?14次下載
    <b class='flag-5'>20</b>-基于51單片機(jī)的<b class='flag-5'>溫濕度</b><b class='flag-5'>檢測儀</b>設(shè)計

    STC89C52RC 單片機(jī)讀取DHT22溫濕度傳感器串口顯示程序調(diào)試經(jīng)驗總結(jié)

    ://****************************************************************//// DHT21使用范例//單片機(jī) AT89S52STC89C52RC//功能
    發(fā)表于 11-23 17:21 ?13次下載
    <b class='flag-5'>STC89C52</b>RC 單片機(jī)讀取<b class='flag-5'>DHT</b>22<b class='flag-5'>溫濕度</b>傳感器串口顯示程序調(diào)試經(jīng)驗總結(jié)
    主站蜘蛛池模板: 宁津县| 雷波县| 博野县| 灌南县| 重庆市| 内丘县| 南雄市| 都匀市| 陵川县| 崇阳县| 越西县| 赤壁市| 九寨沟县| 融水| 襄垣县| 贵港市| 札达县| 武清区| 无极县| 永年县| 台湾省| 沙田区| 安康市| 康定县| 凭祥市| 通许县| 宁远县| 樟树市| 永州市| 灯塔市| 连山| 堆龙德庆县| 楚雄市| 那曲县| 梅州市| 平和县| 大港区| 梁河县| 柳江县| 大埔区| 诏安县|