本帖最后由 我叫小大打 于 2020-3-26 16:51 编辑
程序是本人根据源程序改出来的,绝对可用
芯片:stm32f10x
液晶屏:4针oled
可实现动态显示效国
制作出来的实物图如下:
单片机源程序如下:
- #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() ;
-
- t=' ';
- OLED_ShowCHinese(0,0,0);
- OLED_ShowCHinese(18,0,1);
- OLED_ShowCHinese(36,0,2);
- OLED_ShowCHinese(54,0,3);
- OLED_ShowCHinese(72,0,4);
- OLED_ShowCHinese(90,0,5);
- OLED_ShowCHinese(108,0,6);
- while(1)
- {
- OLED_Clear();
- OLED_ShowCHinese(0,0,0);
- OLED_ShowCHinese(18,0,1);
- OLED_ShowCHinese(36,0,2);
- OLED_ShowCHinese(54,0,3);
- OLED_ShowCHinese(72,0,4);
- OLED_ShowCHinese(90,0,5);
- OLED_ShowCHinese(108,0,6);
- OLED_ShowString(6,3,"0.96' OLED HSY",16);
- //OLED_ShowString(8,2,"ZHONGJINGYUAN");
- // OLED_ShowString(20,4,"2014/05/01");
- OLED_ShowString(0,6,"Huang:",16);
- OLED_ShowString(63,6,"LOVE:",16);
- OLED_ShowChar(48,6,t,16);//显示ASCII字符
- t++;
- if(t>'~')t=' ';
- OLED_ShowNum(103,6,t,3,16);//显示ASCII字符的码值
- delay_ms(1000);
- // delay_ms(1000);
- // delay_ms(1000);
- // delay_ms(1000);
- delay_ms(1000);
- OLED_DrawBMP(0,0,128,8,BMP1); //图片显示(图片显示慎用,生成的字表较大,会占用较多空间,FLASH空间8K以下慎用)
- delay_ms(700);
- OLED_DrawBMP(0,0,128,8,BMP2);
- delay_ms(700);
- OLED_DrawBMP(0,0,128,8,BMP3);
- delay_ms(700);
- // delay_ms(1000);
- // delay_ms(1000);
- // delay_ms(1000);
- OLED_DrawBMP(0,0,128,8,BMP4);
- delay_ms(700);
- OLED_DrawBMP(0,0,128,8,BMP5);
- delay_ms(700);
- OLED_DrawBMP(0,0,128,8,BMP6);
- delay_ms(700);
- OLED_DrawBMP(0,0,128,8,BMP7);
- delay_ms(700);
- OLED_DrawBMP(0,0,128,8,BMP8);
- delay_ms(700);
- OLED_DrawBMP(0,0,128,8,BMP9);
- delay_ms(700);
- OLED_DrawBMP(0,0,128,8,BMP10);
- delay_ms(700);
- OLED_DrawBMP(0,0,128,8,BMP11);
- delay_ms(700);
- OLED_DrawBMP(0,0,128,8,BMP12);
- // delay_ms(700);
- // delay_ms(500);
- delay_ms(1000);
- // delay_ms(1000);
- // delay_ms(500);
- // delay_ms(500);
- }
-
- }
-
复制代码
|