标题:
基于STM32F103的I2C接口的OLED显示AHT10的温湿度程序
[打印本页]
作者:
hhhhh56
时间:
2020-4-20 09:12
标题:
基于STM32F103的I2C接口的OLED显示AHT10的温湿度程序
基于STM32F103的I2C接口的OLED显示AHT10的温湿度程序(KEIL5工程文件)
单片机源程序如下:
/*********************************************************************************************
模板制作: AHT10 + OLED 屏幕
程序名: 温温度传感器0.96 OLED显示程序
编写人: 李旭
编写时间: 2020年4月12日17:07:35
硬件支持: STM32F103C8 外部晶振8MHz RCC函数设置主频72MHz
I2C接口的oled和AHT10。oled:SCL-PB6,SDA-PB7. AHT10:SCL-PA6,SDA-PA7(可修改)
实现功能:oled显示温湿度,usart1将温湿度打印到串口
修改日志:
说明:
# 本模板加载了STM32F103内部的RCC时钟设置,并加入了利用滴答定时器的延时函数。
# 可根据自己的需要增加或删减。
*********************************************************************************************/
#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(列,行,内容(变量、字符));
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(列,行,内容(变量、字符));
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位无符号变量a
u16 a; //定义16位无符号变量a
u8 a; //定义8位无符号变量a
vu32 a; //定义易变的32位无符号变量a
vu16 a; //定义易变的 16位无符号变量a
vu8 a; //定义易变的 8位无符号变量a
uc32 a; //定义只读的32位无符号变量a
uc16 a; //定义只读 的16位无符号变量a
uc8 a; //定义只读 的8位无符号变量a
volatile int a;//定义易变的 16位有符号变量a
#define ONE 1 //宏定义
delay_us(1); //延时1微秒
delay_ms(1); //延时1毫秒
delay_s(1); //延时1秒
GPIO_WriteBit(LEDPORT,LED1,(BitAction)(1)); //LED控制
*/
复制代码
所有程序51hei提供下载:
温湿度OLED显示程序.7z
(207.82 KB, 下载次数: 218)
2020-4-21 00:13 上传
点击文件名下载附件
下载积分: 黑币 -5
作者:
brant08
时间:
2020-4-24 13:47
好东西学习一下。
作者:
zxg_751005
时间:
2020-5-8 08:49
作为参考
作者:
skyliugtr
时间:
2022-1-27 15:30
大佬,有没有试过这两个外设共用一个IIC接口,不知道可行么?
作者:
mars1987
时间:
2022-4-3 23:43
设备地址不同,可以共用一组iic
欢迎光临 (http://www.51hei.com/bbs/)
Powered by Discuz! X3.1