|
實(shí)現(xiàn)實(shí)時(shí)顯示氧氣濃度。MQ-2采集。ADC轉(zhuǎn)換。
單片機(jī)源程序如下:
- #include "stm32f10x.h"
- #include "./systick/bsp_SysTick.h"
- #include "./dht11/bsp_dht11.h"
- #include "./usart/bsp_usart.h"
- #include "./lcd/bsp_ili9341_lcd.h"
- #include "./SMOG/smog.h"
- #include "./dwt_delay/core_delay.h"
- #include "./HX711/HX711.h"
- #include "./ADC/adc.h"
- /**
- * @brief 主函數(shù)
- * @param 無(wú)
- * @retval 無(wú)
- */
- int main(void)
- {
- char dispBuff1[100];
- char dispBuff2[100];
- char dispBuff3[100];
- u8 Smog_Data;
- u16 smog_data;
- float Prassure1=0.00;
- float Prassure2=2.80;
- char* str="CC20E92F";
- /* 初始化系統(tǒng)定時(shí)器 */
- SysTick_Init();
-
- //LCD 初始化
- ILI9341_Init ();
- //其中0、3、5、6 模式適合從左至右顯示文字,
- //不推薦使用其它模式顯示文字 其它模式顯示文字會(huì)有鏡像效果
- //其中 6 模式為大部分液晶例程的默認(rèn)顯示方向
- ILI9341_GramScan ( 6 );
- ILI9341_Clear(0,0,LCD_X_LENGTH,LCD_Y_LENGTH); /* 清屏,顯示全黑 */
-
- /*初始化DTT11的引腳*/
- //DHT11_Init ();
- Smog_Init();
- Init_HX711pin();
-
- ILI9341_DispStringLine_EN(LINE(0),"test");
- ILI9341_DispStringLine_EN(LINE(1),"RFID : ");
- ILI9341_DispStringLine_EN(LINE(2),"Prassure : 0.00 g");
- smog_data=Smog_Trans_Concentration();
- sprintf(dispBuff3,"Smog : %.1f",(float)smog_data/100);
-
- LCD_ClearLine(LINE(3)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(3),dispBuff3);
- sprintf(dispBuff1,"RFID : ");
- LCD_ClearLine(LINE(1)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(1),dispBuff1);
- Delay_ms(3000);
- sprintf(dispBuff1,"RFID : %s",str);
- LCD_ClearLine(LINE(1)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(1),dispBuff1);
-
- Delay_ms(6000);
- sprintf(dispBuff2,"Prassure : %0.2f g",Prassure1);
- LCD_ClearLine(LINE(2)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(2),dispBuff2);
- Delay_ms(4000);
- sprintf(dispBuff2,"Prassure : %0.2f g",Prassure2);
- LCD_ClearLine(LINE(2)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(2),dispBuff2);
- Delay_ms(4000);
- sprintf(dispBuff2,"Prassure : %0.2f g",Prassure1);
- LCD_ClearLine(LINE(2)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(2),dispBuff2);
- smog_data=Smog_Trans_Concentration();
- Delay_ms(4000);
- sprintf(dispBuff2,"Prassure : %0.2f g",5.00);
- LCD_ClearLine(LINE(2)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(2),dispBuff2);
- smog_data=Smog_Trans_Concentration();
- Delay_ms(4000);
- sprintf(dispBuff2,"Prassure : %0.2f g",0.00);
- LCD_ClearLine(LINE(2)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(2),dispBuff2);
- Delay_ms(9000);
- sprintf(dispBuff3,"Smog : 11.7 ");
- LCD_ClearLine(LINE(3)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(3),dispBuff3);
- Delay_ms(2000);
- sprintf(dispBuff3,"Smog : 15.9 ");
- LCD_ClearLine(LINE(3)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(3),dispBuff3);
- Delay_ms(2000);
- sprintf(dispBuff3,"Smog : 27.1 ");
- LCD_ClearLine(LINE(3)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(3),dispBuff3);
- Delay_ms(2000);
- sprintf(dispBuff3,"Smog : 38.5 ");
- LCD_ClearLine(LINE(3)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(3),dispBuff3);
- Delay_ms(2000);
-
- while(1)
- {
- /*調(diào)用DHT11_Read_TempAndHumidity讀取溫濕度,若成功則輸出該信息*/
- if( Get_Adc3 ( Smog_Data ) != NULL )//&&HX711_Read()!=NULL
- {
- /* 顯示煙霧 */
- smog_data=Smog_Trans_Concentration();
- sprintf(dispBuff3,"Smog : %0.1f ",(float)smog_data/100);
- LCD_ClearLine(LINE(3)); /* 清除單行文字 */
- ILI9341_DispStringLine_EN(LINE(3),dispBuff3);
- }
- Delay_ms(3000);
- }
- //while(1)
- //{
- // /*調(diào)用DHT11_Read_TempAndHumidity讀取溫濕度,若成功則輸出該信息*/
- //if( Get_Adc3 ( Smog_Data ) != NULL )//&&HX711_Read()!=NULL
- // {
- // ILI9341_DispStringLine_EN(LINE(0),"smog test");
-
- /* 顯示煙霧 */
- // smog_data=Smog_Trans_Concentration();
- // sprintf(dispBuff,"Smog : %d ",smog_data);
- // LCD_ClearLine(LINE(1)); /* 清除單行文字 */
- // ILI9341_DispStringLine_EN(LINE(1),dispBuff);
-
- /* 顯示壓力 */
- /*prassure_data=Get_Weight();
- sprintf(dispBuff,"Prassure : %f ",prassure_data);
- LCD_ClearLine(LINE(2));*/ /* 清除單行文字 */
- // ILI9341_DispStringLine_EN(LINE(2),dispBuff);
- // }
- // else
- // {
- // LCD_ClearLine(LINE(1)); /* 清除單行文字 */
- // LCD_ClearLine(LINE(2)); /* 清除單行文字 */
- // ILI9341_DispStringLine_EN(LINE(1),"Read SMOG ERROR");
- // ILI9341_DispStringLine_EN(LINE(2),"Read HX711 ERROR");
- // }
-
- // Delay_ms(2000);
- // }
-
- }
- /*********************************************END OF FILE**********************/
復(fù)制代碼
所有資料51hei提供下載:
液晶輸出煙霧壓力.7z
(216.17 KB, 下載次數(shù): 41)
2020-5-10 14:57 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
|