?? t9.c
字號:
if(page<0)//如果小于0則歸零
{page=0;}
lcd_T9_display(ok[2],2,py,hz,page); //拼音漢字顯示
break;
case 15: //下翻頁
page+=8; //計數(shù)加8
lcd_T9_display(ok[2],2,py,hz,page);
break;
}
}
else if(key[3]==0) //確定
{m=set_name_struct.count;
lcd_clear_line(1);
lcd_clear_line(3);
lcd_T9_hz_display(ok[2],m,py,hz,page); //進(jìn)入漢字顯示
set_pinyin_struct.count=0;//拼音按鍵值歸零,回到初始狀態(tài)
set_name_struct.count++; //漢字計數(shù)加1,進(jìn)入
timer1_init(TIME_4S);
py=0;
page=0;
hz=0;
return;
}
break;
case 4: //第五次按鍵
key[4]=kk;
if(key[4]>0&&key[4]<9)
{
if(key[0]>0&&key[0]<=2) //如果為1~2(字母鍵)
{ for(k=0;k<57;k++) //查詢漢字索引表
{ if(hzk_1[k][0]==key[0]&&hzk_1[k][1]==key[1]&&hzk_1[k][2]==key[2]&&hzk_1[k][3]==key[3]&&hzk_1[k][4]==key[4]&&hzk_1[k][5]==0)//如果表中某行第1,2列分別與第1,2次鍵入的值相同且第3列為零
{ ok[4]=k; //將該行的行標(biāo)賦給0k[1]
set_pinyin_struct.count++; //將拼音按鍵計數(shù)器
lcd_clear_line(1);//清除第二行
lcd_T9_display(ok[4],4,py,hz,page);//進(jìn)入拼音與漢字顯示子函數(shù)
break;
}
}
}
else if(key[0]>=3&&key[0]<=4) //如果為3~4(字母鍵
{ for(k=0;k<49;k++) //查詢漢字索引表
{ if(hzk_2[k][0]==key[0]&&hzk_2[k][1]==key[1]&&hzk_2[k][2]==key[2]&&hzk_2[k][3]==key[3]&&hzk_2[k][4]==key[4]&&hzk_2[k][5]==0) //如果索引表中某行第一列與第一次鍵入值相同且該行第二列為零
{ok[4]=k+57;//將該行的行標(biāo)賦給ok[0]
set_pinyin_struct.count++; //將拼音按鍵計數(shù)器加1
lcd_clear_line(1);//清除第二行
lcd_T9_display(ok[4],4,py,hz,page);//進(jìn)入拼音與漢字顯示子函數(shù)
break;
}
}
}
else if(key[0]>=5&&key[0]<=6) //如果為5~6(字母鍵
{ for(k=0;k<61;k++) //查詢漢字索引表
{ if(hzk_3[k][0]==key[0]&&hzk_3[k][1]==key[1]&&hzk_3[k][2]==key[2]&&hzk_3[k][3]==key[3]&&hzk_3[k][4]==key[4]&&hzk_3[k][5]==0) //如果索引表中某行第一列與第一次鍵入值相同且該行第二列為零
{ok[4]=k+106;//將該行的行標(biāo)賦給ok[0]
set_pinyin_struct.count++; //將拼音按鍵計數(shù)器加1
lcd_clear_line(1);//清除第二行
lcd_T9_display(ok[4],4,py,hz,page);//進(jìn)入拼音與漢字顯示子函數(shù)
break;
}
}
}
else //(key[4]>=7&&key[4]<=8)//如果為7~8(字母鍵)
{ for(k=0;k<55;k++) //查詢漢字索引表
{ if(hzk_4[k][0]==key[0]&&hzk_4[k][1]==key[1]&&hzk_4[k][2]==key[2]&&hzk_4[k][3]==key[3]&&hzk_4[k][4]==key[4]&&hzk_4[k][5]==0) //如果索引表中某行第一列與第一次鍵入值相同且該行第二列為零
{ok[4]=k+167;//將該行的行標(biāo)賦給ok[0]
set_pinyin_struct.count++; //將拼音按鍵計數(shù)器加1
lcd_clear_line(1);//清除第二行
lcd_T9_display(ok[4],4,py,hz,page);//進(jìn)入拼音與漢字顯示子函數(shù)
break;
}
}
}
}//end if
else if(key[4]>=9&&key[4]<=15) //功能鍵
{
switch(key[4])
{case 9: //拼音選擇
py+=1; //計數(shù)加1
page=0;
hz=0;
lcd_T9_display(ok[3],3,py,hz,page); //顯示拼音與漢字
break;
case 10: //切換
break;
case 11: //
break;
case 12: //漢字選擇鍵
hz+=1; //計數(shù)加1
if(hz>7)//若>7則歸零
{hz=0;}
// lcd_clear_line(2);
lcd_T9_display(ok[3],3,py,hz,page); //顯示拼音與漢字
break;
case 13: //清除
lcd_clear_line(1);
py=0;
hz=0;
lcd_T9_display(ok[2],2,py,hz,page); //顯示上一次的情況
set_pinyin_struct.count--; //拼音按鍵計數(shù)減去1,回到上一次狀態(tài)
break;
case 14: //上翻頁
page-=8;//計數(shù)減去8
if(page<0)//若計數(shù)小于8則歸零
{page=0;}
lcd_T9_display(ok[3],3,py,hz,page); //顯示拼音與漢字
break;
case 15: //下翻頁
page+=8;//計數(shù)加8
lcd_T9_display(ok[3],3,py,hz,page); //顯示拼音與漢字
break;
}
}
else if(key[4]==0) //確定
{m=set_name_struct.count; //
lcd_clear_line(1);
lcd_clear_line(3);
lcd_T9_hz_display(ok[3],m,py,hz,page); //進(jìn)入選擇好了的漢字顯示
set_pinyin_struct.count=0; //拼音按鍵計數(shù)清零,回到初始狀態(tài)
set_name_struct.count++; //漢字選擇計數(shù)加1,進(jìn)入下一狀態(tài)
timer1_init(TIME_4S);
py=0;
page=0;
hz=0;
return;
}
break;
case 5:
key[5]=kk;
if(key[5]>0&&key[5]<9)
{
if(key[0]>0&&key[0]<=2) //如果為1~2(字母鍵)
{ for(k=0;k<57;k++) //查詢漢字索引表
{ if(hzk_1[k][0]==key[0]&&hzk_1[k][1]==key[1]&&hzk_1[k][2]==key[2]&&hzk_1[k][3]==key[3]&&hzk_1[k][4]==key[4]&&hzk_1[k][5]==key[5])//如果表中某行第1,2列分別與第1,2次鍵入的值相同且第3列為零
{ok[5]=k; //將該行的行標(biāo)賦給0k[1]
set_pinyin_struct.count++; //將拼音按鍵計數(shù)器加1
lcd_clear_line(1);//清除第二行
lcd_T9_display(ok[5],5,py,hz,page);//進(jìn)入拼音與漢字顯示子函數(shù)
break;
}
}
}
else if(key[0]>=3&&key[0]<=4) //如果為3~4(字母鍵
{ for(k=0;k<49;k++) //查詢漢字索引表
{ if(hzk_2[k][0]==key[0]&&hzk_2[k][1]==key[1]&&hzk_2[k][2]==key[2]&&hzk_2[k][3]==key[3]&&hzk_2[k][4]==key[4]&&hzk_2[k][5]==key[5]) //如果索引表中某行第一列與第一次鍵入值相同且該行第二列為零
{ok[5]=k+57;//將該行的行標(biāo)賦給ok[0]
set_pinyin_struct.count++; //將拼音按鍵計數(shù)器加1
lcd_clear_line(1);//清除第二行
lcd_T9_display(ok[5],5,py,hz,page);//進(jìn)入拼音與漢字顯示子函數(shù)
break;
}
}
}
else if(key[0]>=5&&key[0]<=6) //如果為5~6(字母鍵
{ for(k=0;k<61;k++) //查詢漢字索引表
{ if(hzk_3[k][0]==key[0]&&hzk_3[k][1]==key[1]&&hzk_3[k][2]==key[2]&&hzk_3[k][3]==key[3]&&hzk_3[k][4]==key[4]&&hzk_3[k][5]==key[5]) //如果索引表中某行第一列與第一次鍵入值相同且該行第二列為零
{ok[5]=k+106;//將該行的行標(biāo)賦給ok[0]
set_pinyin_struct.count++; //將拼音按鍵計數(shù)器加1
lcd_clear_line(1);//清除第二行
lcd_T9_display(ok[5],5,py,hz,page);//進(jìn)入拼音與漢字顯示子函數(shù)
break;
}
}
}
else //(key[5]>=7&&key[5]<=8)//如果為7~8(字母鍵)
{ for(k=0;k<55;k++) //查詢漢字索引表
{ if(hzk_4[k][0]==key[0]&&hzk_4[k][1]==key[1]&&hzk_4[k][2]==key[2]&&hzk_4[k][3]==key[3]&&hzk_4[k][4]==key[4]&&hzk_4[k][5]==key[5]) //如果索引表中某行第一列與第一次鍵入值相同且該行第二列為零
{ok[5]=k+167;//將該行的行標(biāo)賦給ok[0]
set_pinyin_struct.count++; //將拼音按鍵計數(shù)器加1
lcd_clear_line(1);//清除第二行
lcd_T9_display(ok[5],5,py,hz,page);//進(jìn)入拼音與漢字顯示子函數(shù)
break;
}
//break;
}
}
}//end if
else if(key[5]>=9&&key[5]<=15) //功能鍵
{ switch(key[5])
{case 9: //拼音選擇
py+=1; //計數(shù)加1
page=0;
hz=0;
lcd_T9_display(ok[4],4,py,hz,page); //顯示拼音漢字
break;
case 10: //切換
break;
case 11:
break;
case 12: //漢字選擇鍵
hz+=1;//計數(shù)加1
if(hz>7)//若大于7則歸零
{hz=0;}
lcd_T9_display(ok[4],4,py,hz,page); //顯示拼音漢字
break;
case 13: //清除
lcd_clear_line(1);
py=0;
hz=0;
lcd_T9_display(ok[3],3,py,hz,page); //顯示上一次的情況
set_pinyin_struct.count--; //拼音按鍵計數(shù)減去1,回到上一次狀態(tài)
break;
case 14: //上翻頁
page-=8; //計數(shù)減去8
if(page<0) //若小于零則歸零
{page=0;}
lcd_T9_display(ok[4],4,py,hz,page); //顯示拼音漢字
break;
case 15: //下翻頁
page+=8; //計數(shù)加8
lcd_T9_display(ok[4],4,py,hz,page); //顯示拼音漢字
break;
}
}
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -