lijinlei 发表于 2024-8-13 22:18:08

8H8K64U驱动OLED屏IIC显示

自己设计的PCB,基于8H8K64U,扩展接口包含IIC OLED、WS2812、DHT11温湿度传感器接口。
这里展示了该开发板驱动OLED屏显示字符串、汉字、字符、数字和图片的显示效果



视频展示
224


主代码
/*----------------------------------------------------------------*/
#include "STC8H.h"
#include "oled.h"                //OLED引脚定义、控制函数
#include "bmp.h"                //图片字模存放位置
//#include "logo.h"                // picture position
/*-------------- GPIO initialize ------------------*/
void GPIO_Init();

int main(void)
{
      GPIO_Init();
      OLED_Init();                        //初始化OLED
      OLED_ColorTurn(0);                //0正常显示,1 反色显示
      OLED_DisplayTurn(0);      //0正常显示1 屏幕翻转显示
      while(1)
      {
                //-------------------------------------------
                OLED_DrawBMP(0,0,128,64,BMP1);               //图片显示
               
                delay_ms(200);                                                //延时
                OLED_Clear();                                                //清屏
               
                OLED_DrawBMP(0,0,128,64,BMP2);
               
                delay_ms(200);                                                //延时
                OLED_Clear();                                                //清屏
                //-------------------------------------------
                OLED_ShowString(0,0,"Temp:",16);
                OLED_ShowString(43,0,"65",16);
                OLED_ShowString(60,0,".",16);
                OLED_ShowString(70,0,"42",16);
                OLED_ShowString(89,0,"C",16);
               
                OLED_ShowString(0,2,"RH:",16);
                OLED_ShowString(43,2,"12",16);
                OLED_ShowString(60,2,".",16);
                OLED_ShowString(70,2,"42",16);
                OLED_ShowString(89,2,"%",16);
               
                OLED_ShowString(0,4,"ECNU",16);                  //显示字符串
                OLED_ShowString(40,4,"2024/08/13",16);//显示字符串
                OLED_ShowString(0,6,"Shanghai,China",16);                  //显示字符串
               
                delay_ms(500);                                                //延时
                OLED_Clear();                                                //清屏
                //-------------------------------------------
                OLED_ShowChinese(0,0,0,16);
                OLED_ShowChinese(20,2,1,16);
                OLED_ShowChinese(40,4,2,16);
                OLED_ShowChinese(60,6,3,16);
                OLED_ShowChar(0,6,'M',16);
                OLED_ShowNum(0,4,596,2,16);
                delay_ms(500);                                                //延时
                OLED_Clear();                                                //清屏
                //-------------------------------------------
               
                OLED_DrawBMP(0,0,128,64,BMP1);
                delay_ms(200);
                OLED_Display_Off();
                OLED_Display_On();
                OLED_DrawBMP(0,0,128,64,BMP2);
                delay_ms(200);
                OLED_Display_Off();
                OLED_Display_On();
      }         
      
}

void GPIO_Init()
{
      P0M1 = 0x00;   P0M0 = 0x00;
P1M1 = 0x00;   P1M0 = 0x00;
P2M1 = 0x00;   P2M0 = 0x00;
P3M1 = 0x00;   P3M0 = 0x00;
P4M1 = 0x00;   P4M0 = 0x00;
P5M1 = 0x00;   P5M0 = 0x00;
      P6M1 = 0x00;   P6M0 = 0x00;
P7M1 = 0x00;   P7M0 = 0x00;
}完整工程文件见附件。

lijinlei 发表于 2024-8-13 22:21:46

PCB由嘉立创EDA创建,详见:https://oshwhub.com/lijinlei0907/stc8h-ws2812-color-control-board

wygauaab 发表于 2024-12-14 15:54:41

<p>感谢分享!!!</p>

鸿晟 发表于 2025-3-21 12:56:20

感谢开源
页: [1]
查看完整版本: 8H8K64U驱动OLED屏IIC显示