1. 首页 > 电脑手机 >

lcd1602液晶显示调试问题 lcd1602显示屏

LCD1602液晶显示出现乱码,如何解决?

你把跟lcd数据连接的一些外设都去掉 程序的话\x0d\x0a\x0d\x0a#include\x0d\x0a#include\x0d\x0a#define uchar unsigned char\x0d\x0a#define uint unsigned int\x0d\x0a//这三个引脚参考资料\x0d\x0asbit LCD1602_EN=P2^7; //1602使能引脚\x0d\x0asbit LCD1602_RW=P2^6; //1602读写引脚 \x0d\x0asbit LCD1602_RS=P2^5; //1602数据/命令选择引脚\x0d\x0a\x0d\x0a/********************************************************************\x0d\x0a* 名称 : LCD1602_delay()\x0d\x0a* 功能 : 延时,延时时间大概为5US。\x0d\x0a* 输入 : 无\x0d\x0a* 输出 : 无\x0d\x0a***********************************************************************/\x0d\x0avoid LCD1602_delay()\x0d\x0a{\x0d\x0a _nop_();\x0d\x0a _nop_();\x0d\x0a _nop_();\x0d\x0a _nop_();\x0d\x0a _nop_();\x0d\x0a}\x0d\x0avoid LCD1602_Delay(uint i)\x0d\x0a{\x0d\x0a uint x,j;\x0d\x0a for(j=0;j

lcd1602液晶显示调试问题 lcd1602显示屏lcd1602液晶显示调试问题 lcd1602显示屏


如下程序

数组中写了uchar table1[]=" current time ";

uchar table2[]=" current data ";

实际显示出错current time 后面多了乱码

current data 后面多了乱码

main.c文件

#include "config.h"

#include "lcd1602.h"

uchar table1[]=" current time ";

uchar table2[]=" current data ";

void main(void)

{uchar i, j;

Lcd1602_Init ();

for(i=0;i<16;i++)

{Lcd1602_Write_cmd(0x80+i);

Lcd1602_Write_dat(table1[i]);

}for(j=0;j<16;j++)

{Lcd1602_Write_cmd(0x80+0x40+j);

Lcd1602_Write_dat(table2[j]);

}while(1);

}config.h文件

#ifndef __CONFIG_H_

#define __CONFIG_H_

#define uchar unsigned char

#define uint unsigned int

#include

#include

void Lcd1602_Init ();

void Lcd1602_Write_cmd(uint cmd);

void Lcd1602_Write_dat(uint dat);

void Lcd1602_Delay1ms(uint c);

#endif

delay.c文件

#include "config.h"

void Lcd1602_Delay1ms(uint c) //??? 0us

{uchar a,b;

for (; c>0; c--)

{for (b=199;b>0;b--)

{for(a=1;a>0;a--);

}}

}delay.h文件

#ifndef __LCD1602_DELAY1MS_H_

#define __LCD1602_DELAY1MS_H_

void Lcd1602_Delay1ms(uint c);

#endif

lcd1602.c文件

#include "config.h"

#include "delay.h"

***it LCD1602_E=P2^7;

***it LCD1602_RW=P2^5;

***it LCD1602_RS=P2^6;

#define LCD1602data P0

void Lcd1602_Init ()

{Lcd1602_Delay1ms(15);

Lcd1602_Write_cmd(0x38);

Lcd1602_Write_cmd(5);

Lcd1602_Write_cmd(0x38);

Lcd1602_Write_cmd(0x08);

Lcd1602_Write_cmd(0x01);

Lcd1602_Write_cmd(0x06);

Lcd1602_Write_cmd(0x0c);

}void Lcd1602_Write_cmd(uint cmd)

{LCD1602_RS=0;

LCD1602_RW=0;

LCD1602_E=0;

Lcd1602_Delay1ms(1);

LCD1602data=cmd;

Lcd1602_Delay1ms(1);

LCD1602_E=1;

Lcd1602_Delay1ms(1);

LCD1602_E=0;

Lcd1602_Delay1ms(1);

}void Lcd1602_Write_dat(uint dat)

{LCD1602_RS=1;

LCD1602_RW=0;

LCD1602_E=0;

Lcd1602_Delay1ms(1);

LCD1602data=dat;

Lcd1602_Delay1ms(1);

LCD1602_E=1;

Lcd1602_Delay1ms(1);

LCD1602_E=0;

Lcd1602_Delay1ms(1);

}lcd1602.h

#ifndef __LCD1602_H_

#define __LCD1602_H_

void Lcd1602_Init ();

void Lcd1602_Write_cmd(uint cmd);

void Lcd1602_Write_dat(uint dat);

#endif

`

具体你可以看一下:

1 wstring()这个函数是如何运作的,显示一个数组的结束标志是什么。word2本身定义是数组还是字串,注:字串的结束标志是/0. 数组的结束和索引使用有关。

蓝底白字LCD1602液晶屏显示不清晰,必须斜着看才能看清,是不是对比度的问题,该如何设置?

有几个方面的问题 一是对比度调的浅 二是视角不对 三是LCD1602的质量部怎么好

是电压的问题,液晶翻转因电压的问题没有翻转到位,或过头了

调整下VCOM电压,需要外接VR

用lcd1602显示,显示程序没错,接线没错,就是显示不出来,求高人指点原因,369521148,这是我的qq,

1.可能是显示屏已经损坏,建议拿一个确保好的1602进行测试。

2.程序可能还存在错误,建议进行单步查找,查看每一步的结果是不是与自己所想一致,这样才能确保程序真的没错。

3.检查接线,用万用表逐一检查导线,查看导线是否导通。接着再细致对照电路图进行接线检查,建议从一个节点出发一个部分一个部分的进行连接(或检查),最后进行整体的检查。

4.检查与1602连接的其他器件是否完好,如和单片机连接,查看单片机是否良好。

5.确保屏是好的前提下,如果全不亮,看一下15 16引脚的解法是否正确,它们主管显示屏的亮度 再看3它管对比度。

建议你先用protues仿真试试吧!!!如果还是没显示的话就是你的程度有问题

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至836084111@qq.com 举报,一经查实,本站将立刻删除。

联系我们

工作日:9:30-18:30,节假日休息