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

📄 12864.c

📁 液晶lcd12864的显示程序。采用的是并口传输。
💻 C
字号:
#include"reg51.h"
#define uchar unsigned char

sbit rs=P2^0;
sbit rw=P2^1;
sbit en=P2^2;
sbit psb=P2^3;
sbit rst=P2^5;

uchar dis1[]={"08"};
uchar dis2[]={"co"};
//uchar dis3[]={"uoy ees"};
//uchar dis4[]={"noos"};

uchar *pointer1=dis1;
uchar *pointer2=dis2;

void delayMS(uchar time)
{
  uchar i=4,j=250;
  while(time--)
  { 
    while(i--)
      {
      while(j--);
      j=250; 
      }
  i=4; 
  }
}

void delay(uchar t)
{
  uchar i;
  for(;t>0;t--)
  for(i=2;i>0;i--);
}

bit read_bf()       //读地址寄存器最高位BF
{
  uchar temp;
  bit j;
  rs=0;
  rw=1;
  en=0;
  delay(1);
  en=1;
  delay(1);
  temp=P0;
  en=0;
  delay(1);
  temp<<=1;
  j=CY;

  return j;
}

void write_cmd(uchar cmd)
{
  while(read_bf());
  rs=0;
  rw=0;
  en=0;
  delay(1);
  P0=cmd;
  en=1;
  delay(1);
  en=0;
  delay(1);  
}

void write_dat(uchar dat)
{
  while(read_bf());
  rs=1;
  rw=0;
  en=0;
  delay(1);
  P0=dat;
  en=1;
  delay(1); 
  en=0;
  delay(1); 
}


void dis_inf(uchar adr,uchar* pdat)   //display information
{
  write_cmd(adr);                   //display position
  while(*pdat!='\0')
    {
	write_dat(*pdat);
	pdat++;
//	delayMS(50);
	}
}


void init()
{
  delayMS(45);
  rst=0;
  delay(1);
  rst=1;
  delay(1);

  write_cmd(0x03);    //8bit transmit
  delayMS(1);
  write_cmd(0x03);    //8bit transmit
  delayMS(1);

  write_cmd(0x0f);    //display condition
  delayMS(1);
  write_cmd(0x1c);    //position move
  delayMS(1);
  write_cmd(0x01);    //clear display
  delayMS(1); 
  write_cmd(0x06);    //adr move right or left 
  delayMS(1);
}


void main()
{ 
  init(); 
  
  while(1)
  {
//    write_cmd(0x01);    
//    delayMS(10);

	dis_inf(0x80,pointer1);
	dis_inf(0x82,pointer2);  
  }
}

⌨️ 快捷键说明

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