/*=========================================================
1602液晶显示的实验例子
-------------------------------------------------
| DB4----- | RW-------
| DB5----- | RS-------
| DB6----- | E--------
| DB7----- |
---------------------------------------------------
LCD1602的简简单显示
=========================================================*/
#include
#include
#define LCM_RW P2_1 //定义引脚
#define LCM_RS P2_2
#define LCM_E P2_0
#define LCM_Data P0
#define Busy 0x80 //用于检测LCM状态字中的Busy标识
/*------------------------------------------
子函数声明
------------------------------------------*/
void Write_Data_LCM(unsigned char WDLCM);
void Write_Command_LCM(unsigned char WCLCM,BuysC);
void Read_Status_LCM(void);
void LCM_Init(void);
void Set_xy_LCM(unsigned char x, unsigned char y);
void Display_List_Char(unsigned char x, unsigned char y, unsigned char *s);
void main(void)
{
LCM_Init(); //LCM初始化
delay_nms(5);//延时片刻(可不要)
while(1)
{
Display_List_Char(0, 0, "");
Display_List_Char(1, 0, "Robot-AT89S52");
}
}
/*=====================================
函数名:Read_Status_LCM()
功 能: 忙检测函数
======================================*/
void Read_Status_LCM(void)
{
unsigned char read=0;
LCM_RW = 1;
LCM_RS = 0;
LCM_E = 1;
LCM_Data = 0xff;
do
{
read = LCM_Data;
}
while(read & Busy);
LCM_E = 0;
}
/*----------------------------------
lcd1602的简单显示程序 来自淘豆网m.daumloan.com转载请标明出处.