微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 液晶啥也不显示

液晶啥也不显示

时间:10-02 整理:3721RD 点击:
#include<reg52.h>
sbit rs=P1^0;
sbit rw=P1^1;
sbit e=P2^5;
#define uchar unsigned char
#define io P0
//#define w_data(x) rs=1;rw=0;e=0;io=x;e=1;e=0          //写数据
//#define w_command(x) rs=0;rw=0;e=0;io=x;e=1;e=0 //写命令字
bit bit_busy;
uchar table1[]="yang ping";           //第一行要显示的字符组
uchar table2[]="is just my lover";  //第二行要显示的字符组
bit busy()                   //提取忙信号位
{
        bit Bit;
        rs=0;
        rw=1;
        e=0;
    e=1;
        if (io&0x80)
        Bit=1;
        else
        Bit=0;
        return Bit;
}
void  w_data(uchar x)
{
        rs=1;rw=0;e=0;io=x;e=1;e=0;
}
void w_command(uchar x)
{
         rs=0;rw=0;e=0;io=x;e=1;e=0;
}
void delayms(unsigned int dly)
{
        unsigned int  x,y;
        for(x=dly;x>0;x--)
                for(y=124;y>0;y--);
}
/*void  delayms(uchar n)
{
        uchar a,j;
        while(n--)
        {
                for(a=0;a<6;a++)
                for(j=0;j<100;j++);
        }
}  */
void init()           //初始化
{
        delayms(15);
        w_command(0x38);
        delayms(5);
        w_command(0x38);
        delayms(5);
        w_command(0x38);       
//        while(bit_busy=busy());
        w_command(0x38);
//        while(bit_busy=busy());
    w_command(0x08);
//        while(bit_busy=busy());
    w_command(0x01);
//        while(bit_busy=busy());
    w_command(0x06);
//        while(bit_busy=busy());
    w_command(0x0C);
}
void main()
{
        uchar i;
        init();         
//        while(bit_busy=busy());
    w_command(0x80);  //写第一行首地址       
        for(i=0;i<16;i++)                 //写入数值
        {
//                while(bit_busy=busy());
        w_data(table1[i]);                
        }
//        while(bit_busy=busy());
    w_command(0x80+0x40);   //写第二行首地址       
        for(i=0;i<16;i++)                           //写入数值
        {
//                while(busy());
        w_data(table2[i]);                
        }
        while(1);
}

将读忙这一块取消试试。现在液晶屏处理速度頂很快,不需要读忙。

调一下背光

我下载其他的人的程序就能看见了,这个不是背光的问题吧?

上面的程序不是已经去掉了读忙了吗?还是不行啊

写命令跟写数据函数那里没延时吧!io=x后面加个延时看看。

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

网站地图

Top