//单片机驱动1602液晶显示的的仿真,可以参考一下。
#include<reg52.h>
#include<intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit E=P3^2;
sbit RW=P3^3;
sbit RS=P3^4;
void delay() //延时函数
{
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
}
bit Busy(void)
{
bit busy_flag = 0;
RS = 0;
RW = 1;
E = 1;
delay();
busy_flag = (bit)(P1 & 0x80);
E = 0;
return busy_flag;
}
void wcmd(uchar del)
{
while(Busy());
RS = 0;
RW = 0;
E = 0;
delay();
P1 = del;
delay();
E = 1;
delay();
E = 0;
}
void wdata(uchar del)
{
while(Busy());
RS = 1;
RW = 0;
E = 0;
delay();
P1 = del;
delay();
E = 1;
delay();
E = 0;
}
void L1602_init(void)
{
wcmd(0x38);//设置16*2显示,5*7点阵,8位数据口
wcmd(0x0c);
wcmd(0x06);
wcmd(0x01);
}
void L1602_char(uchar hang,uchar lie,char sign)
{
uchar a;
if(hang == 1) a = 0x80;
if(hang == 2) a = 0xc0;
a = a + lie - 1;
wcmd(a);
wdata(sign);
}
void L1602_string(uchar hang,uchar lie,uchar *p)
{
uchar a,b=0;
if(hang == 1) a = 0x80;
if(hang == 2) a = 0xc0;
a = a + lie - 1;
while(1)
{
wcmd(a++);
b++;
if((*p == '\0')||(b==16)) break;
wdata(*p);
p++;
}
}
void Main()
{
L1602_init();
L1602_string(1,1,"0123456789 ");
L1602_string(2,1," ABCDEFGHIJ ");
L1602_char(2,15,'O');
L1602_char(2,16,'K');
while(1);
}
52单片机烧入程序,1602只亮,不显示
1602只亮不显示字符有可能的问题是:1、对比度调整不合适,调整一下电路参数就可以解决。2、软件问题,这个需要看到源程序才知道问题所在。
为什么单片机的1602显示器有亮光,却没有显
有亮光,说明1602的背光灯打开了,没有显示内容,说明没有向1602送显示内容,或者发送了错误信号。
51单片机 LCD1602只亮不显示东西
对于LCD1602不显示字符,一是先检查仿真电路对不对,再检查程序中定义的控制引脚与仿真图是否相符。因很多人都是从网上找的程序,与自己的仿真图并不相符,需要改程序的引脚定义,但没有改。二就是检查程序是不是写错了,虽然引脚定义对,但显示字符的程序不对。你没有发仿真图,所以,看程序是找不到...
芯片和显示屏连接后显示器要亮但不显示数值是什么原因?
1、可能是单片机程序、时序有问题,也有可能是1602A坏了。2、可能部件松动或者芯片虚焊导致的加电无显故障。3、内存松动或者内存本身有问题。
1602液晶显示的单片机为什么屏幕亮但不显示数字
\/\/单片机驱动1602液晶显示的的仿真,可以参考一下。include<reg52.h> include<intrins.h> define uchar unsigned char define uint unsigned int sbit E=P3^2;sbit RW=P3^3;sbit RS=P3^4;void delay() \/\/延时函数 { _nop_();_nop_();_nop_();_nop_();_nop_();} bit Busy(voi...
为什1602的液晶显示不能显示数字,该怎么修改呢?
实物单片机,在写命令和数据时,是要查询busy状态的,不查询,延时就得长点,调延时程序时,把延时实参改成10,不行改成20,只好试一试了。
...其中遇到LCD1602能亮,调节对比度,但是没显示字符。求指点。_百度知...
1.检查硬件管脚是否接错 2.仿真和实际是有差别的,以前我做过实际的可以而仿真的不行,仿真时写函数中等待LCD1602响应用延时函数代替则仿真可行,程序上注意写函数的时序
在单片机与1602连接后出现部分字符显示不出来
呵呵、、、看了这程序你是应该是看郭天祥单片机学习资料的,看是没有显示清0,才出现的情况不过你的程序是有屏幕清0的指令(write_com(0x01))。如果程序是对的,你试试调一下实验板上边的精调电阻看看,这应该是你液晶显示的对比度问题。
刚刚买了一块1602的液晶屏,只有背光灯亮,液晶屏没有显示,并且调节对比...
楼主是否考虑过或验证过延时器程序与液晶屏有没有任何冲突呢?背光灯亮,说明高压板、背光灯管等等基本上没有问题,没有显示很可能是AD驱动板没有工作;从对比度不能调节这一点来看,有可能是AD驱动板的MCU工作异常,或它的电源部分不正常,使得AD板不能输出高电平去控制高压板的开关极(此时有背光,...
单片机1602只显示一排小方块
1602液晶显示模块有个特性,就是在通电后,如果没有正确执行初始化操作,屏幕将会出现第一行点阵全部点亮、第二行点阵不亮的现象,此时除了初始化操作以外,1602液晶屏不接收其它操作指令。因此,在驱动1602液晶屏的时候出现这种情况,应该重点检查控制电路(单片机或者其它控制器)是否正确输出了初始化的信号...