液晶啥也不显示

2019-07-16 03:18发布

#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);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
千年胡杨
1楼-- · 2019-07-16 07:46
将读忙这一块取消试试。现在液晶屏处理速度頂很快,不需要读忙。
lstcspring
2楼-- · 2019-07-16 12:16
 精彩回答 2  元偷偷看……
物电092
3楼-- · 2019-07-16 16:47
lstcspring 发表于 2012-12-7 22:48
调一下背光

我下载其他的人的程序就能看见了,这个不是背光的问题吧?
物电092
4楼-- · 2019-07-16 18:01
千年胡杨 发表于 2012-12-7 20:14
将读忙这一块取消试试。现在液晶屏处理速度頂很快,不需要读忙。

上面的程序不是已经去掉了读忙了吗?还是不行啊
水中天
5楼-- · 2019-07-16 20:52
huanghaoting
6楼-- · 2019-07-16 20:54
写命令跟写数据函数那里没延时吧!!io=x后面加个延时看看。。

一周热门 更多>