📄 text1.c
字号:
#include<reg52.h>
#include<intrins.h>
#include<ziku.h>
#include<string.h>
/************************/
#define uchar unsigned char
#define uint unsigned int
/********总线以及地址线的定义************/
#define disp_on_12864 0x3f
#define disp_off_12864 0x3e
#define col_12864 0x40
#define row_12864 0xb8
#define start_line_12864 0xc0
#define lcd_bus_12864 P1
sbit di_12864 =P3^3;
sbit rw_12864 =P3^4;
sbit enable_12864 =P3^5;
sbit cs1_12864=P3^7;
sbit cs2_12864 =P3^6;
uchar row,col,dis,x,state,length,cx,staren,starch;
struct index
{
uchar code *num;
uchar code *zimu;
uchar code *py;
};
struct index *p[6];
struct index code find1[]={
{"2","a",py_a},
{"2","b",NULL},
{"2","c",NULL},
{"3","d",NULL},
{"3","e",py_e},
{"3","f",NULL},
{"4","g",NULL},
{"4","h",NULL},
{"5","j",NULL},
{"5","k",NULL},
{"5","l",NULL},
{"6","m",NULL},
{"6","n",NULL},
{"6","o",NULL},
{"7","p",NULL},
{"7","q",NULL},
{"7","r",NULL},
{"7","s",NULL},
{"8","t",NULL},
{"9","w",NULL},
{"9","x",NULL},
{"9","y",NULL},
{"9","z",NULL}
};
struct index code find2[]={
{"22","ba",py_ba},
{"22","ca",py_ca},
{"23","be",NULL},
{"23","ce",py_ce},
{"24","ai",py_ai},
{"24","bi",py_bi},
{"24","ch",NULL},
{"24","ci",py_ci},
{"26","an",py_an},
{"26","ao",py_ao},
{"26","bo",py_bo},
{"26","co",NULL},
{"28","bu",py_bu},
{"28","cu",py_cu},
{"32","da",py_da},
{"32","fa",py_fa},
{"36","do",NULL},
{"33","de",py_de},
{"34","di",py_di},
{"36","en",py_en},
{"33","fe",NULL},
{"36","fo",py_fo},
{"37","er",py_er},
{"38","du",py_du},
{"38","fu",py_fu},
{"42","ga",py_ga},
{"42","ha",py_ha},
{"43","he",py_he},
{"43","ge",py_ge},
{"46","go",NULL},
{"46","ho",NULL},
{"48","gu",py_gu},
{"48","hu",py_hu},
{"52","ka",py_ka},
{"52","la",py_la},
{"53","ke",py_ke},
{"53","le",py_le},
{"54","ji",py_ji},
{"54","li",py_li},
{"56","ko",NULL},
{"56","lo",NULL},
{"58","ju",py_ju},
{"58","ku",py_ku},
{"58","lu",py_lu},
{"58","lv",py_lv},
{"93","we",NULL},
{"72","pa",py_pa},
{"72","ra",NULL},
{"72","sa",py_sa},
{"74","pi",NULL},
{"74","qi",NULL},
{"74","sh",NULL},
{"92","ya",py_ya},
};
struct index code find3[]={
{"224","bai",py_bai},
{"224","cai",py_cai},
{"226","ban",py_ban},
{"226","can",py_can},
{"226","bao",py_bao},
{"226","cao",py_cao},
{"234","bei",py_bei},
{"236","ben",py_ben},
{"236","cen",py_cen},
{"242","bia",NULL},
{"242","cha",py_cha},
{"243","bie",py_bie},
{"243","che",py_che},
{"244","chi",py_chi},
{"246","bin",py_bin},
{"246","cho",NULL},
{"248","chu",py_chu},
{"264","ang",py_ang},
{"266","con",NULL},
{"268","cou",py_cou},
{"282","cua",NULL},
{"284","cui",py_cui},
{"286","cun",py_cun},
{"286","cuo",py_cuo},
{"324","dai",py_dai},
{"326","dan",py_dan},
{"326","dao",py_dao},
{"326","fan",py_fan},
{"334","dei",py_dei},
{"334","fei",py_fei},
{"336","den",NULL},
{"336","fen",py_fen},
{"342","dia",NULL},
{"343","die",py_die},
{"346","din",NULL},
{"348","diu",py_diu},
{"366","don",NULL},
{"368","dou",py_dou},
{"368","fou",py_fou},
{"382","dua",NULL},
{"384","dui",py_dui},
{"386","dun",py_dun},
{"386","duo",py_duo},
{"424","gai",py_gai},
{"424","hai",py_hai},
{"426","gan",py_gan},
{"426","gao",py_gao},
{"426","han",py_han},
{"426","hao",py_hao},
{"434","gei",py_gei},
{"434","hei",py_hei},
{"436","gen",py_gen},
{"436","hen",py_hen},
{"466","gon",NULL},
{"466","hon",NULL},
{"468","gou",py_gou},
{"482","gua",py_gua},
{"484","gui",py_gui},
{"482","hua",py_hua},
{"484","hui",py_hui},
{"486","hun",py_hun},
{"486","gun",py_gun},
{"486","guo",py_guo},
{"486","huo",py_huo},
{"468","hou",py_hou},
{"936","wen",py_wen},
{"726","pan",py_pan},
{"726","pao",py_pao},
{"726","ran",py_ran},
{"726","rao",py_rao},
{"726","san",py_san},
{"726","sao",py_sao},
{"726","pan",py_pan},
{"742","pia",NULL},
{"742","qia",NULL},
{"742","sha",NULL},
{"926","yan",py_yan},
};
struct index code find4[]={
{"2264","bang",py_bang},
{"2264","cang",py_cang},
{"2364","beng",py_beng},
{"2364","ceng",py_ceng},
{"2424","chai",py_chai},
{"2426","bian",py_bian},
{"2426","biao",py_biao},
{"2426","chan",py_chao},
{"2426","chao",py_chao},
{"2436","chen",py_chen},
{"2464","bing",py_bing},
{"2468","chou",py_chou},
{"2482","chua",NULL},
{"2484","chui",py_chui},
{"2486","chun",py_chun},
{"2486","chuo",py_chuo},
{"2664","cong",py_cong},
{"2826","cuan",py_cuan},
{"3264","dang",py_dang},
{"3264","fang",py_fang},
{"3364","deng",py_deng},
{"3364","feng",py_deng},
{"3426","dian",py_dian},
{"3426","diao",py_diao},
{"3464","ding",py_ding},
{"3664","dong",py_dong},
{"3826","duan",py_duan},
{"4264","gang",py_gang},
{"4264","hang",py_hang},
{"4364","geng",py_geng},
{"4364","heng",py_heng},
{"4664","gong",py_gong},
{"4664","hong",py_hong},
{"4824","guai",py_guai},
{"4824","huai",py_huai},
{"4826","guan",py_guan},
{"4826","huan",py_huan},
{"7426","pian",NULL},
{"7426","piao",NULL},
{"7426","qian",NULL},
{"7426","qiao",NULL},
{"7426","shan",NULL},
{"7426","shao",NULL},
{"9264","yang",py_yang},
};
struct index code find5[]={
{"24264","chang",py_chang},
{"24364","cheng",py_cheng},
{"24826","chuan",py_chuan},
};
struct index code find6[]={
{"248264","chuang",py_chuang}
};
/************函数声明******************/
void clear_sreen_12864 (); //清屏(即清除显存)
void delay_12864 (); //延时1ms
void delay(void); //延时
void init_lcd_12864 (); //LCD初始化
void write_command_12864 (unsigned char cmdcode); //写指令
void write_data_12864 (unsigned char dispdata); //写数据
void rddata(void) ; //读数据
void hanzi(uchar *pz); //汉字输入
void yingwen(uchar *pz); //英文输入
void dingwei(void); //光标定位向前
void dingweihou(void); //光标定位向后
void xian(uchar ax,uchar bx); //字母列表
void qian(void); //列表前选
void hou(void); //列表后选
void qing(void); //清空底层
uchar keyscan(void); //键盘扫描
void qiehuan(void); //切换输入法
/**********清除显屏(清除显示内存)***********/
void clear_screen_12864()
{
unsigned char i,j;
cs1_12864 =0;cs2_12864=1; /**清除左屏**/
for(i=0;i<8;i++)
{
write_command_12864 (row_12864 +i);
write_command_12864 (col_12864 +0); //列地址0
for(j=0;j<64;j++)
write_data_12864 (0x00); //每做一次写操作,列地址加1
}
cs1_12864 =1;cs2_12864 =0; /**清除右屏**/
for(i=0;i<8;i++)
{
write_command_12864(row_12864 +i);
write_command_12864(col_12864+0); //列地址0
for(j=0;j<64;j++)
write_data_12864(0x00); //每做一次写操作,列地址加1
}
}
/***********延时1ms**************/
void delay_12864()
{ unsigned int dy=500;
while(--dy);
}
/*************初始化LCD屏***************/
void init_lcd_12864()
{
clear_screen_12864();
cs1_12864=1;cs2_12864=0; //右屏
delay_12864();
write_command_12864(disp_off_12864);
write_command_12864(start_line_12864);
write_command_12864(disp_on_12864);
cs1_12864=0;cs2_12864=1; //左屏
delay_12864();
write_command_12864(disp_off_12864);
write_command_12864(start_line_12864);
write_command_12864(disp_on_12864);
}
/*******写指令到LCD*********/
void write_command_12864 (unsigned char cmdcode)
{
//lcd_busy();
di_12864 =0;
rw_12864 =0;
lcd_bus_12864 =cmdcode; //输入控制命令(display on/off,display startline,row,col)
enable_12864 =1;
_nop_();
enable_12864 =0;
}
/***********写显示的数据到LCD***********/
void write_data_12864 (unsigned char dispdata)
{
//lcd_busy();
di_12864 =1;
rw_12864 =0;
lcd_bus_12864 =dispdata;
enable_12864 =1;
_nop_();
enable_12864 =0;
}
/**************键盘扫描************/
uchar keyscan(void)
{
uchar scancode,tmpcode;
P2 = 0xf0;
if ((P2&0xf0)!=0xf0)
{
delay_12864();
if ((P2&0xf0)!=0xf0)
{
scancode = 0xfe;
while((scancode&0x10)!=0)
{
P2 = scancode;
if ((P2&0xf0)!=0xf0)
{
tmpcode = (P2&0xf0)|0x0f;
return((~scancode)+(~tmpcode));
}
else scancode = (scancode<<1)|0x01;
}
}
}
return(0);
}
uchar change(uchar k)
{
switch(k)
{
case 0x22:return('2');
case 0x24:return('3');
case 0x41:return('4');
case 0x42:return('5');
case 0x44:return('6');
case 0x81:return('7');
case 0x82:return('8');
case 0x84:return('9');
}
}
void attempt(uchar *in,uchar n)
{
struct index *ha,*hb;
uchar i,re;
re=cx;
cx=0;
if(n==1)
{
ha=find1;
hb=ha+sizeof(find1)/sizeof(find1[0]);
}
else if(n==2)
{
ha=find2;
hb=ha+sizeof(find2)/sizeof(find2[0]);
}
else if(n==3)
{
ha=find3;
hb=ha+sizeof(find3)/sizeof(find3[0]);
}
else if(n==4)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -