Stillness_Tr

基于ATMEGA128拼音输入法的一些东西

0
阅读(2121)

    最近一两天看了一下一些拼音输入法的代码。自己做了一个,也算的上是原创吧。

    说明一下这个函数中对串口的操作在我的一篇打印函数里面写着。
    代码写到发送出中文内码就没有在写了(我用的都是16*16GB的汉字),其他的中文选择啊什么的都基
本是看应用于什么样的平台了。
下面是拼音的库,我用串口调试小助手调过,可以用
 
/************拼音数据查表****************************/
/*
使用方法:每9BYTE为一个数据 前6位字节为拼音码ASCII偏移量,加0X20 则为ASCII码
7,8字节为中文内码偏移量,加0XA0A0为内码,高字节为第7字节 低字节为第8字节
9字节为同音数量
*/
unsigned char input[]={0,0,0,0,0,0};
const unsigned char PY_DATA[][9]=
{
   {0x21,0x00,0x00,0x00,0x00,0x00,0x10,0x01,0x02},//a
   {0x21,0x29,0x00,0x00,0x00,0x00,0x10,0x03,0x0D},//ai
   {0x21,0x2E,0x00,0x00,0x00,0x00,0x10,0x10,0x09},//an
   {0x21,0x2E,0x27,0x00,0x00,0x00,0x10,0x19,0x03},//ang
   {0x21,0x2F,0x00,0x00,0x00,0x00,0x10,0x1C,0x09},//ao
   {0x22,0x00,0x00,0x00,0x00,0x00,0x10,0x25,0x12},//b--ba
   {0x22,0x21,0x00,0x00,0x00,0x00,0x10,0x25,0x12},//ba
   {0x22,0x21,0x29,0x00,0x00,0x00,0x10,0x37,0x08},//bai
   {0x22,0x21,0x2E,0x00,0x00,0x00,0x10,0x3F,0x0F},//ban
   {0x22,0x21,0x2E,0x27,0x00,0x00,0x10,0x4E,0x0C},//bang
   {0x22,0x21,0x2F,0x00,0x00,0x00,0x10,0x5A,0x11},//bao
   {0x22,0x25,0x29,0x00,0x00,0x00,0x11,0x0D,0x0F},//bei
   {0x22,0x25,0x2E,0x00,0x00,0x00,0x11,0x1C,0x04},//ben
   {0x22,0x25,0x2E,0x27,0x00,0x00,0x11,0x20,0x06},//beng
   {0x22,0x29,0x00,0x00,0x00,0x00,0x11,0x26,0x18},//bi
   {0x22,0x29,0x21,0x2E,0x00,0x00,0x11,0x3E,0x0C},//bian
   {0x22,0x29,0x21,0x2F,0x00,0x00,0x11,0x4A,0x04},//biao
   {0x22,0x29,0x25,0x00,0x00,0x00,0x11,0x4E,0x04},//bie
   {0x22,0x29,0x2E,0x00,0x00,0x00,0x11,0x52,0x06},//bin
   {0x22,0x29,0x2E,0x27,0x00,0x00,0x11,0x58,0x09},//bing
   {0x22,0x2F,0x00,0x00,0x00,0x00,0x12,0x03,0x13},//bo
   {0x22,0x35,0x00,0x00,0x00,0x00,0x12,0x16,0x0B},//bu
  
   {0x23,0x21,0x00,0x00,0x00,0x00,0x12,0x21,0x01},//ca
   {0x23,0x21,0x29,0x00,0x00,0x00,0x12,0x22,0x0B},//cai
   {0x23,0x21,0x2E,0x00,0x00,0x00,0x12,0x2D,0x07},//can
   {0x23,0x21,0x2E,0x27,0x00,0x00,0x12,0x34,0x05},//cang
   {0x23,0x21,0x2F,0x00,0x00,0x00,0x12,0x39,0x05},//cao
   {0x23,0x25,0x00,0x00,0x00,0x00,0x12,0x3E,0x05},//ce
   {0x23,0x25,0x2E,0x27,0x00,0x00,0x12,0x43,0x02},//ceng
   {0x23,0x28,0x21,0x00,0x00,0x00,0x12,0x45,0x0B},//c,a
   {0x23,0x28,0x21,0x29,0x00,0x00,0x12,0x50,0x03},//c,ai
   {0x23,0x28,0x21,0x2E,0x00,0x00,0x12,0x53,0x0A},//c,an
   {0x23,0x28,0x21,0x2E,0x27,0x00,0x12,0x5D,0x0D},//c,ang
   {0x23,0x28,0x21,0x2F,0x00,0x00,0x13,0x0C,0x09},//c,ao
   {0x23,0x28,0x25,0x00,0x00,0x00,0x13,0x15,0x06},//c,e
   {0x23,0x28,0x25,0x2E,0x00,0x00,0x13,0x1B,0x0A},//c,en
   {0x23,0x28,0x25,0x2E,0x27,0x00,0x13,0x25,0x12},//c,eng
   {0x23,0x28,0x29,0x00,0x00,0x00,0x13,0x34,0x10},//c,i
   {0x23,0x28,0x2F,0x2E,0x27,0x00,0x13,0x44,0x05},//c,ong
   {0x23,0x28,0x2F,0x35,0x00,0x00,0x13,0x49,0x0C},//c,ou
   {0x23,0x28,0x35,0x00,0x00,0x00,0x13,0x55,0x10},//c,u
   {0x23,0x28,0x35,0x21,0x29,0x00,0x14,0x07,0x01},//c,uai
   {0x23,0x28,0x35,0x21,0x2E,0x00,0x14,0x08,0x07},//c,uan
   {0x23,0x28,0x35,0x21,0x2E,0x27,0x14,0x0F,0x06},//c,uang
   {0x23,0x28,0x35,0x29,0x00,0x00,0x14,0x15,0x05},//c,ui
   {0x23,0x28,0x35,0x2E,0x00,0x00,0x14,0x1A,0x07},//c,un
   {0x23,0x28,0x35,0x2F,0x00,0x00,0x14,0x21,0x02},//c,uo
   {0x23,0x29,0x00,0x00,0x00,0x00,0x14,0x23,0x0C},//ci
   {0x23,0x2F,0x2E,0x27,0x00,0x00,0x14,0x2F,0x06},//cong
   {0x23,0x2F,0x35,0x00,0x00,0x00,0x14,0x35,0x01},//cou
   {0x23,0x35,0x00,0x00,0x00,0x00,0x14,0x36,0x04},//cu
   {0x23,0x35,0x21,0x2E,0x00,0x00,0x14,0x3A,0x04},//cuan
   {0x23,0x35,0x29,0x00,0x00,0x00,0x14,0x3E,0x07},//cui
   {0x23,0x35,0x2E,0x00,0x00,0x00,0x14,0x45,0x03},//cun
   {0x23,0x35,0x2F,0x00,0x00,0x00,0x14,0x48,0x06},//cuo
   {0x24,0x21,0x00,0x00,0x00,0x00,0x14,0x4E,0x06},//da
   {0x24,0x21,0x29,0x00,0x00,0x00,0x14,0x54,0x0C},//dai
   {0x24,0x21,0x2E,0x00,0x00,0x00,0x15,0x02,0x0F},//dan
   {0x24,0x21,0x2E,0x27,0x00,0x00,0x15,0x11,0x05},//dang
   {0x24,0x21,0x2F,0x00,0x00,0x00,0x15,0x15,0x0C},//dao
   {0x24,0x25,0x00,0x00,0x00,0x00,0x15,0x22,0x03},//de
   {0x24,0x25,0x2E,0x27,0x00,0x00,0x15,0x25,0x07},//deng
   {0x24,0x29,0x00,0x00,0x00,0x00,0x15,0x2C,0x13},//di
   {0x24,0x29,0x21,0x2E,0x00,0x00,0x15,0x3F,0x10},//dian
   {0x24,0x29,0x21,0x2F,0x00,0x00,0x15,0x4F,0x09},//diao
   {0x24,0x29,0x25,0x00,0x00,0x00,0x15,0x58,0x07},//die
   {0x24,0x29,0x2E,0x27,0x00,0x00,0x16,0x01,0x09},//ding
   {0x24,0x29,0x35,0x00,0x00,0x00,0x16,0x0A,0x01},//diu
   {0x24,0x2F,0x2E,0x27,0x00,0x00,0x16,0x0B,0x0A},//dong
   {0x24,0x2F,0x35,0x00,0x00,0x00,0x16,0x15,0x07},//dou
   {0x24,0x35,0x00,0x00,0x00,0x00,0x16,0x1C,0x0F},//du
   {0x24,0x35,0x21,0x2E,0x00,0x00,0x16,0x2B,0x06},//duan
   {0x24,0x35,0x29,0x00,0x00,0x00,0x16,0x31,0x04},//dui
   {0x24,0x35,0x2E,0x00,0x00,0x00,0x16,0x35,0x09},//dun
   {0x24,0x35,0x2F,0x00,0x00,0x00,0x16,0x3E,0x0C},//duo
   {0x25,0x00,0x00,0x00,0x00,0x00,0x16,0x4A,0x0D},//e
   {0x25,0x2E,0x00,0x00,0x00,0x00,0x16,0x57,0x01},//en
   {0x25,0x32,0x00,0x00,0x00,0x00,0x16,0x58,0x08},//er
   {0x26,0x21,0x00,0x00,0x00,0x00,0x17,0x02,0x08},//fa
   {0x26,0x21,0x2E,0x00,0x00,0x00,0x17,0x0A,0x11},//fan
   {0x26,0x21,0x2E,0x27,0x00,0x00,0x17,0x1B,0x0B},//fang
   {0x26,0x25,0x29,0x00,0x00,0x00,0x17,0x26,0x0C},//fei
   {0x26,0x25,0x2E,0x00,0x00,0x00,0x17,0x32,0x0F},//fen
   {0x26,0x25,0x2E,0x27,0x00,0x00,0x17,0x41,0x0F},//feng
   {0x26,0x2F,0x00,0x00,0x00,0x00,0x17,0x50,0x01},//fo
   {0x26,0x2F,0x35,0x00,0x00,0x00,0x17,0x51,0x01},//fou
   {0x26,0x35,0x00,0x00,0x00,0x00,0x17,0x52,0x2E},//fu
   {0x27,0x21,0x00,0x00,0x00,0x00,0x18,0x21,0x02},//ga
   {0x27,0x21,0x29,0x00,0x00,0x00,0x18,0x23,0x06},//gai
   {0x27,0x21,0x2E,0x00,0x00,0x00,0x18,0x29,0x0B},//gan
   {0x27,0x21,0x2E,0x27,0x00,0x00,0x18,0x34,0x09},//gang
   {0x27,0x21,0x2F,0x00,0x00,0x00,0x18,0x3D,0x0A},//gao
   {0x27,0x25,0x00,0x00,0x00,0x00,0x18,0x47,0x11},//ge
   {0x27,0x25,0x29,0x00,0x00,0x00,0x18,0x58,0x01},//gei
   {0x27,0x25,0x2E,0x00,0x00,0x00,0x18,0x59,0x02},//gen
   {0x27,0x25,0x2E,0x27,0x00,0x00,0x18,0x5B,0x07},//geng
   {0x27,0x2F,0x2E,0x27,0x00,0x00,0x19,0x04,0x0F},//gong
   {0x27,0x2F,0x35,0x00,0x00,0x00,0x19,0x13,0x09},//gou
   {0x27,0x35,0x00,0x00,0x00,0x00,0x19,0x1C,0x12},//gu
   {0x27,0x35,0x21,0x00,0x00,0x00,0x19,0x2E,0x06},//gua
   {0x27,0x35,0x21,0x29,0x00,0x00,0x19,0x34,0x03},//guai
   {0x27,0x35,0x21,0x2E,0x00,0x00,0x19,0x37,0x0B},//guan
   {0x27,0x35,0x21,0x2E,0x27,0x00,0x19,0x42,0x03},//guang
   {0x27,0x35,0x29,0x00,0x00,0x00,0x19,0x45,0x10},//gui
   {0x27,0x35,0x2E,0x00,0x00,0x00,0x19,0x55,0x03},//gun
   {0x27,0x35,0x2F,0x00,0x00,0x00,0x19,0x58,0x06},//guo
   {0x28,0x21,0x00,0x00,0x00,0x00,0x19,0x5E,0x01},//,a
   {0x28,0x21,0x29,0x00,0x00,0x00,0x1A,0x01,0x07},//,ai
   {0x28,0x21,0x2E,0x00,0x00,0x00,0x1A,0x08,0x13},//,an
   {0x28,0x21,0x2E,0x27,0x00,0x00,0x1A,0x1B,0x03},//,ang
   {0x28,0x21,0x2F,0x00,0x00,0x00,0x1A,0x1E,0x09},//,ao
   {0x28,0x25,0x00,0x00,0x00,0x00,0x1A,0x27,0x12},//,e
   {0x28,0x25,0x29,0x00,0x00,0x00,0x1A,0x39,0x02},//,ei
   {0x28,0x25,0x2E,0x00,0x00,0x00,0x1A,0x3B,0x04},//,en
   {0x28,0x25,0x2E,0x27,0x00,0x00,0x1A,0x3F,0x05},//,eng
   {0x28,0x2F,0x2E,0x27,0x00,0x00,0x1A,0x44,0x09},//,ong
   {0x28,0x2F,0x35,0x00,0x00,0x00,0x1A,0x4D,0x07},//,ou
   {0x28,0x35,0x00,0x00,0x00,0x00,0x1A,0x54,0x12},//,u
   {0x28,0x35,0x21,0x00,0x00,0x00,0x1B,0x08,0x09},//,ua
   {0x28,0x35,0x21,0x29,0x00,0x00,0x1B,0x11,0x05},//,uai
   {0x28,0x35,0x21,0x2E,0x00,0x00,0x1B,0x16,0x0E},//,uan
   {0x28,0x35,0x21,0x2E,0x27,0x00,0x1B,0x24,0x0E},//,uang
   {0x28,0x35,0x29,0x00,0x00,0x00,0x1B,0x32,0x15},//,ui
   {0x28,0x35,0x2E,0x00,0x00,0x00,0x1B,0x47,0x06},//,un
   {0x28,0x35,0x2F,0x00,0x00,0x00,0x1B,0x4D,0x0A},//,uo
   {0x2A,0x29,0x00,0x00,0x00,0x00,0x1B,0x57,0x35},//ji
   {0x2A,0x29,0x21,0x00,0x00,0x00,0x1C,0x2E,0x11},//jia
   {0x2A,0x29,0x21,0x2E,0x00,0x00,0x1C,0x3F,0x28},//jian
   {0x2A,0x29,0x21,0x2E,0x27,0x00,0x1D,0x09,0x0D},//jiang
   {0x2A,0x29,0x21,0x2F,0x00,0x00,0x1D,0x16,0x1C},//jiao
   {0x2A,0x29,0x25,0x00,0x00,0x00,0x1D,0x32,0x1B},//jie
   {0x2A,0x29,0x2E,0x00,0x00,0x00,0x1D,0x4D,0x14},//jin
   {0x2A,0x29,0x2E,0x27,0x00,0x00,0x1E,0x03,0x19},//jing
   {0x2A,0x29,0x2F,0x2E,0x27,0x00,0x1E,0x1C,0x02},//jiong
   {0x2A,0x29,0x35,0x00,0x00,0x00,0x1E,0x1E,0x11},//jiu
   {0x2A,0x36,0x00,0x00,0x00,0x00,0x1E,0x2F,0x19},//ju
   {0x2A,0x35,0x21,0x2E,0x00,0x00,0x1E,0x48,0x07},//juan
   {0x2A,0x35,0x25,0x00,0x00,0x00,0x1E,0x4F,0x0A},//jue
   {0x2A,0x35,0x2E,0x00,0x00,0x00,0x1E,0x59,0x0B},//jun
   {0x2B,0x21,0x00,0x00,0x00,0x00,0x1F,0x06,0x04},//ka
   {0x2B,0x21,0x29,0x00,0x00,0x00,0x1F,0x0A,0x05},//kai
   {0x2B,0x21,0x2E,0x00,0x00,0x00,0x1F,0x0F,0x06},//kan
   {0x2B,0x21,0x2E,0x27,0x00,0x00,0x1F,0x15,0x07},//kang
   {0x2B,0x21,0x2F,0x00,0x00,0x00,0x1F,0x1C,0x04},//kao
   {0x2B,0x25,0x00,0x00,0x00,0x00,0x1F,0x20,0x0F},//ke
   {0x2B,0x25,0x2E,0x00,0x00,0x00,0x1F,0x2F,0x04},//ken
   {0x2B,0x25,0x2E,0x27,0x00,0x00,0x1F,0x33,0x02},//keng
   {0x2B,0x2F,0x2E,0x27,0x00,0x00,0x1F,0x35,0x04},//kong
   {0x2B,0x2F,0x35,0x00,0x00,0x00,0x1F,0x39,0x04},//kou
   {0x2B,0x35,0x00,0x00,0x00,0x00,0x1F,0x3D,0x07},//ku
   {0x2B,0x35,0x21,0x00,0x00,0x00,0x1F,0x44,0x05},//kua
   {0x2B,0x35,0x21,0x29,0x00,0x00,0x1F,0x49,0x04},//kuai
   {0x2B,0x35,0x21,0x2E,0x00,0x00,0x1F,0x4D,0x02},//kuan
   {0x2B,0x35,0x21,0x2E,0x27,0x00,0x1F,0x4F,0x08},//kuang
   {0x2B,0x35,0x29,0x00,0x00,0x00,0x1F,0x57,0x0B},//kui
   {0x2B,0x35,0x2E,0x00,0x00,0x00,0x20,0x04,0x04},//kun
   {0x2B,0x35,0x2F,0x00,0x00,0x00,0x20,0x08,0x04},//kuo
   {0x2C,0x21,0x00,0x00,0x00,0x00,0x20,0x0C,0x07},//la
   {0x2C,0x21,0x29,0x00,0x00,0x00,0x20,0x13,0x03},//lai
   {0x2C,0x21,0x2E,0x00,0x00,0x00,0x20,0x16,0x0F},//lan
   {0x2C,0x21,0x2E,0x27,0x00,0x00,0x20,0x25,0x07},//lang
   {0x2C,0x21,0x2F,0x00,0x00,0x00,0x20,0x2C,0x09},//lao
   {0x2C,0x25,0x00,0x00,0x00,0x00,0x20,0x35,0x02},//le
   {0x2C,0x25,0x29,0x00,0x00,0x00,0x20,0x37,0x0B},//lei
   {0x2C,0x25,0x2E,0x27,0x00,0x00,0x20,0x42,0x03},//leng
   {0x2C,0x29,0x00,0x00,0x00,0x00,0x20,0x45,0x22},//li
   {0x2C,0x29,0x21,0x00,0x00,0x00,0x21,0x09,0x01},//lia
   {0x2C,0x29,0x21,0x2E,0x00,0x00,0x21,0x0A,0x0E},//lian
   {0x2C,0x29,0x21,0x2E,0x27,0x00,0x21,0x18,0x0B},//liang
   {0x2C,0x29,0x21,0x2F,0x00,0x00,0x21,0x23,0x0D},//liao
   {0x2C,0x29,0x25,0x00,0x00,0x00,0x21,0x30,0x05},//lie
   {0x2C,0x29,0x2E,0x00,0x00,0x00,0x21,0x35,0x0B},//lin
   {0x2C,0x29,0x2E,0x27,0x00,0x00,0x21,0x40,0x0F},//ling
   {0x2C,0x29,0x35,0x00,0x00,0x00,0x21,0x4F,0x0B},//liu
   {0x2C,0x2F,0x2E,0x27,0x00,0x00,0x21,0x5A,0x09},//long
   {0x2C,0x2F,0x35,0x00,0x00,0x00,0x22,0x05,0x06},//lou
   {0x2C,0x35,0x00,0x00,0x00,0x00,0x22,0x0B,0x14},//lu
   {0x2C,0x36,0x00,0x00,0x00,0x00,0x22,0x1F,0x0E},//lv
   {0x2C,0x35,0x21,0x2E,0x00,0x00,0x22,0x2D,0x06},//luan
   {0x2C,0x35,0x25,0x00,0x00,0x00,0x22,0x33,0x02},//lue
   {0x2C,0x35,0x2E,0x00,0x00,0x00,0x22,0x35,0x07},//lun
   {0x2C,0x35,0x2F,0x00,0x00,0x00,0x22,0x3C,0x0C},//luo
   {0x2D,0x21,0x00,0x00,0x00,0x00,0x22,0x48,0x09},//ma
   {0x2D,0x21,0x29,0x00,0x00,0x00,0x22,0x51,0x06},//mai
   {0x2D,0x21,0x2E,0x00,0x00,0x00,0x22,0x57,0x09},//man
   {0x2D,0x21,0x2E,0x27,0x00,0x00,0x23,0x02,0x06},//mang
   {0x2D,0x21,0x2F,0x00,0x00,0x00,0x23,0x08,0x0C},//mao
   {0x2D,0x25,0x00,0x00,0x00,0x00,0x23,0x14,0x01},//me
   {0x2D,0x25,0x29,0x00,0x00,0x00,0x23,0x15,0x11},//mei
   {0x2D,0x25,0x2E,0x00,0x00,0x00,0x23,0x27,0x01},//men
   {0x2D,0x25,0x2E,0x27,0x00,0x00,0x23,0x28,0x08},//meng
   {0x2D,0x29,0x00,0x00,0x00,0x00,0x23,0x30,0x0E},//mi
   {0x2D,0x29,0x21,0x2E,0x00,0x00,0x23,0x3E,0x09},//mian
   {0x2D,0x29,0x21,0x2F,0x00,0x00,0x23,0x47,0x08},//miao
   {0x2D,0x29,0x25,0x00,0x00,0x00,0x23,0x4F,0x02},//mie
   {0x2D,0x29,0x2E,0x00,0x00,0x00,0x23,0x51,0x06},//min
   {0x2D,0x29,0x2E,0x27,0x00,0x00,0x23,0x57,0x06},//ming
   {0x2D,0x29,0x35,0x00,0x00,0x00,0x23,0x5D,0x01},//miu
   {0x2D,0x2F,0x00,0x00,0x00,0x00,0x23,0x5E,0x11},//mo
   {0x2D,0x2F,0x35,0x00,0x00,0x00,0x24,0x11,0x03},//mou
   {0x2D,0x35,0x00,0x00,0x00,0x00,0x24,0x14,0x0F},//mu
   {0x2E,0x21,0x00,0x00,0x00,0x00,0x24,0x23,0x07},//na
   {0x2E,0x21,0x29,0x00,0x00,0x00,0x24,0x2A,0x05},//nai
   {0x2E,0x21,0x2E,0x00,0x00,0x00,0x24,0x2F,0x03},//nan
   {0x2E,0x21,0x2E,0x27,0x00,0x00,0x24,0x32,0x01},//nang
   {0x2E,0x21,0x2F,0x00,0x00,0x00,0x24,0x33,0x05},//nao
   {0x2E,0x25,0x00,0x00,0x00,0x00,0x24,0x38,0x01},//ne
   {0x2E,0x25,0x29,0x00,0x00,0x00,0x24,0x39,0x02},//nei
   {0x2E,0x25,0x2E,0x00,0x00,0x00,0x24,0x3B,0x01},//nen
   {0x2E,0x25,0x2E,0x27,0x00,0x00,0x24,0x3C,0x01},//neng
   {0x2E,0x29,0x00,0x00,0x00,0x00,0x24,0x3D,0x0B},//ni
   {0x2E,0x29,0x21,0x2E,0x00,0x00,0x24,0x48,0x07},//nian
   {0x2E,0x29,0x21,0x2E,0x27,0x00,0x24,0x4F,0x02},//niang
   {0x2E,0x29,0x21,0x2F,0x00,0x00,0x24,0x51,0x02},//niao
   {0x2E,0x29,0x25,0x00,0x00,0x00,0x24,0x53,0x07},//nie
   {0x2E,0x29,0x2E,0x00,0x00,0x00,0x24,0x5A,0x01},//nin
   {0x2E,0x29,0x2E,0x27,0x00,0x00,0x24,0x5B,0x06},//ning
   {0x2E,0x29,0x35,0x00,0x00,0x00,0x25,0x03,0x04},//niu
   {0x2E,0x2F,0x2E,0x27,0x00,0x00,0x25,0x07,0x04},//nong
   {0x2E,0x35,0x00,0x00,0x00,0x00,0x25,0x0B,0x03},//nu
   {0x2E,0x36,0x00,0x00,0x00,0x00,0x25,0x0E,0x01},//nv
   {0x2E,0x35,0x21,0x2E,0x00,0x00,0x25,0x0F,0x01},//nuan
   {0x2E,0x35,0x25,0x00,0x00,0x00,0x25,0x10,0x02},//nue
   {0x2E,0x35,0x2F,0x00,0x00,0x00,0x25,0x12,0x04},//nuo
   {0x2F,0x00,0x00,0x00,0x00,0x00,0x25,0x16,0x01},//o
   {0x2F,0x35,0x00,0x00,0x00,0x00,0x25,0x17,0x07},//ou
   {0x30,0x21,0x00,0x00,0x00,0x00,0x25,0x1E,0x06},//pa
   {0x30,0x21,0x29,0x00,0x00,0x00,0x25,0x24,0x06},//pai
   {0x30,0x21,0x2E,0x00,0x00,0x00,0x25,0x2A,0x08},//pan
   {0x30,0x21,0x2E,0x27,0x00,0x00,0x25,0x32,0x05},//pang
   {0x30,0x21,0x2F,0x00,0x00,0x00,0x25,0x37,0x07},//pao
   {0x30,0x25,0x29,0x00,0x00,0x00,0x25,0x3E,0x09},//pei
   {0x30,0x25,0x2E,0x00,0x00,0x00,0x25,0x47,0x02},//pen
   {0x30,0x25,0x2E,0x27,0x00,0x00,0x25,0x49,0x0B},//peng
   {0x30,0x29,0x00,0x00,0x00,0x00,0x25,0x57,0x11},//pi
   {0x30,0x29,0x21,0x2E,0x00,0x00,0x26,0x0A,0x04},//pain
   {0x30,0x29,0x21,0x2F,0x00,0x00,0x26,0x0E,0x04},//piao
   {0x30,0x29,0x25,0x00,0x00,0x00,0x26,0x12,0x02},//pie
   {0x30,0x29,0x2E,0x00,0x00,0x00,0x26,0x14,0x05},//pin
   {0x30,0x29,0x2E,0x27,0x00,0x00,0x26,0x19,0x09},//ping
   {0x30,0x2F,0x00,0x00,0x00,0x00,0x26,0x22,0x08},//po
   {0x30,0x2F,0x35,0x00,0x00,0x00,0x26,0x2A,0x01},//pou
   {0x31,0x29,0x00,0x00,0x00,0x00,0x26,0x3A,0x24},//qi
   {0x31,0x29,0x21,0x00,0x00,0x00,0x26,0x5E,0x03},//qia
   {0x31,0x29,0x21,0x2E,0x00,0x00,0x27,0x03,0x16},//qian
   {0x31,0x29,0x21,0x2E,0x27,0x00,0x27,0x19,0x08},//qiang
   {0x31,0x29,0x21,0x2F,0x00,0x00,0x27,0x21,0x0F},//qiao
   {0x31,0x29,0x25,0x00,0x00,0x00,0x27,0x30,0x05},//qie
   {0x31,0x29,0x2E,0x00,0x00,0x00,0x27,0x35,0x0B},//qin
   {0x31,0x29,0x2E,0x27,0x00,0x00,0x27,0x40,0x0D},//qing
   {0x31,0x29,0x2F,0x2E,0x27,0x00,0x27,0x4D,0x02},//qiong
   {0x31,0x29,0x35,0x00,0x00,0x00,0x27,0x4F,0x08},//qiu
   {0x31,0x35,0x00,0x00,0x00,0x00,0x27,0x57,0x0D},//qu
   {0x31,0x35,0x21,0x2E,0x00,0x00,0x28,0x06,0x0B},//quan
   {0x31,0x35,0x25,0x00,0x00,0x00,0x28,0x11,0x08},//que
   {0x31,0x35,0x2E,0x00,0x00,0x00,0x28,0x19,0x02},//qun
   {0x32,0x21,0x2E,0x00,0x00,0x00,0x28,0x1B,0x04},//ran
   {0x32,0x21,0x2E,0x27,0x00,0x00,0x28,0x1F,0x05},//rang
   {0x32,0x21,0x2F,0x00,0x00,0x00,0x28,0x24,0x03},//rao
   {0x32,0x25,0x00,0x00,0x00,0x00,0x28,0x27,0x02},//re
   {0x32,0x25,0x2E,0x00,0x00,0x00,0x28,0x29,0x0A},//ren
   {0x32,0x25,0x2E,0x27,0x00,0x00,0x28,0x33,0x02},//reng
   {0x32,0x29,0x00,0x00,0x00,0x00,0x28,0x35,0x01},//ri
   {0x32,0x2F,0x2E,0x27,0x00,0x00,0x28,0x36,0x0A},//rong
   {0x32,0x2F,0x35,0x00,0x00,0x00,0x28,0x40,0x03},//rou
   {0x32,0x35,0x00,0x00,0x00,0x00,0x28,0x43,0x0A},//ru
   {0x32,0x35,0x21,0x2E,0x00,0x00,0x28,0x4D,0x02},//ruan
   {0x32,0x35,0x29,0x00,0x00,0x00,0x28,0x4F,0x03},//rui
   {0x32,0x35,0x2E,0x00,0x00,0x00,0x28,0x52,0x02},//run
   {0x32,0x35,0x2F,0x00,0x00,0x00,0x28,0x54,0x02},//ruo
   {0x33,0x21,0x00,0x00,0x00,0x00,0x28,0x56,0x03},//sa
   {0x33,0x21,0x29,0x00,0x00,0x00,0x28,0x59,0x04},//sai
   {0x33,0x21,0x2E,0x00,0x00,0x00,0x28,0x5D,0x04},//san
   {0x33,0x21,0x2E,0x27,0x00,0x00,0x29,0x03,0x03},//sang
   {0x33,0x21,0x2F,0x00,0x00,0x00,0x29,0x06,0x04},//sao
   {0x33,0x25,0x00,0x00,0x00,0x00,0x29,0x0A,0x03},//se
   {0x33,0x25,0x2E,0x00,0x00,0x00,0x29,0x0D,0x01},//sen
   {0x33,0x25,0x2E,0x27,0x00,0x00,0x29,0x0E,0x01},//seng
   {0x33,0x28,0x21,0x00,0x00,0x00,0x29,0x0F,0x09},//s,a
   {0x33,0x28,0x21,0x29,0x00,0x00,0x29,0x2E,0x02},//s,ai
   {0x33,0x28,0x21,0x2E,0x00,0x00,0x29,0x1A,0x10},//s,an
   {0x33,0x28,0x21,0x2E,0x27,0x00,0x29,0x2A,0x0C},//s,ang
   {0x33,0x28,0x21,0x2F,0x00,0x00,0x29,0x32,0x0B},//s,ao
   {0x33,0x28,0x25,0x00,0x00,0x00,0x29,0x3D,0x0C},//s,e
   {0x33,0x28,0x25,0x2E,0x00,0x00,0x29,0x49,0x10},//s,en
   {0x33,0x28,0x25,0x2E,0x27,0x00,0x29,0x59,0x0B},//s,eng
   {0x33,0x28,0x29,0x00,0x00,0x00,0x2A,0x06,0x2E},//s,i
   {0x33,0x28,0x2F,0x35,0x00,0x00,0x2A,0x35,0x0A},//s,ou
   {0x33,0x28,0x35,0x00,0x00,0x00,0x2A,0x3F,0x21},//s,u
   {0x33,0x28,0x35,0x21,0x00,0x00,0x2B,0x02,0x02},//s,ua
   {0x33,0x28,0x35,0x21,0x29,0x00,0x2B,0x04,0x04},//s,uai
   {0x33,0x28,0x35,0x21,0x2E,0x00,0x2B,0x08,0x02},//s,uan
   {0x33,0x28,0x35,0x21,0x2E,0x27,0x2B,0x0A,0x03},//s,uang
   {0x33,0x28,0x35,0x29,0x00,0x00,0x2B,0x0D,0x04},//s,ui
   {0x33,0x28,0x35,0x2E,0x00,0x00,0x2B,0x11,0x04},//s,un
   {0x33,0x28,0x35,0x2F,0x00,0x00,0x2B,0x15,0x04},//s,uo
   {0x33,0x29,0x00,0x00,0x00,0x00,0x2B,0x19,0x10},//si
   {0x33,0x2F,0x2E,0x27,0x00,0x00,0x2B,0x29,0x08},//song
   {0x33,0x2F,0x35,0x00,0x00,0x00,0x2B,0x31,0x04},//sou
   {0x33,0x35,0x00,0x00,0x00,0x00,0x2B,0x35,0x0C},//su
   {0x33,0x35,0x21,0x2E,0x00,0x00,0x2B,0x41,0x03},//suan
   {0x33,0x35,0x29,0x00,0x00,0x00,0x2B,0x44,0x0B},//sui
   {0x33,0x35,0x2E,0x00,0x00,0x00,0x2B,0x4F,0x03},//sun
   {0x33,0x35,0x2F,0x00,0x00,0x00,0x2B,0x52,0x08},//suo
   {0x34,0x21,0x00,0x00,0x00,0x00,0x2B,0x5A,0x09},//ta
   {0x34,0x21,0x29,0x00,0x00,0x00,0x2C,0x05,0x09},//tai
   {0x34,0x21,0x2E,0x00,0x00,0x00,0x2C,0x0E,0x12},//tan
   {0x34,0x21,0x2E,0x27,0x00,0x00,0x2C,0x20,0x0D},//tang
   {0x34,0x21,0x2F,0x00,0x00,0x00,0x2C,0x2D,0x0B},//tao
   {0x34,0x25,0x00,0x00,0x00,0x00,0x2C,0x38,0x01},//te
   {0x34,0x25,0x2E,0x27,0x00,0x00,0x2C,0x39,0x04},//teng
   {0x34,0x29,0x00,0x00,0x00,0x00,0x2C,0x3D,0x0F},//ti
   {0x34,0x29,0x21,0x2E,0x00,0x00,0x2C,0x4C,0x08},//tian
   {0x34,0x29,0x21,0x2F,0x00,0x00,0x2C,0x54,0x05},//tiao
   {0x34,0x29,0x25,0x00,0x00,0x00,0x2C,0x59,0x03},//tie
   {0x34,0x29,0x2E,0x27,0x00,0x00,0x2C,0x5C,0x0A},//ting
   {0x34,0x2F,0x2E,0x27,0x00,0x00,0x2D,0x08,0x0D},//tong
   {0x34,0x2F,0x35,0x00,0x00,0x00,0x2D,0x15,0x04},//tou
   {0x34,0x35,0x00,0x00,0x00,0x00,0x2D,0x19,0x0B},//tu
   {0x34,0x35,0x21,0x2E,0x00,0x00,0x2D,0x24,0x02},//tuan
   {0x34,0x35,0x29,0x00,0x00,0x00,0x2D,0x26,0x06},//tui
   {0x34,0x35,0x2E,0x00,0x00,0x00,0x2D,0x2C,0x03},//tun
   {0x34,0x35,0x2F,0x00,0x00,0x00,0x2D,0x2F,0x0C},//tuo
   {0x37,0x21,0x00,0x00,0x00,0x00,0x2D,0x3A,0x07},//wa
   {0x37,0x21,0x29,0x00,0x00,0x00,0x2D,0x41,0x02},//wai
   {0x37,0x21,0x2E,0x00,0x00,0x00,0x2D,0x43,0x11},//wan
   {0x37,0x21,0x2E,0x27,0x00,0x00,0x2D,0x54,0x0A},//wang
   {0x37,0x25,0x29,0x00,0x00,0x00,0x2D,0x5E,0x21},//wei
   {0x37,0x25,0x2E,0x00,0x00,0x00,0x2E,0x21,0x0A},//wen
   {0x37,0x25,0x2E,0x27,0x00,0x00,0x2E,0x2B,0x03},//weng
   {0x37,0x2F,0x00,0x00,0x00,0x00,0x2E,0x2E,0x09},//wo
   {0x37,0x35,0x00,0x00,0x00,0x00,0x2E,0x37,0x1D},//wu
   {0x38,0x29,0x00,0x00,0x00,0x00,0x2E,0x54,0x23},//0xi
   {0x38,0x29,0x21,0x00,0x00,0x00,0x2F,0x19,0x0D},//0xia
   {0x38,0x29,0x21,0x2E,0x00,0x00,0x2F,0x26,0x1A},//0xian
   {0x38,0x29,0x21,0x2E,0x27,0x00,0x2F,0x40,0x14},//0xiang
   {0x38,0x29,0x21,0x2F,0x00,0x00,0x2F,0x54,0x12},//0xiao
   {0x38,0x29,0x25,0x00,0x00,0x00,0x30,0x08,0x15},//0xie
   {0x38,0x29,0x2E,0x00,0x00,0x00,0x30,0x1D,0x0A},//0xin
   {0x38,0x29,0x2E,0x27,0x00,0x00,0x30,0x27,0x0F},//0xing
   {0x38,0x29,0x2F,0x2E,0x27,0x00,0x30,0x36,0x07},//0xiong
   {0x38,0x29,0x35,0x00,0x00,0x00,0x30,0x3D,0x09},//0xiu
   {0x38,0x35,0x00,0x00,0x00,0x00,0x30,0x46,0x13},//0xu
   {0x38,0x35,0x21,0x2E,0x00,0x00,0x30,0x59,0x0A},//0xuan
   {0x38,0x35,0x25,0x00,0x00,0x00,0x31,0x05,0x06},//0xue
   {0x38,0x35,0x2E,0x00,0x00,0x00,0x31,0x0B,0x0E},//0xun
   {0x39,0x21,0x00,0x00,0x00,0x00,0x31,0x19,0x10},//ya
   {0x39,0x21,0x2E,0x00,0x00,0x00,0x31,0x29,0x21},//yan
   {0x39,0x21,0x2E,0x27,0x00,0x00,0x31,0x4A,0x11},//yang
   {0x39,0x21,0x2F,0x00,0x00,0x00,0x31,0x5B,0x0F},//yao
   {0x39,0x25,0x00,0x00,0x00,0x00,0x32,0x0C,0x0F},//ye
   {0x39,0x29,0x00,0x00,0x00,0x00,0x32,0x1B,0x36},//yi
   {0x39,0x29,0x2E,0x00,0x00,0x00,0x32,0x51,0x0F},//yin
   {0x39,0x29,0x2E,0x27,0x00,0x00,0x33,0x02,0x12},//ying
   {0x39,0x2F,0x00,0x00,0x00,0x00,0x33,0x14,0x01},//yo
   {0x39,0x2F,0x2E,0x27,0x00,0x00,0x33,0x15,0x0F},//yong
   {0x39,0x2F,0x35,0x00,0x00,0x00,0x33,0x24,0x14},//you
   {0x39,0x35,0x00,0x00,0x00,0x00,0x33,0x38,0x2D},//yu
   {0x39,0x35,0x21,0x2E,0x00,0x00,0x34,0x07,0x14},//yuan
   {0x39,0x35,0x25,0x00,0x00,0x00,0x34,0x1B,0x0A},//yue
   {0x39,0x35,0x2E,0x00,0x00,0x00,0x34,0x25,0x0C},//yun
   {0x3A,0x21,0x00,0x00,0x00,0x00,0x34,0x31,0x03},//za
   {0x3A,0x21,0x29,0x00,0x00,0x00,0x34,0x34,0x07},//zai
   {0x3A,0x21,0x2E,0x00,0x00,0x00,0x34,0x3B,0x04},//zan
   {0x3A,0x21,0x2E,0x27,0x00,0x00,0x34,0x3F,0x03},//zang
   {0x3A,0x21,0x2F,0x00,0x00,0x00,0x34,0x42,0x0D},//zao
   {0x3A,0x25,0x00,0x00,0x00,0x00,0x34,0x50,0x04},//ze
   {0x3A,0x25,0x29,0x00,0x00,0x00,0x34,0x54,0x01},//zei
   {0x3A,0x25,0x2E,0x00,0x00,0x00,0x34,0x55,0x01},//zen
   {0x3A,0x25,0x2E,0x27,0x00,0x00,0x34,0x56,0x04},//zeng
   {0x3A,0x28,0x21,0x00,0x00,0x00,0x34,0x5A,0x0E},//z,a
   {0x3A,0x28,0x21,0x29,0x00,0x00,0x35,0x0A,0x06},//z,ai
   {0x3A,0x28,0x21,0x2E,0x00,0x00,0x35,0x10,0x11},//z,an
   {0x3A,0x28,0x21,0x2E,0x27,0x00,0x35,0x21,0x0F},//z,ang
   {0x3A,0x28,0x21,0x2F,0x00,0x00,0x35,0x30,0x0A},//z,ao
   {0x3A,0x28,0x25,0x00,0x00,0x00,0x35,0x3A,0x0A},//z,e
   {0x3A,0x28,0x25,0x2E,0x00,0x00,0x35,0x44,0x10},//z,en
   {0x3A,0x28,0x25,0x2E,0x27,0x00,0x35,0x54,0x0F},//z,eng
   {0x3A,0x28,0x29,0x00,0x00,0x00,0x36,0x05,0x2B},//z,i
   {0x3A,0x28,0x2F,0x2E,0x27,0x00,0x36,0x30,0x0B},//z,ong
   {0x3A,0x28,0x2F,0x35,0x00,0x00,0x36,0x3B,0x0E},//z,ou
   {0x3A,0x28,0x35,0x00,0x00,0x00,0x36,0x49,0x1A},//z,u
   {0x3A,0x28,0x35,0x21,0x00,0x00,0x37,0x05,0x02},//z,ua
   {0x3A,0x28,0x35,0x21,0x29,0x00,0x37,0x07,0x01},//z,uai
   {0x3A,0x28,0x35,0x21,0x2E,0x00,0x37,0x08,0x06},//z,uan
   {0x3A,0x28,0x35,0x21,0x2E,0x27,0x37,0x0E,0x08},//z,uang
   {0x3A,0x28,0x35,0x29,0x00,0x00,0x37,0x16,0x05},//z,ui
   {0x3A,0x28,0x35,0x2E,0x00,0x00,0x37,0x1B,0x02},//z,un
   {0x3A,0x28,0x35,0x2F,0x00,0x00,0x37,0x1D,0x0B},//z,uo
   {0x3A,0x29,0x00,0x00,0x00,0x00,0x37,0x28,0x0F},//zi
   {0x3A,0x2F,0x2E,0x27,0x00,0x00,0x37,0x37,0x07},//zong
   {0x3A,0x2F,0x35,0x00,0x00,0x00,0x37,0x3E,0x04},//zou
   {0x3A,0x35,0x00,0x00,0x00,0x00,0x37,0x42,0x08},//zu
   {0x3A,0x35,0x21,0x2E,0x00,0x00,0x37,0x4A,0x02},//zuan
   {0x3A,0x35,0x29,0x00,0x00,0x00,0x37,0x4C,0x04},//zui
   {0x3A,0x35,0x2E,0x00,0x00,0x00,0x37,0x50,0x02},//zun
   {0x3A,0x35,0x2F,0x00,0x00,0x00,0x37,0x52,0x08},//zuo
   {0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}, //
};
unsigned char Printf_code(unsigned int lie_num)
{
     unsigned char HZ_code_high, HZ_code_low, HZ_count,i;
     HZ_code_high    =PY_DATA[lie_num][6]+0xa0;//内码高位
     HZ_code_low     =PY_DATA[lie_num][7]+0xa0;
HZ_count        =PY_DATA[lie_num][8];     //同音字数
     for(i=0;i<HZ_count;i++)
{
   while (!(UCSR0A & (1<<UDRE0)));        /* 等待发送缓冲器为空*/
      UDR0 = HZ_code_high;            /* 发送回车数据*/
      while (!(UCSR0A & (1<<UDRE0)));        /* 等待发送缓冲器为空*/
      UDR0 = HZ_code_low;            /* 发送回车数据*/
      HZ_code_low++;
   if(HZ_code_low==0xFF)
   {HZ_code_high++;HZ_code_low=0XA1;}
}
while (!(UCSR0A & (1<<UDRE0)));        /* 等待发送缓冲器为空*/
    UDR0 = 0x0D;            /* 发送回车数据*/
    while (!(UCSR0A & (1<<UDRE0)));        /* 等待发送缓冲器为空*/
    UDR0 = 0x0A;            /* 发送换行数据*/
return(0);
}
unsigned char change_HZ(unsigned char HZ_num,unsigned int lie_num)
{
     unsigned char HZ_code_high,HZ_code_low,HZ_count,i;
     HZ_code_high    =PY_DATA[lie_num][6]+0xa0;//内码高位
     HZ_code_low     =PY_DATA[lie_num][7]+0xa0;
HZ_count        =PY_DATA[lie_num][8];     //同音字数
HZ_num=HZ_num-0x60;//a--z
if(HZ_num>HZ_count)
     {Printf("选择输出出错!");return(1);}
for(i=1;i<HZ_num;i++)
   {
    HZ_code_low++;
    if(HZ_code_low==0xFF)
     {HZ_code_high++;HZ_code_low=0XA1;}
   }
     while (!(UCSR0A & (1<<UDRE0)));        /* 等待发送缓冲器为空*/
     UDR0 = HZ_code_high;            /* 发送回车数据*/
     while (!(UCSR0A & (1<<UDRE0)));        /* 等待发送缓冲器为空*/
     UDR0 = HZ_code_low;            /* 发送回车数据*/
while (!(UCSR0A & (1<<UDRE0)));        /* 等待发送缓冲器为空*/
     UDR0 = 0x0D;       /* 发送回车数据*/
     while (!(UCSR0A & (1<<UDRE0)));        /* 等待发送缓冲器为空*/
     UDR0 = 0x0A;            /* 发送换行数据*/
return(0);
}
unsigned char PY()
{
    unsigned char input_char[7]={0,0,0,0,0,0};
    unsigned char i,read_num=0;
unsigned char read_byte;
unsigned int lie_num=0;
  
   while(1)
   {
   input_char[read_num]=Get_char();
     input_char[read_num]= (input_char[read_num]-0X20);//从串口读取数据
read_byte=input_char[read_num];
switch(read_byte)
{
   case(0xDF): return(0);//ESC
  
   case(0x00)://SPEAC
                  if(read_num<1) {read_num=0;break;}
         input_char[read_num]=0;
      lie_num=0;
      while((input_char[0]!=PY_DATA[lie_num][0]) || (input_char[1]!=PY_DATA[lie_num][1])||
            (input_char[2]!=PY_DATA[lie_num][2]) || (input_char[3]!=PY_DATA[lie_num][3])||
         (input_char[4]!=PY_DATA[lie_num][4]) || (input_char[5]!=PY_DATA[lie_num][5]) )
            {lie_num++;if(lie_num==500)return(0);}
      Printf_code(lie_num);
            Printf("请选择字符a--z");
      i=change_HZ(Get_char(),lie_num);
      if(i==1)return(0); 
      for(i=0;i<7;i++)input_char[i]=0;
         read_num=0;
      break;
   default: read_num++;break;
   }
    }  
return(1);
}