lht5631080 发表于 2012-4-18 16:07:24

请教魏坤无控制器24064驱动问题

本帖最后由 lht5631080 于 2012-4-18 18:43 编辑

看了魏坤用AVR驱动T6A39\40(无控制器)LCD屏后,从淘宝淘了2块。用51驱动,但屏幕无显示,硬件连接电源等无误,看T6A39/40时序,折腾几天没辙,感觉是时序问题,请教魏坤及各位大侠是哪里错了。万望不吝解惑!
程序如下:(在屏幕上显示30条等距竖线)
#include<reg52.h>

sbit DATE =P2^3;//串行数据
sbit FLM=P2^2;//帧同步
sbit LP   =P2^1;//行同步
sbit SCP=P2^0;//串行时钟

void wordsend(unsigned char date)//字节发送
{
unsigned char i;
for(i=0;i++;i<8)
               {
                if((date&128)){DATE=1;}
                else            {DATE=0;}
                SCP=1;SCP=0;
                date=date<<1;
               }
}

/*------------------------------------*/

main()
{
unsigned char row_num=30;//定义列30*8位=240列
unsigned char volumn_num=64;//定义行
FLM=0;LP=0;DATE=0;SCP=0;//控制端口置零

while(volumn_num--)//64行
                           {
                            while(row_num--){wordsend(8);}//写入B00001000,240列
                            LP=1;LP=0;//列输入240次,行同步
                           }
FLM=1;FLM=0;写入整屏,帧同步

while(1);
}
我对时序的理解是:写入单行240位数据,行同步一次,写完64行,帧同步一次。不知是否正确。
加入延时程序,可以看到类似清屏的效果,即一行一行向下清屏,最后整屏空白,是不是列数据没有写入?

kunnsd 发表于 2012-4-22 14:15:07

这种没有控制器的屏是要不停的刷,不是写一屏数据进去就没事了,我的程序中使用定时器中断做刷屏控制,在RAM中开了1920字节做显存,是不停的刷,大概一秒刷80次吧

lht5631080 发表于 2012-4-24 15:43:46

本帖最后由 lht5631080 于 2012-4-24 16:02 编辑

感谢魏坤的答复,不过我改为循环写还是不行。是不是列数据写入时序有问题?即屏幕全黑再全白闪烁。
bit DATA =P2^3;//串行数据
sbit FLM=P2^2;//帧同步
sbit LP   =P2^1;//行同步
sbit SCP=P2^0;//串行时钟

void wordsend(unsigned char dat)//字节发送
{
unsigned char i;
for(i=0;i++;i<8)
               {
                if((dat&128)){DATA=1;}
                else            {DATA=0;}
                SCP=1;SCP=0;
                dat=dat<<1;
               }
}

/*------------------------------------*/

main()
{
unsigned char row_num=30;//定义列30*8位=240列
unsigned char column_num=64;//定义行
FLM=0;LP=0;DATA=0;SCP=0;//控制端口置零
while(1){
            while(column_num--)//64行
                                       {
                                       while(row_num--){wordsend(8);}//写入B00001000,240列
                                       LP=1;LP=0;//列输入240次,行同步
                                       row_num=30;
                                       }
             FLM=1;FLM=0;写入整屏,帧同步
             column_num=64;
             }
}
页: [1]
查看完整版本: 请教魏坤无控制器24064驱动问题