|
基于STM32F103的I2C接口的OLED顯示AHT10的溫濕度程序(KEIL5工程文件)
單片機(jī)源程序如下:
- /*********************************************************************************************
- 模板制作: AHT10 + OLED 屏幕
- 程序名: 溫溫度傳感器0.96 OLED顯示程序
- 編寫人: 李旭
- 編寫時(shí)間: 2020年4月12日17:07:35
- 硬件支持: STM32F103C8 外部晶振8MHz RCC函數(shù)設(shè)置主頻72MHz
- I2C接口的oled和AHT10。oled:SCL-PB6,SDA-PB7. AHT10:SCL-PA6,SDA-PA7(可修改)
- 實(shí)現(xiàn)功能:oled顯示溫濕度,usart1將溫濕度打印到串口
- 修改日志:
-
- 說明:
- # 本模板加載了STM32F103內(nèi)部的RCC時(shí)鐘設(shè)置,并加入了利用滴答定時(shí)器的延時(shí)函數(shù)。
- # 可根據(jù)自己的需要增加或刪減。
- *********************************************************************************************/
- #include "stm32f10x.h" //STM32頭文件
- #include "sys.h"
- #include "delay.h"
- #include "OLED_I2C.h"
- #include "AHT10_I2C.h"
- #include "usart.h"
- int main (void)
- {
- u8 i;
- OLED_Init();
- OLED_CLS();
- AHT10_Init();
- USART1_Init(9600);
- delay_ms(500);
-
- while(1)
- {
- read_AHT10_once();
- printf("\r\n");
- printf("溫度:%d%d.%d",T1/100,(T1/10)%10,T1%10);
- printf("濕度:%d%d.%d",H1/100,(H1/10)%10,H1%10);
- printf("\r\n");
- for(i=1;i<6;i++)
- {
- OLED_ShowCN(22+i*16,0,i);//測試顯示中文
- }
- OLED_ShowCN(22,3,1);
- OLED_ShowCN(38,3,3);
- OLED_ShowStr(7,3,32);
- delay_ms(100);
- OLED_ShowStr(7,3,':');
- delay_ms(100);
- OLED_ShowStr(8,3,T1/100); //OLED_ShowStr(列,行,內(nèi)容(變量、字符));
- OLED_ShowStr(9,3,(T1/10)%10);
- OLED_ShowStr(10,3,'.');
- OLED_ShowStr(11,3,T1%10);
- OLED_ShowStr(12,3,'C');
- delay_ms(500);
- OLED_ShowCN(22,5,2);
- OLED_ShowCN(38,5,3);
- OLED_ShowStr(7,5,32);
- delay_ms(100);
- OLED_ShowStr(7,5,':');
- delay_ms(100);
- OLED_ShowStr(8,5,H1/100); //OLED_ShowStr(列,行,內(nèi)容(變量、字符));
- OLED_ShowStr(9,5,(H1/10)%10);
- OLED_ShowStr(10,5,'.');
- OLED_ShowStr(11,5,H1%10);
- OLED_ShowStr(12,5,'%');
-
- //delay_ms(1000);
- // OLED_DrawBMP(0,0,128,8,(u8*) BMP1);
- }
- }
- /*********************************************************************************************
- * 杜洋工作室 www.DoYoung.net
- * 洋桃電子 www.DoYoung.net/YT
- *********************************************************************************************/
- /*
- 【變量定義】
- u32 a; //定義32位無符號(hào)變量a
- u16 a; //定義16位無符號(hào)變量a
- u8 a; //定義8位無符號(hào)變量a
- vu32 a; //定義易變的32位無符號(hào)變量a
- vu16 a; //定義易變的 16位無符號(hào)變量a
- vu8 a; //定義易變的 8位無符號(hào)變量a
- uc32 a; //定義只讀的32位無符號(hào)變量a
- uc16 a; //定義只讀 的16位無符號(hào)變量a
- uc8 a; //定義只讀 的8位無符號(hào)變量a
- volatile int a;//定義易變的 16位有符號(hào)變量a
- #define ONE 1 //宏定義
- delay_us(1); //延時(shí)1微秒
- delay_ms(1); //延時(shí)1毫秒
- delay_s(1); //延時(shí)1秒
- GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1)); //LED控制
- */
復(fù)制代碼
所有程序51hei提供下載:
溫濕度OLED顯示程序.7z
(207.82 KB, 下載次數(shù): 218)
2020-4-21 00:13 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
|
評(píng)分
-
查看全部評(píng)分
|