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

📄 main.c

📁 CO0511的驱动程序
💻 C
字号:
#include <msp430x14x.h>
#define uint  unsigned int
#define uchar unsigned char
void init_Port(void);
void cs_High(void);
void cs_Low(void);
void res_High(void);
void res_Low(void);
void a0_High(void);
void a0_Low(void);
void sclk_High(void);
void sclk_Low(void);
void si_High(void);
void si_Low(void);
void wr_comm(uchar content);
void wr_dat(uchar content);
void clrram(void);
void init_lcd(void);
void delay(uint ms);

uchar tab1[]={
/*--  调入了一幅图像:F:\梁\画图\COCK.bmp  --*/
/*--  宽度x高度=128x64  --*/
0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x03,0x07,0x03,0x11,0x27,0x1B,0x02,0x07,0x02,
0x00,0x00,0x00,0x00,0x01,0x0C,0x0D,0x04,0x06,0x0F,0x19,0x1A,0x07,0x04,0x08,0x07,
0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x03,0x0E,0x0D,0x06,0x07,0x3F,0x1E,0x0B,0x01,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x12,0x12,0x2F,0x24,0x20,0x3F,0x1F,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x10,0x58,0x70,0x60,0xF0,0x08,0x98,0xF0,0xA0,0x90,0x18,0x18,
0x0C,0x00,0x00,0x00,0x00,0x88,0xE8,0xB8,0x08,0xC8,0xC8,0x08,0xFC,0xCC,0xCC,0x0C,
0x08,0x08,0x00,0x00,0x00,0x00,0x84,0xF8,0x24,0xE4,0xF4,0x58,0xFC,0xC4,0x86,0x06,
0x02,0x02,0x00,0x00,0x00,0x00,0x08,0xF0,0x40,0xC0,0xFC,0x88,0x8C,0xFC,0xFE,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0F,0x07,0x0F,0x0F,0xDF,0xFF,0xFF,0x1F,0x13,0x17,
0x1F,0x0E,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x3C,0xF9,0x79,0x7F,0xFF,
0xDF,0xFF,0xF7,0xE3,0x03,0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x02,0x03,
0xC3,0xFF,0xFF,0x7F,0x7F,0x77,0x20,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x3F,0x1F,0xBF,0xFF,0x7F,0x7F,0xFF,0xFF,0xED,0x60,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x1C,0x1F,0x3F,0x7F,0xFF,0xFF,0xFF,0xFF,0x0D,0x05,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x0E,0x0E,0x1F,0x7F,0x7B,0x3F,0x09,0x0B,0x9F,0xDF,0xFF,0x7F,
0x36,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xE0,0x70,0xF0,0xF8,0xFC,0xEC,0xEC,0xEC,0xEC,
0x0C,0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF8,0xCC,0xCC,0x8E,0x86,
0x06,0x9E,0xFC,0x80,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x0E,0x06,0x0C,0xFC,
0xFE,0x6C,0x78,0xF8,0xEC,0x8C,0x0C,0x1C,0x1E,0x0E,0x00,0x00,0x00,0x00,0x00,0x60,
0x64,0x6C,0xFC,0xFC,0xF2,0xE3,0xFF,0x60,0x70,0x38,0x3C,0x1C,0x1C,0x0C,0x0C,0x00,
0x00,0x00,0x00,0x0E,0x6F,0xFC,0xEE,0xEE,0xFF,0xFF,0x90,0xDC,0xDE,0x1E,0x00,0x00,
0x00,0x00,0x00,0x00,0xC0,0xEE,0xFE,0xFC,0xE0,0x18,0xB8,0xF0,0xE0,0xFC,0xF4,0xC4,
0x04,0x0C,0x0C,0x3C,0x08,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x03,0x06,0x1F,0x14,0x06,0x06,0x0F,0x1F,
0x0F,0x08,0x08,0x00,0x00,0x00,0x03,0x04,0x02,0x1B,0x1B,0x2F,0x34,0x07,0x00,0x00,
0x00,0x00,0x00,0x03,0x06,0x1C,0x3D,0x59,0x7B,0x6A,0x0C,0x04,0x00,0x00,0x00,0x00,
0x17,0x14,0x3F,0x0C,0x0B,0x37,0x15,0x1C,0x18,0x00,0x00,0x00,0x00,0x03,0x06,0x1C,
0x3D,0x59,0x7B,0x6A,0x0C,0x04,0x00,0x00,0x00,0x00,0x00,0x00,0x07,0x01,0x02,0x3F,
0x1C,0x04,0x00,0x00,0x00,0x00,0x02,0x03,0x16,0x1F,0x29,0x16,0x1F,0x02,0x7F,0x04,
0x00,0x00,0x00,0x03,0x07,0x3F,0x1C,0x08,0x02,0x06,0x1F,0x04,0x07,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0x00,0x00,0xE0,0xD8,0x50,
0x70,0x40,0x00,0x00,0x00,0x00,0x90,0xF0,0x10,0xF0,0xD0,0xF0,0x68,0xF8,0x08,0x08,
0x00,0x00,0x00,0x80,0x00,0x30,0x48,0xC8,0xF8,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,
0xE0,0xC0,0x00,0xA0,0xC0,0xB0,0xD0,0x10,0x10,0x70,0x00,0x00,0x00,0x80,0x00,0x30,
0x48,0xC8,0xF8,0xC0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x58,0xB0,0xF0,
0xD0,0x10,0x00,0x00,0x00,0x00,0x00,0xC0,0xC0,0xE0,0x00,0x80,0x00,0x00,0xF8,0x00,
0x00,0x00,0x00,0x00,0x00,0xF0,0x10,0xC0,0xA0,0xC0,0x30,0xE0,0x80,0xC0,0x00,0x00
};


void init_Port(void)
{
	// P5.0 P5.1 P5.2 P5.3 P5.4为输出
	P5DIR |= BIT0;
	P5DIR |= BIT1;
	P5DIR |= BIT2;
	P5DIR |= BIT3;
        P5DIR |= BIT4;
	return;
}
void cs_High(void)
{
	//P5.0管脚输出为高电平
	P5OUT |= BIT0;		
    _NOP();
    _NOP();
    return;
}
void cs_Low(void)
{
	//P5.0管脚输出为低电平
	P5OUT &= ~(BIT0);		
    _NOP();
    _NOP();
    return;
}
void res_High(void)
{
	//P5.1管脚输出为高电平
	P5OUT |= BIT1;		
    _NOP();
    _NOP();
    return;
}
void res_Low(void)
{
	//P5.1管脚输出为低电平
	P5OUT &= ~(BIT1);		
    _NOP();
    _NOP();
    return;
}
void a0_High(void)
{
	//P5.2管脚输出为高电平
	P5OUT |= BIT2;		
    _NOP();
    _NOP();
    return;
}
void a0_Low(void)
{
	//P5.2管脚输出为低电平
	P5OUT &= ~(BIT2);		
    _NOP();
    _NOP();
    return;
}
void sclk_High(void)
{
	//P5.3管脚输出为高电平
	P5OUT |= BIT3;		
    _NOP();
    _NOP();
    return;
}
void sclk_Low(void)
{
	//P5.3管脚输出为低电平
	P5OUT &= ~(BIT3);		
    _NOP();
    _NOP();
    return;
}
void si_High(void)
{
	//P5.4管脚输出为高电平
	P5OUT |= BIT4;		
    _NOP();
    _NOP();
    return;
}
void si_Low(void)
{
	//P5.4管脚输出为低电平
	P5OUT &= ~(BIT4);		
    _NOP();
    _NOP();
    return;
}
/*------------------初始化-----------------*/
void init_lcd (void)
{
  res_Low();
  delay(100);
  res_High();     /*复位液晶*/
  wr_comm(0xae);  /*Display ON/OFF 0xae:OFF 0xaf:ON*/
  wr_comm(0xa2);  /*LCD bias set 0xa2:1/9 0xa3:1/7*/
  wr_comm(0xa0);  /*ADC select 0xa0:0-127 0xa1:127-0*/
  wr_comm(0xc8);  /*COM output 0xc0:0-63 0xc8:63-0*/
  wr_comm(0xa6);  /*Display 0xa6:normal 0xa7:reverse*/
  wr_comm(0x2a);  /* V0 Voltage Regulator Internal Resistor Ration Set*/
  wr_comm(0x81);  /*Electronic Volume*/
  wr_comm(0x2a);
  wr_comm(0x2f);  /*power control*/
  clrram();
  return;
}

/*--------------清DDRAM------------------*/
void clrram (void)
{ uchar i,j,page;
  page=0xb0;
  for(i=0;i<8;i++)
  {
    wr_comm(page);
    wr_comm(0x10);
    wr_comm(0x00);
    for(j=0;j<128;j++)
  {
    wr_dat(0x00);
  }
  page++;
  }
}
/*---------------------------------------*/
void wr_comm (uchar content)
{
  uchar b,i,j;
  b=content;
  cs_Low();
  a0_Low();
  sclk_Low();
  for(i=0;i<8;i++)
    {
      if((b&0x80)==0x80)
      {
      si_High();
      }
      else
      {
      si_Low();
      }
      sclk_High();
      for (j=10;j>0;j--);//延迟一段时间
      sclk_Low();
      b<<=1;
    }
   cs_High();
   return;
    }
/*---------------------------------------*/
void wr_dat (uchar content)
{
  uchar b,i,j;
  b=content;
  cs_Low();
  a0_High();
  sclk_Low();
  for(i=0;i<8;i++)
    {
      if((b&0x01)==0x01)
      {
      si_High();
      }
      else
      {
      si_Low();
      }
      sclk_High();
      for (j=10;j>0;j--);//延迟一段时间
      sclk_Low();
      b>>=1;
    }
   cs_High();
   return;
    }
/*-----------------------------------*/
void disp (uchar *tab)
{ uchar i,j,page;
  uchar *point=tab;
  page=0xb0;
  for(i=0;i<8;i++)
  {
    wr_comm(page);
    wr_comm(0x10);
    wr_comm(0x00);
  for(j=0;j<128;j++)
  {
    wr_dat(*(point++));
  }
  page++;
  }
  wr_comm(0xaF);       /*Display ON*/
  }
/*-----------------------------------*/
void delay (uint ms)
{
  uint i,j;
  for(i=0;i<ms;i++)
  for(j=0;j<15;j++);
}
/*------------------主程序--------------------*/
void main (void)
{
  WDTCTL=WDTPW+WDTHOLD;
  init_Port();
  init_lcd();
  disp(tab1);
  while(1);
}

⌨️ 快捷键说明

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