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

📄 拼音输入.c

📁 这个程序是在单片机上实现拼音输入法
💻 C
📖 第 1 页 / 共 3 页
字号:
  							{"e    ",0xBF,0x0C},
  							{"ei   ",0xC6,0x0C},
  							{"eng  ",0xDD,0x0C},
  							{"i    ",0xE4,0x0C},
  							{"ian  ",0x29,0x0D},
  							{"iang ",0x46,0x0D},
  							{"iao  ",0x5F,0x0D},
  							{"ie   ",0x78,0x0D},
  							{"in   ",0x83,0x0D},
  							{"ing  ",0x9C,0x0D},
  							{"iu   ",0xB9,0x0D},
  							{"ong  ",0xD0,0x0D},
  							{"ou   ",0xE3,0x0D},
  							{"u    ",0xF0,0x0D},
  							{"uan  ",0x19,0x0E},
  							{"ue   ",0x26,0x0E},
  							{"un   ",0x2B,0x0E},
  							{"uo   ",0x3A,0x0E},
  							{"v    ",0x53,0x0E}};
unsigned char code PY_index_m[][8]={
  							{"a    ",0x70,0x0E},
  							{"ai   ",0x83,0x0E},
  							{"an   ",0x90,0x0E},
  							{"ang  ",0xA3,0x0E},
  							{"ao   ",0xB0,0x0E},
  							{"e    ",0xC9,0x0E},
  							{"ei   ",0xCC,0x0E},
  							{"en   ",0xED,0x0E},
  							{"eng  ",0xF4,0x0E},
  							{"i    ",0x05,0x0F},
  							{"ian  ",0x22,0x0F},
  							{"iao  ",0x35,0x0F},
  							{"ie   ",0x46,0x0F},
  							{"in   ",0x4B,0x0F},
  							{"ing  ",0x58,0x0F},
  							{"iu   ",0x65,0x0F},
  							{"o    ",0x68,0x0F},
  							{"ou   ",0x8D,0x0F},
  							{"u    ",0x94,0x0F}};
unsigned char code PY_index_n[][8]={
  							{"a    ",0xB3,0x0F},
  							{"ai   ",0xC2,0x0F},
  							{"an   ",0xCD,0x0F},
  							{"ang  ",0xD4,0x0F},
  							{"ao   ",0xD7,0x0F},
  							{"e    ",0xE2,0x0F},
  							{"ei   ",0xE5,0x0F},
  							{"en   ",0xEA,0x0F},
  							{"eng  ",0xED,0x0F},
  							{"i    ",0xF0,0x0F},
  							{"ian  ",0x07,0x10},
  							{"iang ",0x16,0x10},
  							{"iao  ",0x1B,0x10},
  							{"ie   ",0x20,0x10},
  							{"in   ",0x2F,0x10},
  							{"ing  ",0x32,0x10},
  							{"iu   ",0x3F,0x10},
  							{"ong  ",0x48,0x10},
  							{"u    ",0x51,0x10},
  							{"uan  ",0x58,0x10},
  							{"ue   ",0x5B,0x10},
  							{"uo   ",0x60,0x10},
  							{"v    ",0x69,0x10}};
unsigned char code PY_index_o[][8]={
  							{"     ",0x6C,0x10},
  							{"u    ",0x6F,0x10}};
unsigned char code PY_index_p[][8]={
  							{"a    ",0x7E,0x10},
  							{"ai   ",0x8D,0x10},
  							{"an   ",0x9A,0x10},
  							{"ang  ",0xAB,0x10},
  							{"ao   ",0xB6,0x10},
  							{"ei   ",0xC5,0x10},
  							{"en   ",0xD8,0x10},
  							{"eng  ",0xDD,0x10},
  							{"i    ",0xFA,0x10},
  							{"ian  ",0x1F,0x11},
  							{"iao  ",0x28,0x11},
  							{"ie   ",0x31,0x11},
  							{"in   ",0x36,0x11},
  							{"ing  ",0x41,0x11},
  							{"o    ",0x54,0x11},
  							{"ou   ",0x65,0x11},
  							{"u    ",0x68,0x11}};
unsigned char code PY_index_q[][8]={
  							{"i    ",0x87,0x11},
  							{"ia   ",0xD0,0x11},
  							{"ian  ",0xD7,0x11},
  							{"iang ",0x04,0x12},
  							{"iao  ",0x15,0x12},
  							{"ie   ",0x34,0x12},
  							{"in   ",0x3F,0x12},
  							{"ing  ",0x56,0x12},
  							{"iong ",0x71,0x12},
  							{"iu   ",0x76,0x12},
  							{"u    ",0x87,0x12},
  							{"uan  ",0xA2,0x12},
  							{"ue   ",0xB9,0x12},
  							{"un   ",0xCA,0x12}};
unsigned char code PY_index_r[][8]={
  							{"an   ",0xCF,0x12},
  							{"ang  ",0xD8,0x12},
  							{"ao   ",0xE3,0x12},
  							{"e    ",0xEA,0x12},
  							{"en   ",0xEF,0x12},
  							{"eng  ",0x04,0x13},
  							{"i    ",0x09,0x13},
  							{"ong  ",0x0C,0x13},
  							{"ou   ",0x21,0x13},
  							{"u    ",0x28,0x13},
  							{"uan  ",0x3D,0x13},
  							{"ui   ",0x42,0x13},
  							{"un   ",0x49,0x13},
  							{"uo   ",0x4E,0x13}};
unsigned char code PY_index_s[][8]={
  							{"a    ",0x53,0x13},
  							{"ai   ",0x5A,0x13},
  							{"an   ",0x63,0x13},
  							{"ang  ",0x6C,0x13},
  							{"ao   ",0x73,0x13},
  							{"e    ",0x7C,0x13},
  							{"en   ",0x83,0x13},
  							{"eng  ",0x86,0x13},
  							{"ha   ",0x89,0x13},
  							{"hai  ",0x9C,0x13},
  							{"han  ",0xA1,0x13},
  							{"hang ",0xC4,0x13},
  							{"hao  ",0xD5,0x13},
  							{"he   ",0xEC,0x13},
  							{"hen  ",0x05,0x14},
  							{"heng ",0x28,0x14},
  							{"hi   ",0x3F,0x14},
  							{"hou  ",0xA0,0x14},
  							{"hu   ",0xB5,0x14},
  							{"hua  ",0xF8,0x14},
  							{"huai ",0xFD,0x14},
  							{"huan ",0x06,0x15},
  							{"huang",0x0B,0x15},
  							{"hui  ",0x12,0x15},
  							{"hun  ",0x1B,0x15},
  							{"huo  ",0x24,0x15},
  							{"i    ",0x2D,0x15},
  							{"ong  ",0x4C,0x15},
  							{"ou   ",0x5D,0x15},
  							{"u    ",0x66,0x15},
  							{"uan  ",0x7D,0x15},
  							{"ui   ",0x84,0x15},
  							{"un   ",0x9B,0x15},
  							{"uo   ",0xA2,0x15}};
unsigned char code PY_index_t[][8]={
  							{"a    ",0xB3,0x15},
  							{"ai   ",0xC6,0x15},
  							{"an   ",0xD9,0x15},
  							{"ang  ",0xFE,0x15},
  							{"ao   ",0x19,0x16},
  							{"e    ",0x30,0x16},
  							{"eng  ",0x33,0x16},
  							{"i    ",0x3C,0x16},
  							{"ian  ",0x5B,0x16},
  							{"iao  ",0x6C,0x16},
  							{"ie   ",0x79,0x16},
  							{"ing  ",0x80,0x16},
  							{"ong  ",0x95,0x16},
  							{"ou   ",0xB0,0x16},
  							{"u    ",0xB9,0x16},
  							{"uan  ",0xD0,0x16},
  							{"ui   ",0xD5,0x16},
  							{"un   ",0xE2,0x16},
  							{"uo   ",0xEB,0x16}};
unsigned char code PY_index_w[][8]={
  							{"a    ",0x02,0x17},
  							{"ai   ",0x11,0x17},
  							{"an   ",0x16,0x17},
  							{"ang  ",0x39,0x17},
  							{"ei   ",0x4E,0x17},
  							{"en   ",0x91,0x17},
  							{"eng  ",0xA6,0x17},
  							{"o    ",0xAD,0x17},
  							{"u    ",0xC0,0x17}};
unsigned char code PY_index_x[][8]={
  							{"i    ",0xFB,0x17},
  							{"ia   ",0x40,0x18},
  							{"ian  ",0x59,0x18},
  							{"iang ",0x90,0x18},
  							{"iao  ",0xB9,0x18},
  							{"ie   ",0xDC,0x18},
  							{"in   ",0x05,0x19},
  							{"ing  ",0x1A,0x19},
  							{"iong ",0x37,0x19},
  							{"iu   ",0x46,0x19},
  							{"u    ",0x5B,0x19},
  							{"uan  ",0x82,0x19},
  							{"ue   ",0x97,0x19},
  							{"un   ",0xA6,0x19}};
unsigned char code PY_index_y[][8]={
  							{"a    ",0xC3,0x19},
  							{"an   ",0xE4,0x19},
  							{"ang  ",0x27,0x1A},
  							{"ao   ",0x4A,0x1A},
  							{"e    ",0x6D,0x1A},
  							{"i    ",0x8C,0x1A},
  							{"in   ",0xF7,0x1A},
  							{"ing  ",0x18,0x1B},
  							{"o    ",0x3D,0x1B},
  							{"ong  ",0x40,0x1B},
  							{"ou   ",0x5F,0x1B},
  							{"u    ",0x88,0x1B},
  							{"uan  ",0xE1,0x1B},
  							{"ue   ",0x0A,0x1C},
  							{"un   ",0x1D,0x1C}};
unsigned char code PY_index_z[][8]={
  							{"a    ",0x36,0x1C},
  							{"ai   ",0x3F,0x1C},
  							{"an   ",0x50,0x1C},
  							{"ang  ",0x59,0x1C},
  							{"ao   ",0x60,0x1C},
  							{"e    ",0x7D,0x1C},
  							{"ei   ",0x86,0x1C},
  							{"en   ",0x89,0x1C},
  							{"eng  ",0x8C,0x1C},
  							{"ha   ",0x93,0x1C},
  							{"hai  ",0xAE,0x1C},
  							{"han  ",0xBD,0x1C},
  							{"hang ",0xE0,0x1C},
  							{"hao  ",0x01,0x1D},
  							{"he   ",0x18,0x1D},
  							{"hen  ",0x2F,0x1D},
  							{"heng ",0x52,0x1D},
  							{"hi   ",0x6F,0x1D},
  							{"hong ",0xC6,0x1D},
  							{"hou  ",0xDD,0x1D},
  							{"hu   ",0xFA,0x1D},
  							{"hua  ",0x2F,0x1E},
  							{"huai ",0x32,0x1E},
  							{"huan ",0x35,0x1E},
  							{"huang",0x40,0x1E},
  							{"hui  ",0x51,0x1E},
  							{"hun  ",0x5E,0x1E},
  							{"huo  ",0x63,0x1E},
  							{"i    ",0x78,0x1E},
  							{"ong  ",0x95,0x1E},
  							{"ou   ",0xA4,0x1E},
  							{"u    ",0xAD,0x1E},
  							{"uan  ",0xBE,0x1E},
  							{"ui   ",0xC5,0x1E},
  							{"un   ",0xCE,0x1E},
  							{"uo   ",0xD3,0x1E}};
unsigned char code PY_index_end[][8]={"     ",0,0};
  							
//================================================================================================



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

//"========================================变量声明========================================"
unsigned int code py_mb_begin=(unsigned int)&PY_mb_a[0];
unsigned char code (* code PY_index_pointer[27])[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_w,PY_index_w,PY_index_x,
											PY_index_y,PY_index_z,PY_index_end};

//"========================================函数声明========================================"
//"拼音输入法杳询函数,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 code (* xdata p1)[8],(* xdata p2)[8],(* xdata p3)[8];
	unsigned char xdata i=1;
	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++;
	return((unsigned char code *)((*p2)[6]+(*p2)[7]*256+py_mb_begin));				//"返回查询结果首地址"
}


⌨️ 快捷键说明

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