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

📄 input._c

📁 已经上传的YF-320240-3.5寸彩屏(可由单片机控制)的测试程序。主CPU为MEGA128
💻 _C
字号:
#include <iom128v.h>
#include "lcd.h"
#include "display.h"
#include "touch.h"
unsigned char input_buffer[10];
#define Key_Data_size 15
struct Command const Key_Data[]=
{
    {50,80,50,50,30,30,GREEN," 1","1",RED,BIG,GREEN,},//1
	{110,80,50,50,30,30,GREEN," 2","2",RED,BIG,GREEN,},//2
	{170,80,50,50,30,30,GREEN," 3","3",RED,BIG,GREEN,},//3
	{230,80,50,50,30,30,GREEN," 4","4",RED,BIG,GREEN,},//4
	{50,113,50,50,30,30,GREEN," 5","5",RED,BIG,GREEN,},//5
	{110,113,50,50,30,30,GREEN," 6","6",RED,BIG,GREEN,},//6
	{170,113,50,50,30,30,GREEN," 7","7",RED,BIG,GREEN,},//7
	{230,113,50,50,30,30,GREEN," 8","8",RED,BIG,GREEN,},//8
	{50,146,50,50,30,30,GREEN," 9","9",RED,BIG,GREEN,},//9
	{110,146,50,50,30,30,GREEN," 0","0",RED,BIG,GREEN,},//0
	{170,146,50,50,30,30,GREEN," +","+",RED,BIG,GREEN,},//+
	{230,146,50,50,30,30,GREEN," -","-",RED,BIG,GREEN,},//-
	{50,179,82,82,30,30,GREEN,"Backspace","Backspace",RED,SMALL,GREEN,},//Backspace
	{197,179,83,83,30,30,GREEN,"  Enter","  Enter",RED,SMALL,GREEN,},//Enter
	{140,179,50,50,30,30,GREEN," ."," .",RED,BIG,GREEN,},//.
};

unsigned char GetCursor(struct Command Cursor_data)
{
  
   
        if((cursor.x >Cursor_data.x)&&(cursor.y >Cursor_data.y)&&((cursor.x-Cursor_data.x)<Cursor_data.width)&&((cursor.y - Cursor_data.y) < Cursor_data.lenth))
	    {
			//Dis_Command(Cursor_data);
			    cursor.flag = 0;
			    return 1;
	    } 
	    else
	    {
	        return 0;
	    }
	
	
}
//从显示屏输入口中得到一个数据

void Input_Data(void)
{   
    unsigned int i;
	unsigned char temp;
	for(i=0;i<9;i++)
	{
	    input_buffer[i]= ' ';
	}
	input_buffer[9]= 0;
    Dis_Rect(20,20,280,200,BLUE);//画一个外框
	Dis_Rect(80,50,150,26,WHITE);//画一个输入框
	Dis_Menu(Key_Data,Key_Data_size);
	cursor.x = cursor.y = 0;
	cursor.flag = 0;
	Display(80,50,input_buffer,BIG,RED,WHITE);
	while(1)
	{
	    if(cursor.flag == 1)
		{    
		     cursor.flag = 0;
             for(i = 0;i<Key_Data_size;i++)
		     {
			     if(GetCursor(Key_Data[i]))
				 { 
				    temp=i;
					break;
				 }
			 }
			 if(i!=temp)
			 {
			   continue;
			 }
			 if(i == 13)
			 {   
			     
			     break;
			 }
			 //if(temp==12) temp=15;
			 switch (temp)
			 {
			     case 0: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '1';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
				         break;
				 case 1: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '2';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
				         break;
				 case 2: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '3';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
						 break;
				 case 3: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '4';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
				         break;
				 case 4: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '5';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
						 break;
				 case 5: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '6';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
						 break;
				 case 6: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '7';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
						 break;
				 case 7: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '8';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
						 break;
				 case 8: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '9';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
						 break;
				 case 9: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '0';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
						 break;
				 case 10:for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '+';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
						 break;
				 case 11: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '-';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
						 break;
						 
				 case 13: break;
				case 14: for(i = 0;i<8;i++)
				         {
						     input_buffer[i] = input_buffer[i+1];
						 }
						 input_buffer[8] = '.';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
						 break;
				case 12: for(i = 8;i>0;i--)
				         {
						     input_buffer[i] = input_buffer[i-1];
						 }
						 input_buffer[0] = ' ';
						 Display(80,50,input_buffer,BIG,RED,WHITE);
						 break;		 
				 default: break; 
			 }
		}
	}
	
}


⌨️ 快捷键说明

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