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

📄 vgs12864e lcd程序.c

📁 使用VGS12864E点阵式液晶屏
💻 C
字号:
#define DIS_DIR (1<<28)
#define DIS_DI  (1<<28)
#define DIS_RW  (1<<29)
#define DIS_E   (1<<)
#define DIS_CS1 (1<<)
#define DIS_CS2 (1<<)


void read_status()
{
  uchar busy;
  uchar temp;
  
  IO0CLR=DIS_DI;
  IO0SET=DIS_RW;
  IO1CLR=DIS_DIR;
  do
  {
     IO0PIN=(IO0PIN&0xFFFFFF00)|0xFF;
     IO0SET=DIS_E;
     busy=(IO0PIN&0xFF);
     IO0CLR=DIS_E;
     temp=busy&0x80;
     
  }
  while(temp!=0);
  IO1SET=DIS_DIR;
}



void wr_command1()
{
   IO1CLR=DIS_CS1;
   IO0SET=DIS_CS2;
   read_status();
   IO0CLR=DIS_DI;
   IO0CLR=DIS_RW;
   IO0PIN=(IO0PIN&0xFFFFFF00)|com;
   IO0SET=DIS_E;
   IO0CLR=DIS_E;
}




void wr_data1()
{
   IO1CLR=DIS_CS1;
   IO0SET=DIS_CS2;
   read_status();
   IO0SET=DIS_DI;
   IO0CLR=DIS_RW;
   IO0PIN=(IO0PIN&0xFFFFFF00)|dat;
   IO0SET=DIS_E;
   IO0CLR=DIS_E;
}



void init_OLED()
{
   com=0xc0;
   wr_command1();
   wr_command2();
   com=0x3F;
   wr_command1();
   wr_command2();
   
}


void clear_prog(void)
{
   for(i=0;i<8;i++)
   {
      com=(0xb8+i);
      wr_command1();
      wr_command2();
      com=0x40;
      wr_command1();
      wr_command2();
      for(j=0;j<64;j++)
      {
         dat=0x00;
         wr_data1();
        
      }
   
   
   }
}




void display(uchar hang,uchar lie,uchar *p_dis_data)
{
   for(page=hang*2;page<hang+2;page++)
   {
      uchar m;
      com=(0xb8+page);
       wr_command1();
      com=0x40+lie;
       wr_command1();
      for(m=0;m<64;m++)
      {
          dat=*p_dis_data;
          wr_data1(); 
          p_dis_data++;
       }
   }
}

⌨️ 快捷键说明

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