关于单片机,C语言,用1602液晶显示时,两个格子出现四条横线

具体是我用1602显示传感器输出后AD转换的值,出现下面的状况

下面是程序部分,e,f,g,h分别对应液晶第一行的四个数字,val是AD转换后的值,这种情况是怎么了
这样则只有g对应的位置显示四行横线

e=val/1000%10;
f=val/100%10;
g=val/10%10;
h=val%10;

参考追问

只有g对应的位置显示四行横线

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-11-27
我在调试LCD1602的时候也遇到了,解决方法:1.把'\0'去掉 2.把显示字符定义在数组内(数组内没有\0)。这样就完美的解决了!本回答被网友采纳

51单片机 控制1602 液晶 遇到问题 求高手指教
这可能是程序的延时问题,你要把显示的时间加大一点。如果是C语言则在主程序delay()中的数改大点。

在单片机与1602连接后出现部分字符显示不出来
看是没有显示清0,才出现的情况不过你的程序是有屏幕清0的指令(write_com(0x01))。如果程序是对的,你试试调一下实验板上边的精调电阻看看,这应该是你液晶显示的对比度问题。

单片机控制的LCD1602数字钟的C语言编程
而我们却不容易主动地去控制写入数据的速度,所以1602使用忙信号就有必要了,每次单片机只有检测到忙信号为0,即不忙时,才向1602发数据。比如要显示abc,则这样操作,写a---判忙---写b---判忙---写c---判忙。这样就不会出错了。这几年推出的lcd,像手机的屏响应速度就比较快,而1602这个古董...

LCD1602液晶显示出现乱码,求高手解惑!急!!!谢谢
define uchar unsigned char define uint unsigned int \/\/这三个引脚参考资料 sbit LCD1602_EN=P2^7; \/\/1602使能引脚 sbit LCD1602_RW=P2^6; \/\/1602读写引脚 sbit LCD1602_RS=P2^5; \/\/1602数据\/命令选择引脚 \/ 名称 : LCD1602_delay()功能 : 延时,延时时间大概为5US。输入 : 无 输出...

关于单片机液晶1602的程序片段问题
应该不是判断忙碌或者不只是判断忙碌,这个语句应该是送了一串命令进去 \/\/HD44780 LCD DRIVER include <AT89X52.H> include <ctype.h> \/\/LCD Commands defineLCD_CLS1\/\/Clears entire display and sets DDRAM address 0 defineLCD_HOME2\/\/Sets DDRAM address 0 in address counter.defineLCD_SETMODE...

单片机 1602 液晶屏 检测是否忙对的c程序,看不懂,望详解
void busy_test()\/\/检测lcd是否忙{ u8 st; \/\/忙状态标志 0:不忙,0x80:忙 if(f_init==0) \/\/如果某个东西没有初始化 { return; \/\/ 退出忙判断,不执行下面的代码 } lcd=0xff; \/\/ 先往数据端口赋高电平,便于读数据 rs=0; \/\/ 读忙设置 ...

1602 液晶 我用1602液晶显示 ..单片机驱动继电器 继电器在来驱动 380...
感性负载是储能元件。如继电器的线圈,在单片机IO口停止输出的时候,可能会有反向电动势从线圈向单片机IO口倒灌,轻则干扰单片机正常运行,重则可能会击穿单片机IO口。所以不能直接连接。如何消除影响呢?1)12伏继电器线圈两端要并联续流二极管,用来保护驱动该继电器的晶体管或驱动IC。(2)继电器触点用来通...

高手指导一下:编写程序单片机报警并且用1602液晶显示。...
sbit lcdrs=P2^4;\/\/数据命令端 sbit lcdrw=P2^5;\/\/读写选择端 uchar SecondLine[]=" 自己写东西进来,如:NBA ";\/\/他们两个用于液晶显示的数组 uchar FirstLine[]=" 同上 ";void delay(uchar z){ uchar x,y;for(x=z;x>0;x--)for(y=110;y>0;y--);} void xs...

51单片机定时器会影响1602液晶显示吗?我用温度控制电机转速,用定时器...
所以不能正常显示。也就是说在LCD显示的子函数中延时的时间太长,每次当定时器进入中断时,想要进入LCD显示,但是LCD显示函数的时间太长,导致还没有开始显示,定时器就在一次的进入了中断,这样LCD就不能正常显示了。

高手指导一下:编写程序单片机报警并且用1602液晶显示。如何调用?_百度...
LCD_string(0, String1);LED = ON;BEEP = ON;TR0 = 1;} if(Ctr2 == 0) { LCD_string(0, String2);LED = ON;BEEP = ON;TR0 =1;} if(Ctr3 == 0) { LCD_string(0, String3);LED = ON;BEEP = ON;TR0 = 1;} } } } void timer0() interrupt 1 { uchar tt;TH0 ...

相似回答