找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

单片机lcd1602只显示第一排黑色方块

查看数: 8232 | 评论数: 9 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-4-30 22:47

正文摘要:

麻烦大佬帮忙看一下是什么问题 #include "LCD1602.h" #ifdef P25_DRIV_RW //读操作,RS=1读数据;RS=0读指令 unsigned char Read_LCD1602(bit RS)   {       unsign ...

回复

ID:691449 发表于 2020-5-2 13:01
滥情 发表于 2020-5-1 11:26
调节电位器,对比度要调好

只有一行黑色不是对比度的问题,应该和初始化有关系
ID:531275 发表于 2020-5-2 10:21
杨雪飞 发表于 2020-5-1 15:29
烧例程可以的话你就把这个程序对照例程的初始化、写命令、写数据函数,看看哪里时序不对吧。开发板这玩意 ...

好的,谢谢
ID:97554 发表于 2020-5-1 15:29
dislsqq 发表于 2020-5-1 14:49
#define LCD1602_DATA P0
sbit LCD1602_EN = P2^7;
sbit LCD1602_RS        = P2^6;

烧例程可以的话你就把这个程序对照例程的初始化、写命令、写数据函数,看看哪里时序不对吧。开发板这玩意难伺候,所以我就觉得初学者用开发板学是个坑。比如我们驱动1602,我用P0口不解上拉电阻都可以直接驱动1602正常显示。但是在开发板上就不行。我有块普中开发板,用的1602就跟一般的不一样,之前因为这个绕了不少弯路。

对于1602的显示按以下几块分解了学就好了。

void main()   主函数
{
lcd init();   先初始化液晶
while()      循环

{
delay();
wrt_com();    写命令函数,定义位置
delay();
wrt_dat()   ;  写数据函数,显示内容。
}

}


lcd_init()    初始化子程序
{
内容
}

wrt_com()    写命令子程序
{
内容
}

wrt_dat()   写数据子程序
{
内容
}


delay()    延时子程序
{
内容
}

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

ID:531275 发表于 2020-5-1 14:49
杨雪飞 发表于 2020-5-1 10:58
RS   RW   EN三根线有没有对应程序,D0 -  D7线序有没有接反。

#define LCD1602_DATA P0
sbit LCD1602_EN = P2^7;
sbit LCD1602_RS        = P2^6;
#ifdef P25_DRIV_RW
sbit LCD1602_RW = P2^5;
#endif
ID:531275 发表于 2020-5-1 14:47
xxpp2011 发表于 2020-5-1 09:51
先考虑线有没有接错,对比度调好没有

这些都没问题,烧例程可以显示
ID:709389 发表于 2020-5-1 11:26
调节电位器,对比度要调好
ID:97554 发表于 2020-5-1 10:58
RS   RW   EN三根线有没有对应程序,D0 -  D7线序有没有接反。
ID:452950 发表于 2020-5-1 09:51
先考虑线有没有接错,对比度调好没有

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

Powered by 单片机教程网

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