OLEDSSD1306 滚动显示技术详解 在单片机领域中,OLEDSSD1306 滚动显示是一种常用的技术,用于显示多个图片或文字信息。今天,我们将详细介绍关于 OLEDSSD1306 滚动显示的技术,包括滚动显示的控制命令、滚动显示的实现思路,以及解决多个图片的衔接滚动显示问题。 一、OLEDSSD1306 滚动显示控制命令 在 SSD1306 控制器内部,有滚动显示的控制命令,以向右滚动显示为例,命令如下: OLED_SD1306_WriteCmd(0x26);//r OLED_SD1306_WriteCmd(0x00);//duty OLED_SD1306_WriteCmd(0x04);//start page OLED_SD1306_WriteCmd(0x07); //speed OLED_SD1306_WriteCmd(0x05);//end page OLED_SD1306_WriteCmd(0x01);//scroll timers OLED_SD1306_WriteCmd(0x00); //duty OLED_SD1306_WriteCmd(0xff);//duty OLED_SD1306_WriteCmd(0x2f);//active 这些命令用于控制 OLED 显示屏的滚动显示,但是使用内部控制命令有一定的局限性,例如步伐不好控制,还有就是对于滚动显示的内容不能很好实时的更新。 二、解决多个图片的衔接滚动显示问题 为了解决多个图片的衔接滚动显示问题,我们可以建立图片 ID 表格,例如: #define c_idx_16x10_ascii_v 4 #define c_idx_16x10_ascii_w 5 #define c_idx_16x10_digit_0 6 #define c_idx_16x10_digit_1 7 #define c_idx_16x10_digit_2 8 #define c_idx_16x10_digit_3 9 #define c_idx_16x10_digit_4 10 #define c_idx_16x10_digit_5 11 #define c_idx_16x10_digit_6 12 #define c_idx_16x10_digit_7 13 #define c_idx_16x10_digit_8 14 #define c_idx_16x10_digit_9 15 #define c_idx_16x10_dir_p 16 然后,我们可以根据各图片的 ID,建立成滚动列表,例如: const u16 T_MuneMainBmpIdxInfo2[][2]= //此处为主菜单需要显示警告信息的时候列表 { {c_idx_null}, {c_idx_16x24_MenuMain_0,c_idx_16x12_Menu_Drop}, {c_idx_16x24_MenuMain_1,c_idx_16x12_Menu_Drop}, {c_idx_16x24_MenuMain_2,c_idx_16x12_Menu_Drop}, {c_idx_16x24_MenuMain_3,c_idx_16x12_Menu_Drop}, {c_idx_16x24_MenuMain_4,c_idx_16x12_Menu_Drop}, {c_idx_16x24_MenuMain_5,c_idx_16x12_Menu_Drop}, {c_idx_10x20_menu_warrning,c_idx_16x12_Menu_Drop}, {c_idx_16x24_MenuMain_0,c_idx_16x12_Menu_Drop}, {c_idx_16x24_MenuMain_1,c_idx_16x12_Menu_Drop}, {c_idx_16x24_MenuMain_2,c_idx_16x12_Menu_Drop}, {c_idx_16x24_MenuMain_3,c_idx_16x12_Menu_Drop}, {c_idx_16x24_MenuMain_4,c_idx_16x12_Menu_Drop}, {c_idx_16x24_MenuMain_5,c_idx_16x12_Menu_Drop}, {c_idx_10x20_menu_warrning}, {c_idx_null}, }; 在建立好图片 ID 表格之后,还需要建立另外一个表格,该表格用于存储,在显示该图片的时候,存储该图片的大小,该大小为 X 或者 Y 的尺寸,,至于是 X还是 Y,主要是取决于取模方式,该表格如下: const u8 T_MuneMainBmpIdxInfo2_Size[]={64,c_16x24_menumain_x_size,c_16x12_menu_drop_x_size,c_16x24_menumain_x_size,c_16x12_menu_drop_x_size,...}; 通过这两个表格,我们可以轻松地实现多个图片的衔接滚动显示,并且解决了内部控制命令的局限性。
剩余6页未读,继续阅读
- 粉丝: 7
- 资源: 939
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助