标题: 请问为什么我的这个关于 LCD1602的程序 不能显示呀 [打印本页]

作者: ataime    时间: 2014-10-29 23:32
标题: 请问为什么我的这个关于 LCD1602的程序 不能显示呀
请问为什么我的这个关于 LCD1602的程序 不能显示呀
#include<reg51.h>
#define uchar unsigned char
#define uint unsigned int
#define GPIO_LCD P0
sbit LCDE=P2^7;
sbit RW=P2^5;
sbit RS=P2^6;

unsigned char Puzh[]=" pechin science";
void lcdwritecom(unsigned char);
void lcdwritedata(unsigned char);
void lcdinit();
void delay1ms(uint);




                                                             
void lcdwritdata(uchar dat)
{
RS=1;
RW=0;
GPIO_LCD=dat;
delay1ms(10);
LCDE=1;
delay1ms(10);
LCDE=0;
}



void lcdwritecom(uchar com)
{
        RS=0;
        RW=0;
        GPIO_LCD=com;
        delay1ms(10);
        LCDE=1;
        delay1ms(10);
        LCDE=0;
}






void lcdinit()
{
        lcdwritecom(0x38);
        lcdwritecom(0x0c);
        lcdwritecom(0x06);
        lcdwritecom(0x01);
        lcdwritecom(0x80);
}




void delay1ms(uint c)
{
    int a,b;
        for (; c>0; c--)
        {
                 for (b=2;b>0;b--)
                 {
                          for(a=10;a>0;a--)
                        {
                        };
                 };      
        };         
}




void main(void)
{
                unsigned char i;
        lcdinit();

        for(i=0;i<16;i++)
        {
         lcdwritedata('A');
        }

        while(1);
}


作者: liaolinhui    时间: 2014-10-30 00:43
写命令和写数据前先让LCDE=0
作者: 小玲子zhl    时间: 2014-10-30 12:43
你这个程序是不是还少了些东西,读lcd忙状态,写地址,你也没写啊
作者: gaozhaohong    时间: 2014-10-30 16:32
除了缺少一些必要的程序代码外,RS和RW只间必须加延时。否则有时就真不显示。
作者: skyhanfeng    时间: 2014-10-30 22:53
还差取数据,和取数据命令函数。
作者: dgahz    时间: 2014-10-31 11:24
void lcdwritedata(unsigned char);       //你的函数声明
void lcdwritdata(uchar dat)                //你的函数体
      lcdwritedata('A');                       //你的函数调用
这是我复制你的,你仔细看看问题在哪,不用我说了吧!这样编译无错误,下载就是没显示,骗倒一大片高人啊!
作者: dgahz    时间: 2014-10-31 11:26
多一个e少一个e的问题,就这么简单。
作者: dgahz    时间: 2014-10-31 11:36
尽量做到0错误0警告。
作者: wind02072107    时间: 2015-1-25 22:19
主要是没有写入CGRAM的地址吧!

作者: woaiwm    时间: 2015-1-30 14:23
大神,我也遇到了像你这样的问题,请问你现在解决了这个问题吗?我都快被这1602弄疯了!




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1