微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 1602 不能显示字符的问题咨询

1602 不能显示字符的问题咨询

时间:10-02 整理:3721RD 点击:

我自己做了一个STC单片机的1602显示的板子,等元器件焊接好了之后,1602显示出了一点问题。值闪烁光标,不显示字符了。  我就对照了开发板量了一下他的管脚电压。
那个一个板子的RW是4.96  RS E是0.02 VO是0.89,    没有问题的板子的RS 为4.96  RW E 是0.03  VO是1.28   其它的都一样   这个有什么问题没有。  还有一个我两个板子的RW 和E管脚定义的接口不一样,但是我烧录的时候都在软件里面给改过来了的。
这个是什么原因呢,知道的同学麻烦给我讲一讲  谢谢

    这个是我画的原理图文件

     这个是烧录程序后的结果,只有一个光标在闪烁 。之前应该有一个数字 1 显示的
#include<reg51.h> //头文件
#define uchar unsigned char
#define uint unsigned int
sbit lcden=P2^5;
sbit lcdrs=P2^6;
sbit lcdrw = P2^7;
/*******************************************************************/
/*                                                                                                                                  */
/* 延时子程序     20M晶振  1MS                                                                                                              */
/*                                                                                                                                  */
/*******************************************************************/
void delay(uint time)
{
        int a,y;
        for(a=time;a>0;a--)
         for(y=206;y>0;y--);
}
void write_com(uchar com)
{
        lcdrs=0;
        lcdrw=0;
        lcden=0;
        delay(5);
        P0=com;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
}
void write_data(uchar date)
{
        lcdrs=1;
        lcdrw=0;
        lcden=0;
        delay(5);
        P0=date;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
}
void init()
{
        delay(5);
        lcden=0;
        write_com(0x38);
        delay(1);
        write_com(0x0f);
        delay(1);
        write_com(0x06);
        delay(1);
        write_com(0x01);
        delay(1);

}
void main()
{
        init();
        delay(10);
        write_com(0x80+0x43);
        write_data('1');
        while(1);                       
}

这个是我写的程序   本应该在光标前面显示一个数字  1的  但是没有显示
我把这个程序烧到开发板上面就没有问题

检查一下,原理图上,液晶引脚4 与5 RS RW你弄反了,可以在定义里交换一下这两个命令的次序试试。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top