功能如图所示:

#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;
}

本文档详细介绍了如何使用51单片机控制LCD1602液晶显示屏,包括设置寄存器、发送指令以及检测LCD模块是否忙碌。延时函数和LCD繁忙状态测试函数的实现为实际硬件操作提供了实用工具。
808

被折叠的 条评论
为什么被折叠?



