可以實現在LCD1602上顯示溫濕度。但是通過串口顯示的數據確是亂碼。之后附上文件代碼。ps:proteus上面的dht11,最好使用附件里面的那個。之前用的是proteus8.8里面的dht11,一直不顯示數據。不知道原因。
源碼_仿真文件_LCD LED USART.7z
(221.02 KB, 售價: 3 E幣)
2020-5-24 16:34 上傳
點擊文件名下載附件
售價: 3 E幣 [記錄]
[ 購買]
2.png (8.81 KB)
下載附件
2020-5-24 16:33 上傳
仿真原理圖如下(proteus仿真工程文件可到本帖附件中下載)
1.png (39.45 KB)
下載附件
2020-5-24 16:32 上傳
部分代碼:
- #include "stm32f10x.h"
- #include "bsp-lcd1602.h"
- #include "delay.h"
- #include "led.h"
- #include "sys.h"
- #include "DTH11.h"
- #include "stdlib.h"
- #include "stdio.h"
- #include "usart.h"
- int main(void)
- {
- u8 temperature,humidity;
- unsigned char display[10] ;
- RCC_ClocksTypeDef RCC_Clocks;
- u8 a=7,b=8;
- RCC_Configuration();
-
- RCC_GetClocksFreq(&RCC_Clocks);
- USART1_Init(9600);
- LCD1602_Init();
- delay_init();
- LED_Init();
- DHT11_Init();
- LCD1602_ShowStr(2,0,"stm32f103R6",11);
- delay_s(10);
- LCD1602_Clear();
- while(1)
- {
- DHT11_Read_Data(&temperature,&humidity) ;
-
- sprintf((char *)display,"temp:%d ",temperature) ;
- LCD1602_ShowStr(0,0,display,11) ;
-
- sprintf((char *)display,"humi:%d ",humidity) ;
- LCD1602_ShowStr(1,1,display,11) ;
-
- printf("temp:%c \r\n",temperature);
- printf("humidity:%c \r\n",humidity);
- LED0 = 0;
- LED1 = 1;
- delay_s(2);
- LED0 = 1;
- LED1 = 0;
- delay_s(2);
- USART1_printf("STM32 %d %d ",a,b);
- }
-
- }
復制代碼
【必讀】版權免責聲明
1、本主題所有言論和內容純屬會員個人意見,與本論壇立場無關。2、本站對所發內容真實性、客觀性、可用性不做任何保證也不負任何責任,網友之間僅出于學習目的進行交流。3、對提供的數字內容不擁有任何權利,其版權歸原著者擁有。請勿將該數字內容進行商業交易、轉載等行為,該內容只為學習所提供,使用后發生的一切問題與本站無關。 4、本網站不保證本站提供的下載資源的準確性、安全性和完整性;同時本網站也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的損失或傷害。 5、本網站所有軟件和資料均為網友推薦收集整理而來,僅供學習用途使用,請務必下載后兩小時內刪除,禁止商用。6、如有侵犯你版權的,請及時聯系我們(電子郵箱1370723259@qq.com)指出,本站將立即改正。
|