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

📄 graphic.c

📁 how to use display powertip PG 320x240
💻 C
字号:
//*****************************************************************************
//  Project Name:   Graphic library for draw on graphic LCD
//	Description:    Graphic library for draw on graphic LCD
//	Filename:		graphic.c	
//	Processor:      
// 	Revision:       1.0
//	Date:           20.04.2004
//	Compiler:       C compiler IAR
//
//*****************************************************************************
#include "common.h"
#include "graphic.h"
#include "LCD_pg320240.h"


void linex(coordinate a, unsigned short l, unsigned char Color)
{
	unsigned int i, Address;
	a.x = a.x / 2;	
	Address = a.x + (a.y * 160);
	Color = (Color & 0x0F)|(Color << 4);
	for (i=0; i<l; i+=2)
	{
		if (Address < 8) lcd_write((Address + 0x95F8),Color);
		else lcd_write(Address - 8,Color);
		Address++;
	}
}
//*****************************************************************************
void liney(coordinate a, unsigned short l, unsigned char c)
{
	unsigned int i, Address;
	unsigned char Color = 0;
	a.x = a.x / 2;
	Address = a.x + (a.y * 160);
	for (i=0; i<l;i++)
	{		 
		if (Address < 8) 
		{
			Color = lcd_read_reg((Address + 0x95F8),0);
			Color &= 0xF0;
			Color |= c;
			lcd_write((Address + 0x95F8),Color);
		}
		else
		{
			Color = lcd_read_reg((Address - 8),0);
			Color &= 0xF0;
			Color |= c;
			lcd_write(Address - 8,Color);
		}						  
		Address += OFFSET;
	}	
}

//*****************************************************************************
void shadow_boxs(void)
{
    coordinate Dot;
	char i,j;
	Dot.x = 0; 
	Dot.y = 0;
	for (j = 0x0F; j > 0;j--)
	{
		for (i=0;i<15;i++) 
		{  
			linex(Dot,312,j); 
			Dot.y++;
		}
	}
}
//*****************************************************************************
void box(coordinate Begin, unsigned short Side, unsigned char Color)
{
	unsigned int i;    
	for (i=0; i< Side;i++)
    {
	 	Begin.y ++;
		linex(Begin,Side,Color);	
    }
}
//*****************************************************************************

void rectangle(coordinate Begin, unsigned char SizeX,unsigned char SizeY,unsigned char Color)
{
	unsigned int i;    
	for (i=0; i< SizeY;i++)
    {
	 	Begin.y ++;
		linex(Begin,SizeX,Color);	
    }
}	
//******************************************************************************

/*
void lcd_write_char(unsigned char Pismeno, unsigned char Color)
{ 
    switch (Pismeno)
    {
        case ' ':lcd_write(Address - 8,Color);
		lcd_write_data(0x00);lcd_write_data(0x00);
                lcd_write_data(0x00);lcd_write_data(0x00);
                lcd_write_data(0x00);lcd_write_data(0x00);break;
        case 'A':lcd_write_data(0x7E);lcd_write_data(0x11);
                lcd_write_data(0x11);lcd_write_data(0x11);
                lcd_write_data(0x7E);lcd_write_data(0x00);break;
        case 'B':lcd_write_data(0x7F);lcd_write_data(0x49);
                lcd_write_data(0x49);lcd_write_data(0x49);
                lcd_write_data(0x67);lcd_write_data(0x00);break;
        case 'C':lcd_write_data(0x3E);lcd_write_data(0x41);
                lcd_write_data(0x41);lcd_write_data(0x41);
                lcd_write_data(0x22);lcd_write_data(0x00);break;
        case 'D':lcd_write_data(0x7F);lcd_write_data(0x41);
                lcd_write_data(0x41);lcd_write_data(0x22);
                lcd_write_data(0x1C);lcd_write_data(0x00);break;
        case 'E':lcd_write_data(0x7F);lcd_write_data(0x49);
                lcd_write_data(0x49);lcd_write_data(0x49);
                lcd_write_data(0x41);lcd_write_data(0x00);break;
        case 'F':lcd_write_data(0x7F);lcd_write_data(0x09);
                lcd_write_data(0x09);lcd_write_data(0x09);
                lcd_write_data(0x01);lcd_write_data(0x00);break;
        case 'G':lcd_write_data(0x3E);lcd_write_data(0x41);
                lcd_write_data(0x49);lcd_write_data(0x49);
                lcd_write_data(0x7A);lcd_write_data(0x00);break;
        case 'H':lcd_write_data(0x7F);lcd_write_data(0x80);
                lcd_write_data(0x80);lcd_write_data(0x80);
                lcd_write_data(0x7F);lcd_write_data(0x00);break;
        case 'I':lcd_write_data(0x00);lcd_write_data(0x41);
                lcd_write_data(0x7F);lcd_write_data(0x41);
                lcd_write_data(0x00);lcd_write_data(0x00);break;
        case 'J':lcd_write_data(0x20);lcd_write_data(0x40);
                lcd_write_data(0x41);lcd_write_data(0x3F);
                lcd_write_data(0x01);lcd_write_data(0x00);break;
        case 'K':lcd_write_data(0x7F);lcd_write_data(0x08);
                lcd_write_data(0x14);lcd_write_data(0x22);
                lcd_write_data(0x41);lcd_write_data(0x00);break;
        case 'L':lcd_write_data(0x7F);lcd_write_data(0x40);
                lcd_write_data(0x40);lcd_write_data(0x40);
                lcd_write_data(0x40);lcd_write_data(0x00);break;
        case 'M':lcd_write_data(0x7F);lcd_write_data(0x02);
                lcd_write_data(0x0C);lcd_write_data(0x02);
                lcd_write_data(0x7F);lcd_write_data(0x00);break;
        case 'N':lcd_write_data(0x7F);lcd_write_data(0x04);
                lcd_write_data(0x08);lcd_write_data(0x10);
                lcd_write_data(0x7F);lcd_write_data(0x00);break;
        case 'O':lcd_write_data(0x3E);lcd_write_data(0x41);
                lcd_write_data(0x41);lcd_write_data(0x41);
                lcd_write_data(0x3E);lcd_write_data(0x00);break;
        case 'P':lcd_write_data(0x7F);lcd_write_data(0x09);
                lcd_write_data(0x09);lcd_write_data(0x09);
                lcd_write_data(0x06);lcd_write_data(0x00);break;
        case 'Q':lcd_write_data(0x3E);lcd_write_data(0x41);
                lcd_write_data(0x51);lcd_write_data(0x21);
                lcd_write_data(0x5E);lcd_write_data(0x00);break;
        case 'R':lcd_write_data(0x7F);lcd_write_data(0x09);
                lcd_write_data(0x19);lcd_write_data(0x29);
                lcd_write_data(0x46);lcd_write_data(0x00);break;
        case 'S':lcd_write_data(0x26);lcd_write_data(0x49);
                lcd_write_data(0x49);lcd_write_data(0x49);
                lcd_write_data(0x32);lcd_write_data(0x00);break;
        case 'T':lcd_write_data(0x01);lcd_write_data(0x01);
                lcd_write_data(0x7F);lcd_write_data(0x01);
                lcd_write_data(0x01);lcd_write_data(0x00);break;
        case 'U':lcd_write_data(0x3F);lcd_write_data(0x40);
                lcd_write_data(0x40);lcd_write_data(0x40);
                lcd_write_data(0x3F);lcd_write_data(0x00);break;
        case 'V':lcd_write_data(0x1F);lcd_write_data(0x20);
                lcd_write_data(0x40);lcd_write_data(0x20);
                lcd_write_data(0x1F);lcd_write_data(0x00);break;
        case 'W':lcd_write_data(0x3F);lcd_write_data(0x40);
                lcd_write_data(0x38);lcd_write_data(0x40);
                lcd_write_data(0x3F);lcd_write_data(0x00);break;
        case 'X':lcd_write_data(0x63);lcd_write_data(0x14);
                lcd_write_data(0x08);lcd_write_data(0x14);
                lcd_write_data(0x63);lcd_write_data(0x00);break;
        case 'Y':lcd_write_data(0x07);lcd_write_data(0x08);
                lcd_write_data(0x70);lcd_write_data(0x08);
                lcd_write_data(0x07);lcd_write_data(0x00);break;
        case 'Z':lcd_write_data(0x61);lcd_write_data(0x51);
                lcd_write_data(0x49);lcd_write_data(0x45);
                lcd_write_data(0x43);lcd_write_data(0x00);break;
    }

  */

⌨️ 快捷键说明

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