国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

K_A18_001 基于STM32等單片機采集MQ2傳感參數(shù)串口與OLED0.96雙顯示

這篇具有很好參考價值的文章主要介紹了K_A18_001 基于STM32等單片機采集MQ2傳感參數(shù)串口與OLED0.96雙顯示。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

K_A18_001 基于STM32等單片機采集MQ2傳感參數(shù)串口與OLED0.96雙顯示

一、資源說明

單片機型號 測試條件 模塊名稱 代碼功能
STC89C52RC 晶振11.0592M MQ2傳感模塊 STC89C52RC采集MQ2傳感模塊參數(shù) 串口與OLED0.96雙顯示
STM32F103C8T6 晶振8M/系統(tǒng)時鐘72M MQ2傳感模塊 STM32F103C8T6采集MQ2傳感模塊參數(shù) 串口與OLED0.96雙顯示

其他資料目錄 直戳跳轉(zhuǎn)

二、基本參數(shù)

參數(shù)

可以用于家庭和工廠的氣體泄漏監(jiān)測裝置,適宜于液化氣、丁烷、丙烷、 甲烷、 酒精、煙霧等的探測;
靈敏度可調(diào)(圖中藍色數(shù)字電位器調(diào)節(jié))
工作電壓 5V 使用前,供電至少預(yù)熱 2 分鐘以上,傳感器稍微發(fā)燙屬于正 ?,F(xiàn)象;
輸出形式:
a 模擬量電壓輸出
b 數(shù)字開關(guān)量輸出(0 和 1)

引腳說明

MQ2傳感模塊 引腳說明
VCC 正極 5V供電
GND 負(fù)極 接GND
DO 數(shù)字量輸出(默認(rèn)高電平輸出 到閥值輸出低電平)
AO 模擬量輸出

三、驅(qū)動說明

STC89C52RC無ADC所以需要借助外部ADC模塊 此處用PCF8591模塊進行采集

IIC地址/采集通道選擇/時序

K_A18_001 基于STM32等單片機采集MQ2傳感參數(shù)串口與OLED0.96雙顯示
K_A18_001 基于STM32等單片機采集MQ2傳感參數(shù)串口與OLED0.96雙顯示
K_A18_001 基于STM32等單片機采集MQ2傳感參數(shù)串口與OLED0.96雙顯示

對應(yīng)程序:

以51為例

/*******************************************************************
                     起動總線函數(shù)               
函數(shù)原型: void  Start_I2c();  
功能:     啟動I2C總線,即發(fā)送I2C起始條件.  
********************************************************************/
void Start_I2c()
{
  PCF8591_SDA=1;         /*發(fā)送起始條件的數(shù)據(jù)信號*/
  PCF8591_SCL=1;
  IIC_Delay();
  PCF8591_SDA=0;         /*發(fā)送起始信號*/
  IIC_Delay();      
  PCF8591_SCL=0;       /*鉗住I2C總線,準(zhǔn)備發(fā)送或接收數(shù)據(jù) */
  IIC_Delay();
}

/*******************************************************************
                      結(jié)束總線函數(shù)               
函數(shù)原型: void  Stop_I2c();  
功能:     結(jié)束I2C總線,即發(fā)送I2C結(jié)束條件.  
********************************************************************/
void Stop_I2c()
{
  PCF8591_SDA=0;      /*發(fā)送結(jié)束條件的數(shù)據(jù)信號*/
  PCF8591_SCL=1;      /*結(jié)束條件建立時間大于4μs*/
  IIC_Delay();
  PCF8591_SDA=1;      /*發(fā)送I2C總線結(jié)束信號*/
  IIC_Delay();
}

/*******************************************************************
                 字節(jié)數(shù)據(jù)發(fā)送函數(shù)               
函數(shù)原型: void  SendByte(UCHAR c);
功能:     將數(shù)據(jù)c發(fā)送出去,可以是地址,也可以是數(shù)據(jù),發(fā)完后等待應(yīng)答,并對
          此狀態(tài)位進行操作.(不應(yīng)答或非應(yīng)答都使ack=0)     
           發(fā)送數(shù)據(jù)正常,ack=1; ack=0表示被控器無應(yīng)答或損壞。
********************************************************************/
void SendByte(uint8_t  c)
{
 uint8_t  BitCnt;
 
 for(BitCnt=0;BitCnt<8;BitCnt++)  /*要傳送的數(shù)據(jù)長度為8位*/
    {
	     if((c<<BitCnt)&0x80)PCF8591_SDA=1;   /*判斷發(fā)送位*/
	     else  PCF8591_SDA=0;                
	
	     PCF8591_SCL=1;               /*置時鐘線為高,通知被控器開始接收數(shù)據(jù)位*/
		 IIC_Delay();       
	     PCF8591_SCL=0; 
    }
    
    IIC_Delay();
    PCF8591_SDA=1;                /*8位發(fā)送完后釋放數(shù)據(jù)線,準(zhǔn)備接收應(yīng)答位*/
    IIC_Delay();  
    PCF8591_SCL=1;
    IIC_Delay();
    if(PCF8591_SDA==1)ack=0;     
       else ack=1;        /*判斷是否接收到應(yīng)答信號*/
    PCF8591_SCL=0;
  IIC_Delay();
}

/*******************************************************************
                 字節(jié)數(shù)據(jù)接收函數(shù)               
函數(shù)原型: UCHAR  RcvByte();
功能:        用來接收從器件傳來的數(shù)據(jù),并判斷總線錯誤(不發(fā)應(yīng)答信號),
          發(fā)完后請用應(yīng)答函數(shù)應(yīng)答從機。  
********************************************************************/    
uint8_t RcvByte()
{
  uint8_t  retc;
  uint8_t  BitCnt;
  
  retc=0; 
  PCF8591_SDA=1;                     /*置數(shù)據(jù)線為輸入方式*/
  for(BitCnt=0;BitCnt<8;BitCnt++)
  {
      
      PCF8591_SCL=0;                  /*置時鐘線為低,準(zhǔn)備接收數(shù)據(jù)位*/
	  IIC_Delay();
      PCF8591_SCL=1;                  /*置時鐘線為高使數(shù)據(jù)線上數(shù)據(jù)有效*/
	  IIC_Delay();
      retc=retc<<1;
      if(PCF8591_SDA==1)retc=retc+1;  /*讀數(shù)據(jù)位,接收的數(shù)據(jù)位放入retc中 */
		IIC_Delay();
    }
  		PCF8591_SCL=0;    
  		IIC_Delay();
  		return(retc);
}

/********************************************************************
                     應(yīng)答子函數(shù)
函數(shù)原型:  void Ack_I2c(bit a);
功能:      主控器進行應(yīng)答信號(可以是應(yīng)答或非應(yīng)答信號,由位參數(shù)a決定)
********************************************************************/
void Ack_I2c(uint8_t a)
{
  
  if(a==0)PCF8591_SDA=0;              /*在此發(fā)出應(yīng)答或非應(yīng)答信號 */
  else PCF8591_SDA=1;
  IIC_Delay();    
  PCF8591_SCL=1;
  IIC_Delay();
  PCF8591_SCL=0;                     /*清時鐘線,鉗住I2C總線以便繼續(xù)接收*/
  IIC_Delay();  
}

采集通道選擇:
ISendByte(PCF8591,0x42);

地址:
#define  PCF8591 0x90    //PCF8591 地址

四、部分代碼說明

1、接線引腳定義

需要自定義引腳可在此處更改,STM32要自定義引腳的話也要注意引腳時鐘使能的更改

1.1、STC89C52RC+MQ2傳感參模塊

//MQ2傳感+PCF8591模塊引腳定義
MQ2傳感模塊---------------------------PCF8591
AO-------------------------------------AIN2

sbit  PCF8591_SCL=P1^0;       //I2C  時鐘 
sbit  PCF8591_SDA=P1^1;       //I2C  數(shù)據(jù) 
//OLED0.96模塊引腳定義
sbit SCL=P1^2; //串行時鐘
sbit SDA=P1^3; //串行數(shù)據(jù)

1.2、STM32F103C8T6+MQ2傳感參模塊

//MQ2傳感模塊引腳定義 GPIOA_0  ADC1通道0
#define    ADC_GPIO_APBxClock_FUN        RCC_APB2PeriphClockCmd
#define    ADC_GPIO_CLK                  RCC_APB2Periph_GPIOA  
#define    ADC_PORT                      GPIOA
#define    ADC_PIN                       GPIO_Pin_0
//OLED0.96模塊引腳定義					
		//-----------------OLED IIC端口定義----------------  					   

#define OLED_SCLK_Clr() GPIO_ResetBits(GPIOB,GPIO_Pin_8)//SCL
#define OLED_SCLK_Set() GPIO_SetBits(GPIOB,GPIO_Pin_8)

#define OLED_SDIN_Clr() GPIO_ResetBits(GPIOB,GPIO_Pin_9)//SDA
#define OLED_SDIN_Set() GPIO_SetBits(GPIOB,GPIO_Pin_9)

五、基礎(chǔ)知識學(xué)習(xí)與相關(guān)資料下載

1、STC89C52RC程序下載 直戳跳轉(zhuǎn)

2、STM32F103C8T6程序下載
(1)串口下載 直戳跳轉(zhuǎn)
(2)ST-LINK下載 直戳跳轉(zhuǎn)
(3)J-LINK下載 直戳跳轉(zhuǎn)
(4)DAP-LINK下載 直戳跳轉(zhuǎn)

3、OLED0.96程序說明 直戳跳轉(zhuǎn)

4、串口助手下載與使用
(1)安信可調(diào)試助手使用 直戳跳轉(zhuǎn)
(2) sscom33串口調(diào)試助手使用 直戳跳轉(zhuǎn)
(3)STC-ISP串口調(diào)試助手使用 直戳跳轉(zhuǎn)

六、視頻效果展示與程序資料獲取

視頻連接 直戳跳轉(zhuǎn)
??資料獲取 ? ? ? ? ? ?( 滑到最后添加群號看公告免費獲?。?mark hidden color="red">文章來源:http://www.zghlxwxcb.cn/news/detail-429676.html

七、注意事項

1、VCC GND請勿接反,接反易燒
2、OLED顯示異常時,排除接線接觸不良
3、使用前需要預(yù)熱文章來源地址http://www.zghlxwxcb.cn/news/detail-429676.html

八、接線說明

STC89C52RC

/************************************************************************************
//  生成日期   : 2021-6-21
//  最近修改   : 2021-11-21
//  功能描述   : MQ2傳感模塊測試程序
//  測試條件   : STC89C52RC   晶振11.0592
接線
MQ2傳感模塊----------------------STC89C52RC
VCC-------------------------------5V
GND-------------------------------GND
MQ2傳感模塊----------------------PCF8591
AO--------------------------------AIN2

PCF8591--------------------------------STC89C52RC
VCC-- ---------------------------------5V
GND- ----------------------------------GND
SCL- ----------------------------------P1.0 //SCL
SDA- ----------------------------------P1.1 //SDA

OLED0.96(IIC) -------------------------STC89C52RC
VCC------------------------------------3.3V
GND------------------------------------GND
SCL------------------------------------P1^2
SDA------------------------------------P1^3
*************************************************************************************/

STM32F103C8T6

/************************************************************************************
//  生成日期   : 2021-6-21
//  最近修改   : 2021-11-21
//  功能描述   : MQ2傳感模塊測試程序
//  測試條件   : STM32F103C8T6   晶振8M  系統(tǒng)時鐘 72M
接線
MQ2傳感模塊-----------------------STM32F103C8T6
VCC-------------------------------------5V
GND-------------------------------------GND
AO--------------------------------------PA_0 

OLED0.96
VCC-- -----------------------------------3.3V
GND- ------------------------------------GND
SCL- ------------------------------------PB_8 //SCL
SDA- ------------------------------------PB_9 //SDA	
*****************************************************************************************/

到了這里,關(guān)于K_A18_001 基于STM32等單片機采集MQ2傳感參數(shù)串口與OLED0.96雙顯示的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • K_A18_008 基于STM32等單片機驅(qū)動SGP30氣體傳感器串口與OLED0.96雙顯示

    K_A18_008 基于STM32等單片機驅(qū)動SGP30氣體傳感器串口與OLED0.96雙顯示

    其他資料目錄 直戳跳轉(zhuǎn) 單片機型號 測試條件 模塊名稱 代碼功能 STC89C52RC 晶振11.0592M SGP30氣體傳感器 模塊 STC89C52RC驅(qū)動SGP30氣體傳感器模塊串口與OLED0.96雙顯示 STM32F103C8T6 晶振8M/系統(tǒng)時鐘72M SGP30氣體傳感器模塊 STM32F103C8T6驅(qū)動SGP30氣體傳感器模塊串口與OLED0.96雙顯示 SGP30氣體傳

    2024年02月04日
    瀏覽(30)
  • K_A12_004 基于STM32等單片機采集人體紅外感應(yīng)(HC-SR501)模塊串口與OLED0.96雙顯示

    K_A12_004 基于STM32等單片機采集人體紅外感應(yīng)(HC-SR501)模塊串口與OLED0.96雙顯示

    單片機型號 測試條件 模塊名稱 代碼功能 STC89C52RC 晶振11.0592M HC-SR501模塊 STC89C52RC采集HC-SR501模塊參數(shù) 串口與OLED0.96雙顯示 STM32F103C8T6 晶振8M/系統(tǒng)時鐘72M HC-SR501模塊 STM32F103C8T6采集HC-SR501模塊參數(shù) 串口與OLED0.96雙顯示 其他資料目錄 直戳跳轉(zhuǎn) HC-SR501模塊 引腳說明 VCC 正極 3.3-5V供電

    2024年01月19日
    瀏覽(35)
  • K_A12_007 基于STM32等單片機驅(qū)動AS608光學(xué)指紋識別模塊 OLED0.96顯示

    K_A12_007 基于STM32等單片機驅(qū)動AS608光學(xué)指紋識別模塊 OLED0.96顯示

    注意:此處程序用的波特率都是9600 使用前請用上位機把模塊波特率調(diào)到9600 上位機使用與下載 直戳跳轉(zhuǎn) 單片機型號 測試條件 模塊名稱 代碼功能 STC89C52RC 晶振11.0592M AS608光學(xué)指紋模塊 STC89C52RC驅(qū)動AS608光學(xué)指紋模塊 串口與OLED0.96雙顯示 STM32F103C8T6 晶振8M/系統(tǒng)時鐘72M AS608光學(xué)指

    2024年02月06日
    瀏覽(32)
  • K_A12_033 基于STM32等單片機驅(qū)動TCS34725顏色傳感 串口與OLED0.96雙顯示

    K_A12_033 基于STM32等單片機驅(qū)動TCS34725顏色傳感 串口與OLED0.96雙顯示

    單片機型號 測試條件 模塊名稱 代碼功能 STC89C52RC 晶振11.0592M TCS34725顏色傳感 模塊 STC89C52RC驅(qū)動TCS34725顏色傳感模塊串口與OLED0.96雙顯示 STM32F103C8T6 晶振8M/系統(tǒng)時鐘72M TCS34725顏色傳感模塊 STM32F103C8T6驅(qū)動TCS34725顏色傳感模塊串口與OLED0.96雙顯示 其他資料目錄 直戳跳轉(zhuǎn) 工作電壓:

    2024年02月06日
    瀏覽(30)
  • K_A08_009 基于 STM32等單片機驅(qū)動TB6612模塊按鍵控制直流電機正反轉(zhuǎn)加減速啟停

    K_A08_009 基于 STM32等單片機驅(qū)動TB6612模塊按鍵控制直流電機正反轉(zhuǎn)加減速啟停

    目錄 一、資源說明 二、基本參數(shù) ? ? ? ? 1、參數(shù) ? ? ? ? 2、引腳說明 三、驅(qū)動說明 ????????TB6612模塊驅(qū)動說明 ????????對應(yīng)程序: ????????ENA ENB輸出PWM 四、部分代碼說明 ????????接線說明 ? ? ? ? ? ? ? ? 1、STC89C52RC+TB6612模塊 ? ? ? ? ? ? ? ? 2、STM32F

    2024年02月15日
    瀏覽(26)
  • K_A37_005 基于STM32等單片機驅(qū)動ADS1115 ADC模塊 串口與OLED0.96雙顯示

    K_A37_005 基于STM32等單片機驅(qū)動ADS1115 ADC模塊 串口與OLED0.96雙顯示

    其他資料目錄 直戳跳轉(zhuǎn) 單片機型號 測試條件 模塊名稱 代碼功能 STC89C52RC 晶振11.0592M ADS1115 ADC模塊 STC89C52RC驅(qū)動ADS1115 ADC模塊 串口與OLED0.96雙顯示 STM32F103C8T6 晶振8M/系統(tǒng)時鐘72M ADS1115 ADC模塊 STM32F103C8T6驅(qū)動ADS1115 ADC模塊 串口與OLED0.96雙顯示 ADS1115 ADC模塊 引腳說明 VIN 正極 5V供電

    2024年02月16日
    瀏覽(31)
  • K_A08_013 基于 STM32等單片機驅(qū)動大功率MOS管模塊按鍵控制直流電機加減速啟停

    K_A08_013 基于 STM32等單片機驅(qū)動大功率MOS管模塊按鍵控制直流電機加減速啟停

    目錄 一、資源說明 二、基本參數(shù) ????????參數(shù) ????????引腳說明 三、驅(qū)動說明 ????????大功率MOS模塊驅(qū)動 ????????對應(yīng)程序: 四、部分代碼說明 ????????接線說明 ????????????????STC89C52RC+大功率MOS模塊 ????????????????STM32F103C8T6+大功率MO

    2023年04月26日
    瀏覽(26)
  • K_A08_005 基于 STM32等單片機驅(qū)動XY-160D模塊按鍵控制直流電機正反轉(zhuǎn)加減速啟停

    K_A08_005 基于 STM32等單片機驅(qū)動XY-160D模塊按鍵控制直流電機正反轉(zhuǎn)加減速啟停

    目錄 一、資源說明 二、基本參數(shù) 四、部分代碼說明 ????????接線說明 ? ? ? ? ? ? ? ? 1、STC89C52RC+XY-160D模塊 ?????????????????2、STM32F103C8T6+XY-160D模塊 五、基礎(chǔ)知識學(xué)習(xí)與相關(guān)資料下載 六、視頻效果展示與程序資料獲取 七、項目所有材料清單 八、注意事項 九

    2024年02月14日
    瀏覽(36)
  • K_A35_017 基于STM32等單片機驅(qū)動TTP229矩陣觸摸傳感器 串口與OLED0.96雙顯示

    K_A35_017 基于STM32等單片機驅(qū)動TTP229矩陣觸摸傳感器 串口與OLED0.96雙顯示

    其他資料目錄 直戳跳轉(zhuǎn) 單片機型號 測試條件 模塊名稱 代碼功能 STC89C52RC 晶振11.0592M TTP229矩陣觸摸模塊 STC89C52RC驅(qū)動TTP229矩陣觸摸模塊 串口與OLED0.96雙顯示 STM32F103C8T6 晶振8M/系統(tǒng)時鐘72M TTP229矩陣觸摸模塊 STM32F103C8T6驅(qū)動TTP229矩陣觸摸模塊 串口與OLED0.96雙顯示 TTP229矩陣觸摸傳

    2024年02月02日
    瀏覽(25)
  • K_A12_022 基于STM32等單片機驅(qū)動VL53L0X模塊 串口與OLED0.96雙顯示

    K_A12_022 基于STM32等單片機驅(qū)動VL53L0X模塊 串口與OLED0.96雙顯示

    注:偏差校準(zhǔn)步驟(均十六進制發(fā)送) 1、偏差校準(zhǔn)命令 A5 21 0A D0(此處是在10CM處校準(zhǔn)) 2、加載數(shù)據(jù)命令 A5 43 04 EC(斷電重啟后加載偏差補償) 3、保存設(shè)置命令 A5 87 01 2D(保存設(shè)置后生效) 單片機型號 測試條件 模塊名稱 代碼功能 STC89C52RC 晶振11.0592M VL53L0X模塊 STC89C52RC驅(qū)動VL53L0X模

    2024年02月13日
    瀏覽(26)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包