⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lcm.c

📁 基于51单片机实现UART通信 SPI通信 和IIC通信
💻 C
字号:
#include "Includes.h"
  	
/**************函数声明***********************/
static void ReadStatusLCM(void);  
static void Delay5Ms(void);

/*****************写数据***********************/ 
extern void WriteDataLCM(unsigned char date)	  
{
 ReadStatusLCM();  //检测忙
 LCM_Data = date;
 Delay_Xms(5);
 LCM_RS = 1;
 LCM_RW = 0;
 LCM_E = 0;   //小的延时
 LCM_E = 1;
 
}

/*********写指令BuysC为0时忽略忙检测**************/
extern void WriteCommandLCM(unsigned char address,BuysC)     
{
 //if (BuysC)
  ReadStatusLCM(); //根据需要检测忙
 LCM_Data = address;
 Delay_Xms(5);
 LCM_RS = 0;
 LCM_RW = 0;
 LCM_E = 0;
 LCM_E = 1;
 
}

/******************读忙状态(1忙,0不忙)*************/
  void  ReadStatusLCM(void)	                                        
{
 LCM_Data = 0x00;
 Delay_Xms(5);
 LCM_RS = 0;
 LCM_RW = 1;
 LCM_E = 0;
 LCM_E = 1; 
 while(Busy); //检测忙信号,忙则延时
}



/*********************LCM初始化**************************/
extern void LCMInit(void)        
{
 WriteCommandLCM(0x01,0); //清除屏幕
 WriteCommandLCM(0x38,0); //两次功能设置8位 单行 5*7不检测忙信号
 Delay_Xms(5);
 WriteCommandLCM(0x38,0);
 Delay_Xms(5);
 WriteCommandLCM(0x01,1); //显示清屏
 WriteCommandLCM(0x0C,1); // 控制光标,显示 开,闪烁
 WriteCommandLCM(0x06,1); // 控制光标和文字的移动
 }

/********************显示程序(对应地址写入数据)********/
extern void display_lcm(unsigned char date,unsigned char address)                            
{
 WriteCommandLCM(address,1);
 WriteDataLCM(date);                 
}
/****************显示字符串******************************/
extern void  diaplay_string( unsigned char *adr,unsigned char N)
 {
   unsigned char i,a=0x80;
   for(i=0;i<N;i++)
        {
		  WriteCommandLCM(a,1);
          WriteDataLCM(adr[i]);
		  a++;
	    }
 }
/***********************END*******************************/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -