实验目的
理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI或IIC接口实现以下功能:
-
显示自己的学号和姓名;
-
显示AHT20的温度和湿度;
-
上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”或者歌词、诗词。(最好使用硬件刷屏模式)
实验步骤
下载相关资料包资料包,解压后打开“3-STM32测试程序”文件夹,选择STM32F103RCT6单片机测试程序,如下图所示
然后下载字库软件PCtoLCD
之后修改程序
#include "delay.h"
#include "sys.h"
#include "oled.h"
#include "bmp.h"
int main(void)
{ u8 t;
delay_init(); //延时函数初始化
NVIC_Configuration(); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级 LED_Init(); //LED端口初始化
// delay_ms(8000);
OLED_Init(); //初始化OLED
OLED_Clear(0) ;
t=' ';
// OLED_ShowString(4,3,"hello",16);
// OLED_ShowCHinese(6,0,0);//欢
// OLED_ShowCHinese(26,0,1);//迎
// delay_ms(50000);
// 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);//开滚动
while(1)
{
OLED_ShowCHinese(6,0,0);//田
OLED_ShowCHinese(26,0,1);//原
OLED_ShowString(4,3,"631807060620",1);
t++;
delay_ms(50000);
}
}