找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1829|回复: 12
打印 上一主题 下一主题
收起左侧

51单片机驱动OLED 从10减到9,屏幕显示的时候个位的0还显示着,这个怎么处理

[复制链接]
跳转到指定楼层
楼主
ID:350682 发表于 2024-10-27 23:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问一下,用51驱动OLED显示计数的时候,从10减到9,屏幕显示的时候个位的0还显示着,这个怎么处理?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:1109793 发表于 2024-10-28 07:56 | 只看该作者
个位不是显示9了嘛?
回复

使用道具 举报

板凳
ID:1121801 发表于 2024-10-28 08:05 | 只看该作者
去查OLED手册啊,看一下是置1不显示还是置0不显示,然后通过程序把不想显示的段全部置1或者置0就可以了
回复

使用道具 举报

无效楼层,该帖已经被删除
5#
ID:125402 发表于 2024-10-28 08:25 | 只看该作者
可以在主循环里面一直刷新显示
回复

使用道具 举报

6#
ID:350682 发表于 2024-10-28 09:28 | 只看该作者
xiaobendan001 发表于 2024-10-28 07:56
个位不是显示9了嘛?

本应该显示9,但是现在显示的是90,10的那个0没消失
回复

使用道具 举报

7#
ID:350682 发表于 2024-10-28 09:29 | 只看该作者
budhha52 发表于 2024-10-28 08:25
可以在主循环里面一直刷新显示

是一直刷新显示的,但是显示的是90,而不是9,上一次显示的10的个位0一直存在
回复

使用道具 举报

8#
ID:1034262 发表于 2024-10-28 10:24 | 只看该作者
那9显示在十位?
回复

使用道具 举报

9#
ID:446156 发表于 2024-10-28 10:27 | 只看该作者
程序上做个判断用空格把个位覆盖掉,或者用sprintf右对齐
回复

使用道具 举报

10#
ID:161164 发表于 2024-10-28 11:05 | 只看该作者
你想把9显示在十位还是个位?
回复

使用道具 举报

11#
ID:1109793 发表于 2024-10-28 13:34 | 只看该作者
piscest_x 发表于 2024-10-28 09:28
本应该显示9,但是现在显示的是90,10的那个0没消失

那为何要把9显示在十位数的位置?就算不消隐无效零,也要显示09才对吧。
回复

使用道具 举报

12#
ID:341045 发表于 2024-10-28 14:45 | 只看该作者
调用新显示时清屏。如果屏上有不希望清的内容,就增加一个清除显示数据区域的函数,调用新显示数据前清区域即可。
回复

使用道具 举报

13#
ID:1010435 发表于 2024-10-30 00:55 | 只看该作者
if一下,一般显示数字的函数都是先确定显示几位的,因为每一位都要分别取书来显示,可以在这个函数上if一下,如果小于10就显示1位,如果大于10就显示两位,甚至大于100就显示三位,这样错位显示的时候就不会出现前面补0的情况了。
回复

使用道具 举报

14#
ID:517466 发表于 2024-10-30 08:37 | 只看该作者
你是不是没有清除屏幕?显示位置发生变化的时候,原来一流的要清除,或者用空格顶掉。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表