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

📄 单片机拼音输入.c

📁 单片机拼音输入.rar
💻 C
📖 第 1 页 / 共 3 页
字号:
  							{"en    \XED\X0E"},
  							{"eng   \XF4\X0E"},
  							{"i     \X05\X0F"},
  							{"ian   \X22\X0F"},
  							{"iao   \X35\X0F"},
  							{"ie    \X46\X0F"},
  							{"in    \X4B\X0F"},
  							{"ing   \X58\X0F"},
  							{"iu    \X65\X0F"},
  							{"o     \X68\X0F"},
  							{"ou    \X8D\X0F"},
  							{"u     \X94\X0F"}};
unsigned char code PY_index_n[][8]={
  							{"a     \XB3\X0F"},
  							{"ai    \XC2\X0F"},
  							{"an    \XCD\X0F"},
  							{"ang   \XD4\X0F"},
  							{"ao    \XD7\X0F"},
  							{"e     \XE2\X0F"},
  							{"ei    \XE5\X0F"},
  							{"en    \XEA\X0F"},
  							{"eng   \XED\X0F"},
  							{"i     \XF0\X0F"},
  							{"ian   \X07\X10"},
  							{"iang  \X16\X10"},
  							{"iao   \X1B\X10"},
  							{"ie    \X20\X10"},
  							{"in    \X2F\X10"},
  							{"ing   \X32\X10"},
  							{"iu    \X3F\X10"},
  							{"ong   \X48\X10"},
  							{"u     \X51\X10"},
  							{"uan   \X58\X10"},
  							{"ue    \X5B\X10"},
  							{"uo    \X60\X10"},
  							{"v     \X69\X10"}};
unsigned char code PY_index_o[][8]={
  							{"      \X6C\X10"},
  							{"u     \X6F\X10"}};
unsigned char code PY_index_p[][8]={
  							{"a     \X7E\X10"},
  							{"ai    \X8D\X10"},
  							{"an    \X9A\X10"},
  							{"ang   \XAB\X10"},
  							{"ao    \XB6\X10"},
  							{"ei    \XC5\X10"},
  							{"en    \XD8\X10"},
  							{"eng   \XDD\X10"},
  							{"i     \XFA\X10"},
  							{"ian   \X1F\X11"},
  							{"iao   \X28\X11"},
  							{"ie    \X31\X11"},
  							{"in    \X36\X11"},
  							{"ing   \X41\X11"},
  							{"o     \X54\X11"},
  							{"ou    \X65\X11"},
  							{"u     \X68\X11"}};
unsigned char code PY_index_q[][8]={
  							{"i     \X87\X11"},
  							{"ia    \XD0\X11"},
  							{"ian   \XD7\X11"},
  							{"iang  \X04\X12"},
  							{"iao   \X15\X12"},
  							{"ie    \X34\X12"},
  							{"in    \X3F\X12"},
  							{"ing   \X56\X12"},
  							{"iong  \X71\X12"},
  							{"iu    \X76\X12"},
  							{"u     \X87\X12"},
  							{"uan   \XA2\X12"},
  							{"ue    \XB9\X12"},
  							{"un    \XCA\X12"}};
unsigned char code PY_index_r[][8]={
  							{"an    \XCF\X12"},
  							{"ang   \XD8\X12"},
  							{"ao    \XE3\X12"},
  							{"e     \XEA\X12"},
  							{"en    \XEF\X12"},
  							{"eng   \X04\X13"},
  							{"i     \X09\X13"},
  							{"ong   \X0C\X13"},
  							{"ou    \X21\X13"},
  							{"u     \X28\X13"},
  							{"uan   \X3D\X13"},
  							{"ui    \X42\X13"},
  							{"un    \X49\X13"},
  							{"uo    \X4E\X13"}};
unsigned char code PY_index_s[][8]={
  							{"a     \X53\X13"},
  							{"ai    \X5A\X13"},
  							{"an    \X63\X13"},
  							{"ang   \X6C\X13"},
  							{"ao    \X73\X13"},
  							{"e     \X7C\X13"},
  							{"en    \X83\X13"},
  							{"eng   \X86\X13"},
  							{"ha    \X89\X13"},
  							{"hai   \X9C\X13"},
  							{"han   \XA1\X13"},
  							{"hang  \XC4\X13"},
  							{"hao   \XD5\X13"},
  							{"he    \XEC\X13"},
  							{"hen   \X05\X14"},
  							{"heng  \X28\X14"},
  							{"hi    \X3F\X14"},
  							{"hou   \XA0\X14"},
  							{"hu    \XB5\X14"},
  							{"hua   \XF8\X14"},
  							{"huai  \XFD\X14"},
  							{"huan  \X06\X15"},
  							{"huang \X0B\X15"},
  							{"hui   \X12\X15"},
  							{"hun   \X1B\X15"},
  							{"huo   \X24\X15"},
  							{"i     \X2D\X15"},
  							{"ong   \X4C\X15"},
  							{"ou    \X5D\X15"},
  							{"u     \X66\X15"},
  							{"uan   \X7D\X15"},
  							{"ui    \X84\X15"},
  							{"un    \X9B\X15"},
  							{"uo    \XA2\X15"}};
unsigned char code PY_index_t[][8]={
  							{"a     \XB3\X15"},
  							{"ai    \XC6\X15"},
  							{"an    \XD9\X15"},
  							{"ang   \XFE\X15"},
  							{"ao    \X19\X16"},
  							{"e     \X30\X16"},
  							{"eng   \X33\X16"},
  							{"i     \X3C\X16"},
  							{"ian   \X5B\X16"},
  							{"iao   \X6C\X16"},
  							{"ie    \X79\X16"},
  							{"ing   \X80\X16"},
  							{"ong   \X95\X16"},
  							{"ou    \XB0\X16"},
  							{"u     \XB9\X16"},
  							{"uan   \XD0\X16"},
  							{"ui    \XD5\X16"},
  							{"un    \XE2\X16"},
  							{"uo    \XEB\X16"}};
unsigned char code PY_index_w[][8]={
  							{"a     \X02\X17"},
  							{"ai    \X11\X17"},
  							{"an    \X16\X17"},
  							{"ang   \X39\X17"},
  							{"ei    \X4E\X17"},
  							{"en    \X91\X17"},
  							{"eng   \XA6\X17"},
  							{"o     \XAD\X17"},
  							{"u     \XC0\X17"}};
unsigned char code PY_index_x[][8]={
  							{"i     \XFB\X17"},
  							{"ia    \X40\X18"},
  							{"ian   \X59\X18"},
  							{"iang  \X90\X18"},
  							{"iao   \XB9\X18"},
  							{"ie    \XDC\X18"},
  							{"in    \X05\X19"},
  							{"ing   \X1A\X19"},
  							{"iong  \X37\X19"},
  							{"iu    \X46\X19"},
  							{"u     \X5B\X19"},
  							{"uan   \X82\X19"},
  							{"ue    \X97\X19"},
  							{"un    \XA6\X19"}};
unsigned char code PY_index_y[][8]={
  							{"a     \XC3\X19"},
  							{"an    \XE4\X19"},
  							{"ang   \X27\X1A"},
  							{"ao    \X4A\X1A"},
  							{"e     \X6D\X1A"},
  							{"i     \X8C\X1A"},
  							{"in    \XF7\X1A"},
  							{"ing   \X18\X1B"},
  							{"o     \X3D\X1B"},
  							{"ong   \X40\X1B"},
  							{"ou    \X5F\X1B"},
  							{"u     \X88\X1B"},
  							{"uan   \XE1\X1B"},
  							{"ue    \X0A\X1C"},
  							{"un    \X1D\X1C"}};
unsigned char code PY_index_z[][8]={
  							{"a     \X36\X1C"},
  							{"ai    \X3F\X1C"},
  							{"an    \X50\X1C"},
  							{"ang   \X59\X1C"},
  							{"ao    \X60\X1C"},
  							{"e     \X7D\X1C"},
  							{"ei    \X86\X1C"},
  							{"en    \X89\X1C"},
  							{"eng   \X8C\X1C"},
  							{"ha    \X93\X1C"},
  							{"hai   \XAE\X1C"},
  							{"han   \XBD\X1C"},
  							{"hang  \XE0\X1C"},
  							{"hao   \X01\X1D"},
  							{"he    \X18\X1D"},
  							{"hen   \X2F\X1D"},
  							{"heng  \X52\X1D"},
  							{"hi    \X6F\X1D"},
  							{"hong  \XC6\X1D"},
  							{"hou   \XDD\X1D"},
  							{"hu    \XFA\X1D"},
  							{"hua   \X2F\X1E"},
  							{"huai  \X32\X1E"},
  							{"huan  \X35\X1E"},
  							{"huang \X40\X1E"},
  							{"hui   \X51\X1E"},
  							{"hun   \X5E\X1E"},
  							{"huo   \X63\X1E"},
  							{"i     \X78\X1E"},
  							{"ong   \X95\X1E"},
  							{"ou    \XA4\X1E"},
  							{"u     \XAD\X1E"},
  							{"uan   \XBE\X1E"},
  							{"ui    \XC5\X1E"},
  							{"un    \XCE\X1E"},
  							{"uo    \XD3\X1E"}};
unsigned char code PY_index_end[][8]={"      \X0\X0"};
  							
//================================================================================================

//================================================================================================

//"========================================变量声明========================================"
unsigned int code py_mb_begin=(unsigned int)&PY_mb_a[0];
code unsigned char  ( code *PY_index_pointer[25])[8] = {
											PY_index_a,PY_index_b,PY_index_c,PY_index_d,PY_index_e,PY_index_f,PY_index_g,PY_index_h,
											PY_index_j,PY_index_j,PY_index_k,PY_index_l,PY_index_m,PY_index_n,PY_index_o,PY_index_p,
											PY_index_q,PY_index_r,PY_index_s,PY_index_t,PY_index_w,PY_index_x,PY_index_y,PY_index_z,
											PY_index_end};

code char index_len_buf[] = {5,16,23,20,3,9,19,19,14,18,24,19,23,2,17,14,14,34,19,9,14,15,36};

//"========================================函数声明========================================"
//"拼音输入法杳询函数,input_py为已输入的拼音码,反回值为中文的起始地址,当为0时,杳询失败"
unsigned char code *py_ime(unsigned char input_py_val[]);

//"========================================主程序体========================================"

unsigned char code *py_ime(unsigned char input_py_val[])
{
	unsigned char  ( * xdata p1)[8],( * xdata p2)[8],( * xdata p3)[8];
	unsigned char  i=1;
	char len,index_len;

	if (input_py_val[0]==0) return(0);			//"如果输入空字符返回0"
	if (input_py_val[0]=='i') return(0);
	if (input_py_val[0]=='u') return(0);
	if (input_py_val[0]=='v') return(0);
	p1=p2=PY_index_pointer[input_py_val[0]-0x61];	//"计算入口树根"
/*	
	p3=PY_index_pointer[input_py_val[0]-0x60];		//"设置指针界限"
	if (p1==0) return(0);							//"查询失败返回0"
	while (p1<p3) 
	  if ((*p1)[0]==input_py_val[1])
	  {
	  	p2=p1;
	  	break;
	  } 
	  else 
	    p1++;		//"查询第二个拼音"
	p1=p2;
	while (p1<p3)	//"阶梯法查询余下拼音"
		if (((*p1)[i]==input_py_val[i+1])&&((*p1)[i-1]==input_py_val[i])) 
		{
			p2=p1;
			i++;
		} 
		else 
		  p1++;
*/
    len = strlen(input_py_val);
    index_len = index_len_buf[input_py_val[0]-0x61];

    if( len == 1 )
	{
      for( i = 0;i < index_len;i++)  
	  {
	    if( strncmp(p1[i]," ",1) == 0)
	      break;
	  }
	}
    else
    {
      for( i = 0;i < index_len;i++)  
	  {
	    if( strncmp(p1[i],input_py_val+1,len-1) == 0)
	      break;
	  }
	}
    return (( unsigned char code *)(p1[i][6]+p1[i][7]*256+py_mb_begin ));   	
//	return((unsigned char code *)((*p2)[6]+(*p2)[7]*256+py_mb_begin+1));	//"返回查询结果首地址"
}

void main( void )
{
  unsigned char input_string[]= "cha";
  unsigned char chines_string[100];
  char i;
  
  sprintf(chines_string,"%s",py_ime(input_string));
  i = 0;
  
  return;
}

⌨️ 快捷键说明

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