打印
[51单片机]

LCD1602显示一直闪烁的问题

[复制链接]
2391|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
sysharon|  楼主 | 2020-6-19 21:18 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
sysharon|  楼主 | 2020-6-19 21:19 | 只看该作者
MAIN0:
MOV P0,#00000001B      
ACALL  ENABLE            
MOV P0,#00111000B     
ACALL  ENABLE         
MOV P0,#00001100B     
ACALL  ENABLE         
MOV P0,#00000110B   
ACALL  ENABLE
MOV P0,#00H
ACALL ENABLE
MOV A,#01010100B
ACALL WRITE
MOV A,#01100101B
ACALL WRITE
MOV A,#01101101B
ACALL WRITE
MOV A,#00111010B
ACALL WRITE
MOV P0,#0C0H
ACALL  ENABLE
MOV A,#01010111B
ACALL WRITE
MOV A,#01100101B
ACALL WRITE
MOV A,#01101001B
ACALL WRITE
MOV A,#00111010B
ACALL WRITE
ACALL MAIN1
ACALL DISPLAY1
ACALL DELAY2
ACALL DELAY2
ACALL DELAY2
LJMP MAIN0
MAIN1:
CLR P2.2
LCALL TEST
LCALL OPDATA
LCALL OPDATA2
RET

使用特权

评论回复
板凳
sysharon|  楼主 | 2020-6-19 21:19 | 只看该作者
sysharon 发表于 2020-6-19 21:19
MAIN0:
MOV P0,#00000001B      
ACALL  ENABLE            

大佬们救救小弟吧,以及改了一天了,实在找不到办法了

使用特权

评论回复
地板
sysharon|  楼主 | 2020-6-19 21:22 | 只看该作者
sysharon 发表于 2020-6-19 21:19
大佬们救救小弟吧,以及改了一天了,实在找不到办法了

目测现在的问题是频繁写入闪动问题,改变温度采集的数据的时候,显示非常不稳定,要怎么改啊,延时貌似也不能完全解决问题,加了定时器感觉也不行T_T

使用特权

评论回复
5
sysharon|  楼主 | 2020-6-19 21:23 | 只看该作者

使用特权

评论回复
6
sysharon|  楼主 | 2020-6-19 22:07 | 只看该作者
本帖最后由 sysharon 于 2020-6-19 22:09 编辑

加了一段MAIN01的程序貌似解决了,可是觉得还不是最完美的方法,一定有办法的大佬们帮帮我
MAIN01:
MOV 40H,SHUJV
ACALL MAIN1
MOV A,SHUJV
SUBB A,40H
CJNE A,#00H,MAIN0
JMP MAIN0
MAIN0:
MOV P0,#00000001B      
ACALL  ENABLE            
MOV P0,#00111000B     
ACALL  ENABLE         
MOV P0,#00001100B     
ACALL  ENABLE         
MOV P0,#00000110B   
ACALL  ENABLE
MOV P0,#00H
ACALL ENABLE
MOV A,#01010100B
ACALL WRITE
MOV A,#01100101B
ACALL WRITE
MOV A,#01101101B
ACALL WRITE
MOV A,#00111010B
ACALL WRITE
MOV P0,#0C0H
ACALL  ENABLE
MOV A,#01010111B
ACALL WRITE
MOV A,#01100101B
ACALL WRITE
MOV A,#01101001B
ACALL WRITE
MOV A,#00111010B
ACALL WRITE
ACALL DISPLAY1
ACALL DELAY2
ACALL DELAY2
ACALL DELAY2
LJMP MAIN01
MAIN1:
CLR P2.2
LCALL TEST
LCALL OPDATA
LCALL OPDATA2
RET

使用特权

评论回复
7
Kelan| | 2020-6-19 22:19 | 只看该作者
写一次就行了,LCD控制器自动回刷新显示。另外,考虑LCD的闪烁功能是否关闭?

使用特权

评论回复
8
sysharon|  楼主 | 2020-6-19 22:46 | 只看该作者
Kelan 发表于 2020-6-19 22:19
写一次就行了,LCD控制器自动回刷新显示。另外,考虑LCD的闪烁功能是否关闭? ...

大佬的意思是不是把显示写成函数然后调用一次就行??

使用特权

评论回复
9
fhmd| | 2020-6-20 00:00 | 只看该作者
同一位置字符没有变化的,写一次就行了,一直刷就一直闪

使用特权

评论回复
10
Cjy_JDxy| | 2020-6-20 09:25 | 只看该作者
sysharon 发表于 2020-6-19 22:46
大佬的意思是不是把显示写成函数然后调用一次就行??

汇编,好厉害

使用特权

评论回复
11
guojunhope| | 2020-6-20 14:01 | 只看该作者
我估计不是软件的问题,你要给LCD的电源引脚加滤波电容

使用特权

评论回复
12
sysharon|  楼主 | 2020-6-20 14:33 | 只看该作者
guojunhope 发表于 2020-6-20 14:01
我估计不是软件的问题,你要给LCD的电源引脚加滤波电容

这里面有什么原理呀??
以前没加滤波电容也成功稳定显示了。

使用特权

评论回复
13
guojunhope| | 2020-6-20 18:36 | 只看该作者
sysharon 发表于 2020-6-20 14:33
这里面有什么原理呀??
以前没加滤波电容也成功稳定显示了。

这种显示器件本身容易受干扰,所以加电容滤波应该是必须的,之前侥幸的成功,不能作为依据

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

6

主题

32

帖子

0

粉丝