打印
[PIC®/AVR®/dsPIC®产品]

关于ht1621的使用....

[复制链接]
4071|16
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Rain_King|  楼主 | 2013-9-13 23:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这个芯片搞了好久了,原先是可以正常初始化HT1621的,在我写完其他模块后,在回来的时候,就再也无**常初始化HT1621,导致HT1621无法驱动LCD屏。
我用Debug模式调试的时候,发现传送的数据完全和需要的一模一样,但是就是没**常工作,说一下HT1621的现象:所有的SEG和COM都是高电平。
所使用的单片机是:pic18f25k22,晶振是16M,由于是两个HT1621,而且是公用数据线和写入线。
程序很简单,就是初始化屏幕,然后关闭屏幕,程序很简单如下:

#include<pic18.h>
#include<delays.h>

#define LCD_DA PORTCbits.RC4                  //这个是和ht连着的脚
#define LCD_WR PORTCbits.RC5
#define LCD_CS2 PORTCbits.RC6
#define LCD_CS1 PORTCbits.RC7


#define POWER_CTR PORTAbits.RA4         //这个是控制电源开关的,可以忽略

#define uint unsigned int
#define uchar unsigned char

#define WRITECMD 0x80
#define WRITEDATA 0xA0

#define BIAS 0x52             //0b1000 0101 0010 1/3duty 4com
#define SYSEN 0X02         //0b1000 0000 0010 打开系统振荡器
#define LCDOFF 0X04       //0b1000 0000 0100 关LCD偏压
#define LCDON 0X06        //0b1000 0000 0110 打开LCD偏压


void TransmitToHtH(uchar Data,uchar Digit);       //传送数据
void WriteCmd(uchar cmd);                                //传送命令

void main()
{
         
         TRISA4=0;           //这里是pic脚的设置

         TRISC4=0;
         TRISC5=0;
         TRISC6=0;
         TRISC7=0;
         
         ANSC4=0;
         ANSC5=0;
         ANSC6=0;
         ANSC7=0;
                 
         POWER_CTR=1;             //这个是打开电源的.....可以忽略
         
         Delay1KTCYx(200);            //Delay50ms   使用的是pic自带的延时函数
        
         LCD_CS1=0;
         LCD_CS2=0;
         LCD_DA=0;
         LCD_WR=0;

         Delay1KTCYx(200);        //Delay50ms

         LCD_CS1=1;
         LCD_CS2=1;                  //屏蔽掉CS2,就是第二个HT1621
         LCD_DA=1;
         LCD_WR=1;
         Delay1KTCYx(200);    //Delay50ms   

        WriteCmd(BIAS);
         WriteCmd(SYSEN);
         WriteCmd(LCDON);
         Delay1KTCYx(200);           //Delay50ms
         WriteCmd(LCDOFF);

         while(1)
         {
                     NOP();
         }        

}

void TransmitToHtH(unsigned char Data,unsigned char Digit)
{
         uchar i,DataTem;
         DataTem=Data;
         for(i=0;i<Digit;++i)
         {
                 
                 if((DataTem&0x80)==0)
                 {
                         LCD_DA=0;
                 }
                 else
                 {
                         LCD_DA=1;
                 }
                 LCD_WR=0;
                 NOP();
                NOP();
                NOP();               
                 LCD_WR=1;
                NOP();
                NOP();
                NOP();
                 DataTem<<=1;
         }
}

void WriteCmd(uchar cmd)
{
         LCD_CS1=0;
         TransmitToHtH(WRITECMD,4);
         TransmitToHtH(cmd,8);
         LCD_CS1=1;
}



沙发
Rain_King|  楼主 | 2013-9-13 23:50 | 只看该作者
**的地方是(法*正),就是无(法*正)常,连这个也屏蔽啊..........有木有搞错啊.....

使用特权

评论回复
板凳
yewuyi| | 2013-9-14 08:42 | 只看该作者
到HOLTEK的网站上去下载HT1621的DEMO程序

使用特权

评论回复
地板
Rain_King|  楼主 | 2013-9-14 09:34 | 只看该作者
yewuyi 发表于 2013-9-14 08:42
到HOLTEK的网站上去下载HT1621的DEMO程序

我去下载一下,可以说具体网站么……

使用特权

评论回复
5
yewuyi| | 2013-9-14 09:43 | 只看该作者
Rain_King 发表于 2013-9-14 09:34
我去下载一下,可以说具体网站么……

http://www.holtek.com.cn/china/default.htm


你用HT1621,不搞清楚是哪个厂家?不登录官方网站收集资料?

各个厂家的官方网站可是宝地,有时间的话,还是多浏览看看,比BAIDU找到的那些鱼龙混杂的帖子,准确性要高很多。

使用特权

评论回复
6
Rain_King|  楼主 | 2013-9-14 09:57 | 只看该作者
yewuyi 发表于 2013-9-14 09:43
http://www.holtek.com.cn/china/default.htm



刚进的公司,好多东西都不会……

使用特权

评论回复
7
Rain_King|  楼主 | 2013-9-14 12:33 | 只看该作者
就没有其他直接说问题的么……

使用特权

评论回复
8
yewuyi| | 2013-9-14 15:01 | 只看该作者
Rain_King 发表于 2013-9-14 12:33
就没有其他直接说问题的么……

你认为有谁会呆呆的帮你一行行看代码吗?


不是绝无仅有,但多数是基本没有。


这种通过自己看手册就能解决的问题,不要指望别人会无私的花时间给你一行行代码,BBS是讨论问题的地方,不是大学课堂,网友不可能像老师那样从一点一滴开始授课。

使用特权

评论回复
9
Rain_King|  楼主 | 2013-9-14 15:28 | 只看该作者
yewuyi 发表于 2013-9-14 15:01
你认为有谁会呆呆的帮你一行行看代码吗?



我知道很少有人会看,说看数据手册,我已经看了很多遍了……而且代码我已经简化的不能在简化了,我个人认为是时序问题,可是我也改了,还是不行……这不实在没办法了嘛!

使用特权

评论回复
10
yewuyi| | 2013-9-14 15:37 | 只看该作者
Rain_King 发表于 2013-9-14 15:28
我知道很少有人会看,说看数据手册,我已经看了很多遍了……而且代码我已经简化的不能在简化了,我个人认 ...

网络上有大把的DEMO程序,仔细的一行行的去读别人的程序。

另外,HOLTEK网站上应该也有DEMO程序,看别人的时序是怎么写的,按照那个依葫芦画瓢。

使用特权

评论回复
11
ocon| | 2013-9-14 16:20 | 只看该作者
绝大多数情况下是时序错误,比如某个信号持续的时间不足,单步运行时因为速度慢没有暴露,脱机运行就原形毕露了。

使用特权

评论回复
12
Rain_King|  楼主 | 2013-9-14 17:09 | 只看该作者
yewuyi 发表于 2013-9-14 15:37
网络上有大把的DEMO程序,仔细的一行行的去读别人的程序。

另外,HOLTEK网站上应该也有DEMO程序,看别人 ...

问题已经解决了....时序的问题,不小心把时钟4倍频了....

使用特权

评论回复
13
Rain_King|  楼主 | 2013-9-14 17:13 | 只看该作者
我的程序是没有问题的...只是大家在使用的时候千万要注意时序,我就是不小心把时钟设置成4倍频了,导致每一条语句执行时间为75ns左右,这个对于ht1621串口数据来说,从0改变成1太快了,数据手册上提供的是120ns左右,达不到时序的要求,还有在数据延时的时候,也要注意........

使用特权

评论回复
14
reposemind| | 2013-9-17 12:09 | 只看该作者
jihao

使用特权

评论回复
15
llsluoluo| | 2016-6-11 21:54 | 只看该作者
yewuyi 发表于 2013-9-14 15:37
网络上有大把的DEMO程序,仔细的一行行的去读别人的程序。

另外,HOLTEK网站上应该也有DEMO程序,看别人 ...

深圳天微电子股份原厂 有完全替代合泰1621和1622  1623c  性价比优于合泰   加我qq2208962322   刘生18503002452  可以免费提供样品和程序,技术支持

使用特权

评论回复
16
llsluoluo| | 2016-6-11 21:56 | 只看该作者
ocon 发表于 2013-9-14 16:20
绝大多数情况下是时序错误,比如某个信号持续的时间不足,单步运行时因为速度慢没有暴露,脱机运行就原形毕 ...

深圳天微电子股份原厂 有完全替代合泰1621和1622  1623c  性价比优于合泰   加我qq2208962322   刘生18503002452  可以免费提供样品和程序,技术支持

使用特权

评论回复
17
xushuo888| | 2018-8-6 17:14 | 只看该作者
设计资料可以参考一下,这个是可以替代HT1621的,性价比更高

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

1.41 MB

VK1622液晶驱动IC资料.pdf

623.5 KB

使用特权

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

本版积分规则

个人签名:努力学习,积极回复,只为申请版主.......

29

主题

784

帖子

4

粉丝