手中24064无控制器LCD屏,行列为T6A40、T6A39。控制端口4线:DATA、FLM、LP、SCP。
用89S52简单测试驱动,程序如下:(显示30条竖线)
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;
}
}
显示结果为黑、白屏交替闪烁。
哪位师傅看看问题出在哪里?