搜索
bottom↓
回复: 5

C8051f020可以直接驱动5V的1602液晶吗?

[复制链接]

出0入0汤圆

发表于 2010-3-13 08:16:12 | 显示全部楼层 |阅读模式
如题:我的1602 Vcc脚接5V,而其它控制端口和数据端口都与020直接相连,这种接法正确吗?现在LCD显示全屏的7*5黑点,不知是程序有问题还是这样接法不对,请大家帮忙分析一下,在此先谢过了。

阿莫论坛20周年了!感谢大家的支持与爱护!!

一只鸟敢站在脆弱的枝条上歇脚,它依仗的不是枝条不会断,而是自己有翅膀,会飞。

出0入0汤圆

发表于 2010-3-13 08:55:04 | 显示全部楼层
可以这样接。应该是程序问题,都是黑点说明液晶写数据有错误,注意每写完一个数据,需要等待一段时间。

出0入0汤圆

 楼主| 发表于 2010-3-14 19:40:05 | 显示全部楼层
回复【1楼】sunhy
-----------------------------------------------------------------------

谢谢sunhy,我再调调看

出0入0汤圆

发表于 2010-5-5 18:21:32 | 显示全部楼层
不知道调试成功了没?
贴一下我的代码,给找到这里的人提供一个参考
需要注意的是:数据脚和RS/RW/Elcm据需要配置成推挽输出
/*===================================================================
                                        16x2 字符液晶屏驱动程序         
---------------------------------------------------------------------
连接线图:        LCM-----F020         LCM-----F020         LCM------F020
                DB0-----P7.0         DB4-----P7.4         RS-------P3.1
                DB1-----P7.1         DB5-----P7.5         RW-------P3.2
                DB2-----P7.2         DB6-----P7.6         Elcm-----P3.3
                DB3-----P7.3         DB7-----P7.7        
[注]:C8051F020的晶振频率为22.1184MHz
====================================================================*/

#define DataPort P7                                // 数据端口                
#define Busy        0x80
// 控制引脚定义
sbit RS = P3^1;
sbit RW = P3^2;
sbit Elcm = P3^3;

static void Delay(unsigned int Cnt)
{
        while (Cnt--);
}

/*=======================================================
写控制字符子程序: E=1 RS=0 RW=0
=======================================================*/
void LcdWriteCommand(unsigned char Cmd)
{
        Elcm = 1;
        RS = 0;       
        RW = 0;

        Delay(100);

        DataPort = Cmd;                                        // 送控制字子程序
       
        Elcm = 1;
        Elcm = 0;                        // 操作允许脉冲信号       
}

/*=======================================================
当前位置写字符子程序: E =1 RS=1 RW=0
=======================================================*/
void LcdWriteData(char Data)
{
        Elcm = 1;
        RS = 1;
        RW = 0;       
       
        Delay(100);          

    DataPort = Data;

        Elcm = 1;
        Elcm = 0;                // 操作允许脉冲信号       
}
       
/*=======================================================
显示光标定位
=======================================================*/
void LocateXY( char posx,char posy)
{
        unsigned char temp;
        temp = posx & 0xf;
        posy &= 0x1;
        if ( posy )
        {
                temp |= 0x40;
        }
        temp |= 0x80;
        LcdWriteCommand(temp);
}

/*=======================================================
显示字符串
=======================================================*/
void DispStr(unsigned char x,unsigned char y, unsigned char *str)         reentrant
{
        LocateXY(x,y);

        while(*str!='\0')
        {
                LcdWriteData(*str);
                str++;
        }
}

/*=======================================================
初始化程序, 必须按照产品资料介绍的初始化过程进行
=======================================================*/
void LcdIni( void )
{
           LcdWriteCommand(0x38);                        // 显示模式设置
        Delay(50000);
        LcdWriteCommand(0x38);                        // 显示模式设置
        Delay(50000);
        LcdWriteCommand(0x38);                        // 显示模式设置
        Delay(50000);
    LcdWriteCommand(0x08);                        // 显示关闭
        Delay(5000);
           LcdWriteCommand(0x01);                        // 显示清屏
        Delay(5000);
        LcdWriteCommand(0x06);                        // 显示光标移动设置
        Delay(5000);
        LcdWriteCommand(0x0c);                        // 显示开及光标设置
}

出0入0汤圆

发表于 2010-5-5 21:03:51 | 显示全部楼层
当然能,IO都不需要上拉,只要电源够5V就OK了。

出0入0汤圆

发表于 2010-8-30 15:06:49 | 显示全部楼层
我的1602可以显示,但显示的字符很模糊,调对比度也没用,要贴近看才能看见上面有显示,感觉是电压不够,不知道有没有人遇到过这样的问题。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-5-21 12:45

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表