功能如图所示:
#include <reg51.h>
#include <intrins.h>
typedef unsigned char BYTE;
typedef bit BOOL;
sbit LCD_RS = P2^5;
sbit LCD_RW = P2^6;
sbit LCD_EP = P2^7;
void delay1(int ms)
{ // 延时子程序
int i;
while(ms--)
{
for(i = 0; i<400; i++)
{
_nop_();
_nop_();
_nop_();
_nop_();
}
}
}
BOOL lcd_bz()
{ // 测试LCD忙碌状态
BOOL result;
LCD_RS = 0;
LCD_RW = 1;
LCD_EP = 1; //E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
_nop_();
_nop_();
_nop_();
_nop_();
result = (BOOL)(P0 & 0x80);//高电平表示忙状态
LCD_EP = 0;
return result;
}