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

📄 drive_functions.h

📁 一个汉字左右屏
💻 H
字号:

#define uchar unsigned char
#define uint unsigned int
#define DI 	P00
#define RW 	P01
#define CS1 P02
#define CS2 P03
#define E 	P04
uchar chip_select=1;
uchar color=0x00;
bit black_flag=0;  //黑屏显示标志位
sbit P00=P0^0;
sbit P01=P0^1;
sbit P02 =P0^2;
sbit P03=P0^3;
sbit P04=P0^4;
sbit P05=P0^5;
sbit P06=P0^6;
sbit P07=P0^7;
bit busy_bit=1;
bit menu=0;
uchar line=0;
uchar select=0;
#define LCD P1
 #define LCOM P0		   
  void  yanshi(uchar x)
{ data uchar i,j,k;
  for (i=0;i<x;i++)
  for (j=0;j<109;j++)
  for (k=0;k<10;k++);}

/*************************** check busy ************************/

bit CheckBusy(void)
{
	uchar state=0;
	if(chip_select==1)
	{	
     LCOM=0X04;
		}
	 else
	 {	 
   LCOM=0X08;
	 }
	LCD=0xFF;
	LCOM|=0X12;
	LCOM&=0XEF;
    LCOM|=0X10; 	state=LCD;
	LCOM&=0XEF;
	busy_bit=(bit)(state>>7);
	return(busy_bit);
	}


/************************* set display page ****************/ 

void SetPage(uchar page)
{ 
	
   	if(chip_select==1)
	{
      LCOM=0X04;
		}
	 else{
	  LCOM=0X08;
			}
  while(CheckBusy());
	LCD=0xFF;
	LCOM&=0XFC;
	LCD=page+0xB8;
    LCOM|=0X10;
    LCOM&=0XEF;
	}

/************************ set display column *****************/

void SetColumn(uchar column)
{


   	if(chip_select==1)
	{
     LCOM=0X04;
		}
	 else{
		LCOM=0X08;
		}
	while(CheckBusy());	
	LCD=0xFF;
	LCOM&=0XFC;
	LCD=column+0x40;
	LCOM|=0X10;
    LCOM&=0XEF;
	}


/***************************** write data ************************/

void WriteData(uchar dsp_data)
{

	LCD=0xFF;
	if(chip_select==1)
	{ LCOM=0X04;
		}
	 else{	
	 LCOM=0X08;
			}
 	while(CheckBusy());
	LCOM&=0XFC;
    LCOM|=0X01;
	LCD=dsp_data;
 	LCOM|=0X10;
    LCOM&=0XEF;
	}

/**************************** read data ***********************/

uchar ReadData(void)
{
	uchar dsp_data;

	LCD=0xFF;
	if(chip_select==1)
	{
	LCOM=0X04;
		}
	 else{
	 LCOM=0X08;
			}
  	while(CheckBusy());
    LCOM|=0X03;
	LCOM|=0X10;
    LCOM&=0XEF;
    LCOM|=0X10;
	dsp_data=LCD;
    LCOM&=0XEF;
	return(dsp_data);
	}

/******************** clear LCD *******************************/

void ClearLCD(void)
{
uchar page,column,t=1;
if(black_flag==1)color=0xFF;   //设置清屏颜色
else color=0x00;
	for(page=0;page<8;page++)
	{
	  SetPage(page);
	  SetColumn(0);
	  for(column=0;column<64;column++)
	  {	 
		chip_select=1;   
		WriteData(color);               //clear chip1
		chip_select=2;                  
		WriteData(color);               //clear chip2
		}
	   }   
	  }	

⌨️ 快捷键说明

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