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

📄 display.c

📁 应用案例
💻 C
字号:
#include <reg52.h>

#define comm  0
#define dat   1

sbit RS = P3^3;   //H=data; L=command;
sbit RW = P3^4;   //H=read; L=write;
sbit  E = P3^5;   //input enable;
sbit busy=P1^7;   //lcd busy bit

void chk_busy (void)
{
  P1=0xff;
  RS=0;
  RW=1;
  E =1;
  while(busy==1);
  E =0;
}

/*---------------------------------------*/
void write_lcd (unsigned char dat_comm,unsigned char content)
{
  chk_busy ();
  if(dat_comm)
    {
     RS=1;   RW=0;   //write data
    }
  else
    {
     RS=0;   RW=0;   //write command
    }
  P1=content;   //output data or comm
  E=1;
  E=0;
}


void clrram (void)
{
  write_lcd (comm,0x30);
  write_lcd (comm,0x01);
}


void init_lcd (void)
{
  write_lcd (comm,0x30);  /*30---基本指令动作*/
  write_lcd (comm,0x01);  /*清屏,地址指针指向00H*/
  write_lcd (comm,0x06);  /*光标的移动方向*/
  write_lcd (comm,0x0c);  /*开显示,关游标*/
}


void line_disp (unsigned char lines , unsigned char *chn)
{ 
  unsigned char i;
  write_lcd (comm,0x30);
  switch (lines)
    {
	 case 0: write_lcd (comm,0x80);for (i=0;i<16;i++)write_lcd (dat,chn[i]);break;
     case 1: write_lcd (comm,0x90);for (i=0;i<16;i++)write_lcd (dat,chn[i]);break;
     case 2: write_lcd (comm,0x88);for (i=0;i<16;i++)write_lcd (dat,chn[i]);break;
     case 3: write_lcd (comm,0x98);for (i=0;i<16;i++)write_lcd (dat,chn[i]);break;
    }
}

		

⌨️ 快捷键说明

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