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

📄 12864.txt

📁 avr的atmel 128 的12864驱动
💻 TXT
字号:
#include<avr/io.h>
#define uchar unsigned char
#define uint unsigned int
unsigned char zk[]={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,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,0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x40,0x40,0x40,0x40,0x40,0x40,0x40,

0xFF,0x00,0x00,0x00,0x00,0xFF,0x41,0x41,0x41,0x41,0x41,0x41,0x00,0x00,0xFF,0x00,

0x00,0x00,0x00,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0xFF,0x00,0x00,0x00,0x00,0x00,

0x00,0x00,0xFF,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,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

0x3F,0x00,0x00,0x00,0x00,0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x1F,0x38,

0x30,0x30,0x20,0x30,0x30,0x3C,0x1F,0x00,0x00,0x00,0x1F,0x38,0x30,0x30,0x20,0x30,

0x30,0x3C,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,0xE0,0xF0,0x80,0x00,0x00,0x00,0x00,0x00,0x00,0x30,0xE0,0x20,

0x00,0x00,0x00,0x00,0x80,0x80,0x80,0xB0,0xE0,0x80,0x80,0xC0,0xC0,0xC0,0x80,0x80,

0xC0,0x60,0x40,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0xB0,0xE0,0xE0,

0x80,0x80,0x80,0x80,0xC0,0xC0,0x00,0x00,0x00,0x00,0x00,0x80,0x80,0x80,0x80,0xC0,

0x00,0x00,0x00,0xF0,0xE0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0xC0,

0x80,0x80,0x80,0xA0,0xE0,0xC0,0x80,0x80,0x80,0x80,0xC0,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,

0x30,0x18,0x0E,0xFF,0x13,0x98,0xD9,0xFB,0x87,0x87,0xFF,0x02,0x00,0x00,0xFF,0x00,

0x00,0x00,0x00,0x00,0x58,0xD9,0xDA,0xDE,0xF8,0xEF,0xEF,0x6C,0xEC,0xFF,0x08,0x0C,

0xFC,0x0C,0x0C,0x0C,0x00,0x00,0x00,0x00,0x8F,0x87,0x81,0xB5,0xE5,0xED,0x81,0xF1,

0xBF,0xC1,0xC1,0xC6,0xC3,0xC0,0x80,0x00,0x00,0x00,0x00,0x79,0x5F,0x41,0x7F,0xE3,

0x30,0xDC,0x17,0xF9,0x99,0x9B,0xEE,0x18,0x10,0x10,0x00,0x00,0x00,0x00,0x03,0x27,

0x36,0x3E,0x3E,0x76,0xF2,0x52,0x9A,0x9A,0xB3,0x33,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,0x0F,0x0C,0x09,0x0B,0x0C,0x0F,0x00,0x01,0x08,0x18,0x30,0x7F,0x00,

0x00,0x00,0x00,0x00,0x08,0x06,0x0B,0x19,0x3F,0x00,0x31,0x1F,0x07,0x01,0x00,0x10,

0x3F,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x21,0x31,0x11,0x19,0x0D,0x06,0x03,0x03,

0x06,0x0C,0x0C,0x18,0x38,0x00,0x00,0x00,0x00,0x02,0x02,0x03,0x19,0x31,0x3F,0x07,

0x10,0x13,0x13,0x11,0x19,0x1F,0x19,0x18,0x18,0x00,0x00,0x00,0x00,0x10,0x10,0x1B,

0x1B,0x1B,0x19,0x19,0x1F,0x19,0x19,0x09,0x09,0x08,0x08,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,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,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,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

};
void delay(unsigned long v)
{
    while(v!=0)
    v--;
}

void lcd_busy(void)
{
  PORTD&=~(1<<6);//RS=0
  PORTD|=(1<<7);//RW=1
  PORTC=0xff;
  while(1)
  {
    PORTD|=(1<<8);//EN=1
	if(PORTC<0x80) break;
	PORTD&=~(1<<8);//EN=0
   }
  PORTD&=~(1<<8);
}
void wcode(uchar c,uchar csl,uchar csr)
{ 
  PORTA|=(csl<<8);//CS1
  PORTA|=(csr<<7);//CS2
  lcd_busy();
  PORTD&=~(1<<6);//RS=0
  PORTD&=~(1<<7);//RW=0
  PORTC=c;
  PORTD|=(1<<8);//EN=1
  PORTD&=~(1<<8);//EN=0
}
void wdata(uchar c,uchar csl,uchar csr)
{
  PORTA|=(csl<<8);//CS1
  PORTA|=(csr<<7);//CS2
  lcd_busy();
  PORTD|=(1<<6);
  PORTD&=~(1<<7);
  PORTC=c;
  PORTD|=(1<<8);//EN=1
  PORTD&=~(1<<8);//EN=0
}
void set_xy(uchar x,uchar y)
{
  x=x+0x40;
  y=y+0xb8;
  wcode(x,1,1);
  wcode(y,1,1);
}
void lw(uchar x,uchar y,uchar dd)
{
  if(x>64)
    { 
      set_xy(x-64,y);
      wdata(dd,0,1);
	 }
  else
    {
      set_xy(x,y);
      wdata(dd,1,0);
     }
}
void set_startline(uchar i)
{
   i=0xc0+i;
   wcode(i,1,1);
}

void dison_off(uchar o)
{
  o=o+0x3e;
  wcode(o,1,1);
}
void reset()
{
  PORTA&=~(1<<6);//RST=0
  delay(20);
  PORTA|=(1<<6);//RST=1
  delay(20);
}
void init()
{
  uchar x,y;
  DDRC=0xff;
  DDRA=0xff;
  DDRD=0xff;
  PORTA=0x00;
  PORTC=0x00;
  PORTD=0x00;
  reset();
  set_startline(0);
  dison_off(0);
  for(y=0;y<8;y++)
    {
	  for(x=0;x<128;x++)
	  lw(x,y,0);
    }
  dison_off(1);
}
void display(uchar xx,uchar yy,uchar n,uchar fb)
{
  uchar i,dx;
  for(i=0;i<16;i++)
  {
    dx=zk[2*i+n*32];
	if(fb)
	dx=255-dx;
	lw(xx*8+i,yy,dx);
	dx=zk[(2*i+1)+n*32];
	if(fb)
	dx=255-dx;
	lw(xx*8+i,yy+1,dx);
  }
}



int main(void)
{
 uchar loop;
 init();
 delay(10000);
 while(1)
 {
 /***********************************************/
 for(loop=0;loop<8;loop++)
    {
	 display(2*loop,0,loop,0);
	 display(2*loop,0,loop,0);
	 display(2*loop,0,loop,0);
	 display(2*loop,0,loop,0);
	 display(2*loop,0,loop,0);
	 display(2*loop,0,loop,0);
	 display(2*loop,0,loop,0);
	 display(2*loop,0,loop,0);
	}
for(loop=0;loop<8;loop++)
    {
	 display(2*loop,2,loop+8,0);
	 display(2*loop,2,loop+8,0);
	 display(2*loop,2,loop+8,0);
	 display(2*loop,2,loop+8,0);
	 display(2*loop,2,loop+8,0);
	 display(2*loop,2,loop+8,0);
	 display(2*loop,2,loop+8,0);
	 display(2*loop,2,loop+8,0);
	}
	for(loop=0;loop<8;loop++)
    {
	 display(2*loop,4,loop+16,1);
	 display(2*loop,4,loop+16,1);
	 display(2*loop,4,loop+16,1);
	 display(2*loop,4,loop+16,1);
	 display(2*loop,4,loop+16,1);
	 display(2*loop,4,loop+16,1);
	 display(2*loop,4,loop+16,1);
	 display(2*loop,4,loop+16,1);
	}
	for(loop=0;loop<8;loop++)
    {
	 display(2*loop,6,loop+24,1);
	 display(2*loop,6,loop+24,1);
	 display(2*loop,6,loop+24,1);
	 display(2*loop,6,loop+24,1);
	 display(2*loop,6,loop+24,1);
	 display(2*loop,6,loop+24,1);
	 display(2*loop,6,loop+24,1);
	 display(2*loop,6,loop+24,1);
	}
delay(10000);
 }
}
/********************************************/

⌨️ 快捷键说明

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