这个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);
}
调一下对比度就可以了 发现可能的问题:
第一:你用的例子程序,你编译时没有错误吧?!如果有,就是头文件都用reg51.h或reg52.h,不能混用。
第二:看你的照片,明显对比度的那个可变电阻被旋转的位置不对,应该再顺时针再转动一点 HC6800-ES-V2.0 发表于 2019-7-28 15:50
发现可能的问题:
第一:你用的例子程序,你编译时没有错误吧?!如果有,就是头文件都用reg51.h或reg52.h ...
我转了一下就是格子变亮了 主要是例程上面的字母Pechin Science 没显示出来 不知道问题出哪了 你看我要的是两行显示它下面也没显示 HC6800-ES-V2.0 发表于 2019-7-28 15:33
调一下对比度就可以了
没显示Pechin Science这些个字母 丿洫涩灬夕阳 发表于 2019-7-28 16:40
没显示Pechin Science这些个字母
你的程序在我的板子上可以显示的,两排都显示同样的内容,对不对?但第一次没显示,是因为你用的reg52.h头文件,但我找的驱动程序用的是reg51.h头文件,编译的错,修改了就好了。
如果你还不能显示,我也没办法了。 谢了老哥 试了很长时间解决了 原理我也不知道怎么回事 具体操作如下:
1.定义的P0口改为P3口进行烧录一次;
2.再次将修改的P3口改为P0,再次烧录后 成功
很奇怪 哈哈 我也不知道为什么普中的开发板会这样。。。。。就是只有这样才能让1602正确显示
程序没有问题 硬件连线也没有问题 很奇怪。。。。而且断电后再打开显示的字符会消失,就由变成方块了,如果还要显示就要执行前面两个步骤。
板子的LCD电路是连在P0口的,还有如果程序是对的,但是仍然没法显示 你多调一下那个电阻 你买我公司的就可以了 丿洫涩灬夕阳 发表于 2019-8-2 17:33
谢了老哥 试了很长时间解决了 原理我也不知道怎么回事 具体操作如下:
1.定义的P0口改为P3口进行烧录一次 ...
你用的是52还是51的单片机,我用的是52的单片机,也是不能显示内容,只看到点阵方块
页:
[1]
2