OLED数据通信初体验
显示自己的学号和姓名
一、实验要求
在0.96寸OLED显示屏模块液晶屏上显示自己的姓名学号,使用的类型为SPI
二、实验准备
本次实验需要在液晶屏上显示汉字,所以需要点阵字库进行
百度网盘:https://pan.baidu.com/s/1_jqLdoHtBh7UI1L9sfOoVQ
提取码:yxj9
三、工程配置
在主函数中TEST_Chinese()函数是显示中文的,其他函数是进行测试的,可以屏蔽掉
右键TEST_Chinese()函数点击下面选项
在TEST_Chinese函数中的GUI_ShowString中修改为自己的学号,其中的“16,0”是在显示屏上的位置16是横坐标x,0是纵坐标,通过右键该函数可以看到设置
GUI_ShowCHinese函数中显示中文,因为要在液晶屏上显示想要的信息,所以要进入该函数进行修改,右键进入该函数
再右键GUI_ShowFont16进入
再右键cfont进入
在该函数中加入文字的点阵
其中的代码就需要点阵字库来实现
四、点阵字库的配置
点击选项后完成下面配置
点击确定后
在框中输入文字就可以生成字模,将字模复制到函数cfont16函数中
五、效果展示
显示AHT20的温度和湿度
一、实验代码
显示温湿度部分代码:
float P,T,ALT;
uint32_t CT_data[2];
int c1,t1;
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 LED_Init(); //LED端口初始化
OLED_Init(); //初始化OLED
OLED_Clear(0) ;
RCC_Configuration(); //设置系统时钟
GPIO_Configuration(); //IO口设
I2C_Bus_Init();
ret = ATH20_Init();
二、结果展示
上下或左右的滑动显示长字符
一、实现代码
滑动部分代码
void OLED_Display_scroll(void)
{
OLED_WR_Byte(0x2e,OLED_CMD);//关滚动
OLED_WR_Byte(0x2a,OLED_CMD);//29向右,2a向左(垂直水平滚动)
OLED_WR_Byte(0x00,OLED_CMD);//A:空字节
OLED_WR_Byte(0x00,OLED_CMD);//B:水平起始页
OLED_WR_Byte(0x00,OLED_CMD);//C:水平滚动速度
OLED_WR_Byte(0x07,OLED_CMD);//D:水平结束页
OLED_WR_Byte(0x01,OLED_CMD);//E:每次垂直滚动位移
OLED_WR_Byte(0x2f,OLED_CMD);//开滚动
}
想要输出的文字可自己改变
二、实验结果
总结
经过这次OLED数据通信实验,让我对用SPI接口进行屏幕显示有了更深入的了解,硬件的连线根据芯片的不同需要查阅相关资料,在屏幕上显示文字主要应用的是汉字点阵