单片机串行控制12864lcd能不能读bf忙状态,我怎么读不了

2024-11-20 14:23:47
推荐回答(4个)
回答1:

当然可以读忙状态了,读时,一定要符合时序要求,即控制脚应该为什么状态。二是接忙信号引脚一定要先输出高电平来释放引脚才行的。

回答2:

LCD12864_PORT = 0x00;

这句话是什么意思?

你用的是51单片机,还是别的单片机?

为什么是给数据端口0x00,最起码要给0xff吧……

哦,刚才搜了一下,这篇文章非常好,很详细的说了IO的结构,在第6页。http://www.doc88.com/p-669125856416.html

回答3:

是可以读取忙信号的,但是一般都没有必要去读取,他的flash速度应该是够用的。直接清屏送显就行了。

回答4:

我把我的写程序给你参考下。

/******************************************************************************
检测12864忙函数,如果12864忙 等待
******************************************************************************/
void ReadLcdBusy(void)
{
LCD12864_PORT = 0x00;
LcdRs = 0;
LcdRw = 1;
LcdEn = 1;
while(LCD12864_PORT & 0x80);
LcdEn = 0; }
/******************************************************************************
12864写命令
******************************************************************************/
void WriteLcdCommand(unsigned char Value)
{
ReadLcdBusy();
LcdRs = 0;
LcdRw = 0;
LCD12864_PORT = Value;
LcdEn = 1;
_nop_();
_nop_();
LcdEn = 0;
}
/******************************************************************************
12864写数据
******************************************************************************/
void WriteLcdData(unsigned char Value)
{
ReadLcdBusy();
LcdRs = 1;
LcdRw = 0;
LCD12864_PORT = Value;
LcdEn = 1;
_nop_();
_nop_();
LcdEn = 0;
}