打印
[51单片机]

本人用ht1621驱动液晶显示屏就是点不亮屏幕,求大神指教。

[复制链接]
3723|18
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
一个小黄人|  楼主 | 2016-8-5 08:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
# include <reg51.h>
# include <intrins.h>
# include <stdio.h>

#define uint unsigned int
#define uchar unsigned char


sbit lcddata= P2^2;        //液晶数据端口
sbit lcdwr=P2^3;         //写操作端口
sbit lcdcs=P2^4;        //片选输入  为低的时候复位初始化且数据,命令无效。高的时候反之。


#define        BAIS 0X52
#define        SYSDIS 0X00
#define        SYSEN 0X02
#define        LCDOFF 0X04
#define        LCDON 0X06
#define        XTAL 0X28
#define        RC256 0X30
#define        TONEON 0X12
#define        TONEOFF 0X10
#define        WDTDIS 0X0A

/*****************************************段码*************************************************/
uchar code TAB[]={0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};

/**************延时程序1***************/
void delay1(uchar x)
{
        uchar i,j;
        for(i=0;i<x;i++)
        for(j=0;j<120;j++);
}  

/********************延时程序2**************/
void delay(uchar y)
{
        while(--y);

}

/*********************写数据*********/
void wr_data(uint cnt,uchar date)
{          
                uint i;
        for(i=0;i<cnt;i++)
        {
                lcdwr=0;
                delay(10);
                lcddata=(0x80&date);
                delay(10);
                lcdwr=1;
                delay(5);
                date<<=1;               
        }
}

/*********************写命令**********/
void wr_com(uchar com)
{
        lcdcs=0;
        delay(5);
        wr_data(0x80,4);
        wr_data(com,8);
        lcdcs=1;
        delay(5);
}
   
/********************液晶初始化程序**************/
void init()
{
        lcddata=1;
        lcdwr=1;
        lcdcs=1;
        wr_com(BAIS);
        wr_com(RC256);       
        wr_com(SYSDIS);
        wr_com(SYSEN);
        wr_com(LCDON);
//        wr_com(WDTDIS);
}

void display(uchar m,uchar n)
{
        m<<=2;
lcdcs=0;
delay(5);
wr_data(0xA0,3);
wr_data(m,6);
wr_data(n,4);
lcdcs=1;
delay(5);
}

void cl_scren(uchar l)
{
        uchar o=0;
        for(l=0;l<32;l++)
                {
                display(0x00,o);
                o++;
                }       
}


/*********************主程序*************/
void main ()
{
        init();
        cl_scren();
        display(0xff,3);       
        while(1);
}

相关帖子

沙发
一个小黄人|  楼主 | 2016-8-5 09:37 | 只看该作者
有人进来看看吗????

使用特权

评论回复
板凳
dirtwillfly| | 2016-8-5 17:31 | 只看该作者
用逻辑分析仪或示波器观察一下时序看看

使用特权

评论回复
地板
QQ178960471| | 2016-8-11 15:16 | 只看该作者
???

使用特权

评论回复
5
ayb_ice| | 2016-8-11 16:37 | 只看该作者
网上一大堆

使用特权

评论回复
评分
参与人数 1威望 +1 收起 理由
一个小黄人 + 1 很给力!
6
xgliyouquan| | 2016-8-11 22:28 | 只看该作者
本帖最后由 xgliyouquan 于 2016-8-11 22:29 编辑

从新从网上找个成熟能用的程序,改下IO口就行了,或者百度搜《51单片机轻松入门-基于STC15W4K系列》也可找到包括液晶的免费例程和视频下载地址。

使用特权

评论回复
7
Tony0201| | 2016-8-18 22:26 | 只看该作者
void wr_data(uint cnt,uchar date)这个函数第1个变量是长度,第2个变量是数据;调用的时候反了。

使用特权

评论回复
8
长的帅怪我落| | 2016-8-23 15:23 | 只看该作者
百度一下大把点亮液晶屏的,然后你把io口一改,恭喜你 就是你的了

使用特权

评论回复
9
heishe1989| | 2016-8-24 15:05 | 只看该作者
首先确保时序没有问题,然后对照初始化指令一个个检查,网上的东西虽然可以复制,不过自己做出来的才有收获

使用特权

评论回复
10
guoxiao69| | 2016-8-24 16:11 | 只看该作者
首先确定你的硬件电路没问题
然后确定你的程序能够正常的控制相应的管脚输出相应的波形(使用示波器观察下)
最后根据数据手册说明检查一遍程序

使用特权

评论回复
11
ningling_21| | 2016-8-24 16:29 | 只看该作者
可以用网上的例程看看

使用特权

评论回复
12
一个小黄人|  楼主 | 2016-8-24 20:29 | 只看该作者
ningling_21 发表于 2016-8-24 16:29
可以用网上的例程看看

谢谢,液晶已经搞定了。我能再请教您一个问题吗???

使用特权

评论回复
13
一个小黄人|  楼主 | 2016-8-24 20:31 | 只看该作者
ningling_21 发表于 2016-8-24 16:29
可以用网上的例程看看


使用特权

评论回复
14
一个小黄人|  楼主 | 2016-8-24 20:32 | 只看该作者
ningling_21 发表于 2016-8-24 16:29
可以用网上的例程看看

他这种按键接法,我搞了一个礼拜。试了好多种方法,您能指点一下吗??

使用特权

评论回复
15
QQ178960471| | 2016-9-4 19:49 | 只看该作者
还没搞定?

使用特权

评论回复
16
sjpsjp| | 2016-11-26 14:11 | 只看该作者
一个小黄人 发表于 2016-8-24 20:29
谢谢,液晶已经搞定了。我能再请教您一个问题吗???

你好  你是怎么解决的  我也是点不亮液晶屏

使用特权

评论回复
17
xushuo888| | 2018-8-4 10:19 | 只看该作者
给你资料和驱动程序参考,需要也可以提供样品,完全替代HT1621B

VK1621B-LCD液晶显示驱动IC.pdf

1.41 MB

LQFP48 LQFP44 SSOP48 DIP28

VK1622液晶驱动IC资料.pdf

623.5 KB

QFP64 LQFP64 LQFP44 LQFP52 LQFP48

VK1622B LQFP48液晶驅動IC.pdf

600.82 KB

LQFP48

使用特权

评论回复
18
szbanqiu1688| | 2019-2-21 11:41 | 只看该作者
我这里有一份液晶驱动的详细选型表,可以参考看看,希望能帮到您


VINTEK元泰品牌---各种常用LCD驱动IC选型表.pdf

185.63 KB

VINTEK元泰品牌---各种常用LED驱动IC选型表.pdf

139.73 KB

使用特权

评论回复
19
tian_000| | 2019-10-25 18:52 | 只看该作者
一个小黄人 发表于 2016-8-24 20:29
谢谢,液晶已经搞定了。我能再请教您一个问题吗???

能说下怎么搞定液晶的么?程序哪儿有问题?还是硬件问题?多谢!

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

66

帖子

1

粉丝