找回密码
 注册
关于网站域名变更的通知
查看: 609|回复: 4
打印 上一主题 下一主题

求助LCD1602液晶光标的问题

[复制链接]
  • TA的每日心情
    开心
    2023-6-12 15:40
  • 签到天数: 1 天

    [LV.1]初来乍到

    跳转到指定楼层
    1#
    发表于 2021-3-15 09:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

    EDA365欢迎您登录!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    1602液晶的光标打开之后,本来是在设置好的位置进行闪烁的,但是闪烁一下后就跑到其它地方进行闪烁了,请问是什么原因呢?如图片所示,我通过按键动作,调用RightShiftSet()函数,而RightShiftSet()里又调用了RefreshCursorShow()函数,在RefreshCursorShow()函数里本来运行的是case1,设置完光标后,并且光标闪烁,结果在这个位置闪烁一下后,就跑到case4所设置的位置进行闪烁了,很奇怪,请教下各位这是什么原因造成的呢?7 ~+ c; a9 n/ o" Z, m, }
    , \$ d2 D5 d: v3 h( y1 q
    4 k5 B5 ^5 R! P3 w

    该用户从未签到

    2#
    发表于 2021-3-15 13:21 | 只看该作者
        switch(LCD1602_Write_Cursor_Add). T3 D1 f8 s5 c& H- G
            {
    ; @8 {$ E& |& D" `; m8 m                case 0CD1602_Write_Add(0x0C);break;//不显示也不闪烁光标
    - T0 s6 j3 h  t4 m; K$ ?                case 1CD1602_Write_Add(0x0F);LCD1602_Write_Add(0xCa);break;: k9 }, ~4 G1 l$ j. A/ W* i: C9 t: V
                    case 2CD1602_Write_Add(0x0F);LCD1602_Write_Add(0xCd);break;* V+ w# J2 V% C$ x1 ~
                    case 3:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xC7);break;
    % I! J/ S/ [1 k4 a7 z                case 4:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xC4);break;7 r3 c+ N( k& _! b, B; p
                    case 5:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xC1);break;  }  {7 Z6 J8 A
                    case 6:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0xCf);break;
    5 k6 i7 K6 {" A0 J. V- B                case 7:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0x89);break;! N; \1 N! T; u2 w  `$ B  k( ^
                    case 8:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0x86);break;8 W: ]& J4 [9 J  c, f& Y( C% ~+ G
                    case 9:LCD1602_Write_Add(0x0F);LCD1602_Write_Add(0x83);break;
    . M% S% O, c3 F9 B        }
    + Z3 y  w( T' K/ i, }7 X% Y% w
    % h) M  P3 P, `9 n! ~& P9 f+ _像我这样做,使用一个全局变量来控制光标闪烁的位置。变量是0则不显示光标。* |/ A/ `0 \  A  Z- Y
    不要把设备互相包含,这样你会很乱的。比如执行某个计算过程调用显示,那就打乱了计算过程。
    / R  O7 S" G2 b7 {+ ?而显示的时候显示10次足够了。你每次计算都显示,那么计算1000次就显示了1000次,白白浪费了9900次的CPU时间。记住“什么是单片机?玩的就是时间!”
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    3#
    发表于 2021-3-15 16:54 | 只看该作者
    四连击啊,没看出程序问题,倒是像按键程序带连发功能,或是防抖问题?

    点评

    使用的是薄膜键盘,触发时间只有10ms左右,没有进行消抖。  详情 回复 发表于 2021-3-15 16:56
  • TA的每日心情
    开心
    2023-6-12 15:40
  • 签到天数: 1 天

    [LV.1]初来乍到

    4#
     楼主| 发表于 2021-3-15 16:56 | 只看该作者
    Heaven_1 发表于 2021-3-15 16:54/ N" T! y: Y  a$ n& C- K( y7 R
    四连击啊,没看出程序问题,倒是像按键程序带连发功能,或是防抖问题?

    ; s0 b3 [1 E7 Z8 J& S' V8 e使用的是薄膜键盘,触发时间只有10ms左右,没有进行消抖。
    ( ^/ f/ H5 m. S$ r6 q: x

    点评

    肯定要祛痘的,不然毛刺就回有触发显示  详情 回复 发表于 2021-3-16 14:08
  • TA的每日心情
    开心
    2023-5-15 15:14
  • 签到天数: 1 天

    [LV.1]初来乍到

    5#
    发表于 2021-3-16 14:08 | 只看该作者
    本帖最后由 Heaven_1 于 2021-3-16 14:10 编辑 . o% F/ a5 \( J3 b. k; @
    mnfvbnk 发表于 2021-3-15 16:56
    * U) R! B7 {8 o( z+ i$ e0 w1 }# j% B使用的是薄膜键盘,触发时间只有10ms左右,没有进行消抖。

    9 ^" r9 @9 q# q7 \1 M肯定要去抖动判断的,不然毛刺就回有触发显示
    ) U  B, G, y( j0 ~6 S" F1 _  h
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

    推荐内容上一条 /1 下一条

    EDA365公众号

    关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

    GMT+8, 2025-6-22 01:14 , Processed in 0.109375 second(s), 31 queries , Gzip On.

    深圳市墨知创新科技有限公司

    地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

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