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

📄 main.c

📁 this is avr code for nokia color lcd
💻 C
字号:
//============================================================
//    Crossworks AVR application builder 													  																
//    Wrt: Dang Minh Phuong. kamejoko80@yahoo.com
//    Date: 27/5/2006
//    Target : M128
//    Crystal: 16.000Mhz
//============================================================
#include <__cross_studio_io.h>
#include <ATmega128.h>
#include <math.h>
#include "N6610.h"

void port_init(void)
{
    PORTA = 0x7F;
    DDRA  = 0x80;
}
void Long_Delay(unsigned int m)
{
    unsigned int i,j;
    for(i=1;i<=m;i++)
      for(j=1;j<=50000;j++);
}
//---------------------------------------------------------------
//    plot sin(x) function
//---------------------------------------------------------------
void Graph(void)
{
    unsigned char x,y,x0,y0;
    float yr;
    x0=0;
    x=0;
    y0=0;
    while(x<=129) 	
    {	
      x+=1;			
      yr=40*sin(x*3.14/32)+64;	// Function
      y=floorf(yr); 				   
      Line(y0,x0,y,x,0x03);
      x0=x;
      y0=y;
    }
}
void main(void)
{
    unsigned char i,j;
		
    port_init();
    LCD_Init();
                      
    Rect(7,2,20,60,1,0x1C);               //  Drawa circle
              
    PRINT_CHAR(10,5,'y',1,0xFF,0x1C);     // Display character
    PRINT_CHAR(10,12,'=',1,0xFF,0x1C);
    PRINT_CHAR(10,20,'s',1,0xFF,0x1C);
    PRINT_CHAR(10,27,'i',1,0xFF,0x1C);
    PRINT_CHAR(10,32,'n',1,0xFF,0x1C);
    PRINT_CHAR(10,41,'(',1,0xFF,0x1C);
    PRINT_CHAR(10,48,'x',1,0xFF,0x1C);
    PRINT_CHAR(10,53,')',1,0xFF,0x1C);
    Line(64,0,64,129,0x1C);
    Line(0,64,110,64,0x1C);
    Graph();                              
          
    Rect(110,64,129,129,1,0xE0);            // Draw rectangle
    PRINT_CHAR(115,69,'k',1,0xFF,0xE0);
    PRINT_CHAR(115,74,'a',1,0xFF,0xE0);
    PRINT_CHAR(115,81,'m',1,0xFF,0xE0);
    PRINT_CHAR(115,87,'e',1,0xFF,0xE0);
    PRINT_CHAR(115,93,'j',1,0xFF,0xE0);
    PRINT_CHAR(115,99,'o',1,0xFF,0xE0);
    PRINT_CHAR(115,105,'k',1,0xFF,0xE0);
    PRINT_CHAR(115,110,'o',1,0xFF,0xE0);
    PRINT_CHAR(115,116,'8',1,0xFF,0xE0);
    PRINT_CHAR(115,122,'0',1,0xFF,0xE0);
             
    PRINT_CHAR(18,70,'A',1,0xD8,0xFF);
    PRINT_CHAR(18,76,'T',1,0xD8,0xFF);
    PRINT_CHAR(18,82,'M',1,0xD8,0xFF);
    PRINT_CHAR(18,88,'E',1,0xD8,0xFF);
    PRINT_CHAR(18,94,'G',1,0xD8,0xFF);
    PRINT_CHAR(18,100,'A',1,0xD8,0xFF);
    PRINT_CHAR(18,106,'1',1,0xD8,0xFF);
    PRINT_CHAR(18,112,'2',1,0xD8,0xFF);
    PRINT_CHAR(18,118,'8',1,0xD8,0xFF);
	 
    i=DarkRed;
    PRINT_CHAR(110,5,'A',2,i,0xFF);
    PRINT_CHAR(110,17,'V',2,i,0xFF);
    PRINT_CHAR(110,29,'R',2,i,0xFF);

    Circle(64,64,20,0,0xE3);
    //Circle(90,110,4,1,0xFF);
      
    
	 /*
	 #define DarkBlue    0x02
	 #define LightBlue   0x03
	 #define DarkGreen   0x14
	 #define LightGreen  0x1c
	 #define DarkRed     0x60
	 #define LightRed    0xe0
	 #define White       0xff
	 #define Black       0x00
	 #define Yellow      0xdd 
	 #define Purple      0x62
	  */
	 
while(1);
		 
while(1)	
{ 
 for(j=0;j<=64;j++)
  	for(i=0;i<=64;i++)
	{
	  if (j>=64-i)
	    Put_Pixel(i,j,0xE0);    // Red				
	  else 
	    Put_Pixel(i,j,0x3);     // Blue	  
	}
  for(j=64;j<=129;j++)
  	for(i=0;i<=64;i++)
	{
	  if (j<=64+i)
	    Put_Pixel(i,j,0xFC);  	// Yelow			
	  else
	    Put_Pixel(i,j,0xE3);	// Pink  
	} 	
  for(j=0;j<=64;j++)
  	for(i=64;i<=129;i++)
	{
	  if (j>=i-64)
	    Put_Pixel(i,j,0x1C);	// Green
	  else
	    Put_Pixel(i,j,0xFF);    // White	      
	}	
  for(j=64;j<=129;j++)
  	for(i=64;i<=129;i++)
	{
	  if (j<=193-i)
	    Put_Pixel(i,j,0x1F);	// sweat Blue
	  else
	    Put_Pixel(i,j,0xD8);	// Brown	   
	}		
	
	Long_Delay(20);
	for(j=0;j<=129;j++)
	for(i=0;i<=129;i++)
	Put_Pixel(i,j,0xFF);		// sweat Blue
	
	}	 
}

⌨️ 快捷键说明

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