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

📄 赛特勒12232液晶驱动程序.c

📁 51单片机的122×32点阵液晶底层驱动程序
💻 C
字号:
#include "at89x51.h"
#include "intrins.h"
#define uint      unsigned int
#define uchar     unsigned char
//自己用
#define sed1520_6800_moni_12232_di        P2_4    //寄存器选择1数据 0指令
#define sed1520_6800_moni_12232_rw        P2_7    //读写操作选择1读 0写
#define sed1520_6800_moni_12232_en1       P2_5    //使能信号
#define sed1520_6800_moni_12232_en2       P2_6    //使能信号
#define sed1520_6800_moni_12232_rst       P2_3    //复位信号


//测试用
//#define sed1520_6800_moni_12232_di        P2_4    //寄存器选择1数据 0指令
//#define sed1520_6800_moni_12232_rw        P2_7    //读写操作选择1读 0写
//#define sed1520_6800_moni_12232_en1       P2_5    //使能信号
//#define sed1520_6800_moni_12232_en2       P2_6    //使能信号
//#define sed1520_6800_moni_12232_rst       P2_3    //复位信号

//#define sed1520_6800_moni_12232_autokey   P1_0    //自动按键
//#define sed1520_6800_moni_12232_manukey   P1_1    //手动按键


uchar code sed1520_6800_moni_12232_sed1520_6800_moni_12232_kaishibiao[]=
{
//开始画面,0地址
0x00,0x20,0x46,0x4C,0x08,0x8C,0xE8,0x38,0x88,0xE6,0xB4,0x28,0xE8,0x64,0x00,0x00,
0x00,0x00,0x7C,0x54,0x54,0x54,0x54,0x54,0x54,0x54,0x7C,0x00,0x00,0x00,0x00,0x10,
0xD0,0xFE,0x90,0x10,0xE8,0xE8,0xBE,0xA8,0xA8,0xBE,0xE8,0x04,0x00,0x00,0x20,0x20,
0xFE,0x20,0x20,0x08,0x08,0xFE,0x0A,0x08,0xF8,0xF8,0x00,0x00,0x00,0x60,0x44,0x48,
0xFC,0x04,0xF4,0x04,0xFC,0x00,0xF8,0x00,0xFE,0x02,0x00,0x00,0x40,0xCC,0xC8,0x00,
0x90,0x90,0x90,0x90,0x3E,0xF0,0x10,0x1C,0x10,0x00,0x00,0x24,0x24,0xFC,0x26,0x20,
0x00,0xBC,0xA4,0xA4,0xA4,0xA4,0xBC,0x00,0x00,0x00,0x00,0xF8,0x08,0x08,0x28,0x28,
0x68,0xAE,0xA8,0x68,0x28,0x28,0x08,0x00,0x00,0x00,0x00,0x20,0x3E,0x02,0x01,0x01,
0x3F,0x22,0x21,0x37,0x1D,0x1E,0x33,0x20,0x00,0x00,0x00,0x3F,0x15,0x15,0x15,0x3F,
0x00,0x3F,0x15,0x15,0x15,0x3F,0x00,0x00,0x00,0x07,0x01,0x3F,0x00,0x21,0x25,0x25,
0x15,0x0F,0x0D,0x15,0x25,0x24,0x00,0x00,0x08,0x08,0x0F,0x24,0x25,0x11,0x0D,0x07,
0x07,0x0D,0x11,0x31,0x21,0x00,0x00,0x20,0x1C,0x02,0x23,0x18,0x07,0x08,0x1B,0x10,
0x07,0x20,0x3F,0x00,0x00,0x00,0x00,0x1F,0x1F,0x0C,0x10,0x10,0x1F,0x08,0x00,0x07,
0x18,0x20,0x38,0x00,0x00,0x04,0x03,0x3F,0x01,0x03,0x20,0x24,0x24,0x3F,0x24,0x24,
0x24,0x20,0x00,0x00,0x30,0x1F,0x00,0x01,0x01,0x01,0x21,0x2F,0x3F,0x01,0x01,0x07,
0x03,0x00,0x00,0x00,0x00,0x92,0xD2,0x7E,0x12,0x12,0xFE,0x12,0x10,0x3E,0x00,0x80,
0xFF,0x00,0x00,0x00,0x40,0x40,0x5E,0xD2,0x52,0x52,0x52,0x52,0x52,0x52,0x5E,0x40,
0x40,0x00,0x00,0x00,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0xC0,0x38,0x04,0x38,0xC0,0x00,0x00,0x00,0xF0,0x08,0x04,0x84,0x84,0x98,
0x00,0x00,0xFC,0x70,0x80,0x00,0x80,0x70,0xFC,0x00,0x10,0x18,0xFC,0x00,0x00,0x00,
0x00,0x00,0x30,0x08,0x04,0x84,0x44,0x38,0x00,0x00,0x30,0x08,0x04,0x84,0x44,0x38,
0x00,0x00,0x18,0x04,0x04,0x44,0x44,0xB8,0x00,0x00,0x30,0x08,0x04,0x84,0x44,0x38,
0x00,0x00,0xF0,0x08,0x04,0x84,0x84,0x98,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x10,
0x10,0x12,0x12,0x12,0x12,0x1F,0x12,0x12,0x12,0x12,0x12,0x10,0x00,0x00,0x00,0x00,
0x00,0x03,0x02,0x02,0x02,0x12,0x12,0x1A,0x0E,0x00,0x00,0x00,0x00,0x00,0x0D,0x0D,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0C,0x03,0x01,0x01,0x01,
0x03,0x0C,0x00,0x00,0x03,0x04,0x08,0x08,0x04,0x0F,0x00,0x00,0x0F,0x00,0x03,0x0C,
0x03,0x00,0x0F,0x00,0x00,0x00,0x0F,0x00,0x00,0x00,0x00,0x00,0x0C,0x0A,0x09,0x08,
0x08,0x08,0x00,0x00,0x0C,0x0A,0x09,0x08,0x08,0x08,0x00,0x00,0x06,0x08,0x08,0x08,
0x08,0x07,0x00,0x00,0x0C,0x0A,0x09,0x08,0x08,0x08,0x00,0x00,0x03,0x04,0x08,0x08,
0x04,0x0F,0x00,0x00,0x00,0x00,0x00,0x00,
};







uchar code sed1520_6800_moni_12232_sed1520_6800_moni_12232_fangkuaibiao[]=
{
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,
0xF0,0xF0,0xF0,0xF0,0x0F,0x0F,0x0F,0x0F,0xF0,0xF0
};




//**********************************************************************
//延时程序
//**********************************************************************
void sed1520_6800_moni_12232_delay(uchar k)  
{
 uchar i,j,l;
 for(i=0;i<k;i++)
   for(j=0;j<100;j++)
     for(l=0;l<50;l++)
	    ;
}
//*********************************************************************
//检测忙碌标志程序
//*********************************************************************
void sed1520_6800_moni_12232_busy1(void)  
{
 uchar dat=0xff;
 sed1520_6800_moni_12232_di=0;
 sed1520_6800_moni_12232_rw=1;
 sed1520_6800_moni_12232_en1=1;
 P0=0xff;
 dat=P0;
 while((dat&0x80)==0x80)
   {
    dat=P0;
   }
 sed1520_6800_moni_12232_en1=0;
}

void sed1520_6800_moni_12232_busy2(void)  
{
 uchar dat=0xff;
 sed1520_6800_moni_12232_di=0;
 sed1520_6800_moni_12232_rw=1;
 sed1520_6800_moni_12232_en2=1;
 P0=0xff;
 dat=P0;
 while((dat&0x80)==0x80)
   {
    dat=P0;
   }
 sed1520_6800_moni_12232_en2=0;
}
//**********************************************************************
//写指令
//**********************************************************************
void sed1520_6800_moni_12232_writecommand1(uchar command)  
{ 
 sed1520_6800_moni_12232_busy1();
 sed1520_6800_moni_12232_di=0;
 sed1520_6800_moni_12232_rw=0;
 sed1520_6800_moni_12232_en1=0;
 P0=command;
 sed1520_6800_moni_12232_en1=1;
 sed1520_6800_moni_12232_en1=0;
}

void sed1520_6800_moni_12232_writecommand2(uchar command)  
{ 
 sed1520_6800_moni_12232_busy2();
 sed1520_6800_moni_12232_di=0;
 sed1520_6800_moni_12232_rw=0;
 sed1520_6800_moni_12232_en2=0;
 P0=command;
 sed1520_6800_moni_12232_en2=1;
 sed1520_6800_moni_12232_en2=0;
}
//**********************************************************************
//写数据
//**********************************************************************
void sed1520_6800_moni_12232_writedata1(uchar dat)  
{
 sed1520_6800_moni_12232_busy1();
 sed1520_6800_moni_12232_di=1;
 sed1520_6800_moni_12232_rw=0;
 sed1520_6800_moni_12232_en1=0;
 P0=dat;
 sed1520_6800_moni_12232_en1=1;
 sed1520_6800_moni_12232_en1=0;
}

void sed1520_6800_moni_12232_writedata2(uchar dat)  
{
 sed1520_6800_moni_12232_busy2();
 sed1520_6800_moni_12232_di=1;
 sed1520_6800_moni_12232_rw=0;
 sed1520_6800_moni_12232_en2=0;
 P0=dat;
 sed1520_6800_moni_12232_en2=1;
 sed1520_6800_moni_12232_en2=0;
}
//**************************************************************************
//初始化程序
//**************************************************************************
void sed1520_6800_moni_12232_inilcd(void)
{
 sed1520_6800_moni_12232_rst=0;
 sed1520_6800_moni_12232_delay(10);
 sed1520_6800_moni_12232_rst=1;
 sed1520_6800_moni_12232_writecommand1(0xe2);//复位
 sed1520_6800_moni_12232_writecommand2(0xe2);//复位
 sed1520_6800_moni_12232_writecommand1(0xa9);//占空比为32
 sed1520_6800_moni_12232_writecommand2(0xa9);//占空比为32
 sed1520_6800_moni_12232_writecommand1(0xc0);//起始行设置
 sed1520_6800_moni_12232_writecommand2(0xc0);//起始行设置
 sed1520_6800_moni_12232_writecommand1(0xa4);//正常工作状态
 sed1520_6800_moni_12232_writecommand2(0xa4);//正常工作状态
 sed1520_6800_moni_12232_writecommand1(0xa0);//ADC=0
 sed1520_6800_moni_12232_writecommand2(0xa0);//ADC=0
 sed1520_6800_moni_12232_writecommand1(0xaf);//开显示
 sed1520_6800_moni_12232_writecommand2(0xaf);//开显示
}

//****************************************************************************
//开始函数
//****************************************************************************
void sed1520_6800_moni_12232_kaishi(void)
{
  uchar x,y;
  uint z=0;
  for(x=0;x<4;x++)
  {
    for(y=0;y<61;y++)
	  {
       sed1520_6800_moni_12232_writecommand1(0xb8+x);
	   sed1520_6800_moni_12232_writecommand1(y);
	   sed1520_6800_moni_12232_writedata1(sed1520_6800_moni_12232_sed1520_6800_moni_12232_kaishibiao[z]);
	   z++;
	  }
    for(y=0;y<61;y++)
	  {
       sed1520_6800_moni_12232_writecommand2(0xb8+x);
	   sed1520_6800_moni_12232_writecommand2(y);
	   sed1520_6800_moni_12232_writedata2(sed1520_6800_moni_12232_sed1520_6800_moni_12232_kaishibiao[z]);
	   z++;
	  }
  }
}



//****************************************************************************
//横线函数
//****************************************************************************
void sed1520_6800_moni_12232_hengxian(uchar dat)
{
  uchar x,y;
  for(x=0;x<4;x++)
  {
    for(y=0;y<61;y++)
	  {
       sed1520_6800_moni_12232_writecommand1(0xb8+x);
	   sed1520_6800_moni_12232_writecommand1(y);
	   sed1520_6800_moni_12232_writedata1(dat);
	  }
    for(y=0;y<61;y++)
	  {
       sed1520_6800_moni_12232_writecommand2(0xb8+x);
	   sed1520_6800_moni_12232_writecommand2(y);
	   sed1520_6800_moni_12232_writedata2(dat);
	  }
  }
}

//****************************************************************************
//方块表函数
//****************************************************************************
void sed1520_6800_moni_12232_fangkuai1(void)
{
  uchar x,y;
  uint z=0;
  for(x=0;x<4;x++)
  {
    for(y=0;y<61;y++)
	  {
       sed1520_6800_moni_12232_writecommand1(0xb8+x);
	   sed1520_6800_moni_12232_writecommand1(y);
	   sed1520_6800_moni_12232_writedata1(sed1520_6800_moni_12232_sed1520_6800_moni_12232_fangkuaibiao[z]);
	   z++;
	  }
    for(y=0;y<61;y++)
	  {
       sed1520_6800_moni_12232_writecommand2(0xb8+x);
	   sed1520_6800_moni_12232_writecommand2(y);
	   sed1520_6800_moni_12232_writedata2(sed1520_6800_moni_12232_sed1520_6800_moni_12232_fangkuaibiao[z]);
	   z++;
	  }
  }
}


void sed1520_6800_moni_12232_fangkuai2(void)
{
  uchar x,y;
  uint z=0;
  for(x=0;x<4;x++)
  {
    for(y=0;y<61;y++)
	  {
       sed1520_6800_moni_12232_writecommand1(0xb8+x);
	   sed1520_6800_moni_12232_writecommand1(y);
	   sed1520_6800_moni_12232_writedata1(~sed1520_6800_moni_12232_sed1520_6800_moni_12232_fangkuaibiao[z]);
	   z++;
	  }
    for(y=0;y<61;y++)
	  {
       sed1520_6800_moni_12232_writecommand2(0xb8+x);
	   sed1520_6800_moni_12232_writecommand2(y);
	   sed1520_6800_moni_12232_writedata2(~sed1520_6800_moni_12232_sed1520_6800_moni_12232_fangkuaibiao[z]);
	   z++;
	  }
  }
}







void sed1520_6800_moni_12232_autokeyhanshu(void)
{
 while(1)
  {

   sed1520_6800_moni_12232_hengxian(0xff);
   sed1520_6800_moni_12232_delay(40);

   sed1520_6800_moni_12232_hengxian(0x00);
   sed1520_6800_moni_12232_fangkuai1();
   sed1520_6800_moni_12232_delay(40);

   sed1520_6800_moni_12232_hengxian(0x00);
   sed1520_6800_moni_12232_fangkuai2();
   sed1520_6800_moni_12232_delay(40);

   sed1520_6800_moni_12232_hengxian(0x00);
   sed1520_6800_moni_12232_kaishi();
   sed1520_6800_moni_12232_delay(40);
 }
}

//****************************************************************************
//主程序
//****************************************************************************
main()
{
 uchar i;
 sed1520_6800_moni_12232_inilcd();
 sed1520_6800_moni_12232_hengxian(0x00);
 
    sed1520_6800_moni_12232_autokeyhanshu();
}

⌨️ 快捷键说明

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