标题: 单片机0.96OLED显示反白失败怎么更改代码 [打印本页]

作者: sr861126    时间: 2023-8-25 10:10
标题: 单片机0.96OLED显示反白失败怎么更改代码
     反白显示滚动条状的,按键按下,滚动显示反白,怎么写代码?

STM32F103C8T6模拟iic+菜单.7z

206.31 KB, 下载次数: 5


作者: yzwzfyz    时间: 2023-8-25 14:57
1、做个反白标记FB,需要反白显示时将FB置1,反之清0。
2、显示输出时,用FB与输出的点阵异或一下,再送出显示。
这样就可以了。

作者: zsyzdx    时间: 2023-8-25 16:21
我印象中,反白是不是这个屏幕都会反,不能某一行控制?
作者: sr861126    时间: 2023-8-26 08:48
yzwzfyz 发表于 2023-8-25 14:57
1、做个反白标记FB,需要反白显示时将FB置1,反之清0。
2、显示输出时,用FB与输出的点阵异或一下,再送出 ...

文字处反白,然后按键控制滚动,这个代码好实现吗?
作者: man1234567    时间: 2023-8-26 10:31
所谓反白显示,就是原先打点的不打、不打的打点而已
作者: sr861126    时间: 2023-8-26 11:49
zsyzdx 发表于 2023-8-25 16:21
我印象中,反白是不是这个屏幕都会反,不能某一行控制?

只能一行反白

作者: yzwzfyz    时间: 2023-8-30 09:04
【文字处反白,然后按键控制滚动,这个代码好实现吗?】
1、设需要滚动的部分在A区域。A区域高度为一个汉字N行(点阵行,以16行为例)。
2、用定时器做一个滚行时间,如每秒滚一个汉字N行,则定时时间间隔=1/16=62.5ms
3、将A区的显示点阵分成N行,A1行、A2行……A16行。这是原始显示的样式。
4、滚行:每次定时中断,更改一下A区的显示点阵。设当前是A1、A2……A16,将它改成A2、A3……A16、A1。这样就滚了一行。下次中断,再改成A3、A4……A16、A1、A2。
这样就能实现自己滚自己(汉字不变)。
5、如果A16用下一行汉字的A1替代,则可实现汉字滚行刷新(新字换旧字)。
以上方案,需要你会对屏幕进行点阵显示操作。仍至程序要自己写。
写滚行程序是需一定的技巧的,对于初学者来说是个挑战。
滚行不影响反白。

作者: sr861126    时间: 2023-9-2 09:04
yzwzfyz 发表于 2023-8-30 09:04
【文字处反白,然后按键控制滚动,这个代码好实现吗?】
1、设需要滚动的部分在A区域。A区域高度为一个汉 ...

  滚行的应该怎么写?

作者: sr861126    时间: 2023-10-24 14:05
zsyzdx 发表于 2023-8-25 16:21
我印象中,反白是不是这个屏幕都会反,不能某一行控制?

中景园的是可以的,只是不知道操作哪些函数
作者: npn    时间: 2023-10-24 22:38
OLED只负责图像显示,指定坐标区域反白、文字滚动等属于图像处理算法。
作者: sr861126    时间: 2023-12-21 08:20
zsyzdx 发表于 2023-8-25 16:21
我印象中,反白是不是这个屏幕都会反,不能某一行控制?

  滚动反白,是先清除反白,然后显示当前行反白
作者: sr861126    时间: 2023-12-21 10:22
zsyzdx 发表于 2023-8-25 16:21
我印象中,反白是不是这个屏幕都会反,不能某一行控制?

   就是要控制一行





欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1