微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 新手求助~~~(LCD1602)也不知道哪出错了

新手求助~~~(LCD1602)也不知道哪出错了

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

编译也通过了,可是下载到单片机显示不出来。我看了下有一个warning:can't not  open file 'led.h'
可是我明明已经写了#include"led.h"了啊,~~~哪位大神来教教我。

你不把程序发出来,谁知道你什么问题

没有添加头文件路径把

我复制程序就发不出来帖了,它老显示我没权限,可是我的程序里面也没带网络链接。

头文件路径怎么添加啊?学单片机七章了也没见有教过这个

这个就是程序:
#include<reg51.h>
#include"lcd.h"
#define uchar unsigned char
#define uint unsigned int
uchar code table[]="I LOVE YOU!";
uchar code table1[]="football";
sbit lcden=P2^7;
sbit lcdrs=P2^6;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                          
uchar num;
void delayms(uchar xms)
    {         uint i,j;
         for(i=xms;i>0;i--)
         for(j=110;j>0;j--);
    }
void write_com(uchar com)
    { lcdrs=0;
                 P0=com;                                                                                                                                                                                                                                                                                                                                                                                          
                 delayms(5);                                                                                                                                                                                                                                                                                                                                                                                  
                 lcden=1;                                                                                                                                                                                                                                                                                                                                                                                         
                 delayms(5);                                                                                                                                                                                                                                                                                                                                                                               
                 lcden=0;                                                                                                                                                                                                                                                                                                                                                                                 
                                }
         void write_data(uchar date)                                                                                                                                                                                                                                                                                                                                                                                                                                  
                                                                                                                                                                                                                                                                                                                                                                                                       
        { lcdrs=1;
                P0=date;                                                                                                                                                                                                                                                                                                                                                                                                         
                 delayms(5);                                                                                                                                                                                                                                                                                                                                                                                               
                 lcden=1;                                                                                                                                                                                                                                                                                                                                                                                                       
                 delayms(5);                                                                                                                                                                                                                                                                                                                                                                                  
                 lcden=0;                                                                                                                                                                                                                                                                                                                                                                                                       
                        }
        void chushi()                                                                                                                                                                                                                                                                                                                                                                                                          
        { lcden=0;                                                                                                                                                                                                                                                                                                                                                                                                                 
                    write_com(0x38);                                                                                                                                                                                                                                                                                                                                                                                                                               
                                                                                                                                                                                                                                                                                                                                                                                                                          
                write_com(0x0c);
                write_com(0x06);
                write_com(0x01);
                                }
        void main()
        {         chushi();                                                                                                                                                                                                                                                                                                                                                                          
                                                                                                                                                                                                                                                                                                                                                                                                                                       
                                                                                                                                                                                                                                                                                                                                                                                                                                               
         write_com(0x80);
         for(num=0;num<11;num++)
                                                                                                                                                                                                                                                                                                                                                                                                                  
       { write_data(table[num]);
              delayms(5);
                  }
                                                                                                                                                                                                                                                                                                                                                                                                                                                  
                                                                                                                                                                                                                                                                                                                                                                                                                                                       
                write_com(0x80+0x40);
                        for(num=0;num<9;num++)
                                                                                                                                                                                                                                                                                                                                                                                                                       
           { write_data(table1[num]);
           delayms(5);
           }
           while(1);
           }
编译也通过了,但烧录了没效。

编译过了,只能说明没有语法错误,功能逻辑错误不会报错

应该是没有将头文件添加到文件下,你先将头文件移动工程文件夹内,然后右键工程名选择add files to group....将头文件加进来 应该就是没什么问题

关键是我不知道头文件在哪。

为什么reg51.h就不用这么操作?lcd.h就需要这么操作?

需要自己编写lcd.h并存放到自己的工程文件夹

好像 是 #include <reg51.h>是绝对路径 #include "lcd.h"是相对路径。
< >引用的是编译器的类库路径里面的头文件
" "引用的是你程序目录的相对路径中的头文件
lcd.h这样的头文件一般都是文件声明之类的 自己写一个就好了  

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

网站地图

Top