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

📄 tft_disp.c

📁 一款收款机C源代码!因为是几年前的代码了
💻 C
📖 第 1 页 / 共 3 页
字号:
	0xA7,0xB0,0xB7,0xB1,0x64,0xAE,0x54,0xBC,0xD6,0xA1,0x4E,0xBA,0xF1,0xA6,0xE2,0xA4,
	0x57,0xBA,0xF4,0xA1,0xA8,0xAA,0xBA,0xBF,0xB3,0xBD,0xEC,0xA9,0x4D,0xB7,0x52,0xA6,
	0x6E,0xA1,0x4D,0xA5,0xCE,0xB0,0xB7,0xB1,0x64,0xAA,0xBA,0xAE,0x54,0xBC,0xD6,0xA4,
	0xE8,0xA6,0xA1,0xB3,0x76,0xBA,0xA5,0xB4,0xC0,0xA5,0x4E,0xA8,0xBA,0xA8,0xC7,0xA5,
	0x4F,0xAE,0x61,0xAA,0xF8,0xB2,0x60,0xB4,0x63,0xB5,0x68,0xB5,0xB4,0xA1,0x4E,0xA5,
	0x4F,0xA5,0xFE,0xAA,0xC0,0xB7,0x7C,0xC0,0x59,0xAF,0x6B,0xAA,0xBA,0xA4,0xA3,0xA8,
	0x7D,0xBA,0xF4,0xB5,0xB8,0xB2,0xDF,0xBA,0x44,0xA1,0x4D,0xA5,0x48,0xA4,0xCE,0xAA,
	0xFD,0xA4,0xEE,0xA4,0xA3,0xB0,0xB7,0xB1,0x64,0xAB,0x48,0xAE,0xA7,0xB9,0xEF,0xAB,
	0x43,0xA4,0xD6,0xA6,0x7E,0xAA,0xBA,0xAB,0x49,0xC2,0x5A,0xA1,0x43,0x0D,0x0A      
	
};




void init_Button(void )
{
    byte i;

    for(i = 0; i < 78; i++)
    {
        Test_Btn[i].size = 0x11;
        Test_Btn[i].posi = i;
        Test_Btn[i].fill_color = i*4;
        Test_Btn[i].font_color = ~(Test_Btn[i].fill_color);
        memset(Test_Btn[i].desc, 0x20, MAX_BTN_DESC_LEN);
        memcpy(Test_Btn[i].desc, Chinese_Sample_Disp_table[i], strlen(Chinese_Sample_Disp_table[i]));
        Test_Btn[i].desc[MAX_BTN_DESC_LEN] = i%2;
    }
    for(i = 0; i < MAX_BTN_DESC_LEN/2; i++)
    {
        Test_Btn[58].desc[i*2] = DB_BOLD_FONT;
        Test_Btn[58].desc[i*2+1] = 'a'+i;
    }
    
    memset(Test_Btn[59].desc, 0x20, MAX_BTN_DESC_LEN);
    for(i = 0; i < MAX_BTN_DESC_LEN/4; i++)
    {
        Test_Btn[59].desc[i*2] = DB_BOLD_FONT;
        Test_Btn[59].desc[i*2+1] = 'a'+i;
    }
    Test_Btn[59].desc[MAX_BTN_DESC_LEN] = BOLD_FONT;
}

void Test_Draw_Button(void)
{
    byte i;
    init_Button();

    Init_Func_Btn();
    for(i = 0; i < MAX_LAYOUT_KEY; i++)
        Lcd_Draw_Button(Test_Btn[i]);
    
}

void Test_Draw_Button_Ex(void)
{
    byte i;
    init_Button();

    for(i = MAX_LAYOUT_KEY/2; i < MAX_LAYOUT_KEY; i++)
        Lcd_Draw_Button(Test_Btn[i]);
}

/*	
*	Total 10 * 10 boxes on TFT
*/
void	Test_DrawAllBox(char i,unsigned char color)
{
	BYTE	x,y;
	int	x_pos1,y_pos1;
	
	if ( i == 0 )		/*Not fill*/
	{
		x_pos1 = 0;
		y_pos1 = 0;
		for (x=0;x<LCD_LAYOUT_VRT_LINE;x++)
		{
			for(y=0;y<LCD_LAYOUT_HOR_LINE;y++)
			{
				Lcd_Draw_Rect_EMP(x_pos1,y_pos1,x_pos1+KEY_ITEM_WIDTH-2,y_pos1+KEY_ITEM_HEIGHT-2,0x03);	/*red color*/
				y_pos1 += KEY_ITEM_HEIGHT;
			}
			x_pos1 += KEY_ITEM_WIDTH;
			y_pos1 = 0;
		}
	}
	else
	{
		x_pos1 = 0;
		y_pos1 = 0;
		for (x=0;x<LCD_LAYOUT_VRT_LINE;x++)
		{
			for(y=0;y<LCD_LAYOUT_HOR_LINE;y++)
			{
				Lcd_Draw_Rect_Fill(x_pos1,y_pos1,x_pos1+KEY_ITEM_WIDTH-2,y_pos1+KEY_ITEM_HEIGHT-2,color);	/*red color*/
				y_pos1 += KEY_ITEM_HEIGHT;
			}
			x_pos1 += KEY_ITEM_WIDTH;
			y_pos1 = 0;
		}
	}
}


/*	
*	Total 10 * 10 boxes on TFT
*/
const byte color_tab[47] = 
{
    0x00, 0x01, 0x02, 0x03,  0x04, 0x08, 0x17, 0x18,  0x1e, 
    0x1d, 0x1c,
    0x3c, 0x7d, 0xfe, 0xfb,  0xf3, 0xef, 0xea, 0xe7, 0xe0,
    0x3c, 0x7c, 0xfc, 0xf8,  0xf0, 0xec, 0xe8, 0xe6, 0xe0,
    0xe1, 0xea, 0xf3, 0x7b,  0xdb, 0x93, 0x6b, 0x47, 0x23,
    0xe1, 0xe2, 0xe3, 0x63,  0xc3, 0x83, 0x63, 0x43, 0x23,
};
void	Test_DrawColorBox(char fill)
{
	BYTE	x,y;
	int	x_pos1,y_pos1;
    byte color = 0;
	
	if ( fill == 0 )		/*Not fill*/
	{
		x_pos1 = 0;
		y_pos1 = 0;
		for (x=0;x<LCD_LAYOUT_VRT_LINE;x++)
		{
			for(y=0;y<LCD_LAYOUT_HOR_LINE;y++)
			{
				Lcd_Draw_Rect_EMP(x_pos1,y_pos1,x_pos1+KEY_ITEM_WIDTH-2,y_pos1+KEY_ITEM_HEIGHT-2,color_tab[color]);	/*red color*/
                color++;
				y_pos1 += KEY_ITEM_HEIGHT;
			}
			x_pos1 += KEY_ITEM_WIDTH;
			y_pos1 = 0;
		}
	}
	else
	{
		x_pos1 = 0;
		y_pos1 = 0;
		for (x=0;x<LCD_LAYOUT_VRT_LINE;x++)
		{
			for(y=0;y<LCD_LAYOUT_HOR_LINE;y++)
			{
				Lcd_Draw_Rect_Fill(x_pos1,y_pos1,x_pos1+KEY_ITEM_WIDTH-2,y_pos1+KEY_ITEM_HEIGHT-2,color_tab[color]);	/*red color*/
                color++;
				y_pos1 += KEY_ITEM_HEIGHT;
			}
			x_pos1 += KEY_ITEM_WIDTH;
			y_pos1 = 0;
		}
	}
}

char	Color_Get(char	c)
{

	char	charbkcolor= 0;
	switch(c)
	{
		case	0:	charbkcolor = 0x03; break;
		case	1:	charbkcolor = 0xe0; break;
		case	2:	charbkcolor = 0x1c; break;
		case	3:	charbkcolor = 0x00; break;
		default:	charbkcolor = 0x55; break;
	}
	return(charbkcolor);
}


void	TFT_Test(byte step)
{

	char	charbkcolor = 0;
	unsigned char	i = 0;

    switch(step)
	{
        case 0://清屏测试
            TFT_Clear(0);
			for (i=0;i<10;i++)
			{
				switch(i%5)
				{
					case	0:	charbkcolor = 0x03; break;
					case	1:	charbkcolor = 0xe0; break;
					case	2:	charbkcolor = 0x1c; break;
					case	3:	charbkcolor = 0x00; break;
					default:	charbkcolor = 0x55; break;
				}
				TFT_Clear(charbkcolor);
			}
            break;
        case 1://画单色框/单色矩形 测试
            TFT_Clear(0);    /*Clear the TFT display*/
			Test_DrawAllBox(0,0);
			{
				char	cc;
				char	i;
				for (i=0;i<10;i++)
				{
					cc = i | (i << 4);
					Test_DrawAllBox(1,cc);
				}
			}
            break;
        case 2:
		    TFT_Clear(0xff);	/*Clear the TFT display*/
            Test_DrawColorBox(1);
            break;
        case 3://测试画圆.
		    TFT_Clear(0x03);	/*Clear the TFT display*/
    		{
    			void Lcd_Draw_Circle(int xc, int yc, int radius, unsigned char c);
    			void Lcd_Draw_Circle_Fill(int x0, int y0, int r, unsigned char c);
    			
    			char	i;
    			char	j;
    			static c = 0;

    			for (i=0;i<10;i++)
    			{
    				Lcd_Draw_Circle(120,240,(i+1)*12,Color_Get(c&0x03));
    				Lcd_Draw_Circle(360,240,(i+1)*12,Color_Get(c&0x03));
    				Lcd_Draw_Circle(600,240,(i+1)*12,Color_Get(c&0x03));
    				Lcd_Draw_Circle(760,240,(i+1)*4,Color_Get(c++&0x03));
    			}
    			
    	
    			for (i=0;i<10;i++)
    			{
    				Lcd_Draw_Circle_Fill(120,240,(i+1)*12,Color_Get(c&0x03));
    				Lcd_Draw_Circle_Fill(360,240,(i+1)*12,Color_Get(c&0x03));
    				Lcd_Draw_Circle_Fill(600,240,(i+1)*12,Color_Get(c&0x03));
    				Lcd_Draw_Circle_Fill(760,240,(i+1)*4,Color_Get(c++&0x03));
    			}
    		}
            break;
        case 4:
		   // TFT_Clear(LIGHTGRAY);	/*Clear the TFT display*/
            Test_Draw_Button();
            break;
        case 5:     
            Test_Draw_Button_Ex();
            break;
        case 6:
            Lcd_Disp_Text_btn(BUF_ID_TL_INPUT, "PC界面上能够实现", 16, 32, FONT_HZ_16x16, ALIGN_LEFT);
            Lcd_Disp_Text_btn(BUF_ID_TL_SUB, "PC界面上能够实现收款机中所有参数的编程输入", 42, 32, FONT_HZ_16x16, ALIGN_LEFT);
            Lcd_Disp_Text_btn(BUF_ID_TL_TITLE,"ABCDEFGHIJKLMNOPQRSTUVWXYZ", 26, 32, DEFAULT_FONT, ALIGN_LEFT);
            for(i = 0; i < 20; i++)
            {
                textmem(test_BIG5 + i*32, 32, FONT_HZ_16x16, 0x11, true, WHITE, 10, 100 + i*16);
            }
            break;
        case 7:
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 0);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 30);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 60);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 90);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 120);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 150);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 180);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 210);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 240);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 270);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 300);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 330);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 360);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 390);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 420);
    		text("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz123456789012345678", FONT_ASC_12x24, 0x11, NULL, 0xe0, 0, 450);
            break;
        default:
          {
			char	str[10];
			char	str_bak[10];
			char	cntr = 0;
			
			while(cntr < 60)
			{
				memset(str, ' ', 10);
				str[0]=(char)(GetHour()/10+'0');		/* hour */
				str[1]=(char)(GetHour()%10+'0');
				
				str[2] = '-';
	
				str[3]=(char)(GetMinute()/10+'0');		/* minute */
				str[4]=(char)(GetMinute()%10+'0');
	
				str[5] = '-';
	
				str[6]=(char)(GetSecond()/10+'0');		/* second */
				str[7]=(char)(GetSecond()%10+'0');
				str[8] = 0;

				if (memcmp(str,str_bak,10))
				{
					cntr ++;
					memcpy(str_bak,str,10);
					TFT_Clear(0x00);
					text(str, FONT_ASC_24x48, 0x11, NULL, 0xe0, 300, 200);
				}
                
                if(GetMainMode() != X_OFF)
                    break;    
			}
		}	
        break;
	}
}

⌨️ 快捷键说明

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