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

📄 1783.c

📁 液晶驱动C程序,SSD1783芯片,液晶型号1760B0
💻 C
📖 第 1 页 / 共 3 页
字号:
  draw_circle(99,30,5,0x07,0xE0,0x07,0xE0);  	delay(wait*5);
  draw_circle(21,39,5,0xFF,0xC0,0xFF,0xC0);  	delay(wait*5);
  draw_circle(69,39,5,0x07,0xE0,0x07,0xE0);  	delay(wait*5);
  draw_circle(81,39,5,0xFF,0xC0,0xFF,0xC0);  	delay(wait*5);
  draw_circle(27,48,5,0x07,0xE0,0x07,0xE0);  	delay(wait*5);
  draw_circle(39,48,5,0x00,0x1F,0x00,0x1F);  	delay(wait*5);
  draw_circle(63,48,5,0xFF,0xC0,0xFF,0xC0);  	delay(wait*5);
  draw_circle(87,48,5,0xFF,0xC0,0xFF,0xC0);  	delay(wait*5);
  draw_circle(57,57,5,0xF8,0x00,0xF8,0x00);  	delay(wait*5);
  draw_circle(69,57,5,0x00,0x1F,0x00,0x1F);  	delay(wait*20);

  draw_circle(64,144,5,0x00,0x1F,0x00,0x1F);  delay(wait*20);


  for(i=0;i<=50;i+=10)  		 	//dotted line
  {
  draw_line(64,123-i,64,118-i,0xFF,0xFF); 	//white
  delay(wait*2);
  }
}

void Snooker_demo()					// snooker
{

  int i;

  fill(1);
  draw_rect(10,10,117,149,0xFB,0xE0,0xFB,0xE0);  	//table border line deep, fill light
  delay(wait);
  draw_rect(15,15,112,144,0xFB,0xE0,0x07,0xE0);  	//green table (both line & fill color = deep green)
  delay(wait);
  draw_circle(15,15,7,0x00,0x00,0x00,0x00);    		// 6 pockets
  draw_circle(112,15,7,0x00,0x00,0x00,0x00);
  draw_circle(15,144,7,0x00,0x00,0x00,0x00);
  draw_circle(112,144,7,0x00,0x00,0x00,0x00);
  draw_circle(15,79,7,0x00,0x00,0x00,0x00);
  draw_circle(112,79,7,0x00,0x00,0x00,0x00);

  fill(1);
  for(i=0;i<48;i+=12)      			// 4 red balls on first line
  {
  draw_circle(46+i,28,5,0xF8,0x00,0xF8,0x00);
  }
  for(i=0;i<36;i+=12)				// 3 red balls on second line
  draw_circle(52+i,38,5,0xF8,0x00,0xF8,0x00);
  for(i=0;i<24;i+=12)				// 2 red balls on third line
  draw_circle(58+i,48,5,0xF8,0x00,0xF8,0x00);
  draw_circle(64,58,5,0xF8,0x00,0xF8,0x00);	// 1 red ball on bottom line
  delay(wait*20);
  draw_circle(64,129,5,0xFF,0xFF,0xFF,0xFF);	// white ball
  delay(wait*30);


  draw_rect(63,147,65,149,0xFF,0xFF,0xFF,0xFF);		// sticker moving - line & fill = white
  for(i=1;i<11;i++)
  {
  draw_rect(63,147-i,65,149-i,0xFF,0xFF,0xFF,0xFF);  	// line & fill = white
  delay(wait);
  draw_rect(63,149-i,65,149,0x00,0x00,0x00,0x00);  	// line & fill = black
  delay(wait);
  }

  for(i=0;i<59;i++)
  {
	copy_region(58,124-i,69,135,58,123-i);		//  white ball moving
	delay(wait);
  }

	copy_region(25,22,91,64,25,21);			// all balls move up 2 pixels
	copy_region(25,21,91,63,25,20);
	delay(wait);


	fill(1);
	for(i=1;i<6;i++)
	{
		draw_circle(48-i*2,28-i,5,0x07,0xE0,0x07,0xE0);		// top left ball clear
		draw_circle(80+i*2,28-i,5,0x07,0xE0,0x07,0xE0);		// top right ball clear
		draw_circle(58,28-i,5,0x07,0xE0,0x07,0xE0);		// middle 1 ball clear
		draw_circle(70,28-i,5,0x07,0xE0,0x07,0xE0);		// middle 2 ball clear

		draw_circle(46-i*2,27-i,5,0xF8,0x00,0xF8,0x00);		// top left ball move
		draw_circle(82+i*2,27-i,5,0xF8,0x00,0xF8,0x00);		// top right ball move
		draw_circle(58,27-i,5,0xF8,0x00,0xF8,0x00);		// middle 1 ball move
		draw_circle(70,27-i,5,0xF8,0x00,0xF8,0x00);		// middle 2 ball move
		delay(wait);
	}
	for(i=1;i<4;i++)
	{
		draw_circle(39-i*3,21+i,5,0x07,0xE0,0x07,0xE0);		// top left ball clear
		draw_circle(89+i*3,21+i,5,0x07,0xE0,0x07,0xE0);		// top right ball clear
		draw_circle(58,21+i,5,0x07,0xE0,0x07,0xE0);		// middle 1 ball clear
		draw_circle(70,21+i,5,0x07,0xE0,0x07,0xE0);		// middle 2 ball clear

		draw_circle(36-i*3,22+i,5,0xF8,0x00,0xF8,0x00);		// top left ball move
		draw_circle(92+i*3,22+i,5,0xF8,0x00,0xF8,0x00);		// top right ball move
		draw_circle(58,22+i,5,0xF8,0x00,0xF8,0x00);		// middle 1 ball move
		draw_circle(70,22+i,5,0xF8,0x00,0xF8,0x00);		// middle 2 ball move
		delay(wait*3);
	}
	draw_circle(101,25,5,0x07,0xE0,0x07,0xE0);		// top right ball clear
}

/****************************************************
* Demo Program for SSD1781                          *
****************************************************/
void rotate_line_full()
{
  int i,line_count,r,d,color1,color2;

  color1=0x00;
  color2=0x00;

  for(i=0;i<8;i++)
  {
    r=50;
    d=3-r*2;
    for(line_count=0; line_count<r; line_count++)
    {
       color1++;
       color2++;
       if(!(i%4))
       {
	  draw_line(64-line_count,64-r,64+line_count,64+r,color1+0x0C,color2+0x0C);
       }
       if(i%4)
       {
	  draw_line(64+line_count,64-r,64-line_count,64+r,color1+0x0C,color2+0x0C);
       }
       if((i%4)==2)
       {
	  draw_line(64-r,64+line_count,64+r,64-line_count,color1+0x80,color2);
       }
       if((i%4)==3)
       {
	  draw_line(64-r,64-line_count,64+r,64+line_count,color1+0x80,color2);
       }
       if(d<0)
       {
          d+=4*line_count+6;
       }
       else
       {
       d+=4*(line_count-r)+10;
       r--;
       }
       delay(wait);
    }
  }
}


void clock_circle()
{
	int i,r,d,sec;

	fill(1);					// clock outline and color
	draw_circle(64,64,50,0xf8,0x00,0xFF,0xC0);	// (64,64) r=50 with light yellow background color filled
	delay(wait);
	fill(0);					// pointer routine
	draw_circle(64,64,40,0xf8,0x00,0xF8,0x00);	// (64,64) r=40 without fill - line red and light yellow fill

	draw_line(64,15,64,24,0x00,0x1F);		// 3,6,9,12 o'clock marking with blue color
	draw_line(112,64,103,64,0x00,0x1F);
	draw_line(64,112,64,103,0x00,0x1F);
	draw_line(15,64,24,64,0x00,0x1F);
	delay(wait*20);

	draw_line(65,63,91,60,0x00,0x1F);		// Hour pointer
	draw_line(65,64,91,60,0x00,0x1F);
	draw_line(66,65,88,61,0x00,0x1F);
	delay(wait*10);

	draw_line(57,28,63,64,0xF8,0xF8);		// Minute pointer
	draw_line(57,28,64,64,0xF8,0xF8);
	draw_line(58,33,65,64,0xF8,0xF8);
	draw_line(58,32,66,64,0xF8,0xF8);
	delay(wait*10);

	r=38;						// second pointer moving
	d=3-2*r;
	for(sec=0;sec<r-10;sec+=2)
	{
		draw_line(64,64,64-r,64-sec,0x0F,0x0F);
		delay(wait*20); 			// assume wait = 1sec
		draw_line(64,64,64-r,64-sec,0xFF,0xC0);
		for(i=0;i<2;i++)
		{
			if (d<0)
			d+=4*sec+6;
			else
			{
				d+=4*(sec-r)+10;
				r--;
			}
		}
	}
}


//1781 application

/****************************************************
* E) Main Program                                   *
****************************************************/
void main(void)
{
  resetchip();
  init_lcd();
  do
  {
	fill(1);
	draw_rect(0,0,131,159,0xff,0xff,0xff,0xff);
	delay(wait*10);
        
        fill(1);
	draw_rect(31,49,95,109,0x00,0x00,0x00,0x00);
	delay(wait*1500);
        
        fill(1);
	draw_rect(0,0,131,159,0x00,0x00,0x00,0x00);
	delay(wait*10);
        
        fill(1);
	draw_rect(31,49,95,109,0xff,0xff,0xff,0xff);
	delay(wait*1500);
        
        fill(1);
	draw_rect(0,0,131,159,0xf8,0x00,0xf8,0x00);
	delay(wait*1500);
        
        fill(1);
	draw_rect(0,0,131,159,0x07,0xe0,0x07,0xe0);
	delay(wait*1500);

        fill(1);
	draw_rect(0,0,131,159,0x00,0x1f,0x00,0x1f);
	delay(wait*1500);
//**************** Load_pattern about LOGO and part no.  ************//

	Note_line();						// Note Line demo
	delay(wait*10);
	fill(1); draw_rect(0,0,131,159,0xff,0xff,0xff,0xff); delay(wait*10);

	rotate_line();
	delay(wait*20);
	fill(1); draw_rect(0,0,131,159,0xff,0xff,0xff,0xff); delay(wait*10);

	Bubbles_circle();
	delay(wait*50);
	fill(1); draw_rect(0,0,131,159,0xff,0xff,0xff,0xff); delay(wait*10);

	Snooker_demo();
	delay(wait*50);
	fill(1); draw_rect(0,0,131,159,0xff,0xff,0xff,0xff); delay(wait*10);

	rotate_line_full();
	delay(wait*20);
	fill(1); draw_rect(0,0,131,159,0xff,0xff,0xff,0xff); delay(wait*10);

	clock_circle();
	delay(wait*20);





  } while(-1);
}

⌨️ 快捷键说明

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