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

📄 12864huitu.c

📁 AVR单片机12864绘图功能程序
💻 C
字号:

#include<iom16v.h>
#include<macros.h>
#define uchar unsigned char
#define uint unsigned int

#define RS_H PORTC|=BIT(PC7)	 
#define RS_L PORTC&=~BIT(PC7) 
#define RW_H PORTC|=BIT(PC6)	 
#define RW_L PORTC&=~BIT(PC6)
#define E_H PORTC|=BIT(PC5)	 
#define E_L PORTC&=~BIT(PC5) 
#pragma Data:code
const uint Data[]=
{0xFF,0xF2,0x00,0x00,0x00,0x06,0x7F,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x06,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xF4,0x00,0x00,0x00,0x04,0x4F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x04,0x5F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xE8,0x00,0x00,0x00,0x04,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFC,0x00,0x00,0x00,0x04,0x2F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFC,0x00,0x00,0x00,0x04,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFE,0x00,0x00,0x00,0x04,0xF7,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFE,0x00,0x00,0x00,0x04,0xFF,0xFF,0xB0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xFA,0x00,0x00,0x00,0x0C,0xFF,0xFC,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xFF,0xF0,
0xFF,0xF8,0x00,0x00,0x00,0x0C,0xFF,0xF0,0x00,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,
0xFF,0xFA,0x00,0x00,0x00,0x0C,0x7F,0xE0,0x00,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xE0,
0xFF,0xFE,0x00,0x00,0x00,0x0C,0xAF,0xE0,0x00,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x00,0x00,0x00,0x0C,0xFF,0xF8,0x07,0x00,0x7F,0xFF,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFC,0x00,0x00,0x00,0x0C,0xFF,0x80,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xFD,0xE1,
0xFF,0xF8,0x80,0x00,0x00,0x0C,0xFF,0xF8,0x00,0x00,0x3F,0xFF,0xFF,0xFF,0xEF,0xE1,
0xFF,0xFF,0x00,0x00,0x00,0x0C,0xFF,0xDB,0x01,0xCB,0xFF,0xFF,0xFF,0xFC,0x3F,0xE1,
0xFF,0xFF,0x00,0x00,0x00,0x00,0xF9,0xE1,0x30,0x80,0x3F,0xFF,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x80,0x00,0x00,0x00,0xFF,0x02,0x00,0x00,0x1F,0x7F,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x80,0x00,0x00,0x08,0xFE,0x00,0x00,0x00,0x0F,0x07,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x80,0x00,0x00,0x08,0xFE,0x04,0x00,0x00,0x1E,0x0F,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x80,0x00,0x00,0x08,0xFF,0x00,0x00,0x00,0x1E,0x0F,0xFF,0xFF,0xFF,0xE1,
0xFF,0xFF,0x80,0x00,0x00,0x09,0xFF,0x00,0x00,0x00,0x1D,0x1F,0xFF,0xFF,0xFF,0xC1,
0xFF,0xFF,0xB0,0x00,0x00,0x09,0xFF,0x00,0x00,0x00,0x3C,0x3F,0xFF,0xFF,0xFF,0xC1,
0xFF,0xFF,0xA0,0x00,0x00,0x09,0xFF,0x90,0x00,0x00,0x1C,0x7F,0xFF,0xFF,0xFF,0xC1,
0xFF,0xFF,0xA0,0x00,0x00,0x09,0xFF,0xF8,0x00,0x00,0x1F,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0x30,0x00,0x00,0x19,0xFF,0xCC,0x38,0x00,0x3F,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0xA0,0x00,0x00,0x19,0xFF,0xEC,0x00,0x00,0x73,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0xE0,0x00,0x00,0x19,0xFF,0xF0,0x00,0x00,0xC3,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0x20,0x00,0x00,0x19,0xFF,0xF0,0x00,0x03,0x03,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0xF0,0x00,0x00,0x1B,0xFF,0xF8,0x00,0x0C,0x03,0xFF,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0xF0,0x00,0x00,0x1B,0xFF,0xFC,0x00,0x60,0x03,0xFB,0xFF,0xFF,0xFF,0xC3,
0xFF,0xFF,0xF8,0x00,0x00,0x1B,0xFF,0xFF,0x83,0x00,0x00,0x0E,0x1F,0xFF,0xFF,0xC3,
0xFF,0xFF,0xF6,0x00,0x00,0x1B,0xFF,0xFF,0xF8,0x00,0x00,0x03,0x0F,0xFF,0xFF,0xC3,
0xFF,0xFF,0xFC,0x00,0x00,0x13,0xFF,0xFF,0xF0,0x00,0x00,0x00,0x01,0xFF,0xFF,0xC3,
0xFF,0xFF,0xF4,0x00,0x00,0x13,0xFF,0xFF,0xF0,0x00,0x00,0x04,0x00,0xFF,0xFF,0xC3,
0x0F,0xFF,0xFC,0x00,0x00,0x33,0xFF,0xFF,0xFC,0x00,0x00,0x08,0x00,0x7F,0xFF,0xC3,
0x07,0xFF,0xFC,0x00,0x00,0x3B,0xFF,0xFF,0xFE,0x00,0x00,0x00,0x00,0x1F,0xFF,0xC3,
0x00,0xFF,0xFC,0x00,0x00,0x33,0xFF,0xFF,0x00,0x00,0x00,0x01,0xC0,0x07,0xFF,0xC7,
0x00,0x1F,0xFC,0x00,0x00,0x33,0xFF,0xFF,0x00,0x40,0x00,0x03,0xE0,0x03,0xFF,0xC7,
0x00,0x03,0xFF,0x00,0x00,0x33,0xFF,0x3E,0x00,0x20,0x00,0x01,0xF0,0x01,0xFF,0xC7,
0x00,0x01,0xFF,0x00,0x00,0x33,0xFF,0xFE,0x00,0x38,0x00,0x38,0xF0,0x00,0xFF,0xC7,
0x00,0x00,0x3F,0xC0,0x00,0x33,0x87,0xFE,0x00,0x0F,0xC0,0x3E,0x38,0x00,0x7F,0xC7,
0x00,0x00,0x0F,0x80,0x00,0x33,0xFF,0xFE,0x00,0x00,0x00,0x3F,0x3C,0x00,0x3F,0xC7,
0x00,0x00,0x01,0xE1,0x00,0x39,0xFF,0xFE,0x00,0x00,0x00,0x1F,0x3C,0x00,0x3F,0xC7,
0x00,0x00,0x00,0xFB,0xF0,0x1F,0xFF,0xFC,0x00,0x00,0x00,0x0F,0x1E,0x00,0x1F,0xCF,
0x00,0x00,0x00,0xFF,0xF0,0x3F,0xFF,0xFC,0x00,0x00,0x00,0x0F,0x9F,0x00,0x0F,0x8F,
0x00,0x00,0x03,0xFF,0xFC,0x7F,0xFF,0xFC,0x00,0x00,0x00,0x0F,0xCF,0x00,0x07,0xCF,
0x00,0x00,0x03,0x7F,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x1F,0xCF,0x00,0x03,0xCF,
0x00,0x00,0x07,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x1F,0x8F,0x00,0x03,0xCF,
0x11,0x38,0x4D,0xFF,0xFF,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x3F,0xCF,0x00,0x03,0xDF,
0xC2,0x00,0x3F,0xFF,0xF8,0xFF,0xFF,0xFC,0x00,0x00,0x00,0x3F,0xCF,0x00,0x03,0xDF,
0xFE,0x83,0x7F,0xFF,0x0C,0xFF,0xFC,0x3C,0x00,0x00,0x00,0x3F,0xCF,0x00,0x01,0xDF,
0xFF,0x3B,0xFF,0xF0,0x0C,0xFF,0xF8,0x3C,0x02,0x00,0x00,0x3F,0xCF,0x80,0x01,0xFF,
0xBF,0xFF,0xFF,0x80,0x00,0x7F,0xF8,0xFC,0x06,0xE0,0x00,0x7F,0xCF,0x80,0x01,0xFF,
0xFF,0xFF,0xE0,0x00,0x01,0xBF,0xC1,0xFC,0x02,0x50,0x00,0xFF,0xCF,0x80,0x01,0xFF,
0xFF,0xFF,0x80,0x03,0x9F,0xFF,0x0F,0xFC,0x00,0x48,0x00,0xFF,0xCF,0x00,0x01,0xFF,
0xFF,0xFF,0xFF,0xFB,0xFF,0xFE,0x3F,0xF8,0x04,0xC0,0x00,0xFF,0xCF,0x00,0x03,0xFF,
0xFF,0xFF,0xFF,0xFF,0xFF,0xF3,0xFF,0xF8,0x01,0x03,0x80,0x7F,0x8F,0x00,0x03,0xFF,
0xFF,0xFF,0xFF,0xFF,0xF3,0xFB,0xFF,0xF8,0x05,0x27,0xE0,0x7F,0x8F,0x00,0x01,0xFF,
0xFF,0xFF,0xFF,0xEF,0xFF,0x4F,0xFF,0xF8,0x00,0x07,0xF0,0x7F,0x9F,0x00,0x01,0xFF,
0xFF,0xFF,0xFF,0xFF,0xE7,0xEF,0xFF,0xF8,0x00,0x0F,0xE0,0xFF,0x9F,0x02,0x00,0xFF,
0xFF,0xFE,0xFB,0xEF,0xFE,0xFF,0xFF,0xF8,0x00,0x8F,0xE0,0x7F,0x9F,0x00,0x00,0xFF,
0xFF,0xFB,0xF7,0xF7,0xFD,0xFF,0xFF,0xF8,0x00,0x1F,0xC1,0xFF,0x9F,0x00,0x00,0xFF,

};

void delay(uint k)
{
   uint i,j;
   for(i=0;i<k;i++)
   for(j=0;j<1140;j++);
}
void check_busy()
{
  uchar val;
  RS_L;_NOP();
  RW_H;_NOP();
  PORTA=0;
  while(1)
  {
     E_H;_NOP();
	 DDRA=0;
	 val=PINA;
	 if(val<0x80)break;
	 E_L;_NOP();
  }
  DDRA=0xff;
  E_L;_NOP();
}

void write_com(uchar com)
{    
     check_busy();
     RS_L;
	 RW_L;
	 PORTA=com;
	 E_H;
	 delay(1);
	 E_L;
	 }
	 
void write_dat(uchar dat)
{
    check_busy();
    RS_H;
	 RW_L;
	 PORTA=dat;
	 E_H;
	 delay(1);
	 E_L; 
}

void Init()
{
   DDRA=0XFF;
   DDRC|=BIT(5)|BIT(6)|BIT(7);
   write_com(0x30);
   write_com(0x0c);
   write_com(0x01);
   write_com(0x06);
   write_com(0x02);
  
}


void setxy(uchar x,uchar y)
{   
   
	 write_com(0x34); 
     write_com(y);  
     write_com(x);
	  //write_com(0X04);
	  //write_com(0X05);
    write_com(0x30);  
	 
}

void write_16byte(uint data_add)
{   
   uchar num;
    check_busy();             
  for(num=16;num>0;num--)
  {
        check_busy();
        write_dat(~Data[data_add++]);//取反,反白
		
		delay(5);                 
  }
}

void main()
{
    uchar x,y,i;
	
	
	
	
        delay(2);
	    Init();                 
        delay(2);
		y=0x80;                   
        x=0x80;   
		 for(i=0;i<32;i++)           
        {                        
            setxy(x,y);
            write_16byte(i*16);     
            y++;                    
        }  
		
		//delay(5000); 
		//write_com(0x01);
		 y=0x80;                    
         x=0x88  ;                     
       for(i=0;i<32;i++)          
        {
            setxy(x,y);             
            write_16byte((32+i)*16); 
            y++;                    
        }
         write_com(0x34);
	         
        write_com(0x36); 
		while(1);
		      
    


}


⌨️ 快捷键说明

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