自己设计的PCB,基于8H8K64U,扩展接口包含IIC OLED、WS2812、DHT11温湿度传感器接口。
这里展示了该开发板驱动OLED屏显示字符串、汉字、字符、数字和图片的显示效果
视频展示
主代码
- /*----------------------------------------------------------------*/
- #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;
- }
复制代码
完整工程文件见附件。
|