微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 求教大神们,为什么我这个LCD1602的程序在板子上显示不出来

求教大神们,为什么我这个LCD1602的程序在板子上显示不出来

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

#include <reg51.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
uchar code table[]={"I LOVE YOU!"};
uchar code table1[]={"wwwgooglecom.."};
sbit lcdrs=P2^5;   //复位端
sbit lcdrw=P2^6;   //写数据端
sbit lcden=P2^7;        //使能端
void delay(uint ms)
{         
        uint i;
        while(ms--)
        {
                for(i=0;i<250;i++)
                {
                        _nop_();
                        _nop_();
                        _nop_();
                        _nop_();
                }
        }
}
void writecom(uchar com)
{
        lcdrs=0;
        lcdrw=0;
        lcden=0;
        _nop_();
        _nop_();
        P0=com;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
}
void writedata(uchar dat)
{
        lcdrs=1;
        lcdrw=0;
        lcden=0;
        _nop_();
        _nop_();
        P0=dat;
        delay(5);
        lcden=1;
        delay(5);
        lcden=0;
}
void init()
{
        writecom(0x38);
        delay(5);
        writecom(0x0c);
        delay(5);
        writecom(0x06);
        delay(5);
        writecom(0x01);
        delay(5);
}
void main()
{
                uint i;
                init();
                delay(10);
                writecom(0x80);
                i=0;
                while(table!='\0')
                {
                        writedata(table);
                        i++;
                }

                writecom(0x80+0x40);
                i=0;
                while(table1!='\0')
                {
                        writedata(table1);
                        i++;
                }
                while(1);
}

uchar code table1[]={“wwwgooglecom.."};双引号不对。writedata(table);函数数使用不对,写一字节,却被你用来写字符串,要用指针加循环的方法,

延时函数看看!

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

网站地图

Top