丿洫涩灬夕阳 发表于 2019-7-28 14:20:29

这个lcd1602液晶显示例程为什么只有一块一块的 程序没问题

/**************************************************************************************
*                              LCD1602液晶显示实验                                                                                                  *
实现现象:下载程序后插上LCD1602液晶在开发板上,即可显示
注意事项:如果不想让点阵模块显示,可以将74HC595模块上的JP595短接片拔掉。                                                                                                                                                                  
***************************************************************************************/
#include "reg52.h"                       //此文件中定义了单片机的一些特殊功能寄存器
#include "lcd.h"

typedef unsigned int u16;          //对数据类型进行声明定义
typedef unsigned char u8;

u8 Disp[]=" Pechin Science ";

/*******************************************************************************
* 函 数 名         : main
* 函数功能                   : 主函数
* 输    入         : 无
* 输    出         : 无
*******************************************************************************/
void main(void)
{
        u8 i;
        LcdInit();
        for(i=0;i<16;i++)
        {
                LcdWriteData(Disp);       
        }       
        LcdWriteCom(0x40+0x80);       
        for(i=0;i<16;i++)
        {
                LcdWriteData(Disp);       
        }
        while(1);               
}


HC6800-ES-V2.0 发表于 2019-7-28 15:33:13

调一下对比度就可以了

HC6800-ES-V2.0 发表于 2019-7-28 15:50:25

发现可能的问题:
第一:你用的例子程序,你编译时没有错误吧?!如果有,就是头文件都用reg51.h或reg52.h,不能混用。
第二:看你的照片,明显对比度的那个可变电阻被旋转的位置不对,应该再顺时针再转动一点

丿洫涩灬夕阳 发表于 2019-7-28 16:39:42

HC6800-ES-V2.0 发表于 2019-7-28 15:50
发现可能的问题:
第一:你用的例子程序,你编译时没有错误吧?!如果有,就是头文件都用reg51.h或reg52.h ...

我转了一下就是格子变亮了 主要是例程上面的字母Pechin Science 没显示出来 不知道问题出哪了 你看我要的是两行显示它下面也没显示

丿洫涩灬夕阳 发表于 2019-7-28 16:40:09

HC6800-ES-V2.0 发表于 2019-7-28 15:33
调一下对比度就可以了

没显示Pechin Science这些个字母

HC6800-ES-V2.0 发表于 2019-7-29 08:19:47

丿洫涩灬夕阳 发表于 2019-7-28 16:40
没显示Pechin Science这些个字母

你的程序在我的板子上可以显示的,两排都显示同样的内容,对不对?但第一次没显示,是因为你用的reg52.h头文件,但我找的驱动程序用的是reg51.h头文件,编译的错,修改了就好了。
如果你还不能显示,我也没办法了。

丿洫涩灬夕阳 发表于 2019-8-2 17:33:38

谢了老哥 试了很长时间解决了 原理我也不知道怎么回事 具体操作如下:
1.定义的P0口改为P3口进行烧录一次;
2.再次将修改的P3口改为P0,再次烧录后 成功
很奇怪 哈哈 我也不知道为什么普中的开发板会这样。。。。。就是只有这样才能让1602正确显示
程序没有问题 硬件连线也没有问题 很奇怪。。。。而且断电后再打开显示的字符会消失,就由变成方块了,如果还要显示就要执行前面两个步骤。

UFO007 发表于 2019-8-4 20:51:43

板子的LCD电路是连在P0口的,还有如果程序是对的,但是仍然没法显示 你多调一下那个电阻

jyz 发表于 2022-5-9 00:01:09

你买我公司的就可以了

zslong 发表于 2023-6-28 16:29:22

丿洫涩灬夕阳 发表于 2019-8-2 17:33
谢了老哥 试了很长时间解决了 原理我也不知道怎么回事 具体操作如下:
1.定义的P0口改为P3口进行烧录一次 ...

你用的是52还是51的单片机,我用的是52的单片机,也是不能显示内容,只看到点阵方块
页: [1] 2
查看完整版本: 这个lcd1602液晶显示例程为什么只有一块一块的 程序没问题