51单片机C语言1664双色点阵字幕时钟
背景:
这是十来年前初学C语言和单片机做的小玩具,硬件是1664双色点阵+STC12C5A60S2+dht11+ds1302,享受的是过程,做好就吃灰了,当时挺穷,买的最便宜的示波器和逻辑分析仪一点点调试电路和时序,搞定了595时序、片外ram、扫描程序、亮度不均、闪烁、鬼影等问题,陆陆续续花了当时好几个月的业余时间,实现了一个基于16×64双色点阵屏的多功能字幕时钟系统,集时间显示、温湿度监测、滚动字幕、闹钟提醒、亮度调节和红外遥控于一体。
当时的调试画面,现在硬件不知道扔哪里去了。。。

现在程序整理下分享,初学作品,肯定有很多不成熟的地方。
tips:keil编码格式中文会乱码,复制到其它地方需要转码GB2312才能正常显示。
主程序
一、核心功能模块
-
时间与日期显示
-
实时显示时/分/秒(24/12小时制可选)
-
显示年/月/日/星期(支持闰年判断)
-
通过DS1302时钟芯片读取和设置时间
-
-
环境监测
-
通过DHT11传感器获取温度与湿度(支持校准偏移)
-
可设置轮流显示模式(时间→日期→温湿度)
-
-
滚动字幕显示
-
支持10段预设内容(可扩展)
-
四种滚动模式:左移、左停、上移、上停
-
可调滚动速度(1~10档)
-
支持单段播放或循环播放
-
-
闹钟系统
-
支持3组独立闹钟(可设时/分/开关)
-
5种提醒方式:灯光、蜂鸣器、马达、声光组合、全部
-
闹钟触发时自动关闭当前提醒(可手动关闭)
-
-
显示与交互
-
双色显示:红/绿/黄/混色/随动等8种配色方案
-
亮度调节:3档手动亮度 + 自动亮度(根据时间切换)
-
界面切换:时间、日期、温湿度、字幕界面
-
红外遥控 + 物理按键双重控制
-
-
数据存储
-
通过EEPROM保存所有用户设置(字幕、闹钟、亮度等)
-
断电后自动恢复
-
二、程序逻辑结构
1. 主循环(main)
-
初始化硬件(定时器、时钟芯片、存储)
-
显示开机画面
-
循环检测按键/遥控输入
-
根据当前界面刷新显示内容:
-
界面1(时间):每秒更新
-
界面2(日期):每0.5秒更新
-
界面3(温湿度):每5秒更新
-
界面4(字幕):按设定速度滚动
-
-
检查闹钟触发条件
-
根据时间自动调整亮度(若启用)
2. 中断与定时器
-
定时器0:20ms中断,用于按键防抖、滚动计时
-
定时器1:0.1667ms中断,用于亮度刷新
-
外部中断0/1:处理物理按键和遥控信号
-
中断中实现短按/长按识别、连按控制
3. 菜单系统
-
两级菜单结构:
-
一级菜单:选择功能(字幕设置、闹钟设置等)
-
二级菜单:调整具体参数(时/分、速度、颜色等)
-
-
菜单内通过加/减键调整数值,菜单键切换选项,退出键返回
4. 显示驱动
-
通过
xianshi.h中的函数控制点阵屏扫描 -
支持预编译字模,显示数字、汉字、符号
-
根据当前配色方案映射红/绿双色
5. 数据流
按键/遥控 → 中断处理 → 菜单响应 → 更新显示/存储
传感器 → 读取数据 → 校准处理 → 显示
时钟芯片 → 读取时间 → 闹钟判断 → 触发提醒
三、关键设计特点
-
模块化编程:各功能(显示、存储、传感器、遥控)分离为独立头文件
-
状态机思维:通过
cdj(菜单级别)和jiemian(界面)变量管理状态 -
节能设计:支持自动亮度,夜间降低刷新率
-
用户友好:
-
设置参数时闪烁提示当前调整项
-
长按快速进入设置,短按执行常用操作
-
闹钟响铃时可一键关闭
-
-
扩展性:
-
预留10段字幕存储空间
-
支持温湿度校准
-
可添加更多传感器或显示模式
-
四、硬件接口对应
|
引脚 |
功能 |
|---|---|
|
P2.0~P2.3 |
菜单、加、减、退出键 |
|
P3.2/P3.3 |
外部中断(按键检测) |
|
P2.5~P2.7 |
RGB指示灯(红/绿/蓝) |
|
P5.1 |
蜂鸣器(音乐提醒) |
|
P5.2 |
马达(振动提醒) |
|
其他接口 |
点阵屏、DS1302、DHT11、红外接收、EEPROM |
五、使用流程示例
-
上电 → 显示“欢迎使用” → 进入时间界面
-
短按减键 → 切换界面(时间→日期→温湿度→字幕)
-
长按菜单键 → 进入字幕设置(选段/速度/模式/颜色)
-
长按加键 → 进入时间设置(闹钟/时间/日期/时制/校准)
-
闹钟触发 → 按任意键关闭提醒
/*18.432MHZ*/
#include<math.h>
#include"xianshi.h"//显示扫描
#include"eeprom.h"//存储
#include"yaokong.h"//红外遥控
#include"dht11.h"//温湿度
#include"ds1302.h"//时间
SYSTEMTIME time1;//在ds1302.h文件中已经定义了一个名字为SYSTEMTIME的结构体
//在这里定义一个变量名为time的SYSTEMTIME结构体
void InitTimer0();//定时器中断初始化
void yiting();//移停处理
void ggkeyscan();//广告按键
void sjkeyscan();//时间按键
void cunchu();//存epprom
void alarmcl(unsigned char a);//闹钟方式
sbit cd=P2^0;//菜单按键
sbit jia=P2^1;//+
sbit jian=P2^2;//-
sbit exit=P2^3;//退出
sbit anjianzd=P3^3;//按键中断
sbit rgbr=P2^5;//RGB灯
sbit rgbg=P2^6;
sbit rgbb=P2^7;
sbit bibi=P5^1;//音乐
sbit mada=P5^2;//马达
unsigned char t1=0;//滚动速度时间加
unsigned char t1en=0;//t1允许
unsigned char t2=0;//1s时间
unsigned char t2en=0;//t2允许
unsigned char t3=0;//按键时间控制
unsigned char t3en=0;//t3允许
unsigned char t4=0;//亮度刷新周期控制
unsigned char neirong=0;//流动字幕显示内容
unsigned char cdj=0;//菜单级别,0为退出
unsigned char gundong=0;//是否滚动播放
unsigned char sudu=1;//滚动速度
unsigned char moshi=1;//移动模式,1为左移,2为左停,3为上移,4为上停
unsigned char yanse=1;//颜色方案,0为设置界面左红右绿,1为红色,2为绿色,3为黄色,4为红绿, 5为随动
unsigned char liangdu=1;//亮度
unsigned char liangduzd=0;//亮度自动
unsigned char jiemian=1;//播放界面
unsigned char jiemianll=0;//轮流界面
unsigned char xdata anjian1=0;//是否进入ggkeyscan()
unsigned char xdata anjian2=0;//是否进入sjkeyscan()
unsigned char xdata lianan=1;//按键间隔控制
unsigned char xdata cdbz=0;//菜单按下了
unsigned char xdata jiabz=0;//加按下了
unsigned char xdata jianbz=0;//减按下了
unsigned char xdata ykcd=0;
unsigned char xdata ykjia=0;
unsigned char xdata ykjian=0;
unsigned char xdata ykexit=0;
unsigned char xdata ykcdc=0;
unsigned char xdata ykjiac=0;
unsigned char xdata ykjianc=0;
unsigned char xdata ykexitc=0;
unsigned char xdata change=0;//屏幕是否改变
unsigned char xdata TMP=0,RHT=0;//温湿度
unsigned char xdata shuaxin=0;//刷新界面
unsigned char xdata alarmh1=0;//闹钟变量
unsigned char xdata alarmm1=0;
unsigned char xdata alarme1=0;
unsigned char xdata alarmh2=0;
unsigned char xdata alarmm2=0;
unsigned char xdata alarme2=0;
unsigned char xdata alarmh3=0;
unsigned char xdata alarmm3=0;
unsigned char xdata alarme3=0;
unsigned char xdata alarmen=0;//闹钟总开关
unsigned char xdata alarmfs=0;//1灯光,2音乐,3马达,4声光,5全部
unsigned char sjyanse=1;//时间颜色方案,0为设置界面左红右绿,1为红点绿黄绿,2为红点黄绿黄,3为绿点红黄红,4为绿点黄红黄, 5为黄点红绿红, 6为黄点绿红绿,7为跑马灯
unsigned char xdata shizhi=0;//0为24小时制,1为12小时制
signed char xdata jiaotime=0;//校时
signed char xdata jiaowen=0;//校温
signed char xdata jiaoshi=0;//校湿
unsigned char xdata alarm=0;//闹钟在响
unsigned char xdata alarmgb=0;//闹铃当前已被关闭
unsigned char yansezc;//颜色暂存
unsigned char xdata jiemianzc=0;//界面暂存
const unsigned char code monthday[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};//月天数+1
unsigned char ts=0;//秒引用变量
/*******************主程序************************/
void main()
{
unsigned char xdata kj=1;//开机刷新
unsigned char xdata ws=0;//温湿刷新
InitTimer0();
Initial_DS1302();
//P4SW=0x70;//开启p4口i/0口功能
zmlenjs();//计算字模行数
t2en=1;//开机画面
jiemianzc=jiemian;jiemian=4;
yansezc=yanse;yanse=3;
pmprejt(128,129,/*欢*/130,131,/*迎*/132,133,/*使*/134,135/*用*/);
while(t2en)
{
if(t2>50){t2en=0;t2=0;}
xianshi();
}
jiemian=jiemianzc;
yanse=yansezc;
t2en=1;
EA = 0;//关中断
if(R_EROM(1,1)!=0x0ff)//判断第一次开启不初始化
{
neirong=R_EROM(1,1);//读第n扇区,第x字节的数据
gundong=R_EROM(1,2);
sudu=R_EROM(1,3);
moshi=R_EROM(1,4);
yanse=R_EROM(1,5);
liangdu=R_EROM(1,6);
jiemian=R_EROM(1,7);
jiemianll=R_EROM(1,8);
alarmh1=R_EROM(1,9);alarmm1=R_EROM(1,10);alarme1=R_EROM(1,11);
alarmh2=R_EROM(1,12);alarmm2=R_EROM(1,13);alarme2=R_EROM(1,14);
alarmh3=R_EROM(1,15);alarmm3=R_EROM(1,16);alarme3=R_EROM(1,17);
alarmen=R_EROM(1,18);
alarmfs=R_EROM(1,19);
sjyanse=R_EROM(1,20);
shizhi=R_EROM(1,21);
jiaotime=R_EROM(1,22);
jiaowen=R_EROM(1,23);
jiaoshi=R_EROM(1,24);
liangduzd=R_EROM(1,25);
}
EA = 1;//开中断
t1en=1;
cd=0;jia=0;jian=0;exit=0;anjianzd=1;
EX1=1;EX0=1;
while(1)
{
if(anjian1==1){ggkeyscan();anjian1=0;}
if(anjian2==1){sjkeyscan();anjian2=0;}
if(change==1)
{
t2en=1;
jiemianzc=jiemian;jiemian=1;
yansezc=sjyanse;sjyanse=0;
while(t2en)
{
pmprejt(208,209,/*闹*/240,241,/*钟*/62,62/*空格*/,206-2*alarmen,207-2*alarmen);
if(t2>50){t2en=0;t2=0;}
xianshi();
}
jiemian=jiemianzc;
sjyanse=yansezc;
t2en=1;
change=0;
}
if(t2%25==0 || q%8==0)
{
DS1302_GetTime(&time1);//随时读取时间参数
if(shizhi==1){if(time1.Hour<12){rgbr=0;rgbg=1;}else{rgbr=1;rgbg=0;}}else{rgbr=1;rgbg=1;}//12时制上午红下午绿
if(jiaotime!=0){if(time1.Hour==23){if(time1.Minute==59){if(time1.Second==30){
time1.Second=time1.Second+jiaotime;
DS1302_SetTime(0x80,time1.Second);/*23:59:30校准秒*/
}}}}
ts=time1.Second % 3;
if(alarmen==1)
{
if(alarme1==1){if(alarmh1==time1.Hour && alarmm1==time1.Minute){if(time1.Second==59){alarmgb=0;alarmcl(0);alarm=0;}else if(alarmgb==0){alarmcl(alarmfs);alarm=1;}}}
if(alarme2==1){if(alarmh2==time1.Hour && alarmm2==time1.Minute){if(time1.Second==59){alarmgb=0;alarmcl(0);alarm=0;}else if(alarmgb==0){alarmcl(alarmfs);alarm=1;}}}
if(alarme3==1){if(alarmh3==time1.Hour && alarmm3==time1.Minute){if(time1.Second==59){alarmgb=0;alarmcl(0);alarm=0;}else if(alarmgb==0){alarmcl(alarmfs);alarm=1;}}}
}
}
if(jiemianll!=0)//轮流界面
{
if((time1.Second)%10<5) jiemian=1;
else if((time1.Second)%10<8) {jiemian=2;ws=1;}
else jiemian=3;
}
if(jiemian<=2 && (t2>25 || shuaxin==1 || kj==1))//半秒1次,时间、日期
{
t2en=0;
if(jiemian==1)pmprejt((time1.Hour-shizhi*12*(time1.Hour/13))/10,(time1.Hour-shizhi*12*(time1.Hour/13))%10,69-5*(1-(time1.Second)%2),(time1.Minute)/10,(time1.Minute)%10,69-5*(1-(time1.Second)%2),(time1.Second)/10,(time1.Second)%10);
if(jiemian==2)pmprejt((time1.Year)/10,(time1.Year)%10,(time1.Month)/10,(time1.Month)%10,(time1.Day)/10,(time1.Day)%10,(time1.Week)*2+134,(time1.Week)*2+135);
t2en=1;t2=0;
shuaxin=0;
kj=0;
}
else if(jiemian==3 && (t2>250 || shuaxin==1 || kj==1 || ws==1))//5秒1次,温湿度
{
t2en=0;
Read_temperature();
TMP=TMP+jiaowen;RHT=RHT+jiaoshi;
pmprejt(62,TMP/10,TMP%10,/*温度*/66,62,RHT/10,RHT%10,/*湿度*/65);
t2en=1;t2=0;
shuaxin=0;
kj=0;
ws=0;
}
else if(jiemian==4 && (t1>=sudu || shuaxin==1 || kj==1))//广告屏幕预处理
{
yiting();
shuaxin=0;
kj=0;
}
if(liangduzd!=0)////亮度自动
{
if((time1.Hour)<=6 || (time1.Hour)>=22) liangdu=2;
else liangdu=1;
}
switch(liangdu)//亮度
{
case 1:xianshi();break;//最亮
case 2:if(t4>64){xianshi();t4=0;}
}
}
}
/*******************移停处理************************/
void yiting()
{
if(moshi==1 || moshi==3)//左移、上移
{
if(p==0 && q==0 && t2<50)//开始停1s
{
t2en=1;
if(p==0 && t2==0 && moshi==1)pmprezyt();//首次进入更新显示缓存
if(p==0 && t2==0 && moshi==3)pmpresyt();//首次进入更新显示缓存
}
}
if(moshi==2 || moshi==4)//左停、上停
{
if(p%8==0 && q==0 && t2<50)//每4个字停1s
{
t2en=1;
if(p==0 && t2==0 && moshi==2)pmprezyt();//首次进入更新显示缓存
if(p==0 && t2==0 && moshi==4)pmpresyt();//首次进入更新显示缓存
}
}
if(p%8!=0 || q!=0 || t2>=50 || (moshi==1 || moshi==3) && p>0)//停止期间不变换
{
if(t2>=50){t2en=0;t2=0;}
q++;
if(q==8 && moshi==1 || q==8 && moshi==2){q=0;p++;/*行数下沉*/}//横8个点
if(q==17 && moshi==3 || q==17 && moshi==4){q=0;p=p+8;/*行数下沉*/}//竖16个点
switch(neirong)//循环播放
{
case 0:if(p>=zm1len){if(gundong==1)neirong=1;p=0;q=0;}break;
case 1:if(p>=zm2len){if(gundong==1)neirong=2;p=0;q=0;}break;
case 2:if(p>=zm3len){if(gundong==1)neirong=3;p=0;q=0;}break;
case 3:if(p>=zm4len){if(gundong==1)neirong=4;p=0;q=0;}break;
case 4:if(p>=zm5len){if(gundong==1)neirong=5;p=0;q=0;}break;
case 5:if(p>=zm6len){if(gundong==1)neirong=6;p=0;q=0;}break;
case 6:if(p>=zm7len){if(gundong==1)neirong=7;p=0;q=0;}break;
case 7:if(p>=zm8len){if(gundong==1)neirong=8;p=0;q=0;}break;
case 8:if(p>=zm9len){if(gundong==1)neirong=9;p=0;q=0;}break;
case 9:if(p>=zm10len){if(gundong==1)neirong=0;p=0;q=0;}
}
if(p==0)z=0;//保证首字为红色,z的变换要在p、q更新后
else if(p%2==0 && q==0 && (moshi==1 || moshi==2))//红绿间隔效果
{
if(z==0)z=1;
else z=0;
}
else if(p%8==0 && q==0 && (moshi==3 || moshi==4))//红绿间隔效果
{
if(z==0)z=1;
else z=0;
}
t1=0;
if(moshi==1 || moshi==2)pmprezyt();//更新显示缓存
if(moshi==3 || moshi==4)pmpresyt();//更新显示缓存
}
}
/*******************广告键盘************************/
void ggkeyscan()
{
unsigned char cd1=1;//1级菜单项目指针
jiemianzc=jiemian;
jiemian=4;
t1en=0;
t2en=0;
t3en=1;
while(cdj>=1)
{
if(change==1 || cdj==2 && (t3==0 || t3==25))//显示内容变化时更新
{
switch(cd1)
{
case 1://播放内容界面
if(cdj==1 || cdj==2 && t3<25)
{
if(gundong==1)pmprejt(156,157,/*内*/158,159,/*容*/162,163,/*滚*/164,165/*动*/);
else pmprejt(156,157,/*内*/158,159,/*容*/136+2*neirong,137+2*neirong,/*段号*/160,161/*段*/);
}
if(cdj==2 && t3>=25)pmprejt(156,157,/*内*/158,159,/*容*/62,62,62,62/*空格*/);
break;
case 2://滚动速度界面
if(cdj==1 || cdj==2 && t3<25)pmprejt(166,167,/*速*/168,169,/*度*/134+2*sudu,135+2*sudu,/*sudu*/170,171/*档*/);
else if(cdj==2 && t3>=25)pmprejt(166,167,/*速*/168,169,/*度*/62,62,62,62/*空格*/);
break;
case 3://移动模式界面
if(cdj==1 || cdj==2 && t3<25)
{
switch(moshi)
{
case 1:pmprejt(172,173,/*模*/174,175,/*式*/176,177,/*左*/180,181/*移*/);break;
case 2:pmprejt(172,173,/*模*/174,175,/*式*/176,177,/*左*/182,183/*停*/);break;
case 3:pmprejt(172,173,/*模*/174,175,/*式*/178,179,/*上*/180,181/*移*/);break;
case 4:pmprejt(172,173,/*模*/174,175,/*式*/178,179,/*上*/182,183/*停*/);
}
}
if(cdj==2 && t3>=25)pmprejt(172,173,/*模*/174,175,/*式*/62,62,62,62/*空格*/);
break;
case 4://颜色选择界面
if(cdj==1 || cdj==2 && t3<25)
{
switch(yanse)
{
case 1:pmprejt(188,189,/*颜*/190,191,/*色*/192,193,/*红*/198,199/*色*/);break;
case 2:pmprejt(188,189,/*颜*/190,191,/*色*/194,195,/*绿*/198,199/*色*/);break;
case 3:pmprejt(188,189,/*颜*/190,191,/*色*/196,197,/*黄*/198,199/*色*/);break;
case 4:pmprejt(188,189,/*颜*/190,191,/*色*/192,193,/*红*/194,195/*绿*/);break;
case 5:pmprejt(188,189,/*颜*/190,191,/*色*/200,201,/*随*/202,203/*动*/);
}
}
if(cdj==2 && t3>=25)pmprejt(188,189,/*颜*/190,191,/*色*/62,62,62,62/*空格*/);
}
change=0;
}
yansezc=yanse;
yanse=0;
xianshi();
yanse=yansezc;
if(jiabz==1)
{
switch(cdj)
{
case 1:cd1++;/*一级菜单下一个项目*/if(cd1==5)cd1=1;break;
case 2:
switch(cd1)
{
case 1:neirong++;/*流动字幕显示下一段内容*/if(neirong==11)neirong=0;p=0;q=0;
if(neirong==10)gundong=1;else gundong=0;break;
case 2:sudu++;if(sudu==11)sudu=1;break;
case 3:moshi++;if(moshi==5)moshi=1;p=0;q=0;break;
case 4:yanse++;if(yanse==6)yanse=1;
}
}
jiabz=0;
}
if(jianbz==1)
{
switch(cdj)
{
case 1:cd1--;/*一级菜单下一个项目*/if(cd1==0)cd1=4;break;
case 2:
switch(cd1)
{
case 1:neirong--;/*流动字幕显示下一段内容*/if(neirong==255)neirong=10;
if(neirong==10)gundong=1;else gundong=0;p=0;q=0;break;
case 2:sudu--;if(sudu==0)sudu=10;break;
case 3:moshi--;if(moshi==0)moshi=4;p=0;q=0;break;
case 4:yanse--;if(yanse==0)yanse=5;
}
}
jianbz=0;
}
if(t3>=50)t3=0;
}
t3en=0;t3=0;
change=0;
if(moshi==1 || moshi==2)pmprezyt();
if(moshi==3 || moshi==4)pmpresyt();//立马更新
if(gundong==1)neirong=0;
cunchu();
t1en=1;
t2en=1;t2=50;
jiemian=jiemianzc;
}
/*******************时间键盘************************/
void sjkeyscan()
{
unsigned char cd1=1;//1级菜单项目指针
unsigned char cd2=1;//2级菜单项目指针
jiemianzc=jiemian;
jiemian=1;
t1en=0;
t2en=0;
t3en=1;
while(cdj>=1)
{
if(change==1 || cdj==2 && (t3==0 || t3==25) || cd1==6 || cd1==7)//显示内容变化时更新
{
switch(cd1)
{
case 1://闹钟1调整界面
switch(cd2)
{
case 1:if(cdj==1 || cdj==2 && t3<25)pmprejt(36,1,(alarmh1-shizhi*12*(alarmh1/13))/10,(alarmh1-shizhi*12*(alarmh1/13))%10,alarmm1/10,alarmm1%10,206-2*alarme1,207-2*alarme1);
else if(cdj==2 && t3>=25)pmprejt(36,1,62,62/*空格*/,alarmm1/10,alarmm1%10,206-2*alarme1,207-2*alarme1);
break;
case 2:if(cdj==1 || cdj==2 && t3<25)pmprejt(36,1,(alarmh1-shizhi*12*(alarmh1/13))/10,(alarmh1-shizhi*12*(alarmh1/13))%10,alarmm1/10,alarmm1%10,206-2*alarme1,207-2*alarme1);
else if(cdj==2 && t3>=25)pmprejt(36,1,(alarmh1-shizhi*12*(alarmh1/13))/10,(alarmh1-shizhi*12*(alarmh1/13))%10,62,62/*空格*/,206-2*alarme1,207-2*alarme1);
break;
case 3:if(cdj==1 || cdj==2 && t3<25)pmprejt(36,1,(alarmh1-shizhi*12*(alarmh1/13))/10,(alarmh1-shizhi*12*(alarmh1/13))%10,alarmm1/10,alarmm1%10,206-2*alarme1,207-2*alarme1);
else if(cdj==2 && t3>=25)pmprejt(36,1,(alarmh1-shizhi*12*(alarmh1/13))/10,(alarmh1-shizhi*12*(alarmh1/13))%10,alarmm1/10,alarmm1%10,62,62/*空格*/);
}
break;
case 2://闹钟2调整界面
switch(cd2)
{
case 1:if(cdj==1 || cdj==2 && t3<25)pmprejt(36,2,(alarmh2-shizhi*12*(alarmh2/13))/10,(alarmh2-shizhi*12*(alarmh2/13))%10,alarmm2/10,alarmm2%10,206-2*alarme2,207-2*alarme2);
else if(cdj==2 && t3>=25)pmprejt(36,2,62,62/*空格*/,alarmm2/10,alarmm2%10,206-2*alarme2,207-2*alarme2);
break;
case 2:if(cdj==1 || cdj==2 && t3<25)pmprejt(36,2,(alarmh2-shizhi*12*(alarmh2/13))/10,(alarmh2-shizhi*12*(alarmh2/13))%10,alarmm2/10,alarmm2%10,206-2*alarme2,207-2*alarme2);
else if(cdj==2 && t3>=25)pmprejt(36,2,(alarmh2-shizhi*12*(alarmh2/13))/10,(alarmh2-shizhi*12*(alarmh2/13))%10,62,62/*空格*/,206-2*alarme2,207-2*alarme2);
break;
case 3:if(cdj==1 || cdj==2 && t3<25)pmprejt(36,2,(alarmh2-shizhi*12*(alarmh2/13))/10,(alarmh2-shizhi*12*(alarmh2/13))%10,alarmm2/10,alarmm2%10,206-2*alarme2,207-2*alarme2);
else if(cdj==2 && t3>=25)pmprejt(36,2,(alarmh2-shizhi*12*(alarmh2/13))/10,(alarmh2-shizhi*12*(alarmh2/13))%10,alarmm2/10,alarmm2%10,62,62/*空格*/);
}
break;
case 3://闹钟3调整界面
switch(cd2)
{
case 1:if(cdj==1 || cdj==2 && t3<25)pmprejt(36,3,(alarmh3-shizhi*12*(alarmh3/13))/10,(alarmh3-shizhi*12*(alarmh3/13))%10,alarmm3/10,alarmm3%10,206-2*alarme3,207-2*alarme3);
else if(cdj==2 && t3>=25)pmprejt(36,3,62,62/*空格*/,alarmm3/10,alarmm3%10,206-2*alarme3,207-2*alarme3);
break;
case 2:if(cdj==1 || cdj==2 && t3<25)pmprejt(36,3,(alarmh3-shizhi*12*(alarmh3/13))/10,(alarmh3-shizhi*12*(alarmh3/13))%10,alarmm3/10,alarmm3%10,206-2*alarme3,207-2*alarme3);
else if(cdj==2 && t3>=25)pmprejt(36,3,(alarmh3-shizhi*12*(alarmh3/13))/10,(alarmh3-shizhi*12*(alarmh3/13))%10,62,62/*空格*/,206-2*alarme3,207-2*alarme3);
break;
case 3:if(cdj==1 || cdj==2 && t3<25)pmprejt(36,3,(alarmh3-shizhi*12*(alarmh3/13))/10,(alarmh3-shizhi*12*(alarmh3/13))%10,alarmm3/10,alarmm3%10,206-2*alarme3,207-2*alarme3);
else if(cdj==2 && t3>=25)pmprejt(36,3,(alarmh3-shizhi*12*(alarmh3/13))/10,(alarmh3-shizhi*12*(alarmh3/13))%10,alarmm3/10,alarmm3%10,62,62/*空格*/);
}
break;
case 4://闹钟方式调整界面
if(cdj==1 || cdj==2 && t3<25)
{
switch(alarmfs)
{
case 1:pmprejt(208,209,210,211,212,213/*灯*/,214,215/*光*/);break;
case 2:pmprejt(208,209,210,211,216,217/*音*/,218,219/*乐*/);break;
case 3:pmprejt(208,209,210,211,220,221/*马*/,222,223/*达*/);break;
case 4:pmprejt(208,209,210,211,224,225/*声*/,226,227/*光*/);break;
case 5:pmprejt(208,209,210,211,228,229/*全*/,230,231/*部*/);
}
}
else if(cdj==2 && t3>=25)pmprejt(208,209,210,211,62,62/*空格*/,62,62/*空格*/);
break;
case 5://颜色调整界面
if(cdj==1 || cdj==2 && t3<25)pmprejt(188,189,190,191,62,62/*空格*/,62/*空格*/,sjyanse);
else if(cdj==2 && t3>=25)pmprejt(188,189,190,191,62,62/*空格*/,62,62/*空格*/);
break;
case 6://时间调整界面
DS1302_GetTime(&time1); //读取时间参数
switch(cd2)
{
case 1:if(cdj==1 || cdj==2 && t3<25)pmprejt((time1.Hour-shizhi*12*(time1.Hour/13))/10,(time1.Hour-shizhi*12*(time1.Hour/13))%10,64,(time1.Minute)/10,(time1.Minute)%10,64,(time1.Second)/10,(time1.Second)%10);
else if(cdj==2 && t3>=25)pmprejt(62,62/*空格*/,64,(time1.Minute)/10,(time1.Minute)%10,64,(time1.Second)/10,(time1.Second)%10);
break;
case 2:if(cdj==1 || cdj==2 && t3<25)pmprejt((time1.Hour-shizhi*12*(time1.Hour/13))/10,(time1.Hour-shizhi*12*(time1.Hour/13))%10,64,(time1.Minute)/10,(time1.Minute)%10,64,(time1.Second)/10,(time1.Second)%10);
else if(cdj==2 && t3>=25)pmprejt((time1.Hour-shizhi*12*(time1.Hour/13))/10,(time1.Hour-shizhi*12*(time1.Hour/13))%10,64,62,62/*空格*/,64,(time1.Second)/10,(time1.Second)%10);
break;
case 3:if(cdj==1 || cdj==2 && t3<25)pmprejt((time1.Hour-shizhi*12*(time1.Hour/13))/10,(time1.Hour-shizhi*12*(time1.Hour/13))%10,64,(time1.Minute)/10,(time1.Minute)%10,64,(time1.Second)/10,(time1.Second)%10);
else if(cdj==2 && t3>=25)pmprejt((time1.Hour-shizhi*12*(time1.Hour/13))/10,(time1.Hour-shizhi*12*(time1.Hour/13))%10,64,(time1.Minute)/10,(time1.Minute)%10,64,62,62/*空格*/);
}
break;
case 7://年月日周调整界面
DS1302_GetTime(&time1); //读取时间参数
switch(cd2)
{
case 1:if(cdj==1 || cdj==2 && t3<25)pmprejt((time1.Year)/10,(time1.Year)%10,(time1.Month)/10,(time1.Month)%10,(time1.Day)/10,(time1.Day)%10,(time1.Week)*2+134,(time1.Week)*2+135);
if(cdj==2 && t3>=25)pmprejt(62,62/*空格*/,(time1.Month)/10,(time1.Month)%10,(time1.Day)/10,(time1.Day)%10,(time1.Week)*2+134,(time1.Week)*2+135);
break;
case 2:if(cdj==1 || cdj==2 && t3<25)pmprejt((time1.Year)/10,(time1.Year)%10,(time1.Month)/10,(time1.Month)%10,(time1.Day)/10,(time1.Day)%10,(time1.Week)*2+134,(time1.Week)*2+135);
if(cdj==2 && t3>=25)pmprejt((time1.Year)/10,(time1.Year)%10,62,62/*空格*/,(time1.Day)/10,(time1.Day)%10,(time1.Week)*2+134,(time1.Week)*2+135);
break;
case 3:if(cdj==1 || cdj==2 && t3<25)pmprejt((time1.Year)/10,(time1.Year)%10,(time1.Month)/10,(time1.Month)%10,(time1.Day)/10,(time1.Day)%10,(time1.Week)*2+134,(time1.Week)*2+135);
if(cdj==2 && t3>=25)pmprejt((time1.Year)/10,(time1.Year)%10,(time1.Month)/10,(time1.Month)%10,62,62/*空格*/,(time1.Week)*2+134,(time1.Week)*2+135);
break;
case 4:if(cdj==1 || cdj==2 && t3<25)pmprejt((time1.Year)/10,(time1.Year)%10,(time1.Month)/10,(time1.Month)%10,(time1.Day)/10,(time1.Day)%10,(time1.Week)*2+134,(time1.Week)*2+135);
if(cdj==2 && t3>=25)pmprejt((time1.Year)/10,(time1.Year)%10,(time1.Month)/10,(time1.Month)%10,(time1.Day)/10,(time1.Day)%10,62,62/*空格*/);
}
break;
case 8://时制调整界面
if(cdj==1 || cdj==2 && t3<25)pmprejt(184,185,186,187,62,62/*空格*/,(24-12*shizhi)/10,(24-12*shizhi)%10);
else if(cdj==2 && t3>=25)pmprejt(184,185,186,187,62,62/*空格*/,62,62/*空格*/);
break;
case 9://校时调整界面
if(cdj==1 || cdj==2 && t3<25)
{
if(jiaotime==0)pmprejt(232,233,234,235,62,62/*空格*/,62,jiaotime);
else if(jiaotime>0)pmprejt(232,233,234,235,62,62/*空格*/,67,jiaotime);
else pmprejt(232,233,234,235,62,62/*空格*/,68,-jiaotime);
}
else if(cdj==2 && t3>=25)pmprejt(232,233,234,235,62,62/*空格*/,62,62/*空格*/);
break;
case 10://校温调整界面
if(cdj==1 || cdj==2 && t3<25)
{
if(jiaowen==0)pmprejt(232,233,236,237,62,62/*空格*/,62,jiaowen);
else if(jiaowen>0)pmprejt(232,233,236,237,62,62/*空格*/,67,jiaowen);
else pmprejt(232,233,236,237,62,62/*空格*/,68,-jiaowen);
}
else if(cdj==2 && t3>=25)pmprejt(232,233,236,237,62,62/*空格*/,62,62/*空格*/);
break;
case 11://校湿调整界面
if(cdj==1 || cdj==2 && t3<25)
{
if(jiaoshi==0)pmprejt(232,233,238,239,62,62/*空格*/,62,jiaoshi);
else if(jiaoshi>0)pmprejt(232,233,238,239,62,62/*空格*/,67,jiaoshi);
else pmprejt(232,233,238,239,62,62/*空格*/,68,-jiaoshi);
}
else if(cdj==2 && t3>=25)pmprejt(232,233,238,239,62,62/*空格*/,62,62/*空格*/);
}
change=0;
}
yansezc=sjyanse;
switch(cd1)
{
case 1:case 2:case 3:case 7:sjyanse=8;break;
case 4:case 5:case 8:case 9:case 10:case 11:sjyanse=0;
}
xianshi();
sjyanse=yansezc;
if(cdbz==1)
{
if(cdj==2)
{
cd2++;
switch(cd1)
{
case 1:if(cd2==4)cd2=1;break;
case 2:if(cd2==4)cd2=1;break;
case 3:if(cd2==4)cd2=1;break;
case 4:cd2=1;break;
case 5:cd2=1;break;
case 6:if(cd2==4)cd2=1;break;
case 7:if(cd2==5)cd2=1;break;
case 8:cd2=1;break;
case 9:cd2=1;break;
case 10:cd2=1;break;
case 11:cd2=1;
}
}
cdbz=0;
}
if(jiabz==1)
{
switch(cdj)
{
case 1:cd1++;/*一级菜单下一个项目*/cd2=1;if(cd1==12)cd1=1;break;
case 2:
switch(cd1)
{
case 1://调整闹钟1
switch(cd2)
{
case 1:alarmh1++;if(alarmh1==24)alarmh1=0;/*调整闹钟时*/break;
case 2:alarmm1++;if(alarmm1==60)alarmm1=0;/*调整闹钟分*/break;
case 3:if(alarme1==0)alarme1=1;else alarme1=0;/*调整闹钟开关*/
}
break;
case 2://调整闹钟2
switch(cd2)
{
case 1:alarmh2++;if(alarmh2==24)alarmh2=0;/*调整闹钟时*/break;
case 2:alarmm2++;if(alarmm2==60)alarmm2=0;/*调整闹钟分*/break;
case 3:if(alarme2==0)alarme2=1;else alarme2=0;/*调整闹钟开关*/
}
break;
case 3://调整闹钟3
switch(cd2)
{
case 1:alarmh3++;if(alarmh3==24)alarmh3=0;/*调整闹钟时*/break;
case 2:alarmm3++;if(alarmm3==60)alarmm3=0;/*调整闹钟分*/break;
case 3:if(alarme3==0)alarme3=1;else alarme3=0;/*调整闹钟开关*/
}
break;
case 4://闹钟方式
alarmfs++;if(alarmfs==6)alarmfs=1;
break;
case 5://调整颜色
sjyanse++;if(sjyanse==8)sjyanse=1;
break;
case 6://调整时间
switch(cd2)
{
case 1:time1.Hour++;if(time1.Hour==24)time1.Hour=0;DS1302_SetTime(0x84,time1.Hour);/*调整时*/break;
case 2:time1.Minute++;if(time1.Minute==60)time1.Minute=0;DS1302_SetTime(0x82,time1.Minute);/*调整分*/break;
case 3:time1.Second++;if(time1.Second==60)time1.Second=0;DS1302_SetTime(0x80,time1.Second);/*调整秒*/
}
break;
case 7://调整日期
switch(cd2)
{
case 1:time1.Year++;if(time1.Year==100)time1.Year=00;DS1302_SetTime(0x8c,time1.Year);/*调整年*/break;
case 2:time1.Month++;if(time1.Month==13)time1.Month=1;DS1302_SetTime(0x88,time1.Month);/*调整月*/break;
case 3:time1.Day++;
if(time1.Year%4==0 && time1.Month==2){if(time1.Day==30)time1.Day=1;}//闰年二月
else{if(time1.Day==monthday[time1.Month]+1)time1.Day=1;}
DS1302_SetTime(0x86,time1.Day);/*调整日*/break;
case 4:time1.Week++;if(time1.Week==8)time1.Week=1;DS1302_SetTime(0x8A,time1.Week);/*调整周*/
}
case 8://设置时制
if(shizhi==0)shizhi=1;else shizhi=0;//0为24小时制,1为12小时制
break;
case 9://校时
jiaotime++;if(jiaotime==10)jiaotime=-9;
break;
case 10://校温
jiaowen++;if(jiaowen==10)jiaowen=-9;
break;
case 11://校湿
jiaoshi++;if(jiaoshi==10)jiaoshi=-9;
}
}
jiabz=0;
}
if(jianbz==1)
{
switch(cdj)
{
case 1:cd1--;/*一级菜单下一个项目*/cd2=1;if(cd1==0)cd1=11;break;
case 2:
switch(cd1)
{
case 1://调整闹钟1
switch(cd2)
{
case 1:alarmh1--;if(alarmh1==255)alarmh1=23;/*调整闹钟时*/break;
case 2:alarmm1--;if(alarmm1==255)alarmm1=59;/*调整闹钟分*/break;
case 3:if(alarme1==0)alarme1=1;else alarme1=0;/*调整闹钟开关*/
}
break;
case 2://调整闹钟2
switch(cd2)
{
case 1:alarmh2--;if(alarmh2==255)alarmh2=23;/*调整闹钟时*/break;
case 2:alarmm2--;if(alarmm2==255)alarmm2=59;/*调整闹钟分*/break;
case 3:if(alarme2==0)alarme2=1;else alarme2=0;/*调整闹钟开关*/
}
break;
case 3://调整闹钟3
switch(cd2)
{
case 1:alarmh3--;if(alarmh3==255)alarmh3=23;/*调整闹钟时*/break;
case 2:alarmm3--;if(alarmm3==255)alarmm3=59;/*调整闹钟分*/break;
case 3:if(alarme3==0)alarme3=1;else alarme3=0;/*调整闹钟开关*/
}
break;
case 4://闹钟方式
alarmfs--;if(alarmfs==0)alarmfs=5;
break;
case 5://调整颜色
sjyanse--;if(sjyanse==0)sjyanse=7;
break;
case 6:
switch(cd2)
{
case 1:time1.Hour--;if(time1.Hour==255)time1.Hour=23;DS1302_SetTime(0x84,time1.Hour);/*调整时*/break;
case 2:time1.Minute--;if(time1.Minute==255)time1.Minute=59;DS1302_SetTime(0x82,time1.Minute);/*调整分*/break;
case 3:time1.Second--;if(time1.Second==255)time1.Second=59;DS1302_SetTime(0x80,time1.Second);/*调整秒*/
}
break;
case 7:
switch(cd2)
{
case 1:time1.Year--;if(time1.Year==255)time1.Year=99;DS1302_SetTime(0x8c,time1.Year);/*调整年*/break;
case 2:time1.Month--;if(time1.Month==0)time1.Month=12;DS1302_SetTime(0x88,time1.Month);/*调整月*/break;
case 3:time1.Day--;
if(time1.Year%4==0 && time1.Month==2){if(time1.Day==0)time1.Day=29;}//闰年二月
else{if(time1.Day==0)time1.Day=monthday[time1.Month];}
DS1302_SetTime(0x86,time1.Day);/*调整日*/break;
case 4:time1.Week--;if(time1.Week==0)time1.Week=7;DS1302_SetTime(0x8A,time1.Week);/*调整周*/
}
case 8://设置时制
if(shizhi==0)shizhi=1;else shizhi=0;//0为24小时制,1为12小时制
break;
case 9://校时
jiaotime--;if(jiaotime==-10)jiaotime=9;
break;
case 10://校温
jiaowen--;if(jiaowen==-10)jiaowen=9;
break;
case 11://校湿
jiaoshi--;if(jiaoshi==-10)jiaoshi=9;
}
}
jianbz=0;
}
if(t3>=50)t3=0;
}
t3en=0;t3=0;
change=0;
cunchu();
t1en=1;
t2en=1;t2=150;
jiemian=jiemianzc;
}
/*******************存epprom************************/
void cunchu()
{
EA = 0;//关中断
C_EROM(1);//擦除第n扇区
W_EROM(1,1,neirong);//向第n扇区,第x字节写入数据dat
W_EROM(1,2,gundong);
W_EROM(1,3,sudu);
W_EROM(1,4,moshi);
W_EROM(1,5,yanse);
W_EROM(1,6,liangdu);
W_EROM(1,7,jiemian);
W_EROM(1,8,jiemianll);
W_EROM(1,9,alarmh1);W_EROM(1,10,alarmm1);W_EROM(1,11,alarme1);
W_EROM(1,12,alarmh2);W_EROM(1,13,alarmm2);W_EROM(1,14,alarme2);
W_EROM(1,15,alarmh3);W_EROM(1,16,alarmm3);W_EROM(1,17,alarme3);
W_EROM(1,18,alarmen);
W_EROM(1,19,alarmfs);
W_EROM(1,20,sjyanse);
W_EROM(1,21,shizhi);
W_EROM(1,22,jiaotime);
W_EROM(1,23,jiaowen);
W_EROM(1,24,jiaoshi);
W_EROM(1,25,liangduzd);
EA = 1;//开中断
}
/*******************定时器/中断初始化************************/
void InitTimer0()
{
TMOD = 0x21;//T0方式1,T1方式2
TH0 = 0x88;
TL0 = 0x00;
TH1 = 0x00;
TL1 = 0x00;
EA = 1;
ET0 = 1;
TR0 = 1;
ET1 = 1;
TR1 = 1;
/*外部中断0P3.2*/
IT0 = 1; //下降沿触发
/*外部中断1P3.3*/
IT1 = 1; //下降沿触发
}
/*******************定时器TO************************/
void Timer0Interrupt() interrupt 1//20ms
{
TH0 = 0x88;
TL0 = 0x00;
if(t1en==1)t1++;
if(t2en==1)t2++;
if(t3en==1)t3++;
if(EX1==0 && lianan>=1 ){lianan++;if(lianan==25){lianan=0;EX1=1;IE1=0;}}//按键连按控制
}
/*******************定时器T1************************/
void Timer1Interrupt() interrupt 3//0.1667ms
{
if(t4<255)t4++;
}
/*******************外部中断1***********************蓝灯进入,红灯短按,绿灯长按*/
void anjian(void) interrupt 2
{
unsigned char i=0;
unsigned char flag=0;
EX0=0;EX1=0;IE1=0;PT0=1;
t1en=0;t2en=0;
lianan=1;
cd=1;jia=1;jian=1;exit=1;anjianzd=0;
rgbb=0;rgbr=1;rgbg=1;
while(flag==0 && i<5)
{
if(cdj==0 && alarm==1){alarmgb=1;alarm=0;alarmcl(0);flag=1;}
else if(cdj==0)
{
while(cd==0 && flag==00)//短下一段,长设置广告
{
t3en=1;
if(t3>0 && t3<=30){if(cd==1){t3en=0;t3=0;if(jiemian==4){neirong++;/*流动字幕显示下一段内容*/if(neirong==10)neirong=0;p=0;q=0;}flag=1;rgbb=1;rgbr=0;rgbg=1;break;}}
else if(t3>30){t3en=0;t3=0;anjian1=1;cdj=1;change=1;flag=1;rgbb=1;rgbr=1;rgbg=0;break;}//长按0.6s进入广告一级菜单第一页
}
while(jia==0 && flag==00)//短开关闹钟,长设置时间
{
t3en=1;
if(t3>0 && t3<=30){if(jia==1){t3en=0;t3=0;if(alarmen==0)alarmen=1;else alarmen=0;/*调整闹钟开关*/change=1;flag=1;rgbb=1;rgbr=0;rgbg=1;break;}}
else if(t3>30){t3en=0;t3=0;anjian2=1;cdj=1;change=1;flag=1;rgbb=1;rgbr=1;rgbg=0;break;}//长按0.6s进入时间一级菜单第一页
}
while(jian==0 && flag==00)
{
t3en=1;
if(t3>0 && t3<=30){if(jian==1){t3en=0;t3=0;if(jiemianll==0)jiemian++;if(jiemian==5)jiemian=1;flag=1;rgbb=1;rgbr=0;rgbg=1;break;}}
else if(t3>30){t3en=0;t3=0;if(jiemianll==0)jiemianll=1;else jiemianll=0;flag=1;rgbb=1;rgbr=1;rgbg=0;break;}//长按0.6s进入轮流显示
}//短界面切换,长滚动显示
while(exit==0 && flag==00)
{
t3en=1;
if(t3>0 && t3<=30){if(exit==1){t3en=0;t3=0;if(liangduzd==0)liangdu++;if(liangdu==3)liangdu=1;flag=1;rgbb=1;rgbr=0;rgbg=1;break;}}
else if(t3>30){t3en=0;t3=0;if(liangduzd==0)liangduzd=1;else liangduzd=0;flag=1;rgbb=1;rgbr=1;rgbg=0;break;}//长按0.6s进入自动亮度
}//短亮度调整,长自动亮度
}
else if(cdj==1)
{
if(cd==0 && flag==00){cdj=2;change=1;flag=1;}
if(jia==0 && flag==00){jiabz=1;change=1;flag=1;}
if(jian==0 && flag==00){jianbz=1;change=1;flag=1;}
if(exit==0 && flag==00){cdj=0;change=1;flag=1;}
}
else if(cdj==2)
{
if(cd==0 && flag==00){if(anjian2==1){cdbz=1;change=1;}flag=1;}
if(jia==0 && flag==00){jiabz=1;change=1;flag=1;}
if(jian==0 && flag==00){jianbz=1;change=1;flag=1;}
if(exit==0 && flag==00){cdj=1;change=1;flag=1;}
}
i++;
}
for(i=0;i<8;i++){while(cd==0 || jia==0 || jian==0 || exit==0){}}
shuaxin=1;
cd=0;jia=0;jian=0;exit=0;anjianzd=1;
cunchu();
if(jiemian==4){t2en=0;t2=0;}
if(cdj==0){t3en=0;t3=0;}//5次循环强制退出处理
rgbb=1;rgbr=1;rgbg=1;
EX0=1;PT0=0;t1en=1;t2en=1;
}
/*******************遥控按键处理************************/
void yaokongchuli()
{
EA=0;
if(cdj==0)
{
if(ykcd==1){if(jiemian==4){neirong++;/*流动字幕显示下一段内容*/if(neirong==10)neirong=0;p=0;q=0;}}
if(ykcdc==1){anjian1=1;cdj=1;change=1;}
if(ykjia==1){if(alarmen==0)alarmen=1;else alarmen=0;/*调整闹钟开关*/change=1;}
if(ykjiac==1){anjian2=1;cdj=1;change=1;}
if(ykjian==1){if(jiemianll==0)jiemian++;if(jiemian==5)jiemian=1;}
if(ykjianc==1){if(jiemianll==0)jiemianll=1;else jiemianll=0;}
if(ykexit==1){if(liangduzd==0)liangdu++;if(liangdu==3)liangdu=1;}
if(ykexitc==1){if(liangduzd==0)liangduzd=1;else liangduzd=0;}
}
else if(cdj==1)
{
if(ykcd==1){cdj=2;change=1;}
if(ykjia==1){jiabz=1;change=1;}
if(ykjian==1){jianbz=1;change=1;}
if(ykexit==1){cdj=0;change=1;}
}
else if(cdj==2)
{
if(ykcd==1){if(anjian2==1){cdbz=1;change=1;}}
if(ykjia==1){jiabz=1;change=1;}
if(ykjian==1){jianbz=1;change=1;}
if(ykexit==1){cdj=1;change=1;}
}
shuaxin=1;
cunchu();
if(jiemian==4){t2en=0;t2=0;}
ykcd=0;ykjia=0;ykjian=0;ykexit=0;
ykcdc=0;ykjiac=0;ykjianc=0;ykexitc=0;
EA=1;
}
/*******************闹钟方式************************/
void alarmcl(unsigned char a)
{
switch(a)//选择闹钟方式
{
case 0:rgbb=1;bibi=1;mada=1;break;//全关
case 1:if(time1.Second%2==0)rgbb=0;else rgbb=1;bibi=1;mada=1;break;//蓝灯
case 2:rgbb=1;bibi=0;mada=1;break;//音乐
case 3:rgbb=1;bibi=1;if(time1.Second%2==0)mada=1;else mada=0;break;//马达
case 4:if(time1.Second%2==0)rgbb=0;else rgbb=1;bibi=0;mada=1;break;//声光
case 5:if(time1.Second%2==0)rgbb=0;else rgbb=1;bibi=0;if(time1.Second%2==0)mada=1;else mada=0;//全部
}
}
显示
一、核心功能
负责管理一个16行×64列(16×8字节)的双色(红、绿)LED点阵屏的显示驱动,支持静态文字、流动字幕、时间/日期/温湿度等多界面显示,并提供丰富的颜色控制方案。
二、主要逻辑与模块
1. 硬件与数据定义
-
硬件接口:定义了控制红色(
red)、绿色(green)LED,以及移位寄存器时钟(sck)、锁存信号(rck)的引脚。 -
显示缓冲区:在外部RAM(
xdata)中开辟了一个二维数组pm[16][8],用于存储当前帧要显示的64×16像素点阵数据(每位对应一个像素点)。 -
关键变量:声明了用于屏幕扫描(
i, j, k)、字库指针(p, q)、显示内容(neirong)、移动模式(moshi)、颜色方案(yanse,sjyanse)、显示界面(jiemian)等全局变量。
2. 显示预处理函数
这些函数将需要显示的内容(来自字库)处理后,填入显示缓冲区pm。
-
pmprejt: 静态显示预处理。直接接收8个字符码,从字库(标准zmbz或系统zmxt)中提取对应的8列字模数据,填充到pm数组中。 -
pmprezyt: 左移停显示预处理。用于实现文字左移效果。根据neirong选择对应的长字库(zm1~zm10),结合字库行指针p和字节内位指针q,通过移位和拼接操作,计算出当前窗口应显示的8列数据,实现平滑的像素级左移。移出区域填充0xff(熄灭)。 -
pmpresyt: 上移停显示预处理。用于实现文字上移效果。逻辑与左移类似,但操作方向为行方向,通过调整从字库中读取数据的行索引来实现上滚效果。
3. 核心扫描函数 xianshi
这是最关键的函数,负责将缓冲区pm的数据扫描输出到点阵屏上,并控制每个像素点的颜色。
-
三重循环扫描:通过行(
i)、列(j)、位(k)三层循环,遍历pm数组中的每一个比特。 -
像素点判断:取出当前比特(
dian),判断其是否为0(点亮)。 -
多界面颜色控制:根据
jiemian变量进入不同界面的颜色控制逻辑:-
时间界面 (
jiemian==1): 根据sjyanse变量选择8种预设的颜色方案。方案0为左右分区固定色,方案1-6为针对时间数字、冒号、背景的区域配色,方案7为三色“跑马灯”动态效果(依赖ts变量循环)。 -
日期界面 (
jiemian==2): 固定配色,两侧列(0,1,6,7)为黄色,中间两对列分别为绿色和红色。 -
温湿度界面 (
jiemian==3): 固定配色,第3、7列为黄色,左侧三列为绿色,右侧三列为红色。 -
广告界面 (
jiemian==4): 根据yanse变量选择颜色方案。方案0为左右分区,1-3为全屏单色,方案4为左右交替。方案5为“随动”效果,颜色块会随文字移动方向(moshi)和位置(z,p,q)动态变化,产生彩色流动的视觉效果。
-
-
信号输出:根据颜色判断结果,设置
red和green引脚电平(0点亮,1熄灭),然后产生移位时钟(sck)将数据串行移入。每处理完一行(8字节*8位=64点),输出行选通信号(P0=sm[i])和锁存信号(rck),点亮该行。 -
消隐与清屏:每行显示后调用
delay控制占空比以调节亮度。扫描结束后,执行一段清屏操作,确保最后一行数据被移出,避免残影。
三、设计特点
-
模块化:将显示预处理、颜色控制、扫描输出分离,逻辑清晰。
-
资源优化:利用外部RAM存储显示缓冲区,节省单片机片内资源。
-
灵活多变:通过变量配置可轻松切换显示内容、移动模式、界面和颜色方案,实现时钟、广告牌等多种功能。
-
视觉效果丰富:支持左移、上移、多种静态和动态配色方案,增强了显示表现力。
#ifndef _xianshi_h_
#define _xianshi_h_
#include<STC12C5A.h>
#include<intrins.h>
#define NOP() _nop_()//定义空指令
#include"zhiku.h"//字库
sbit red=P0^4;
sbit green=P0^5;
sbit rck=P1^7;//锁存输出
sbit sck=P1^6;//左移位
unsigned char xdata pm[16][8];//屏幕显示点阵数组使用外部ram
signed char jiaosd=0;//校湿
const unsigned char code sm[16]={0Xf0,0Xf8,0xf4,0xfC,0Xf2,0XfA,0Xf6,0XfE,
0Xf1,0Xf9,0Xf5,0XfD,0Xf3,0XfB,0Xf7,0XfF};//16行段码138驱动数据
unsigned char i=0;
unsigned char j=0;
unsigned char k=0;//ijk屏幕扫描循环体变量
extern unsigned short int p=0;//字库行指针
extern unsigned char q=0;//字节位指针
extern unsigned char z=0;//移动颜色字数变换
extern unsigned char neirong;//流动字幕显示内容
extern unsigned char moshi;//移动模式,1为左移,2为左停,3为上移,4为上停
extern unsigned char yanse;//颜色方案,1为红色,2为绿色,3为黄色,4为红绿,5随动
extern unsigned char sjyanse;//时间颜色方案,0为设置界面左红右绿,1为红点绿黄绿,2为红点黄绿黄,3为绿点红黄红,4为绿点黄红黄, 5为黄点红绿红, 6为黄点绿红绿,7为跑马灯
extern unsigned char jiemian;//播放界面
extern unsigned char ts;//秒引用变量
/*******************延时约0.825688us***1.4ms o=170次*********************/
void delay(unsigned short int o)
{
for(o;o>0;o--);
}
/*******************静态屏幕显示预处理************************/
void pmprejt(unsigned char z1,unsigned char z2,unsigned char z3,unsigned char z4,
unsigned char z5,unsigned char z6,unsigned char z7,unsigned char z8)
//0-127标准字模,128-255系统字模 -128即为行数
{
for(i=0;i<8;i++)//一列8个点阵
{
for(j=0;j<16;j++)//16行
{
switch(i)//提取字模数据
{
case 0:if(z1<=127)pm[j][i]=zmbz[z1][j];else pm[j][i]=zmxt[z1-128][j];break;
case 1:if(z2<=127)pm[j][i]=zmbz[z2][j];else pm[j][i]=zmxt[z2-128][j];break;
case 2:if(z3<=127)pm[j][i]=zmbz[z3][j];else pm[j][i]=zmxt[z3-128][j];break;
case 3:if(z4<=127)pm[j][i]=zmbz[z4][j];else pm[j][i]=zmxt[z4-128][j];break;
case 4:if(z5<=127)pm[j][i]=zmbz[z5][j];else pm[j][i]=zmxt[z5-128][j];break;
case 5:if(z6<=127)pm[j][i]=zmbz[z6][j];else pm[j][i]=zmxt[z6-128][j];break;
case 6:if(z7<=127)pm[j][i]=zmbz[z7][j];else pm[j][i]=zmxt[z7-128][j];break;
case 7:if(z8<=127)pm[j][i]=zmbz[z8][j];else pm[j][i]=zmxt[z8-128][j];
}
}
}
}
/*******************左移停屏幕显示预处理************************/
void pmprezyt()
{
for(i=0;i<16;i++)//16行
{
for(j=0;j<8;j++)//一行8个点阵
{
switch(neirong)//尾部填白,zm1len已刚超出数组行下标故大于等于
{
case 0:if(p+j>=zm1len) pm[i][j]=0xff;else pm[i][j]=zm1[p+j][i]<<q;
if(p+j+1>=zm1len) pm[i][j]=pm[i][j] | 0xff>>8-q;else pm[i][j]=pm[i][j] | zm1[p+j+1][i]>>8-q;break;
case 1:if(p+j>=zm2len) pm[i][j]=0xff;else pm[i][j]=zm2[p+j][i]<<q;
if(p+j+1>=zm2len) pm[i][j]=pm[i][j] | 0xff>>8-q;else pm[i][j]=pm[i][j] | zm2[p+j+1][i]>>8-q;break;
case 2:if(p+j>=zm3len) pm[i][j]=0xff;else pm[i][j]=zm3[p+j][i]<<q;
if(p+j+1>=zm3len) pm[i][j]=pm[i][j] | 0xff>>8-q;else pm[i][j]=pm[i][j] | zm3[p+j+1][i]>>8-q;break;
case 3:if(p+j>=zm4len) pm[i][j]=0xff;else pm[i][j]=zm4[p+j][i]<<q;
if(p+j+1>=zm4len) pm[i][j]=pm[i][j] | 0xff>>8-q;else pm[i][j]=pm[i][j] | zm4[p+j+1][i]>>8-q;break;
case 4:if(p+j>=zm5len) pm[i][j]=0xff;else pm[i][j]=zm5[p+j][i]<<q;
if(p+j+1>=zm5len) pm[i][j]=pm[i][j] | 0xff>>8-q;else pm[i][j]=pm[i][j] | zm5[p+j+1][i]>>8-q;break;
case 5:if(p+j>=zm6len) pm[i][j]=0xff;else pm[i][j]=zm6[p+j][i]<<q;
if(p+j+1>=zm6len) pm[i][j]=pm[i][j] | 0xff>>8-q;else pm[i][j]=pm[i][j] | zm6[p+j+1][i]>>8-q;break;
case 6:if(p+j>=zm7len) pm[i][j]=0xff;else pm[i][j]=zm7[p+j][i]<<q;
if(p+j+1>=zm7len) pm[i][j]=pm[i][j] | 0xff>>8-q;else pm[i][j]=pm[i][j] | zm7[p+j+1][i]>>8-q;break;
case 7:if(p+j>=zm8len) pm[i][j]=0xff;else pm[i][j]=zm8[p+j][i]<<q;
if(p+j+1>=zm8len) pm[i][j]=pm[i][j] | 0xff>>8-q;else pm[i][j]=pm[i][j] | zm8[p+j+1][i]>>8-q;break;
case 8:if(p+j>=zm9len) pm[i][j]=0xff;else pm[i][j]=zm9[p+j][i]<<q;
if(p+j+1>=zm9len) pm[i][j]=pm[i][j] | 0xff>>8-q;else pm[i][j]=pm[i][j] | zm9[p+j+1][i]>>8-q;break;
case 9:if(p+j>=zm10len) pm[i][j]=0xff;else pm[i][j]=zm10[p+j][i]<<q;
if(p+j+1>=zm10len) pm[i][j]=pm[i][j] | 0xff>>8-q;else pm[i][j]=pm[i][j] | zm10[p+j+1][i]>>8-q;
}
}
}
}
/*******************上移停屏幕显示预处理************************/
void pmpresyt()
{
for(i=0;i<16;i++)//16行
{
for(j=0;j<8;j++)//一行8个点阵
{
switch(neirong)//尾部填白,zm1len已刚超出数组行下标故大于等于
{
case 0:if(i<16-q){if(p+j>=zm1len) pm[i][j]=0xff;else pm[i][j]=zm1[p+j][q+i];}
else{if(p+j+8>=zm1len || i==16-q) pm[i][j]=0xff;else pm[i][j]=zm1[p+j+8][q+i-17];}break;
case 1:if(i<16-q){if(p+j>=zm2len) pm[i][j]=0xff;else pm[i][j]=zm2[p+j][q+i];}
else{if(p+j+8>=zm2len || i==16-q) pm[i][j]=0xff;else pm[i][j]=zm2[p+j+8][q+i-17];}break;
case 2:if(i<16-q){if(p+j>=zm3len) pm[i][j]=0xff;else pm[i][j]=zm3[p+j][q+i];}
else{if(p+j+8>=zm3len || i==16-q) pm[i][j]=0xff;else pm[i][j]=zm3[p+j+8][q+i-17];}break;
case 3:if(i<16-q){if(p+j>=zm4len) pm[i][j]=0xff;else pm[i][j]=zm4[p+j][q+i];}
else{if(p+j+8>=zm4len || i==16-q) pm[i][j]=0xff;else pm[i][j]=zm4[p+j+8][q+i-17];}break;
case 4:if(i<16-q){if(p+j>=zm5len) pm[i][j]=0xff;else pm[i][j]=zm5[p+j][q+i];}
else{if(p+j+8>=zm5len || i==16-q) pm[i][j]=0xff;else pm[i][j]=zm5[p+j+8][q+i-17];}break;
case 5:if(i<16-q){if(p+j>=zm6len) pm[i][j]=0xff;else pm[i][j]=zm6[p+j][q+i];}
else{if(p+j+8>=zm6len || i==16-q) pm[i][j]=0xff;else pm[i][j]=zm6[p+j+8][q+i-17];}break;
case 6:if(i<16-q){if(p+j>=zm7len) pm[i][j]=0xff;else pm[i][j]=zm7[p+j][q+i];}
else{if(p+j+8>=zm7len || i==16-q) pm[i][j]=0xff;else pm[i][j]=zm7[p+j+8][q+i-17];}break;
case 7:if(i<16-q){if(p+j>=zm8len) pm[i][j]=0xff;else pm[i][j]=zm8[p+j][q+i];}
else{if(p+j+8>=zm8len || i==16-q) pm[i][j]=0xff;else pm[i][j]=zm8[p+j+8][q+i-17];}break;
case 8:if(i<16-q){if(p+j>=zm9len) pm[i][j]=0xff;else pm[i][j]=zm9[p+j][q+i];}
else{if(p+j+8>=zm9len || i==16-q) pm[i][j]=0xff;else pm[i][j]=zm9[p+j+8][q+i-17];}break;
case 9:if(i<16-q){if(p+j>=zm1len) pm[i][j]=0xff;else pm[i][j]=zm1[p+j][q+i];}
else{if(p+j+8>=zm1len || i==16-q) pm[i][j]=0xff;else pm[i][j]=zm1[p+j+8][q+i-17];}
}
}
}
}
/******************屏幕扫描程序*********************/
void xianshi()
{
unsigned char dian;//暂存点
unsigned char lie;//计算列位置
for(i=0;i<16;i++)//行
{
for(j=0;j<8;j++)//列
{
for(k=0;k<8;k++)//位
{
dian=pm[i][j]<<k & 0x80;
lie=j*8+k;
if(dian==0x00)
{
if(jiemian==1)//时间界面
{
switch(sjyanse)//颜色方案 1为红点绿黄绿,2为红点黄绿黄,3为绿点红黄红,4为绿点黄红黄, 5为黄点红绿红, 6为黄点绿红绿,7为跑马灯
{
case 0:if(lie<=31){red=0;green=1;}else{red=1;green=0;}break;
case 1:if(lie>=16 && lie<=23 || lie>=40 && lie<=47){red=0;green=1;}else if(lie<=15 || lie>=48){red=1;green=0;}else if(lie>=24 && lie<=39){red=0;green=0;}break;
case 2:if(lie>=16 && lie<=23 || lie>=40 && lie<=47){red=0;green=1;}else if(lie<=15 || lie>=48){red=0;green=0;}else if(lie>=24 && lie<=39){red=1;green=0;}break;
case 3:if(lie>=16 && lie<=23 || lie>=40 && lie<=47){red=1;green=0;}else if(lie<=15 || lie>=48){red=0;green=1;}else if(lie>=24 && lie<=39){red=0;green=0;}break;
case 4:if(lie>=16 && lie<=23 || lie>=40 && lie<=47){red=1;green=0;}else if(lie<=15 || lie>=48){red=0;green=0;}else if(lie>=24 && lie<=39){red=0;green=1;}break;
case 5:if(lie>=16 && lie<=23 || lie>=40 && lie<=47){red=0;green=0;}else if(lie<=15 || lie>=48){red=0;green=1;}else if(lie>=24 && lie<=39){red=1;green=0;}break;
case 6:if(lie>=16 && lie<=23 || lie>=40 && lie<=47){red=0;green=0;}else if(lie<=15 || lie>=48){red=1;green=0;}else if(lie>=24 && lie<=39){red=0;green=1;}break;
case 7:if(ts==0){switch(j){case 0:case 3:case 6:red=0;green=1;break;case 1:case 4:case 7:red=1;green=0;break;case 2:case 5:red=0;green=0;}}
else if(ts==1){switch(j){case 0:case 3:case 6:red=1;green=0;break;case 1:case 4:case 7:red=0;green=0;break;case 2:case 5:red=0;green=1;}}
else if(ts==2){switch(j){case 0:case 3:case 6:red=0;green=0;break;case 1:case 4:case 7:red=0;green=1;break;case 2:case 5:red=1;green=0;}}
break;
case 8:switch(j){case 0:case 1:case 6:case 7:red=0;green=0;break;case 2:case 3:red=0;green=1;break;case 4:case 5:red=1;green=0;}
}
}
else if(jiemian==2)//日期界面
{
switch(j)
{
case 0:case 1:case 6:case 7:red=0;green=0;break;
case 2:case 3:red=0;green=1;break;
case 4:case 5:red=1;green=0;
}
}
else if(jiemian==3)//温湿界面
{
switch(j)
{
case 3:case 7:red=0;green=0;break;
case 0:case 1:case 2:red=0;green=1;break;
case 4:case 5:case 6:red=1;green=0;
}
}
else if(jiemian==4)//广告界面
{
switch(yanse)//颜色方案
{
case 0:if(lie<=31){red=0;green=1;}else{red=1;green=0;}break;
case 1:red=0;green=1;break;
case 2:red=1;green=0;break;
case 3:red=0;green=0;break;
case 4:if(lie<=15 || lie>=32 && lie<=47){red=0;green=1;}else{red=1;green=0;}break;
case 5:
if(moshi==1 || moshi==2)//随动
{
if(z==0)
{
if(p%2==0)
{
if(lie<=15-q){red=0;green=1;}
else if(lie>=16-q && lie<=31-q){red=1;green=0;}
else if(lie>=32-q && lie<=47-q){red=0;green=1;}
else if(lie>=48-q && lie<=63-q){red=1;green=0;}
else{red=0;green=1;}
}
else
{
if(lie<=7-q){red=0;green=1;}
else if(lie>=8-q && lie<=23-q){red=1;green=0;}
else if(lie>=24-q && lie<=39-q){red=0;green=1;}
else if(lie>=40-q && lie<=55-q){red=1;green=0;}
else{red=0;green=1;}
}
}
else
{
if(p%2==0)
{
if(lie<=15-q){red=1;green=0;}
else if(lie>=16-q && lie<=31-q){red=0;green=1;}
else if(lie>=32-q && lie<=47-q){red=1;green=0;}
else if(lie>=48-q && lie<=63-q){red=0;green=1;}
else{red=1;green=0;}
}
else
{
if(lie<=7-q){red=1;green=0;}
else if(lie>=8-q && lie<=23-q){red=0;green=1;}
else if(lie>=24-q && lie<=39-q){red=1;green=0;}
else if(lie>=40-q && lie<=55-q){red=0;green=1;}
else{red=1;green=0;}
}
}
}
if(moshi==3 || moshi==4)//随动
{
if(z==0)
{
if(i<=15-q && q!=16)
{
if(lie<=15 || lie>=32 && lie<=47){red=0;green=1;}
else{red=1;green=0;}
}
else
{
if(lie<=15 || lie>=32 && lie<=47){red=1;green=0;}
else{red=0;green=1;}
}
}
else
{
if(i<=15-q && q!=16)
{
if(lie<=15 || lie>=32 && lie<=47){red=1;green=0;}
else{red=0;green=1;}
}
else
{
if(lie<=15 || lie>=32 && lie<=47){red=0;green=1;}
else{red=1;green=0;}
}
}
}
}//switch
}
}//pm[i][j]
else{red=1;green=1;}
sck=0;
sck=1;
}//k
}//j
P0=sm[i];
rck=0;
rck=1;
}//i
delay(200);
red=1;green=1;
for(j=0;j<8;j++)
{
for(k=0;k<8;k++)
{
sck=0;
sck=1;
}
}
rck=0;
rck=1;//清最后一行数据*/
}
#endif
字库
一、核心功能
zhiku.h是16×64双色点阵字幕时钟程序的核心字模库头文件,主要功能如下:
1. 字模数据存储与管理
-
提供ASCII字符、系统汉字、用户自定义汉字的点阵数据
-
支持16×16像素的双色显示字模(每个字符16字节)
-
使用
code关键字将字模存储在程序存储器(ROM/Flash)中,节省RAM
2. 模块化字模分区
┌──────────────────────────────────────┐
│ 字模库结构 │
├──────────────────────────────────────┤
│ 1. 标准ASCII字符区 (zmbz) │
│ - 0-9, A-Z, a-z, 符号等70个字符 │
│ │
│ 2. 系统汉字区 (zmxt) │
│ - 114个常用系统汉字 │
│ - 如"时间"、"温度"、"颜色"等 │
│ │
│ 3. 用户自定义区 (zm1~zm10) │
│ - 10个用户字模区,可动态扩展 │
│ - 当前包含名人名言等文本 │
└──────────────────────────────────────┘
3. 动态字模管理
-
每个用户字模区有对应的
xdata长度变量(zm1len等) -
支持运行时动态更新用户字模内容和数量
-
长度变量存储在外部RAM,便于程序动态修改
二、数据结构与编码逻辑
1. 字模编码格式
-
阴码格式:1表示灭(不显示),0表示亮
-
逐列扫描:每个字节代表一列的8个像素点
-
16×16像素:每个字符/汉字由16个字节组成(每列1字节)
-
高位在上:字节的MSB(最高位)对应最上方的像素点
2. 存储优化策略
// 存储在ROM中,不占用RAM
const unsigned char code zmbz[70][16] = {...};
// 长度变量存储在外部RAM,可动态修改
extern unsigned short int xdata zm1len;
3. 字符编码映射
// 标准ASCII字符索引(从0开始)
// 0(0) 1(1) 2(2) ... 9(9) A(10) ... Z(35)
// a(36) ... z(61) 空格(62) .(63) :(64) %(65) ...
三、用户字模内容
1. zm1区:华罗庚名言
"时间是由分秒积成的,善于利用零星时间的人,才会做出更大的成绩来。——华罗庚"
2. zm2区:高尔基名言
"世界上最快而又最慢,最长而又最短,最平凡而又最珍贵,
最易被忽视而又最令人后悔的就是时间。——高尔基"
3. zm3区:孔子名言
"逝者如斯夫,不舍昼夜。——孔子"
4. zm4区:庄子名言
"人生天地之间,若白驹过隙,忽然而已。——庄子"
四、程序设计特点
1. 内存管理策略
-
ROM存储:字模数据存储在程序存储器
-
外部RAM:长度变量存储在xdata区域
-
分层设计:标准字模、系统字模、用户字模分离
2. 扩展性设计
// 预留10个用户字模区
extern unsigned char code zm1[][16];
extern unsigned char code zm2[][16];
// ... 直到zm10
// 每个区都有独立的长度变量
extern unsigned short int xdata zm1len;
// ... 直到zm10len
3. 显示兼容性
-
支持双色点阵(通过不同字模组合实现)
-
支持滚动显示(通过字模索引控制)
-
支持中英混排(标准ASCII+汉字字模)
五、总结
作为16×64双色点阵字幕时钟程序的核心数据模块,体现了以下设计思想:
-
空间优化:充分利用51单片机有限的存储资源
-
模块化设计:标准字模、系统字模、用户字模清晰分离
-
扩展性考虑:预留多个用户字模区,支持动态更新
#ifndef _zhiku_h_
#define _zhiku_h_
extern unsigned char code zmbz[70][16];//标准字模
extern unsigned char code zmxt[114][16];//系统字模
extern unsigned char code zm1[][16];//用户字模1
extern unsigned short int xdata zm1len=0;//字模1行数
extern unsigned char code zm2[][16];//用户字模2
extern unsigned short int xdata zm2len=0;//字模2行数
extern unsigned char code zm3[][16];//用户字模3
extern unsigned short int xdata zm3len=0;//字模3行数
extern unsigned char code zm4[][16];//用户字模4
extern unsigned short int xdata zm4len=0;//字模4行数
extern unsigned char code zm5[][16];//用户字模5
extern unsigned short int xdata zm5len=0;//字模5行数
extern unsigned char code zm6[][16];//用户字模6
extern unsigned short int xdata zm6len=0;//字模6行数
extern unsigned char code zm7[][16];//用户字模7
extern unsigned short int xdata zm7len=0;//字模7行数
extern unsigned char code zm8[][16];//用户字模8
extern unsigned short int xdata zm8len=0;//字模8行数
extern unsigned char code zm9[][16];//用户字模9
extern unsigned short int xdata zm9len=0;//字模9行数
extern unsigned char code zm10[][16];//用户字模10
extern unsigned short int xdata zm10len=0;//字模10行数
/*显示字模,code放入rom const表示内容不可更改*/
const unsigned char code zmbz[70][16]={
/*************************************标准字形码部分***************************************
0(0) 1(1) 2(2) 3(3) 4(4) 5(5) 6(6) 7(7) 8(8) 9(9) A(10) B(11) C(12) D(13) E(14) F(15)
G(16) H(17) I(18) J(19) K(20) L(21) M(22) N(23) O(24) P(25) Q(26) R(27) S(28) T(29) U(30) V(31)
W(32) X(33) Y(34) Z(35) a(36) b(37) c(38) d(39) e(40) f(41) g(42) h(43) i(44) g(45) k(46) l(47)
m(48) n(49) o(50) p(51) q(52) r(53) s(54) t(55) u(56) v(57) w(58) x(59) y(60) z(61) (62) .(63)
:(64) %(65) du(66)+(67) -(68) :(69)*/
{0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF},/*"0",0*/
{0xFF,0xFF,0xFF,0xEF,0x8F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF},/*"1",1*/
{0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xFB,0xFB,0xF7,0xEF,0xDF,0xBD,0x81,0xFF,0xFF},/*"2",2*/
{0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xFB,0xE7,0xFB,0xFD,0xFD,0xBD,0xBB,0xC7,0xFF,0xFF},/*"3",3*/
{0xFF,0xFF,0xFF,0xFB,0xF3,0xEB,0xDB,0xDB,0xBB,0xBB,0x81,0xFB,0xFB,0xE1,0xFF,0xFF},/*"4",4*/
{0xFF,0xFF,0xFF,0x81,0xBF,0xBF,0xBF,0xA7,0x9B,0xFD,0xFD,0xBD,0xBB,0xC7,0xFF,0xFF},/*"5",5*/
{0xFF,0xFF,0xFF,0xE3,0xDB,0xBF,0xBF,0xA7,0x9B,0xBD,0xBD,0xBD,0xDB,0xE7,0xFF,0xFF},/*"6",6*/
{0xFF,0xFF,0xFF,0x81,0xBB,0xBB,0xF7,0xF7,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xFF,0xFF},/*"7",7*/
{0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xDB,0xE7,0xDB,0xBD,0xBD,0xBD,0xC3,0xFF,0xFF},/*"8",8*/
{0xFF,0xFF,0xFF,0xE7,0xDB,0xBD,0xBD,0xBD,0xD9,0xE5,0xFD,0xFD,0xDB,0xC7,0xFF,0xFF},/*"9",9*/
{0xFF,0xFF,0xFF,0xEF,0xEF,0xE7,0xD7,0xD7,0xDB,0xC3,0xBB,0xBD,0xBD,0x18,0xFF,0xFF},/*"A",10*/
{0xFF,0xFF,0xFF,0x07,0xBB,0xBB,0xBB,0x87,0xBB,0xBD,0xBD,0xBD,0xBB,0x07,0xFF,0xFF},/*"B",11*/
{0xFF,0xFF,0xFF,0xC1,0xBD,0xBD,0x7F,0x7F,0x7F,0x7F,0x7F,0xBD,0xBB,0xC7,0xFF,0xFF},/*"C",12*/
{0xFF,0xFF,0xFF,0x07,0xBB,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBB,0x07,0xFF,0xFF},/*"D",13*/
{0xFF,0xFF,0xFF,0x03,0xBD,0xB7,0xB7,0x87,0xB7,0xB7,0xBF,0xBD,0xBD,0x03,0xFF,0xFF},/*"E",14*/
{0xFF,0xFF,0xFF,0x03,0xBD,0xB7,0xB7,0x87,0xB7,0xB7,0xBF,0xBF,0xBF,0x1F,0xFF,0xFF},/*"F",15*/
{0xFF,0xFF,0xFF,0xC3,0xBB,0xBB,0x7F,0x7F,0x7F,0x71,0x7B,0xBB,0xBB,0xC7,0xFF,0xFF},/*"G",16*/
{0xFF,0xFF,0xFF,0x18,0xBD,0xBD,0xBD,0xBD,0x81,0xBD,0xBD,0xBD,0xBD,0x18,0xFF,0xFF},/*"H",17*/
{0xFF,0xFF,0xFF,0x83,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF},/*"I",18*/
{0xFF,0xFF,0xFF,0xC1,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0x77,0x0F},/*"J",19*/
{0xFF,0xFF,0xFF,0x11,0xBB,0xB7,0xAF,0x8F,0xAF,0xB7,0xB7,0xBB,0xBB,0x11,0xFF,0xFF},/*"K",20*/
{0xFF,0xFF,0xFF,0x1F,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBD,0x01,0xFF,0xFF},/*"L",21*/
{0xFF,0xFF,0xFF,0x11,0x93,0x93,0x93,0x93,0xAB,0xAB,0xAB,0xAB,0xAB,0x29,0xFF,0xFF},/*"M",22*/
{0xFF,0xFF,0xFF,0x38,0x9D,0x9D,0xAD,0xAD,0xB5,0xB5,0xB5,0xB9,0xB9,0x1D,0xFF,0xFF},/*"N",23*/
{0xFF,0xFF,0xFF,0xC7,0xBB,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0x7D,0xBB,0xC7,0xFF,0xFF},/*"O",24*/
{0xFF,0xFF,0xFF,0x03,0xBD,0xBD,0xBD,0xBD,0x83,0xBF,0xBF,0xBF,0xBF,0x1F,0xFF,0xFF},/*"P",25*/
{0xFF,0xFF,0xFF,0xC7,0xBB,0x7D,0x7D,0x7D,0x7D,0x7D,0x4D,0x35,0xB3,0xC7,0xF9,0xFF},/*"Q",26*/
{0xFF,0xFF,0xFF,0x03,0xBD,0xBD,0xBD,0x83,0xB7,0xB7,0xBB,0xBB,0xBD,0x1C,0xFF,0xFF},/*"R",27*/
{0xFF,0xFF,0xFF,0xC1,0xBD,0xBD,0xBF,0xDF,0xE7,0xFB,0xFD,0xBD,0xBD,0x83,0xFF,0xFF},/*"S",28*/
{0xFF,0xFF,0xFF,0x01,0x6D,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xC7,0xFF,0xFF},/*"T",29*/
{0xFF,0xFF,0xFF,0x18,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xBD,0xC3,0xFF,0xFF},/*"U",30*/
{0xFF,0xFF,0xFF,0x18,0xBD,0xBD,0xBB,0xDB,0xDB,0xD7,0xD7,0xE7,0xEF,0xEF,0xFF,0xFF},/*"V",31*/
{0xFF,0xFF,0xFF,0x29,0x6D,0x6D,0x6D,0x6D,0x55,0x55,0x93,0xBB,0xBB,0xBB,0xFF,0xFF},/*"W",32*/
{0xFF,0xFF,0xFF,0x18,0xBD,0xDB,0xDB,0xE7,0xE7,0xE7,0xDB,0xDB,0xBD,0x18,0xFF,0xFF},/*"X",33*/
{0xFF,0xFF,0xFF,0x11,0xBB,0xBB,0xD7,0xD7,0xEF,0xEF,0xEF,0xEF,0xEF,0xC7,0xFF,0xFF},/*"Y",34*/
{0xFF,0xFF,0xFF,0x81,0x7B,0xFB,0xF7,0xF7,0xEF,0xDF,0xDF,0xBD,0xBD,0x03,0xFF,0xFF},/*"Z",35*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,0xE1,0xDD,0xBD,0xBD,0xC0,0xFF,0xFF},/*"a",36*/
{0xFF,0xFF,0xFF,0x3F,0xBF,0xBF,0xBF,0xA7,0x9B,0xBD,0xBD,0xBD,0x9B,0xA7,0xFF,0xFF},/*"b",37*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE3,0xDD,0xBF,0xBF,0xBF,0xDD,0xE3,0xFF,0xFF},/*"c",38*/
{0xFF,0xFF,0xFF,0xF9,0xFD,0xFD,0xFD,0xE1,0xDD,0xBD,0xBD,0xBD,0xD9,0xE4,0xFF,0xFF},/*"d",39*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,0x81,0xBF,0xBF,0xBD,0xC3,0xFF,0xFF},/*"e",40*/
{0xFF,0xFF,0xFF,0xF0,0xEE,0xEF,0xEF,0x81,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF},/*"f",41*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC1,0xBB,0xBB,0xC7,0xBF,0xC3,0xBD,0xBD,0xC3},/*"g",42*/
{0xFF,0xFF,0xFF,0x3F,0xBF,0xBF,0xBF,0xA3,0x9D,0xBD,0xBD,0xBD,0xBD,0x18,0xFF,0xFF},/*"h",43*/
{0xFF,0xFF,0xFF,0xCF,0xCF,0xFF,0xFF,0x8F,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF},/*"i",44*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC1,0xBB,0xBB,0xC7,0xBF,0xC3,0xBD,0xBD,0xC3},/*"g",45*/
{0xFF,0xFF,0xFF,0x3F,0xBF,0xBF,0xBF,0xB1,0xB7,0xAF,0x97,0xB7,0xBB,0x11,0xFF,0xFF},/*"k",46*/
{0xFF,0xFF,0xFF,0x8F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x83,0xFF,0xFF},/*"l",47*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xB6,0xB6,0xB6,0xB6,0xB6,0x12,0xFF,0xFF},/*"m",48*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x23,0x9D,0xBD,0xBD,0xBD,0xBD,0x18,0xFF,0xFF},/*"n",49*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0xBD,0xBD,0xBD,0xBD,0xBD,0xC3,0xFF,0xFF},/*"o",50*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x27,0x9B,0xBD,0xBD,0xBD,0xBB,0x87,0xBF,0x1F},/*"p",51*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE1,0xDD,0xBD,0xBD,0xBD,0xDD,0xE1,0xFD,0xF8},/*"q",52*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x11,0xCD,0xDF,0xDF,0xDF,0xDF,0x07,0xFF,0xFF},/*"r",53*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xC1,0xBD,0xBF,0xC3,0xFD,0xBD,0x83,0xFF,0xFF},/*"s",54*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xEF,0xEF,0x83,0xEF,0xEF,0xEF,0xEF,0xEF,0xF3,0xFF,0xFF},/*"t",55*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x39,0xBD,0xBD,0xBD,0xBD,0xB9,0xC4,0xFF,0xFF},/*"u",56*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x18,0xBD,0xDB,0xDB,0xD7,0xEF,0xEF,0xFF,0xFF},/*"v",57*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x28,0x6D,0x6D,0x55,0x55,0xBB,0xBB,0xFF,0xFF},/*"w",58*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x91,0xDB,0xE7,0xE7,0xE7,0xDB,0x89,0xFF,0xFF},/*"x",59*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x18,0xBD,0xDB,0xDB,0xD7,0xE7,0xEF,0xEF,0x1F},/*"y",60*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x81,0xBB,0xF7,0xEF,0xEF,0xDD,0x81,0xFF,0xFF},/*"z",61*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*" ",62*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x9F,0x9F,0xFF,0xFF},/*".",63*/
{0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},/*":",64*/
{0xFF,0xFF,0xFF,0xBB,0x5B,0x57,0x57,0x57,0xAB,0xE5,0xD5,0xD5,0xD5,0xBB,0xFF,0xFF},/*"%",65*/
{0xFF,0xFF,0x1F,0x5F,0x1F,0xFF,0xE3,0xDD,0xDF,0xDF,0xDF,0xDF,0xDD,0xE3,0xFF,0xFF},/*"du",66*/
{0xFF,0xFF,0xFF,0xFF,0xEF,0xEF,0xEF,0xEF,0x01,0xEF,0xEF,0xEF,0xEF,0xFF,0xFF,0xFF},/*"+",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"-",1*/
{0xFF,0xFF,0xFF,0xDB,0xE7,0xE7,0xDB,0xFF,0xFF,0xFF,0xDB,0xE7,0xE7,0xDB,0xFF,0xFF}/*":",69*/
};
const unsigned char code zmxt[114][16]={
/*************************************系统汉字区********************************************
欢(128) 迎(130) 使(132) 用(134) 一(136) 二(138) 三(140) 四(142) 五(144) 六(146) 七(148) 八(150) 12个
九(152) 十(154) 内(156) 容(158) 段(160) 滚(162) 动(164) 速(166) 度(168) 档(170) 模(172) 式(174)
左(176) 上(178) 移(180) 停(182) 时(184) 制(186) 颜(188) 色(190) 红(192) 绿(194) 黄(196) 色(198)
随(200) 动(202) 开(204) 关(206) 闹(208) 铃(210) 灯(212) 光(214) 音(216) 乐(218) 马(220) 达(222)
声(224) 光(226) 全(228) 部(230) 校(232) 时(234) 温(236) 湿(238) 钟(240)*/
{0xFF,0xFF,0x03,0xFB,0xFA,0xB6,0xD5,0xEB,0xEF,0xD7,0xDB,0xBA,0x7E,0xFD,0xFB,0xF7},
{0x7F,0x7F,0x7F,0x03,0xFB,0xF7,0xBF,0xBF,0xBF,0x5F,0x5F,0xEF,0xEF,0xF7,0xFB,0xFD},/*"欢",0*/
{0xFF,0xDF,0xEC,0xED,0xFD,0xFD,0x0D,0xED,0xED,0xED,0xEC,0xED,0xEF,0xD7,0xB8,0xFF},
{0xFF,0x7F,0xC3,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0x4B,0xD7,0xDF,0xDF,0xDF,0x01,0xFF},/*"迎",0*/
{0xEF,0xEF,0xE0,0xDF,0xDF,0x98,0x9B,0x5B,0xD8,0xDF,0xDD,0xDE,0xDF,0xDE,0xDD,0xD3},
{0xBF,0xBF,0x01,0xBF,0xBF,0x03,0xBB,0xBB,0x03,0xBF,0xBF,0xBF,0x7F,0xBF,0xCF,0xF1},/*"使",0*/
{0xFF,0xC0,0xDE,0xDE,0xDE,0xC0,0xDE,0xDE,0xDE,0xC0,0xDE,0xDE,0xDE,0xBE,0xBE,0x7F},
{0xFF,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"用",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"一",0*/
{0xFF,0xFF,0xFF,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF},/*"二",1*/
{0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xC0,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF},
{0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF},/*"三",2*/
{0xFF,0xFF,0x80,0xBB,0xBB,0xBB,0xBB,0xBB,0xB7,0xB7,0xAF,0x9F,0xBF,0x80,0xBF,0xFF},
{0xFF,0xFF,0x03,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xC3,0xFB,0xFB,0xFB,0x03,0xFB,0xFF},/*"四",3*/
{0xFF,0x80,0xFD,0xFD,0xFD,0xFD,0xC0,0xFB,0xFB,0xFB,0xFB,0xF7,0xF7,0xF7,0x00,0xFF},
{0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0x0F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x01,0xFF},/*"五",4*/
{0xFD,0xFE,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0xBF,0xFF},
{0xFF,0xFF,0x7F,0x7F,0xFF,0x01,0xFF,0xFF,0xBF,0xDF,0xEF,0xF7,0xF7,0xFB,0xFB,0xFF},/*"六",5*/
{0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xF8,0x05,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFE,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xC3,0x3F,0xFF,0xFF,0xFF,0xFF,0xFB,0xFB,0xFB,0x03,0xFF},/*"七",6*/
{0xFF,0xFF,0xFB,0xFB,0xFB,0xFB,0xFB,0xFB,0xF7,0xF7,0xF7,0xEF,0xEF,0xDF,0xDF,0xBF},
{0xFF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xDF,0xDF,0xDF,0xEF,0xEF,0xF7,0xF7,0xFB,0xFD},/*"八",7*/
{0xFB,0xFB,0xFB,0xFB,0x80,0xFB,0xFB,0xFB,0xF7,0xF7,0xF7,0xEF,0xEF,0xDF,0xBF,0x7F},
{0xFF,0xFF,0xFF,0xFF,0x1F,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDD,0xDD,0xDD,0xE1,0xFF},/*"九",8*/
{0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"十",9*/
{0xFE,0xFE,0xFE,0x80,0xBE,0xBE,0xBE,0xBD,0xBD,0xBB,0xB7,0xAF,0xBF,0xBF,0xBF,0xBF},
{0xFF,0xFF,0xFF,0x03,0xFB,0xFB,0xFB,0x7B,0xBB,0xDB,0xEB,0xEB,0xFB,0xFB,0xEB,0xF7},/*"内",0*/
{0xFD,0xFE,0x80,0xBF,0x77,0xEE,0xDD,0xFB,0xF7,0xCF,0x20,0xEF,0xEF,0xEF,0xE0,0xEF},
{0xFF,0xFF,0x01,0xFD,0xDB,0xEF,0x77,0xBF,0xDF,0xE7,0x09,0xEF,0xEF,0xEF,0x0F,0xEF},/*"容",1*/
{0xF9,0xC7,0xDF,0xDF,0xDF,0xC3,0xDE,0xDF,0xC2,0xDF,0xDF,0xD3,0x0F,0xDF,0xDF,0xDC},
{0xFF,0x07,0x77,0x77,0x77,0x79,0xFF,0xFF,0x03,0x7B,0x77,0xAF,0xDF,0xAF,0x77,0xF9},/*"段",2*/
{0xFF,0xDF,0xE8,0xEE,0x7D,0xBB,0xBE,0xEC,0xEF,0xDF,0x1E,0xDC,0xDA,0xD6,0xDE,0xFE},
{0x7F,0xBF,0x03,0xEF,0xB7,0x7B,0xDF,0x0F,0xEF,0x77,0xAF,0xDF,0xEF,0xB7,0x79,0xFF},/*"滚",0*/
{0xFF,0xFF,0x83,0xFF,0xFE,0xFF,0x01,0xDF,0xDF,0xDF,0xB7,0xBB,0x02,0xBA,0xFD,0xFB},
{0xBF,0xBF,0xBF,0xBF,0x03,0xBB,0xBB,0xBB,0xBB,0x7B,0x7B,0x7B,0xFB,0xFB,0xD7,0xEF},/*"动",1*/
{0xFF,0xDF,0xE8,0xEF,0xFC,0xFD,0x0D,0xEC,0xEF,0xEE,0xED,0xEB,0xEF,0xD7,0xB8,0xFF},
{0xBF,0xBF,0x03,0xBF,0x07,0xB7,0xB7,0x07,0x1F,0xAF,0xB7,0xBB,0xBF,0xFF,0x01,0xFF},/*"速",0*/
{0xFE,0xFF,0xC0,0xDD,0xDD,0xC0,0xDD,0xDD,0xDC,0xDF,0xD0,0xDB,0xBD,0xBE,0x79,0xC7},
{0xFF,0x7F,0x01,0xDF,0xDF,0x03,0xDF,0xDF,0x1F,0xFF,0x0F,0xEF,0xDF,0x3F,0xCF,0xF1},/*"度",1*/
{0xEF,0xEE,0xEF,0xEF,0x03,0xEF,0xCC,0xC7,0xAB,0xAF,0x6E,0xEF,0xEF,0xEF,0xEC,0xEF},
{0xDF,0xDB,0x5B,0x5B,0x57,0xDF,0x03,0xFB,0xFB,0xFB,0x03,0xFB,0xFB,0xFB,0x03,0xFB},/*"档",2*/
{0xEE,0xEE,0xE8,0xEE,0x03,0xEC,0xCD,0xC4,0xA9,0xAC,0x6F,0xE8,0xEF,0xEE,0xED,0xEB},
{0xEF,0xEF,0x03,0xEF,0xFF,0x07,0xF7,0x07,0xF7,0x07,0xBF,0x03,0x5F,0xEF,0xF7,0xF9},/*"模",3*/
{0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xC1,0xF7,0xF7,0xF7,0xF7,0xF0,0x87,0xDF,0xFF},
{0xB7,0xBB,0xBB,0xBF,0x01,0xBF,0xBF,0xBF,0xBF,0xBF,0xDF,0xDD,0xED,0xF5,0xF9,0xFD},/*"式",4*/
{0xFD,0xFD,0xFD,0x00,0xFB,0xFB,0xFB,0xF7,0xF0,0xEF,0xEF,0xDF,0xBF,0x7F,0xC0,0xFF},
{0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0x07,0x7F,0x7F,0x7F,0x7F,0x7F,0x01,0xFF},/*"左",5*/
{0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFC,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0x00,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF},/*"上",6*/
{0xF7,0xE3,0x0F,0xEF,0xEE,0x03,0xEF,0xCF,0xC6,0xAB,0xAB,0x6E,0xEF,0xEF,0xEF,0xEE},
{0xDF,0xDF,0x83,0x7B,0xB7,0xCF,0xDF,0xB7,0x6F,0xC1,0xBD,0x5B,0xE7,0xEF,0x9F,0x7F},/*"移",7*/
{0xEF,0xEF,0xE8,0xDF,0xDC,0x9D,0x9C,0x5F,0xD0,0xD7,0xDC,0xDF,0xDF,0xDF,0xDE,0xDF},
{0x7F,0xBF,0x03,0xFF,0x07,0xF7,0x07,0xFF,0x01,0xFD,0x07,0xBF,0xBF,0xBF,0xBF,0x7F},/*"停",8*/
{0xFF,0xFF,0x83,0xBB,0xBA,0xBB,0xBB,0x83,0xBB,0xBB,0xBB,0xBB,0x83,0xBB,0xFF,0xFF},
{0xF7,0xF7,0xF7,0xF7,0x01,0xF7,0xF7,0xF7,0x77,0xB7,0xB7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"时",12*/
{0xFB,0xDB,0xDB,0xC0,0xBB,0xFB,0x00,0xFB,0xFB,0xC0,0xDB,0xDB,0xD9,0xDA,0xFB,0xFB},
{0xFB,0xFB,0xFB,0x5B,0xDB,0xDB,0x1B,0xDB,0xDB,0x5B,0x5B,0x5B,0x7B,0xFB,0xEB,0xF7},/*"制",13*/
{0xEF,0xF7,0x80,0xDD,0xEB,0x80,0xBB,0xB7,0xAD,0xBB,0xB7,0xAE,0xBD,0xBB,0x77,0xCF},
{0xFF,0x01,0xEF,0xDF,0x83,0xBB,0xAB,0xAB,0xAB,0xAB,0xAB,0xAB,0xD7,0xDB,0xBD,0x7D},/*"颜",11*/
{0xF7,0xF7,0xE0,0xDF,0xBF,0x40,0xDE,0xDE,0xDE,0xC0,0xDF,0xDF,0xDF,0xDF,0xE0,0xFF},
{0xFF,0xFF,0x1F,0xDF,0xBF,0x07,0xF7,0xF7,0xF7,0x07,0xFF,0xFD,0xFD,0xFD,0x01,0xFF},/*"色",12*/
{0xEF,0xEF,0xDE,0xDB,0xBB,0x07,0xEF,0xDF,0xBF,0x03,0xBF,0xFF,0xE3,0x1F,0xBC,0xFF},
{0xFF,0xFF,0x03,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0x01,0xFF},/*"红",13*/
{0xEF,0xEE,0xDF,0xDF,0xB6,0x07,0xEF,0xDC,0xBF,0x05,0xBE,0xFF,0xE6,0x1D,0xBF,0xFF},
{0xFF,0x07,0xF7,0xF7,0x07,0xF7,0xF7,0x01,0xDF,0xDD,0x8B,0x57,0xDB,0xDD,0x5F,0xBF},/*"绿",14*/
{0xFB,0xC0,0xFB,0xFB,0x00,0xFE,0xE0,0xEE,0xEE,0xE0,0xEE,0xEE,0xE0,0xFB,0xF7,0xEF},
{0xBF,0x07,0xBF,0xBF,0x01,0xFF,0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0xBF,0xDF,0xEF},/*"黄",15*/
{0xF7,0xF7,0xE0,0xDF,0xBF,0x40,0xDE,0xDE,0xDE,0xC0,0xDF,0xDF,0xDF,0xDF,0xE0,0xFF},
{0xFF,0xFF,0x1F,0xDF,0xBF,0x07,0xF7,0xF7,0xF7,0x07,0xFF,0xFD,0xFD,0xFD,0x01,0xFF},/*"色",16*/
{0xFF,0x87,0xB6,0xAB,0xAD,0x9F,0xAE,0xB7,0xB1,0xB5,0x95,0xAD,0xBD,0xBD,0xBA,0xB7},
{0xEF,0xEF,0x01,0xDF,0xBF,0x03,0xBB,0xBB,0x83,0xBB,0x83,0xBB,0xAB,0xB7,0xFF,0x01},/*"随",17*/
{0xFF,0xFF,0x83,0xFF,0xFE,0xFF,0x01,0xDF,0xDF,0xDF,0xB7,0xBB,0x02,0xBA,0xFD,0xFB},
{0xBF,0xBF,0xBF,0xBF,0x03,0xBB,0xBB,0xBB,0xBB,0x7B,0x7B,0x7B,0xFB,0xFB,0xD7,0xEF},/*"动",18*/
{0xFF,0x80,0xF7,0xF7,0xF7,0xF7,0xF7,0x00,0xF7,0xF7,0xF7,0xF7,0xEF,0xEF,0xDF,0xBF},
{0xFF,0x03,0xDF,0xDF,0xDF,0xDF,0xDF,0x01,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF},/*"开",0*/
{0xEF,0xF7,0xF7,0xFF,0xC0,0xFE,0xFE,0xFE,0x00,0xFE,0xFD,0xFD,0xFB,0xF7,0xCF,0x3F},
{0xEF,0xEF,0xDF,0xFF,0x07,0xFF,0xFF,0xFF,0x01,0xFF,0x7F,0x7F,0xBF,0xDF,0xE7,0xF9},/*"关",1*/
{0xDF,0xE8,0xFF,0xBD,0xBE,0xA0,0xBE,0xBE,0xB0,0xB6,0xB6,0xB6,0xB6,0xBE,0xBE,0xBF},
{0xFF,0x03,0xFB,0xFB,0xFB,0x0B,0xFB,0xFB,0x1B,0xDB,0xDB,0x5B,0xBB,0xFB,0xEB,0xF7},/*"闹",2*/
{0xDF,0xDF,0xC7,0xDF,0xBE,0x85,0x5B,0xDF,0x04,0xDF,0xDF,0xDE,0xD7,0xCF,0xDF,0xFF},
{0xBF,0xBF,0x5F,0x5F,0xEF,0xB7,0xD9,0xDF,0x07,0xF7,0xEF,0xEF,0x5F,0xBF,0xDF,0xDF},/*"铃",3*/
{0xEF,0xEF,0xEC,0xEF,0xAB,0xA7,0xAF,0x6F,0xEF,0xEF,0xEF,0xD7,0xDB,0xBB,0xBF,0x7F},
{0xFF,0xFF,0x01,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0x5F,0xBF},/*"灯",4*/
{0xFE,0xDE,0xEE,0xF6,0xF6,0xFE,0x00,0xFB,0xFB,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0x3F},
{0xFF,0xF7,0xF7,0xEF,0xDF,0xFF,0x01,0xBF,0xBF,0xBF,0xBF,0xBD,0xBD,0xBD,0xC1,0xFF},/*"光",5*/
{0xFD,0xFE,0xC0,0xFF,0xF7,0xFB,0x00,0xFF,0xE0,0xEF,0xEF,0xE0,0xEF,0xEF,0xE0,0xEF},
{0xFF,0xFF,0x07,0xFF,0xDF,0xBF,0x01,0xFF,0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0xEF},/*"音",6*/
{0xFF,0xFF,0xE0,0xEF,0xEE,0xDE,0xDE,0xC0,0xFE,0xF6,0xF6,0xEE,0xDE,0xBE,0xFA,0xFD},
{0xDF,0x0F,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xDF,0xEF,0xF7,0xFB,0xFB,0xFF,0xFF},/*"乐",7*/
{0xFF,0x80,0xFF,0xFF,0xEF,0xEF,0xEF,0xE0,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF},
{0xFF,0x1F,0xDF,0xDF,0xDF,0xDF,0xDF,0x03,0xFB,0xFB,0xFB,0x1B,0xFB,0xFB,0xD7,0xEF},/*"马",8*/
{0xFF,0xDF,0xEF,0xEF,0xF8,0xFF,0x0F,0xEF,0xEF,0xEE,0xED,0xEB,0xEF,0xD7,0xB8,0xFF},
{0xBF,0xBF,0xBF,0xBF,0x01,0xBF,0xBF,0x5F,0x6F,0xF7,0xFB,0xFB,0xFF,0xFF,0x01,0xFF},/*"达",9*/
{0xFE,0xFE,0x00,0xFE,0x80,0xFF,0xC0,0xDE,0xDE,0xC0,0xDF,0xDF,0xDF,0xBF,0xBF,0x7F},
{0xFF,0xFF,0x01,0xFF,0x03,0xFF,0x07,0xF7,0xF7,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"声",0*/
{0xFE,0xDE,0xEE,0xF6,0xF6,0xFE,0x00,0xFB,0xFB,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0x3F},
{0xFF,0xF7,0xF7,0xEF,0xDF,0xFF,0x01,0xBF,0xBF,0xBF,0xBF,0xBD,0xBD,0xBD,0xC1,0xFF},/*"光",1*/
{0xFE,0xFE,0xFD,0xFB,0xF7,0xEF,0xD0,0x3E,0xFE,0xFE,0xE0,0xFE,0xFE,0xFE,0x80,0xFF},
{0xFF,0xFF,0x7F,0xBF,0xDF,0xEF,0x17,0xF9,0xFF,0xFF,0x0F,0xFF,0xFF,0xFF,0x03,0xFF},/*"全",10*/
{0xEF,0xF7,0x80,0xFF,0xDE,0xED,0x00,0xFF,0xFF,0xC0,0xDE,0xDE,0xDE,0xC0,0xDE,0xFF},
{0xFF,0xC1,0x5D,0xDB,0xDB,0xD7,0x1B,0xDB,0xDD,0xDD,0xDD,0xCB,0xD7,0xDF,0xDF,0xDF},/*"部",11*/
{0xEF,0xEF,0xEF,0xEE,0x03,0xEF,0xCE,0xC5,0xAB,0xAF,0x6F,0xEF,0xEF,0xEF,0xEF,0xEC},
{0xBF,0xDF,0xDF,0x01,0xFF,0x77,0xFB,0xFD,0x77,0x77,0xAF,0xAF,0xDF,0xAF,0x77,0xF9},/*"校",0*/
{0xFF,0xFF,0x83,0xBB,0xBA,0xBB,0xBB,0x83,0xBB,0xBB,0xBB,0xBB,0x83,0xBB,0xFF,0xFF},
{0xF7,0xF7,0xF7,0xF7,0x01,0xF7,0xF7,0xF7,0x77,0xB7,0xB7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"时",15*/
{0xFF,0xDC,0xED,0xED,0x7C,0xBD,0xBD,0xEC,0xEF,0xD8,0x1B,0xDB,0xDB,0xDB,0xD0,0xFF},
{0xFF,0x07,0xF7,0xF7,0x07,0xF7,0xF7,0x07,0xFF,0x03,0x5B,0x5B,0x5B,0x5B,0x01,0xFF},/*"温",16*/
{0xFF,0xD8,0xEB,0xEB,0x78,0xBB,0xBB,0xE8,0xEE,0xDE,0x16,0xDA,0xDC,0xDE,0xD0,0xFF},
{0xFF,0x07,0xF7,0xF7,0x07,0xF7,0xF7,0x07,0xDF,0xDF,0xDB,0xD7,0xCF,0xDF,0x01,0xFF},/*"湿",17*/
{0xEF,0xEF,0xC3,0xDF,0xBE,0x42,0xEE,0xEE,0x02,0xEE,0xEE,0xEF,0xEB,0xE7,0xEF,0xFF},
{0xDF,0xDF,0xDF,0xDF,0x03,0xDB,0xDB,0xDB,0xDB,0x03,0xDB,0xDF,0xDF,0xDF,0xDF,0xDF}/*"钟",0*/
};
const unsigned char code zm1[][16]={
/*************************************用户汉字区1********************************************
*/
{0xFF,0xFF,0x83,0xBB,0xBA,0xBB,0xBB,0x83,0xBB,0xBB,0xBB,0xBB,0x83,0xBB,0xFF,0xFF},
{0xF7,0xF7,0xF7,0xF7,0x01,0xF7,0xF7,0xF7,0x77,0xB7,0xB7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"时",0*/
{0xDF,0xEC,0xEF,0xBF,0xB8,0xBB,0xBB,0xBB,0xB8,0xBB,0xBB,0xBB,0xB8,0xBF,0xBF,0xBF},
{0xFF,0x03,0xFB,0xFB,0x3B,0xBB,0xBB,0xBB,0x3B,0xBB,0xBB,0xBB,0x3B,0xFB,0xEB,0xF7},/*"间",0*/
{0xE0,0xEF,0xEF,0xE0,0xEF,0xEF,0xE0,0xFF,0x00,0xFE,0xEE,0xEE,0xEE,0xD6,0xBA,0x7C},
{0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0xFF,0x01,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0x01},/*"是",0*/
{0xFE,0xFE,0xFE,0xFE,0xC0,0xDE,0xDE,0xDE,0xDE,0xC0,0xDE,0xDE,0xDE,0xDE,0xC0,0xDF},
{0xFF,0xFF,0xFF,0xFF,0x07,0xF7,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0xF7,0x07,0xF7},/*"由",0*/
{0xFF,0xFB,0xFB,0xF7,0xEF,0xDF,0xBF,0x60,0xFB,0xFB,0xFB,0xF7,0xF7,0xEF,0xDE,0xBF},
{0xBF,0xBF,0xDF,0xDF,0xEF,0xF7,0xFB,0x1D,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xBF,0x7F},/*"分",0*/
{0xF7,0xE3,0x0F,0xEF,0xEF,0x03,0xEE,0xCE,0xC5,0xAB,0xAB,0x6F,0xEF,0xEF,0xEF,0xEC},
{0xDF,0xDF,0xDF,0x57,0x5B,0x5D,0xDD,0xDF,0xDB,0xDB,0xD7,0xF7,0xEF,0xDF,0x3F,0xFF},/*"秒",0*/
{0xFB,0xF1,0x87,0xF7,0xF7,0x00,0xF7,0xE7,0xE3,0xD5,0xD5,0xB7,0x77,0xF7,0xF7,0xF6},
{0xFF,0xFF,0x03,0x7B,0x7B,0x7B,0x7B,0x7B,0x03,0x7B,0xFF,0xB7,0xBB,0x7B,0x7D,0xFD},/*"积",0*/
{0xFF,0xFF,0xFF,0xC0,0xDF,0xDF,0xDF,0xC1,0xDD,0xDD,0xDD,0xDD,0xD5,0xBB,0xBF,0x7E},
{0xAF,0xB7,0xBF,0x01,0xBF,0xBF,0xBB,0xBB,0xBB,0xD7,0xD7,0xED,0xCD,0xB5,0x79,0xFD},/*"成",0*/
{0xEF,0xEF,0xDF,0x81,0xBD,0xBD,0xBC,0xBD,0x81,0xBD,0xBD,0xBD,0xBD,0x81,0xBD,0xFF},
{0xBF,0xBF,0xBF,0x83,0x7B,0x7B,0xFB,0xBB,0xDB,0xDB,0xFB,0xFB,0xFB,0xFB,0xD7,0xEF},/*"的",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xF7,0xFB,0x80,0xFE,0xC0,0xFE,0x00,0xEE,0xF6,0x00,0xFF,0xC0,0xDF,0xDF,0xC0,0xDF},
{0xDF,0xBF,0x03,0xFF,0x07,0xFF,0x01,0xEF,0xDF,0x01,0xFF,0x07,0xF7,0xF7,0x07,0xF7},/*"善",0*/
{0xFF,0xC0,0xFE,0xFE,0xFE,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFA,0xFD},
{0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"于",0*/
{0xFE,0xF8,0x83,0xFB,0xFB,0xFB,0x00,0xF3,0xE9,0xEA,0xDB,0xDB,0xBB,0x7B,0xFB,0xFB},
{0xFB,0x7B,0xFB,0xDB,0xDB,0xDB,0x5B,0xDB,0xDB,0xDB,0x5B,0xDB,0xFB,0xFB,0xEB,0xF7},/*"利",0*/
{0xFF,0xC0,0xDE,0xDE,0xDE,0xC0,0xDE,0xDE,0xDE,0xC0,0xDE,0xDE,0xDE,0xBE,0xBE,0x7F},
{0xFF,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"用",0*/
{0xC0,0xFE,0x80,0xBE,0x62,0xFE,0xE2,0xFD,0xF3,0xCD,0x3E,0xE0,0xFF,0xF9,0xFE,0xFF},
{0x07,0xFF,0x01,0xFD,0x8B,0xFF,0x8F,0x7F,0x9F,0xE7,0xF9,0x1F,0xDF,0xBF,0x7F,0xBF},/*"零",0*/
{0xFF,0xE0,0xEF,0xE0,0xEF,0xE0,0xFE,0xEE,0xE0,0xDE,0xBE,0xE0,0xFE,0xFE,0x80,0xFF},
{0xFF,0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0xFF,0x07,0xFF,0xFF,0x0F,0xFF,0xFF,0x03,0xFF},/*"星",0*/
{0xFF,0xFF,0x83,0xBB,0xBA,0xBB,0xBB,0x83,0xBB,0xBB,0xBB,0xBB,0x83,0xBB,0xFF,0xFF},
{0xF7,0xF7,0xF7,0xF7,0x01,0xF7,0xF7,0xF7,0x77,0xB7,0xB7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"时",0*/
{0xDF,0xEC,0xEF,0xBF,0xB8,0xBB,0xBB,0xBB,0xB8,0xBB,0xBB,0xBB,0xB8,0xBF,0xBF,0xBF},
{0xFF,0x03,0xFB,0xFB,0x3B,0xBB,0xBB,0xBB,0x3B,0xBB,0xBB,0xBB,0x3B,0xFB,0xEB,0xF7},/*"间",0*/
{0xEF,0xEF,0xDF,0x81,0xBD,0xBD,0xBC,0xBD,0x81,0xBD,0xBD,0xBD,0xBD,0x81,0xBD,0xFF},
{0xBF,0xBF,0xBF,0x83,0x7B,0x7B,0xFB,0xBB,0xDB,0xDB,0xFB,0xFB,0xFB,0xFB,0xD7,0xEF},/*"的",0*/
{0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0xBF,0x7F},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0xBF,0xBF,0xDF,0xDF,0xEF,0xF7,0xFB,0xFD},/*"人",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xFF,0xFF,0xFF,0xFF,0x00,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7,0xEF,0xDF,0xBF,0xFD,0xFE},
{0x7F,0x7F,0x7F,0x7F,0x01,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0x7F,0xFF},/*"才",0*/
{0xFE,0xFE,0xFD,0xFB,0xF7,0xCF,0x30,0xFF,0xFF,0x80,0xFD,0xFB,0xF7,0xEF,0xC0,0xEF},
{0xFF,0xFF,0x7F,0xBF,0xDF,0xE7,0x19,0xFF,0xFF,0x03,0xFF,0xFF,0xDF,0xEF,0x07,0xF7},/*"会",0*/
{0xED,0xED,0xED,0xD0,0xDD,0x9D,0x9D,0x50,0xD7,0xD7,0xD7,0xD7,0xD0,0xD7,0xDF,0xDF},
{0xEF,0xEF,0xEF,0x5F,0xC1,0xBB,0xDB,0x5B,0x5B,0x57,0x57,0x6F,0x57,0xD7,0xBB,0x7D},/*"做",0*/
{0xFE,0xFE,0xDE,0xDE,0xDE,0xDE,0xC0,0xFE,0xFE,0xFE,0xBE,0xBE,0xBE,0xBE,0x80,0xFF},
{0xFF,0xFF,0xF7,0xF7,0xF7,0xF7,0x07,0xF7,0xFF,0xFF,0xFB,0xFB,0xFB,0xFB,0x03,0xFB},/*"出",0*/
{0xFF,0x00,0xFE,0xFE,0xC0,0xDE,0xDE,0xC0,0xDE,0xDE,0xC0,0xEE,0xF5,0xF9,0xE6,0x1F},
{0xFF,0x01,0xFF,0xFF,0x07,0xF7,0xF7,0x07,0xF7,0xF7,0x07,0xFF,0xFF,0xFF,0x3F,0xC1},/*"更",0*/
{0xFE,0xFE,0xFE,0xFE,0xFE,0x00,0xFE,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7,0xEF,0xDF,0x3F},
{0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0x7F,0x7F,0xBF,0xBF,0xDF,0xEF,0xF7,0xF9},/*"大",0*/
{0xEF,0xEF,0xDF,0x81,0xBD,0xBD,0xBC,0xBD,0x81,0xBD,0xBD,0xBD,0xBD,0x81,0xBD,0xFF},
{0xBF,0xBF,0xBF,0x83,0x7B,0x7B,0xFB,0xBB,0xDB,0xDB,0xFB,0xFB,0xFB,0xFB,0xD7,0xEF},/*"的",0*/
{0xFF,0xFF,0xFF,0xC0,0xDF,0xDF,0xDF,0xC1,0xDD,0xDD,0xDD,0xDD,0xD5,0xBB,0xBF,0x7E},
{0xAF,0xB7,0xBF,0x01,0xBF,0xBF,0xBB,0xBB,0xBB,0xD7,0xD7,0xED,0xCD,0xB5,0x79,0xFD},/*"成",0*/
{0xEF,0xEF,0xD8,0xDF,0xB4,0x0F,0xE8,0xDF,0xBC,0x05,0xBD,0xFD,0xE5,0x1F,0xBE,0xF9},
{0xBF,0xBF,0x03,0xBF,0x07,0xBF,0x01,0xFF,0x07,0xF7,0xB7,0xB7,0xB7,0x5F,0xEF,0xF7},/*"绩",0*/
{0xFE,0xFE,0xFE,0x80,0xFE,0xEE,0xF6,0xF6,0x00,0xFC,0xFA,0xF6,0xCE,0x3E,0xFE,0xFE},
{0xFF,0xFF,0xFF,0x03,0xFF,0xEF,0xEF,0xDF,0x01,0x7F,0xBF,0xDF,0xE7,0xF9,0xFF,0xFF},/*"来",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"。",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xF7,0xF7,0xEF,0xCF,0xAE,0x69,0xEF,0xEF,0xEE,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFE},
{0x7F,0x77,0x6F,0x1F,0x7F,0x7B,0x7B,0x83,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF},/*"华",0*/
{0xFF,0xC0,0xDB,0xDB,0xDB,0xC0,0xFD,0xFB,0xF0,0xEF,0x97,0xFB,0xFD,0xFC,0xE3,0x1F},
{0xFF,0x07,0xB7,0xB7,0xB7,0x07,0xFF,0xFF,0x0F,0xEF,0xDF,0xBF,0x7F,0xFF,0xFF,0xFF},/*"罗",0*/
{0xFE,0xFF,0xC0,0xDF,0xDF,0xD0,0xDF,0xDF,0xC0,0xDF,0xDF,0xD0,0xBE,0xBD,0x73,0xCF},
{0xFF,0x7F,0x01,0xFF,0x7F,0x07,0x77,0x77,0x01,0x77,0x77,0x07,0xBF,0xDF,0xE7,0xF9}/*"庚",0*/
};
const unsigned char code zm2[][16]={
/*************************************用户汉字区2********************************************
*/
{0xFD,0xED,0xED,0xED,0xED,0x00,0xED,0xED,0xED,0xED,0xEC,0xEF,0xEF,0xEF,0xE0,0xFF},
{0xDF,0xDF,0xDF,0xDF,0xDF,0x01,0xDF,0xDF,0xDF,0xDF,0x1F,0xFF,0xFF,0xFF,0x03,0xFF},/*"世",0*/
{0xFF,0xE0,0xEE,0xEE,0xE0,0xEE,0xEE,0xE0,0xFD,0xF3,0xCB,0x3B,0xFB,0xF7,0xF7,0xEF},
{0xFF,0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0x7F,0x9F,0xA7,0xB9,0xBF,0xBF,0xBF,0xBF},/*"界",0*/
{0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFC,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0x00,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF},/*"上",0*/
{0xE0,0xEF,0xE0,0xEF,0xE0,0xFF,0x00,0xDD,0xC1,0xDD,0xC1,0xDD,0xD0,0x0D,0xBD,0xFC},
{0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0x01,0xFF,0x07,0x77,0x6F,0xAF,0xDF,0xAF,0x77,0xF9},/*"最",0*/
{0xEF,0xEF,0xEF,0xEC,0xE7,0xAB,0xAF,0xAF,0x68,0xEF,0xEF,0xEF,0xEE,0xEE,0xED,0xEB},
{0xBF,0xBF,0xBF,0x07,0xB7,0xB7,0xB7,0xB7,0x01,0xBF,0x5F,0x5F,0xEF,0xEF,0xF7,0xF9},/*"快",0*/
{0xFF,0x80,0xFE,0xFE,0xFD,0xC0,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDF,0xDF},
{0xFF,0x03,0xFF,0xFF,0xFF,0x07,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0xD7,0xEF},/*"而",0*/
{0xFF,0xC0,0xEF,0xEF,0xEF,0xF7,0xF7,0xFB,0xFB,0xFD,0xFE,0xFD,0xFB,0xF7,0xCF,0x3F},
{0xFF,0x0F,0xEF,0xEF,0xDF,0xDF,0xDF,0xBF,0xBF,0x7F,0xFF,0x7F,0xBF,0xDF,0xE7,0xF9},/*"又",0*/
{0xE0,0xEF,0xE0,0xEF,0xE0,0xFF,0x00,0xDD,0xC1,0xDD,0xC1,0xDD,0xD0,0x0D,0xBD,0xFC},
{0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0x01,0xFF,0x07,0x77,0x6F,0xAF,0xDF,0xAF,0x77,0xF9},/*"最",0*/
{0xDC,0xDD,0xDC,0xCD,0x54,0x5F,0x58,0x5B,0xDB,0xD8,0xDF,0xDC,0xDE,0xDF,0xDC,0xD3},
{0x07,0xF7,0x07,0xF7,0x07,0xFF,0x03,0x5B,0x5B,0x03,0xFF,0x07,0xEF,0x1F,0xE7,0xF9},/*"慢",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xE0,0xEF,0xE0,0xEF,0xE0,0xFF,0x00,0xDD,0xC1,0xDD,0xC1,0xDD,0xD0,0x0D,0xBD,0xFC},
{0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0x01,0xFF,0x07,0x77,0x6F,0xAF,0xDF,0xAF,0x77,0xF9},/*"最",0*/
{0xF7,0xF7,0xF7,0xF7,0xF7,0xF6,0xF7,0x00,0xF5,0xF6,0xF7,0xF7,0xF6,0xF5,0xF3,0xF7},
{0xFF,0xEF,0xDF,0xBF,0x7F,0xFF,0xFF,0x01,0xFF,0xFF,0x7F,0xBF,0xDF,0xE7,0xF9,0xFF},/*"长",0*/
{0xFF,0x80,0xFE,0xFE,0xFD,0xC0,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDF,0xDF},
{0xFF,0x03,0xFF,0xFF,0xFF,0x07,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0xD7,0xEF},/*"而",0*/
{0xFF,0xC0,0xEF,0xEF,0xEF,0xF7,0xF7,0xFB,0xFB,0xFD,0xFE,0xFD,0xFB,0xF7,0xCF,0x3F},
{0xFF,0x0F,0xEF,0xEF,0xDF,0xDF,0xDF,0xBF,0xBF,0x7F,0xFF,0x7F,0xBF,0xDF,0xE7,0xF9},/*"又",0*/
{0xE0,0xEF,0xE0,0xEF,0xE0,0xFF,0x00,0xDD,0xC1,0xDD,0xC1,0xDD,0xD0,0x0D,0xBD,0xFC},
{0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0x01,0xFF,0x07,0x77,0x6F,0xAF,0xDF,0xAF,0x77,0xF9},/*"最",0*/
{0xDF,0xDE,0xC3,0xAF,0x6F,0xEF,0xEF,0x01,0xEF,0xEF,0xEF,0xD7,0xDB,0xBB,0xBE,0x7F},
{0xFF,0x01,0xFF,0xFF,0x03,0x7B,0x7B,0x7B,0x03,0xFF,0x7B,0xBB,0xB7,0xFF,0x01,0xFF},/*"短",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xE0,0xEF,0xE0,0xEF,0xE0,0xFF,0x00,0xDD,0xC1,0xDD,0xC1,0xDD,0xD0,0x0D,0xBD,0xFC},
{0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0x01,0xFF,0x07,0x77,0x6F,0xAF,0xDF,0xAF,0x77,0xF9},/*"最",0*/
{0xFF,0x80,0xFE,0xFE,0xEE,0xF6,0xF6,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE},
{0xFF,0x03,0xFF,0xFF,0xEF,0xEF,0xDF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"平",0*/
{0xFF,0xF0,0xF7,0xF7,0xF7,0xF5,0xF6,0xF7,0xF7,0xF7,0xEF,0xEF,0xDF,0xDF,0xBF,0x7F},
{0xFF,0x1F,0xDF,0xDF,0xDF,0xDF,0xDF,0x5F,0x5F,0xDF,0xDF,0xDD,0xDD,0xDD,0xE1,0xFF},/*"凡",0*/
{0xFF,0x80,0xFE,0xFE,0xFD,0xC0,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDF,0xDF},
{0xFF,0x03,0xFF,0xFF,0xFF,0x07,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0xD7,0xEF},/*"而",0*/
{0xFF,0xC0,0xEF,0xEF,0xEF,0xF7,0xF7,0xFB,0xFB,0xFD,0xFE,0xFD,0xFB,0xF7,0xCF,0x3F},
{0xFF,0x0F,0xEF,0xEF,0xDF,0xDF,0xDF,0xBF,0xBF,0x7F,0xFF,0x7F,0xBF,0xDF,0xE7,0xF9},/*"又",0*/
{0xE0,0xEF,0xE0,0xEF,0xE0,0xFF,0x00,0xDD,0xC1,0xDD,0xC1,0xDD,0xD0,0x0D,0xBD,0xFC},
{0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0x01,0xFF,0x07,0x77,0x6F,0xAF,0xDF,0xAF,0x77,0xF9},/*"最",0*/
{0xFF,0xFF,0x03,0xEF,0xEE,0xED,0x83,0xEF,0xEE,0xEF,0xEF,0xE3,0x1E,0xBF,0xFF,0xFC},
{0xDF,0xDF,0xAF,0x77,0xFB,0xED,0xDF,0xBF,0x77,0xEF,0xDF,0xBB,0x77,0xEF,0x9F,0x7F},/*"珍",0*/
{0xFE,0xE0,0xEE,0xEE,0xE0,0xFE,0x00,0xFF,0xE0,0xEF,0xEE,0xEE,0xEE,0xFD,0xF3,0x8F},
{0xFF,0x0F,0xEF,0xEF,0x0F,0xFF,0x01,0xFF,0x0F,0xEF,0xEF,0xEF,0xEF,0x9F,0xE7,0xFB},/*"贵",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xE0,0xEF,0xE0,0xEF,0xE0,0xFF,0x00,0xDD,0xC1,0xDD,0xC1,0xDD,0xD0,0x0D,0xBD,0xFC},
{0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0x01,0xFF,0x07,0x77,0x6F,0xAF,0xDF,0xAF,0x77,0xF9},/*"最",0*/
{0xF0,0xF7,0xF7,0xF0,0xF7,0xF7,0xF0,0xFB,0xF7,0xE0,0xDD,0xBD,0xFB,0xF7,0xEE,0xFD},
{0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0xFF,0xFF,0x03,0xBB,0xBB,0x7B,0x7B,0xD7,0xEF},/*"易",0*/
{0xDF,0xEF,0xFF,0x06,0xF6,0xEE,0xEA,0xC6,0xAA,0x6E,0xEE,0xEE,0xEE,0xED,0xED,0xEB},
{0xEF,0xEF,0xEF,0x01,0xED,0xEB,0xEF,0x03,0xBB,0xBB,0xD7,0xD7,0xEF,0xD7,0xBB,0x7D},/*"被",0*/
{0xF7,0xF7,0xE0,0xED,0xDD,0xBB,0xF7,0xEE,0xDD,0xFB,0xFE,0xF7,0xB7,0xB7,0x78,0xFF},
{0xFF,0xFF,0x07,0xB7,0xB7,0x77,0x77,0xF7,0xD7,0xEF,0xFF,0x7B,0x6D,0xED,0x0F,0xFF},/*"忽",0*/
{0xDF,0xEE,0xEE,0x06,0xF6,0xEE,0xEE,0xC6,0xAA,0x6A,0xEF,0xEF,0xEF,0xEE,0xED,0xEB},
{0xFF,0x03,0xFB,0xFB,0xDB,0xDB,0xDB,0xDB,0xDB,0xAB,0xAF,0x6F,0x6F,0xED,0xED,0xF1},/*"视",0*/
{0xFF,0x80,0xFE,0xFE,0xFD,0xC0,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDF,0xDF},
{0xFF,0x03,0xFF,0xFF,0xFF,0x07,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0xD7,0xEF},/*"而",0*/
{0xFF,0xC0,0xEF,0xEF,0xEF,0xF7,0xF7,0xFB,0xFB,0xFD,0xFE,0xFD,0xFB,0xF7,0xCF,0x3F},
{0xFF,0x0F,0xEF,0xEF,0xDF,0xDF,0xDF,0xBF,0xBF,0x7F,0xFF,0x7F,0xBF,0xDF,0xE7,0xF9},/*"又",0*/
{0xE0,0xEF,0xE0,0xEF,0xE0,0xFF,0x00,0xDD,0xC1,0xDD,0xC1,0xDD,0xD0,0x0D,0xBD,0xFC},
{0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0x01,0xFF,0x07,0x77,0x6F,0xAF,0xDF,0xAF,0x77,0xF9},/*"最",0*/
{0xFE,0xFE,0xFD,0xFB,0xF5,0xEE,0xDE,0x3F,0xE0,0xFF,0xFF,0xFB,0xFD,0xFE,0xFF,0xFF},
{0xFF,0xFF,0x7F,0xBF,0xDF,0xEF,0xF7,0xF9,0x0F,0xEF,0xDF,0xBF,0x7F,0xFF,0x7F,0x7F},/*"令",0*/
{0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0xBF,0x7F},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0xBF,0xBF,0xDF,0xDF,0xEF,0xF7,0xFB,0xFD},/*"人",0*/
{0xFF,0xFF,0xE0,0xEF,0xEF,0xE0,0xEF,0xEF,0xEF,0xE8,0xEB,0xDB,0xDB,0xBB,0x78,0xFB},
{0xEF,0x07,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0x07,0xF7,0xF7,0xF7,0xF7,0x07,0xF7},/*"后",0*/
{0xEE,0xEE,0xEE,0xE5,0xAA,0xAE,0xAE,0x6E,0xE8,0xEE,0xED,0xED,0xEC,0xEF,0xEF,0xEF},
{0xFF,0xFF,0x03,0xFF,0x07,0xF7,0xB7,0xD7,0x01,0xF7,0xB7,0xD7,0x03,0xF7,0xAF,0xDF},/*"悔",0*/
{0xEF,0xEF,0xDF,0x81,0xBD,0xBD,0xBC,0xBD,0x81,0xBD,0xBD,0xBD,0xBD,0x81,0xBD,0xFF},
{0xBF,0xBF,0xBF,0x83,0x7B,0x7B,0xFB,0xBB,0xDB,0xDB,0xFB,0xFB,0xFB,0xFB,0xD7,0xEF},/*"的",0*/
{0xDF,0xEF,0x01,0xFF,0xFF,0x82,0xBB,0xBB,0xBB,0x83,0xEF,0xAB,0x6D,0xEE,0xAE,0xDD},
{0xBF,0xAF,0xB7,0xB7,0xBF,0x01,0xAF,0xAF,0xAF,0xAF,0x6F,0x6F,0x6D,0xED,0xF1,0xFF},/*"就",0*/
{0xE0,0xEF,0xEF,0xE0,0xEF,0xEF,0xE0,0xFF,0x00,0xFE,0xEE,0xEE,0xEE,0xD6,0xBA,0x7C},
{0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0xFF,0x01,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0x01},/*"是",0*/
{0xFF,0xFF,0x83,0xBB,0xBA,0xBB,0xBB,0x83,0xBB,0xBB,0xBB,0xBB,0x83,0xBB,0xFF,0xFF},
{0xF7,0xF7,0xF7,0xF7,0x01,0xF7,0xF7,0xF7,0x77,0xB7,0xB7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"时",0*/
{0xDF,0xEC,0xEF,0xBF,0xB8,0xBB,0xBB,0xBB,0xB8,0xBB,0xBB,0xBB,0xB8,0xBF,0xBF,0xBF},
{0xFF,0x03,0xFB,0xFB,0x3B,0xBB,0xBB,0xBB,0x3B,0xBB,0xBB,0xBB,0x3B,0xFB,0xEB,0xF7},/*"间",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"。",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFD,0xFE,0x00,0xFF,0xF0,0xF7,0xF7,0xF0,0xFF,0x80,0xBF,0xB0,0xB7,0xB7,0xB0,0xBF},
{0xFF,0xFF,0x01,0xFF,0x1F,0xDF,0xDF,0x1F,0xFF,0x03,0xFB,0x1B,0xDB,0xDB,0x1B,0xF3},/*"高",0*/
{0xF7,0xF7,0xF7,0xE0,0xEF,0xDE,0xBE,0x7E,0xFE,0xEE,0xEE,0xDE,0xBE,0x7E,0xFA,0xFD},
{0xFF,0xFF,0xFF,0x03,0xFB,0xF7,0xFF,0xFF,0xFF,0xEF,0xF7,0xFB,0xFD,0xFD,0xFF,0xFF},/*"尔",0*/
{0xF7,0xF7,0x80,0xF7,0xF0,0xF7,0xF0,0xF7,0x00,0xF7,0xEE,0xDE,0x30,0xFE,0xFE,0xC0},
{0xDF,0xDF,0x03,0xDF,0x1F,0xDF,0x1F,0xDF,0x01,0xDF,0xEF,0xF7,0x19,0xFF,0xFF,0x07}/*"基",0*/
};
const unsigned char code zm3[][16]={
/*************************************用户汉字区3********************************************
*/
{0xFD,0xBD,0xDD,0xDD,0xF0,0xFD,0x1D,0xDC,0xD1,0xDD,0xDD,0xD5,0xDB,0xAE,0x70,0xFF},
{0xF7,0xE3,0x9F,0xBF,0x3F,0x81,0x37,0xB7,0xB7,0xB7,0xB7,0xB7,0x77,0xFF,0x01,0xFF},/*"逝",0*/
{0xFD,0xFD,0xC0,0xFD,0xFD,0x00,0xFE,0xFD,0xF0,0xE7,0xD7,0xB0,0x77,0xF7,0xF0,0xF7},
{0xFF,0xF7,0x2F,0xDF,0xBF,0x01,0xFF,0xFF,0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0xEF},/*"者",0*/
{0xEF,0xEF,0xEF,0xEF,0x01,0xDD,0xDD,0xDD,0xBD,0xDB,0xEB,0xF7,0xEB,0xDD,0xBD,0x7F},
{0xFF,0xFF,0xFF,0x83,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0x83,0xBB,0xFF},/*"如",0*/
{0xDD,0xDD,0x80,0xDD,0xDD,0xC1,0xDD,0xDD,0xC1,0xDD,0xDD,0x00,0xFB,0xDD,0xBE,0x7E},
{0xFF,0xFB,0x87,0xBF,0xBF,0xBF,0x81,0xB7,0xB7,0xB7,0xB7,0xB7,0xB7,0x77,0x77,0xF7},/*"斯",0*/
{0xFE,0xFE,0xFE,0xFE,0xC0,0xFE,0xFE,0xFE,0x00,0xFD,0xFB,0xFB,0xF7,0xEF,0xDF,0x3F},
{0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0x01,0x7F,0xBF,0xBF,0xDF,0xEF,0xF7,0xF9},/*"夫",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xFF,0x80,0xFF,0xFF,0xFE,0xFE,0xFC,0xFA,0xF6,0xEE,0xDE,0xBE,0x7E,0xFE,0xFE,0xFE},
{0xFF,0x03,0x7F,0x7F,0xFF,0xFF,0xBF,0xDF,0xEF,0xF7,0xFB,0xFB,0xFF,0xFF,0xFF,0xFF},/*"不",0*/
{0xFE,0xFD,0xFB,0xF7,0xCF,0x30,0xFE,0xFE,0xC0,0xFE,0xFE,0xE0,0xEF,0xEF,0xE0,0xEF},
{0xFF,0x7F,0xBF,0xDF,0xE7,0x19,0xFF,0xFF,0x07,0xFF,0xFF,0x0F,0xEF,0xEF,0x0F,0xEF},/*"舍",0*/
{0xFF,0xE0,0xEF,0xEF,0xE0,0xEF,0xEF,0xDF,0xD0,0xB7,0x70,0xF7,0xF0,0xFF,0x80,0xFF},
{0xFF,0x07,0xF7,0xF7,0x07,0xBF,0xDF,0xEF,0x17,0xD9,0x1F,0xDF,0x1F,0xFF,0x03,0xFF},/*"昼",0*/
{0xFD,0xFE,0x00,0xF7,0xF7,0xEF,0xEE,0xCE,0xAD,0x6A,0xEE,0xEF,0xEF,0xEF,0xEE,0xE9},
{0xFF,0xFF,0x01,0x7F,0x7F,0x07,0xF7,0xB7,0xD7,0xEF,0xEF,0x5F,0xBF,0x5F,0xE7,0xF9},/*"夜",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"。",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFF,0x81,0xFD,0xFB,0xF7,0xF7,0xF5,0xF3,0xC7,0x37,0xF7,0xF7,0xF7,0xF7,0xD7,0xEF},
{0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBD,0xBD,0xBD,0xC1,0xFF},/*"孔",0*/
{0xFF,0x80,0xFF,0xFF,0xFF,0xFE,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFA,0xFD},
{0xFF,0x07,0xEF,0xDF,0xBF,0x7F,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}/*"子",0*/
};
const unsigned char code zm4[][16]={
/*************************************用户汉字区4********************************************
*/
{0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0xBF,0x7F},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0xBF,0xBF,0xDF,0xDF,0xEF,0xF7,0xFB,0xFD},/*"人",0*/
{0xFE,0xEE,0xEE,0xEE,0xC0,0xDE,0xBE,0x7E,0xFE,0xC0,0xFE,0xFE,0xFE,0xFE,0x00,0xFF},
{0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0x01,0xFF},/*"生",0*/
{0xFF,0xC0,0xFE,0xFE,0xFE,0xFE,0x00,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7,0xEF,0xDF,0x3F},
{0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0x7F,0x7F,0xBF,0xBF,0xDF,0xEF,0xF7,0xF9},/*"天",0*/
{0xEF,0xEF,0xEF,0xEE,0xEE,0x02,0xEE,0xEC,0xEE,0xEE,0xEE,0xE2,0x1E,0xBE,0xFF,0xFF},
{0xDF,0xDF,0xDF,0xDF,0xD3,0xCB,0x9B,0x5B,0xDB,0xCB,0xD7,0xDD,0xDD,0xFD,0x01,0xFF},/*"地",0*/
{0xFD,0xFE,0xFE,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFE,0xFD,0xFB,0xE7,0xDB,0xBC,0xFF},
{0xFF,0xFF,0xFF,0xFF,0x07,0xEF,0xDF,0xBF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF},/*"之",0*/
{0xDF,0xEC,0xEF,0xBF,0xB8,0xBB,0xBB,0xBB,0xB8,0xBB,0xBB,0xBB,0xB8,0xBF,0xBF,0xBF},
{0xFF,0x03,0xFB,0xFB,0x3B,0xBB,0xBB,0xBB,0x3B,0xBB,0xBB,0xBB,0x3B,0xFB,0xEB,0xF7},/*"间",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xF7,0xF7,0x00,0xF7,0xF5,0xFD,0x00,0xFB,0xF7,0xE0,0xD7,0xB7,0x77,0xF7,0xF0,0xF7},
{0xDF,0xDF,0x01,0xDF,0xDF,0xFF,0x01,0xFF,0xFF,0x0F,0xEF,0xEF,0xEF,0xEF,0x0F,0xEF},/*"若",0*/
{0xFE,0xFD,0xFB,0xC0,0xDF,0xDF,0xDF,0xDF,0xC0,0xDF,0xDF,0xDF,0xDF,0xDF,0xC0,0xDF},
{0xFF,0xFF,0xFF,0x07,0xF7,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0xF7,0xF7,0x07,0xF7},/*"白",0*/
{0xFF,0x07,0xF6,0xB6,0xB5,0xB3,0xB6,0x82,0xFA,0xFA,0xE2,0x1A,0xBB,0xFB,0xD7,0xEF},
{0x7F,0x7F,0xFF,0x03,0xFB,0xFB,0x1B,0xDB,0xDB,0xDB,0x1B,0xDB,0xFB,0xFB,0xD7,0xEF},/*"驹",0*/
{0xFF,0xDF,0xEF,0xE8,0xFF,0xFF,0x0D,0xEE,0xEE,0xEF,0xEF,0xEF,0xEF,0xD7,0xB8,0xFF},
{0xEF,0xEF,0xEF,0x01,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xAF,0xDF,0xFF,0x01,0xFF},/*"过",0*/
{0xFF,0x83,0xBA,0xB5,0xB7,0xAE,0xB6,0xB6,0xBA,0xBA,0xBB,0x97,0xAE,0xBD,0xBF,0xBF},
{0xDF,0x57,0xDB,0xDD,0xFF,0x03,0xFB,0x03,0xFB,0x03,0xDF,0x57,0xDB,0xDD,0x5F,0xBF},/*"隙",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xF7,0xF7,0xE0,0xED,0xDD,0xBB,0xF7,0xEE,0xDD,0xFB,0xFE,0xF7,0xB7,0xB7,0x78,0xFF},
{0xFF,0xFF,0x07,0xB7,0xB7,0x77,0x77,0xF7,0xD7,0xEF,0xFF,0x7B,0x6D,0xED,0x0F,0xFF},/*"忽",0*/
{0xEF,0xEF,0xE1,0xDD,0xCC,0xB5,0x5B,0xEB,0xF7,0xEF,0xDE,0xBD,0xFF,0xB7,0xBB,0x7B},
{0xDF,0xD7,0xDB,0xDF,0x01,0xDF,0xAF,0xAF,0x77,0x77,0xFB,0xFD,0xFF,0x77,0xBB,0xBB},/*"然",0*/
{0xFF,0x80,0xFE,0xFE,0xFD,0xC0,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDF,0xDF},
{0xFF,0x03,0xFF,0xFF,0xFF,0x07,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0xD7,0xEF},/*"而",0*/
{0xFF,0xC0,0xFF,0xFF,0xFF,0xDF,0xDF,0xC0,0xDF,0xDF,0xDF,0xDF,0xDF,0xDF,0xE0,0xFF},
{0xFF,0x0F,0xEF,0xEF,0xEF,0xEF,0xEF,0x0F,0xFF,0xFF,0xFF,0xFB,0xFB,0xFB,0x03,0xFF},/*"已",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"。",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFE,0xFF,0xFF,0xC0,0xDF,0xDF,0xDF,0xDF,0xD0,0xDF,0xDF,0xDF,0xDF,0xBF,0xA0,0x7F},
{0xFF,0x7F,0x7F,0x03,0xFF,0x7F,0x7F,0x7F,0x03,0x7F,0x7F,0x7F,0x7F,0x7F,0x01,0xFF},/*"庄",0*/
{0xFF,0x80,0xFF,0xFF,0xFF,0xFE,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFA,0xFD},
{0xFF,0x07,0xEF,0xDF,0xBF,0x7F,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}/*"子",0*/
};
const unsigned char code zm5[][16]={
/*************************************用户汉字区5********************************************
*/
{0xFF,0xC0,0xFE,0xFE,0xFE,0xFE,0x00,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7,0xEF,0xDF,0x3F},
{0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0x7F,0x7F,0xBF,0xBF,0xDF,0xEF,0xF7,0xF9},/*"天",0*/
{0xFF,0x80,0xFF,0xFF,0xE0,0xEE,0xEE,0xEE,0xEE,0xEE,0xE0,0xEE,0xFF,0xFF,0xFF,0xFF},
{0xFF,0x01,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xAF,0xDF},/*"可",0*/
{0xEF,0xF7,0xFF,0x81,0xFD,0xFB,0xF7,0xE5,0xD3,0xB5,0xF5,0xF7,0xF7,0xF7,0xF7,0xF7},
{0xBF,0xBF,0xBF,0xBF,0xBF,0x9F,0xAF,0xB7,0xBB,0xBB,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF},/*"补",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xFE,0xDE,0xEE,0xED,0x7A,0xBE,0xB6,0xF6,0xE8,0xEE,0x1D,0xDD,0xDC,0xDF,0xDF,0xFF},
{0xFF,0xFF,0x03,0xFF,0x07,0xF7,0xB7,0xD7,0x01,0xF7,0xB7,0xD7,0x03,0xF7,0xAF,0xDF},/*"海",0*/
{0xFF,0x80,0xFF,0xFF,0xE0,0xEE,0xEE,0xEE,0xEE,0xEE,0xE0,0xEE,0xFF,0xFF,0xFF,0xFF},
{0xFF,0x01,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xAF,0xDF},/*"可",0*/
{0xDF,0xDF,0xD8,0xDF,0xDC,0x05,0xDC,0xDD,0xDC,0xDD,0xDC,0xC5,0x10,0xBE,0xFD,0xFB},
{0xBF,0xBF,0x03,0xBF,0x07,0xF7,0x07,0xF7,0x07,0xF7,0x07,0xF7,0x01,0xEF,0xF7,0xFB},/*"填",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xFE,0xFE,0x00,0xFE,0xFE,0x80,0xB7,0xBB,0xB0,0xBE,0xBE,0xA0,0xBE,0xBE,0xBE,0xBF},
{0xFF,0xFF,0x01,0xFF,0xFF,0x03,0xDB,0xBB,0x1B,0xFB,0xFB,0x0B,0xFB,0xFB,0xEB,0xF7},/*"南",0*/
{0xFE,0xFE,0xFE,0xFE,0xDE,0xDE,0xDE,0xDE,0xDE,0xDE,0xDE,0xDE,0xDE,0xC0,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0xF7,0x07,0xF7,0xFF},/*"山",0*/
{0xFF,0x80,0xFF,0xFF,0xE0,0xEE,0xEE,0xEE,0xEE,0xEE,0xE0,0xEE,0xFF,0xFF,0xFF,0xFF},
{0xFF,0x01,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xAF,0xDF},/*"可",0*/
{0xF7,0xE3,0x0F,0xEF,0xEE,0x03,0xEF,0xCF,0xC6,0xAB,0xAB,0x6E,0xEF,0xEF,0xEF,0xEE},
{0xDF,0xDF,0x83,0x7B,0xB7,0xCF,0xDF,0xB7,0x6F,0xC1,0xBD,0x5B,0xE7,0xEF,0x9F,0x7F},/*"移",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"。",0*/
{0xFF,0xE0,0xEF,0xEF,0xEF,0xEF,0xEF,0xE0,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xE0,0xEF},
{0xFF,0x0F,0xEF,0xEF,0xEF,0xEF,0xEF,0x0F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x0F,0xEF},/*"日",0*/
{0xFF,0xE0,0xEF,0xEF,0xEF,0xE0,0xEF,0xEF,0xEF,0xE0,0xEF,0xEF,0xDF,0xDF,0xBF,0x7F},
{0xFF,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"月",0*/
{0xFF,0x82,0xBB,0xBB,0x82,0xBA,0xBA,0x83,0xBF,0xB7,0xBB,0xB5,0xAD,0x9F,0xBE,0xFD},
{0xFF,0x03,0xDF,0xDF,0xDF,0xDF,0x01,0xDF,0xDF,0xCF,0xAF,0xAF,0x6D,0x6D,0xF1,0xFF},/*"既",0*/
{0xF7,0xF7,0xEF,0xD8,0xB7,0xF7,0xEF,0xCF,0xA8,0x6F,0xEF,0xEF,0xEF,0xEF,0xE0,0xEF},
{0x7F,0xBF,0xFF,0x03,0xBF,0xBF,0xBF,0xBF,0x03,0xBF,0xBF,0xBF,0xBF,0xBF,0x01,0xFF},/*"往",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xFF,0x80,0xFF,0xFF,0xFE,0xFE,0xFC,0xFA,0xF6,0xEE,0xDE,0xBE,0x7E,0xFE,0xFE,0xFE},
{0xFF,0x03,0x7F,0x7F,0xFF,0xFF,0xBF,0xDF,0xEF,0xF7,0xFB,0xFB,0xFF,0xFF,0xFF,0xFF},/*"不",0*/
{0xFF,0x80,0xFF,0xFF,0xE0,0xEE,0xEE,0xEE,0xEE,0xEE,0xE0,0xEE,0xFF,0xFF,0xFF,0xFF},
{0xFF,0x01,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xAF,0xDF},/*"可",0*/
{0xEF,0xEF,0xE0,0xDF,0xA0,0x6F,0xE0,0xEF,0xE0,0xFB,0xF0,0xE7,0x9B,0xFC,0xE3,0x1F},
{0xFF,0xFF,0x03,0xFF,0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0x0F,0xDF,0xBF,0x7F,0x8F,0xF1},/*"复",0*/
{0xFF,0xDF,0xEC,0xED,0xFD,0xFC,0x0D,0xED,0xEC,0xED,0xED,0xEC,0xED,0xD7,0xB8,0xFF},
{0xDF,0xBF,0x03,0xFB,0xFB,0x03,0xFF,0xFF,0x01,0xFD,0xFD,0x01,0xFD,0xFF,0x01,0xFF},/*"追",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"。",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xF7,0xFB,0xC0,0xDE,0xD6,0xDA,0xC0,0xFF,0xE0,0xEF,0xEF,0xE0,0xEF,0xEF,0xE0,0xEF},
{0xDF,0xBF,0x07,0xF7,0xD7,0xB7,0x07,0xFF,0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0xEF},/*"曾",0*/
{0xFF,0x80,0xBF,0xBF,0xA0,0xBE,0xBE,0xB0,0xBE,0xBE,0xBE,0xA0,0xBF,0xBF,0x80,0xBF},
{0xFF,0x03,0xFB,0xFB,0x0B,0xFB,0xFB,0x1B,0xFB,0xBB,0xDB,0x0B,0xFB,0xFB,0x03,0xFB},/*"国",0*/
{0xF7,0x00,0xF7,0xDF,0xE8,0xED,0x7E,0xB8,0xAD,0xEB,0xD4,0x1D,0xDC,0xDD,0xDC,0xDD},
{0xDF,0x01,0xDF,0xC7,0x3F,0xB7,0xAF,0x03,0xB7,0xFB,0x05,0xB7,0x07,0xB7,0x07,0xF7}/*"藩",0*/
};
const unsigned char code zm6[][16]={
/*************************************用户汉字区6********************************************
*/
{0xEF,0xEF,0xE0,0xDF,0xDF,0x98,0x9B,0x5B,0xD8,0xDF,0xDD,0xDE,0xDF,0xDE,0xDD,0xD3},
{0xBF,0xBF,0x01,0xBF,0xBF,0x03,0xBB,0xBB,0x03,0xBF,0xBF,0xBF,0x7F,0xBF,0xCF,0xF1},/*"使",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"一",0*/
{0xFE,0xFE,0xFD,0xFB,0xF7,0xEF,0xDE,0x3E,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE},
{0xFF,0xFF,0x7F,0xBF,0xDF,0xEF,0xF7,0xF9,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"个",0*/
{0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0xBF,0x7F},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0xBF,0xBF,0xDF,0xDF,0xEF,0xF7,0xFB,0xFD},/*"人",0*/
{0xEF,0xEF,0xDF,0x81,0xBD,0xBD,0xBC,0xBD,0x81,0xBD,0xBD,0xBD,0xBD,0x81,0xBD,0xFF},
{0xBF,0xBF,0xBF,0x83,0x7B,0x7B,0xFB,0xBB,0xDB,0xDB,0xFB,0xFB,0xFB,0xFB,0xD7,0xEF},/*"的",0*/
{0xFD,0xFD,0x00,0xFB,0xFB,0xF0,0xF7,0xE7,0xD0,0xB7,0x77,0xF0,0xF7,0xF7,0xF7,0xF7},
{0xFF,0xFF,0x01,0xFF,0xFF,0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0xAF,0xDF},/*"有",0*/
{0xFF,0x84,0xB5,0xAD,0xAC,0x9D,0xAD,0xB4,0xB5,0xB5,0x95,0xAD,0xBD,0xBD,0xBC,0xBD},
{0xFF,0x07,0xF7,0xF7,0x07,0xF7,0xF7,0x07,0xBB,0xB7,0xCF,0xDF,0xEF,0x77,0xF9,0xFF},/*"限",0*/
{0xEF,0xEF,0xDF,0x81,0xBD,0xBD,0xBC,0xBD,0x81,0xBD,0xBD,0xBD,0xBD,0x81,0xBD,0xFF},
{0xBF,0xBF,0xBF,0x83,0x7B,0x7B,0xFB,0xBB,0xDB,0xDB,0xFB,0xFB,0xFB,0xFB,0xD7,0xEF},/*"的",0*/
{0xFE,0xEE,0xEE,0xEE,0xC0,0xDE,0xBE,0x7E,0xFE,0xC0,0xFE,0xFE,0xFE,0xFE,0x00,0xFF},
{0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0x01,0xFF},/*"生",0*/
{0xFE,0xFE,0xFD,0xFB,0xF7,0xC8,0x3F,0xFF,0xC1,0xDD,0xDD,0xDD,0xC1,0xDD,0xFF,0xFF},
{0xFF,0xFF,0x7F,0xBF,0xDF,0x27,0xF9,0xFF,0x07,0x77,0x77,0x77,0x57,0x6F,0x7F,0x7F},/*"命",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xFF,0x00,0xFE,0xFE,0xC0,0xDE,0xDE,0xC0,0xDE,0xDE,0xC0,0xEE,0xF5,0xF9,0xE6,0x1F},
{0xFF,0x01,0xFF,0xFF,0x07,0xF7,0xF7,0x07,0xF7,0xF7,0x07,0xFF,0xFF,0xFF,0x3F,0xC1},/*"更",0*/
{0xEF,0xEF,0xEF,0xEF,0x01,0xED,0xED,0xED,0xED,0xED,0xED,0xED,0xDD,0xDD,0xB5,0x7B},
{0xFF,0xFF,0xFF,0x83,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0x83,0xBB,0xFF},/*"加",0*/
{0xFD,0xFD,0x00,0xFB,0xFB,0xF0,0xF7,0xE7,0xD0,0xB7,0x77,0xF0,0xF7,0xF7,0xF7,0xF7},
{0xFF,0xFF,0x01,0xFF,0xFF,0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0xAF,0xDF},/*"有",0*/
{0xEF,0xF7,0xFF,0x00,0xFF,0xDB,0xBD,0x7E,0xDB,0xEB,0xF7,0xEB,0xDD,0xBD,0x7F,0xFE},
{0xDF,0xDF,0xDF,0xC1,0xBB,0xBB,0xBB,0x5B,0xD7,0xD7,0xEF,0xEF,0xD7,0xB7,0x7B,0xFD},/*"效",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xFE,0xFE,0xEE,0xEE,0xEE,0xE8,0xC6,0x2E,0xEE,0xEE,0xEE,0xEE,0xEF,0xEF,0xF0,0xFF},
{0xFF,0xFF,0xFF,0xCF,0x2F,0xEF,0xEF,0xEF,0xEF,0xAF,0xDF,0xFD,0xFD,0xFD,0x01,0xFF},/*"也",0*/
{0xFF,0x81,0xBD,0xBD,0x81,0xBD,0xBD,0x81,0xBF,0xB7,0xBB,0xB5,0xAD,0x9F,0xFF,0xFF},
{0xFF,0x83,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xAB,0xB7,0xBF,0xBF,0xBF,0xBF},/*"即",0*/
{0xDF,0xC0,0xB7,0x7A,0xFE,0xC0,0xFE,0xFE,0x00,0xFF,0xFF,0x80,0xF7,0xFB,0xFB,0xFF},
{0xBF,0x81,0x6F,0xF7,0xFF,0x07,0xFF,0xFF,0x01,0xFF,0xDF,0x03,0xDF,0xDF,0x5F,0xBF},/*"等",0*/
{0xFF,0xC0,0xFE,0xFE,0xFE,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFA,0xFD},
{0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"于",0*/
{0xFF,0xFF,0x06,0xF7,0xEF,0xEE,0xDE,0x86,0xF6,0xF6,0xB6,0xCE,0xEF,0xD3,0xBC,0x7F},
{0xF7,0xC3,0x1F,0xDF,0xDF,0xDF,0xC3,0xDF,0xDF,0xDF,0xDF,0x03,0xFF,0xFF,0x01,0xFF},/*"延",0*/
{0xF7,0xF7,0xF7,0xF7,0xF7,0xF6,0xF7,0x00,0xF5,0xF6,0xF7,0xF7,0xF6,0xF5,0xF3,0xF7},
{0xFF,0xEF,0xDF,0xBF,0x7F,0xFF,0xFF,0x01,0xFF,0xFF,0x7F,0xBF,0xDF,0xE7,0xF9,0xFF},/*"长",0*/
{0xFF,0x80,0xFF,0xFF,0xFF,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFA,0xFD},
{0xFF,0x07,0xEF,0xDF,0xBF,0x7F,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"了",0*/
{0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0xBF,0x7F},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0xBF,0xBF,0xDF,0xDF,0xEF,0xF7,0xFB,0xFD},/*"人",0*/
{0xEF,0xEF,0xDF,0x81,0xBD,0xBD,0xBC,0xBD,0x81,0xBD,0xBD,0xBD,0xBD,0x81,0xBD,0xFF},
{0xBF,0xBF,0xBF,0x83,0x7B,0x7B,0xFB,0xBB,0xDB,0xDB,0xFB,0xFB,0xFB,0xFB,0xD7,0xEF},/*"的",0*/
{0xFE,0xEE,0xEE,0xEE,0xC0,0xDE,0xBE,0x7E,0xFE,0xC0,0xFE,0xFE,0xFE,0xFE,0x00,0xFF},
{0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0x01,0xFF},/*"生",0*/
{0xFE,0xFE,0xFD,0xFB,0xF7,0xC8,0x3F,0xFF,0xC1,0xDD,0xDD,0xDD,0xC1,0xDD,0xFF,0xFF},
{0xFF,0xFF,0x7F,0xBF,0xDF,0x27,0xF9,0xFF,0x07,0x77,0x77,0x77,0x57,0x6F,0x7F,0x7F},/*"命",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"。",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xF7,0xE0,0xDF,0x80,0x5E,0xC0,0xDE,0xC0,0xFF,0x00,0xFF,0xE0,0xEF,0xE0,0xEF,0xE0},
{0xFF,0x1F,0xDF,0x07,0xF7,0x07,0xF7,0x07,0xFF,0x01,0xFF,0x0F,0xEF,0x0F,0xEF,0x0F},/*"鲁",0*/
{0xFF,0xB0,0xDD,0xDD,0xFD,0xFD,0x10,0xDD,0xDD,0xDD,0xDD,0xDD,0xDD,0xAF,0x70,0xFF},
{0xFF,0x1F,0xDF,0xDF,0xDF,0xDF,0x5F,0xDF,0xDB,0xEB,0xEB,0xF3,0xFB,0xFF,0x01,0xFF}/*"迅",0*/
};
const unsigned char code zm7[][16]={
/*************************************用户汉字区7********************************************
*/
{0xFE,0xFE,0xFD,0xFB,0xF7,0xCF,0x30,0xFF,0xFF,0xE0,0xEF,0xEF,0xEF,0xEF,0xE0,0xEF},
{0xFF,0xFF,0x7F,0xBF,0xDF,0xE7,0x19,0xFF,0xFF,0x0F,0xEF,0xEF,0xEF,0xEF,0x0F,0xEF},/*"合",0*/
{0xFF,0xFE,0x02,0xEE,0xEE,0xEE,0xEE,0x82,0xEF,0xEF,0xEE,0xEF,0xE3,0x1F,0xBC,0xFF},
{0xFF,0x03,0xDB,0xDB,0x03,0xDB,0xDB,0x03,0xDF,0xDF,0x03,0xDF,0xDF,0xDF,0x01,0xFF},/*"理",0*/
{0xFD,0xFE,0xC0,0xDF,0xBD,0xFD,0xFD,0x00,0xFB,0xF7,0xE7,0xF9,0xFE,0xFD,0xF3,0x8F},
{0xFF,0xFF,0x03,0xFB,0xF7,0xFF,0xFF,0x01,0xDF,0xDF,0xBF,0xBF,0x7F,0x9F,0xEF,0xF7},/*"安",0*/
{0xEF,0xEF,0xEF,0xE8,0x07,0xEF,0xEF,0xE4,0xCF,0x2F,0xEF,0xE8,0xEF,0xEF,0xAF,0xDF},
{0x6F,0x6F,0x6F,0x61,0x6F,0x6F,0x6F,0x63,0x6F,0x6F,0x6F,0x61,0x6F,0x6F,0x6F,0x6F},/*"排",0*/
{0xFF,0xFF,0x83,0xBB,0xBA,0xBB,0xBB,0x83,0xBB,0xBB,0xBB,0xBB,0x83,0xBB,0xFF,0xFF},
{0xF7,0xF7,0xF7,0xF7,0x01,0xF7,0xF7,0xF7,0x77,0xB7,0xB7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"时",0*/
{0xDF,0xEC,0xEF,0xBF,0xB8,0xBB,0xBB,0xBB,0xB8,0xBB,0xBB,0xBB,0xB8,0xBF,0xBF,0xBF},
{0xFF,0x03,0xFB,0xFB,0x3B,0xBB,0xBB,0xBB,0x3B,0xBB,0xBB,0xBB,0x3B,0xFB,0xEB,0xF7},/*"间",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xDF,0xEF,0x01,0xFF,0xFF,0x82,0xBB,0xBB,0xBB,0x83,0xEF,0xAB,0x6D,0xEE,0xAE,0xDD},
{0xBF,0xAF,0xB7,0xB7,0xBF,0x01,0xAF,0xAF,0xAF,0xAF,0x6F,0x6F,0x6D,0xED,0xF1,0xFF},/*"就",0*/
{0xDF,0xC0,0xB7,0x7A,0xFE,0xC0,0xFE,0xFE,0x00,0xFF,0xFF,0x80,0xF7,0xFB,0xFB,0xFF},
{0xBF,0x81,0x6F,0xF7,0xFF,0x07,0xFF,0xFF,0x01,0xFF,0xDF,0x03,0xDF,0xDF,0x5F,0xBF},/*"等",0*/
{0xFF,0xC0,0xFE,0xFE,0xFE,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFA,0xFD},
{0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"于",0*/
{0xF7,0xF7,0x00,0xF7,0xF7,0xFF,0x80,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD,0xFD},
{0xDF,0xDF,0x01,0xDF,0xDF,0xFF,0x07,0xF7,0xF7,0xF7,0xF7,0xAF,0xDF,0xFF,0xFF,0xFF},/*"节",0*/
{0xEF,0xEF,0xDF,0xDB,0xBA,0x05,0xEF,0xDE,0xBF,0x03,0xBF,0xFF,0xE3,0x1F,0xBF,0xFF},
{0xBF,0xBF,0x7F,0x03,0xFB,0xFB,0xFB,0xFB,0x7B,0xBB,0xBB,0xFB,0xFB,0xFB,0xD7,0xEF},/*"约",0*/
{0xFF,0xFF,0x83,0xBB,0xBA,0xBB,0xBB,0x83,0xBB,0xBB,0xBB,0xBB,0x83,0xBB,0xFF,0xFF},
{0xF7,0xF7,0xF7,0xF7,0x01,0xF7,0xF7,0xF7,0x77,0xB7,0xB7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"时",0*/
{0xDF,0xEC,0xEF,0xBF,0xB8,0xBB,0xBB,0xBB,0xB8,0xBB,0xBB,0xBB,0xB8,0xBF,0xBF,0xBF},
{0xFF,0x03,0xFB,0xFB,0x3B,0xBB,0xBB,0xBB,0x3B,0xBB,0xBB,0xBB,0x3B,0xFB,0xEB,0xF7},/*"间",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"。",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xEF,0xEF,0xEE,0xEF,0xEE,0x03,0xEF,0xEC,0xEF,0xEF,0xEE,0xE2,0x1E,0xBE,0xFE,0xFE},
{0xBF,0xDF,0x03,0xFF,0xF7,0x6F,0xFF,0x01,0xFF,0xFF,0x03,0xFB,0xFB,0xFB,0x03,0xFB},/*"培",0*/
{0xEF,0xEC,0xED,0xED,0x04,0xED,0xCD,0xC4,0xA9,0xAD,0x6D,0xED,0xED,0xED,0xEC,0xED},
{0xFF,0x07,0xF7,0xF7,0x07,0xF7,0xF7,0x07,0xBB,0xB7,0xCF,0xDF,0xEF,0x77,0xF9,0xFF},/*"根",0*/
};
const unsigned char code zm8[][16]={
/*************************************用户汉字区8********************************************
*/
{0xFF,0xFF,0xC0,0xDF,0xDF,0xC1,0xDD,0xDD,0xB5,0xBB,0x7E,0xC0,0xDB,0xDB,0x00,0xFF},
{0x6F,0x77,0x03,0x7F,0x77,0xB7,0xAF,0xDB,0xAB,0x73,0xFB,0x07,0xB7,0xB7,0x01,0xFF},/*"盛",0*/
{0xEF,0xEF,0xE0,0xDF,0xDF,0xBF,0xE0,0xEF,0xEF,0xEF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0x03,0x7F,0x7F,0x7F,0x07,0x7F,0x7F,0x7F,0x01,0x7F,0x7F,0x7F,0x7F,0x7F},/*"年",0*/
{0xFF,0x80,0xFF,0xFF,0xFE,0xFE,0xFC,0xFA,0xF6,0xEE,0xDE,0xBE,0x7E,0xFE,0xFE,0xFE},
{0xFF,0x03,0x7F,0x7F,0xFF,0xFF,0xBF,0xDF,0xEF,0xF7,0xFB,0xFB,0xFF,0xFF,0xFF,0xFF},/*"不",0*/
{0xFF,0xFF,0xC0,0xFE,0x00,0xFE,0xE0,0xEE,0xE0,0xEE,0xE0,0xFE,0xC0,0xFE,0x00,0xFF},
{0xEF,0x07,0xFF,0xFF,0x01,0xFF,0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0x07,0xFF,0x01,0xFF},/*"重",0*/
{0xFE,0xFE,0xFE,0x80,0xFE,0xEE,0xF6,0xF6,0x00,0xFC,0xFA,0xF6,0xCE,0x3E,0xFE,0xFE},
{0xFF,0xFF,0xFF,0x03,0xFF,0xEF,0xEF,0xDF,0x01,0x7F,0xBF,0xDF,0xE7,0xF9,0xFF,0xFF},/*"来",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"一",0*/
{0xFF,0xE0,0xEF,0xEF,0xEF,0xEF,0xEF,0xE0,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xE0,0xEF},
{0xFF,0x0F,0xEF,0xEF,0xEF,0xEF,0xEF,0x0F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0x0F,0xEF},/*"日",0*/
{0xFF,0xFF,0x03,0xFA,0xFA,0xB4,0xD2,0xD6,0xEE,0xEE,0xD6,0xDA,0xBA,0x7E,0xFE,0xFE},
{0x5F,0x6F,0x7F,0x01,0xEF,0xEF,0x03,0xEF,0xEF,0x03,0xEF,0xEF,0xEF,0x01,0xFF,0xFF},/*"难",0*/
{0xFF,0x00,0xFE,0xFE,0xC0,0xDE,0xDE,0xC0,0xDE,0xDE,0x00,0xDF,0xDF,0xDF,0xDF,0xDF},
{0xFF,0x01,0xFF,0xFF,0x07,0xF7,0xF7,0x07,0xF7,0xF7,0x01,0xF7,0xF7,0xF7,0xD7,0xEF},/*"再",0*/
{0xE0,0xEF,0xE0,0xEF,0xE0,0xFF,0xC0,0xDF,0xD0,0xDF,0xC0,0xD6,0xD7,0xB7,0xB5,0x73},
{0x0F,0xEF,0x0F,0xEF,0x0F,0xFF,0x03,0xFF,0x07,0xFF,0x01,0xF7,0x6F,0x9F,0xE7,0xF9},/*"晨",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*";",0*/
{0xFF,0xC0,0xF7,0xF7,0xF7,0xF7,0xF3,0xF5,0xF5,0xF6,0xEE,0xEF,0xDF,0xDF,0xBC,0x73},
{0xFF,0x1F,0xDF,0xDF,0xBF,0xBF,0x07,0xF7,0xF7,0xEF,0xEF,0x5F,0xBF,0x5F,0xE7,0xF9},/*"及",0*/
{0xFF,0xFF,0x83,0xBB,0xBA,0xBB,0xBB,0x83,0xBB,0xBB,0xBB,0xBB,0x83,0xBB,0xFF,0xFF},
{0xF7,0xF7,0xF7,0xF7,0x01,0xF7,0xF7,0xF7,0x77,0xB7,0xB7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"时",0*/
{0xFE,0xDE,0xEE,0xF6,0xF6,0xFE,0x80,0xFF,0xFF,0xFF,0xC0,0xFF,0xFF,0xFF,0x80,0xFF},
{0xFF,0xF7,0xF7,0xEF,0xDF,0xFF,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0x07,0xF7},/*"当",0*/
{0xDF,0xDF,0xC1,0xBB,0x77,0x80,0xB6,0xB6,0xB6,0x80,0xEB,0xEB,0xDA,0xDB,0xBC,0x7F},
{0xDF,0xDF,0xDF,0xDF,0x03,0xDB,0xDB,0xDB,0xDB,0xBB,0xBB,0x6B,0xF5,0xFD,0x01,0xFF},/*"勉",0*/
{0xFF,0x80,0xBF,0xBF,0xA0,0xB7,0xB7,0xB0,0xB6,0xB6,0xB6,0xB6,0xB6,0xAE,0x6A,0xDD},
{0xEF,0x2F,0xEF,0xEF,0x81,0xED,0xED,0xED,0xED,0xED,0xED,0xED,0xED,0xDD,0xD5,0xBB},/*"励",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xFE,0xDE,0xDE,0xDE,0xC0,0xFD,0xFD,0xF8,0xF7,0xEB,0xDD,0xFE,0xFF,0xFC,0xE3,0x1F},
{0xFF,0xF7,0xF7,0xF7,0x07,0xFF,0xFF,0x0F,0xEF,0xEF,0xDF,0xBF,0x7F,0xFF,0xFF,0xFF},/*"岁",0*/
{0xFF,0xE0,0xEF,0xEF,0xEF,0xE0,0xEF,0xEF,0xEF,0xE0,0xEF,0xEF,0xDF,0xDF,0xBF,0x7F},
{0xFF,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0x07,0xF7,0xF7,0xF7,0xF7,0xD7,0xEF},/*"月",0*/
{0xFF,0x80,0xFF,0xFF,0xFE,0xFE,0xFC,0xFA,0xF6,0xEE,0xDE,0xBE,0x7E,0xFE,0xFE,0xFE},
{0xFF,0x03,0x7F,0x7F,0xFF,0xFF,0xBF,0xDF,0xEF,0xF7,0xFB,0xFB,0xFF,0xFF,0xFF,0xFF},/*"不",0*/
{0xF7,0xF7,0xEF,0xDC,0xB7,0xF7,0xE8,0xCF,0xAF,0x68,0xEF,0xED,0xEE,0xEE,0xEF,0xEF},
{0xBF,0xBF,0xBF,0x03,0xBF,0xBF,0x01,0xEF,0xEF,0x01,0xEF,0xEF,0xEF,0xEF,0xAF,0xDF},/*"待",0*/
{0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFD,0xFD,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0xBF,0x7F},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x7F,0x7F,0xBF,0xBF,0xDF,0xDF,0xEF,0xF7,0xFB,0xFD},/*"人",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"。",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFE,0x86,0xB6,0xAD,0xAA,0x9E,0xAD,0xB7,0xB0,0xB7,0x95,0xAD,0xBC,0xBF,0xBF,0xBF},
{0xFF,0xFF,0x03,0xFB,0xFB,0x1B,0x7B,0x7B,0x0B,0x7B,0x5B,0x5B,0x1B,0xFB,0xD7,0xEF},/*"陶",0*/
{0xFB,0xDB,0xE9,0xEA,0x7A,0xBB,0xB8,0xEB,0xEB,0xDB,0x1A,0xDA,0xD9,0xD7,0xD7,0xEF},
{0xBB,0xBB,0xAB,0xAB,0x9B,0xBB,0x03,0xBB,0x3B,0x1B,0xAB,0xAB,0xBB,0xBB,0xBB,0xBB},/*"渊",0*/
{0xFF,0xFF,0x83,0xBB,0xBB,0xBB,0x83,0xBB,0xBB,0xBB,0x83,0xBB,0xFE,0xFE,0xFD,0xFB},
{0xFF,0x03,0x7B,0x7B,0x7B,0x03,0x7B,0x7B,0x7B,0x03,0x7B,0x7B,0xFB,0xFB,0xEB,0xF7}/*"明",0*/
};
const unsigned char code zm9[][16]={
/*************************************用户汉字区9********************************************
*/
{0xFE,0xFE,0xFE,0xF6,0xF6,0xEE,0xEE,0xDE,0xBE,0xFE,0xFF,0xFF,0xFE,0xFD,0xF3,0x8F},
{0xFF,0xFF,0xFF,0xDF,0xEF,0xF7,0xFB,0xEB,0xEF,0xDF,0xBF,0x7F,0xFF,0xFF,0xFF,0xFF},/*"少",0*/
{0xEF,0xEF,0xE0,0xDF,0xDF,0xBF,0xE0,0xEF,0xEF,0xEF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0x03,0x7F,0x7F,0x7F,0x07,0x7F,0x7F,0x7F,0x01,0x7F,0x7F,0x7F,0x7F,0x7F},/*"年",0*/
{0xF0,0xF7,0xF7,0xF0,0xF7,0xF7,0xF0,0xFB,0xF7,0xE0,0xDD,0xBD,0xFB,0xF7,0xEE,0xFD},
{0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0xFF,0xFF,0x03,0xBB,0xBB,0x7B,0x7B,0xD7,0xEF},/*"易",0*/
{0xDD,0xEE,0xEE,0xFF,0x80,0xBF,0x7F,0xE0,0xFF,0xFE,0x00,0xFE,0xFE,0xFE,0xFA,0xFD},
{0xF7,0xF7,0xEF,0xDF,0x01,0xFD,0xFB,0x1F,0xBF,0x7F,0x01,0xFF,0xFF,0xFF,0xFF,0xFF},/*"学",0*/
{0xFD,0xFD,0xC0,0xFD,0xFD,0x00,0xFE,0xFD,0xF3,0xE7,0xD0,0xB7,0x77,0xF7,0xF8,0xFF},
{0xFF,0xF7,0x2F,0xDF,0xBF,0x01,0xFF,0xFF,0xEF,0x1F,0xFF,0xF7,0xF7,0xF7,0x07,0xFF},/*"老",0*/
{0xFF,0xFF,0x03,0xFA,0xFA,0xB4,0xD2,0xD6,0xEE,0xEE,0xD6,0xDA,0xBA,0x7E,0xFE,0xFE},
{0x5F,0x6F,0x7F,0x01,0xEF,0xEF,0x03,0xEF,0xEF,0x03,0xEF,0xEF,0xEF,0x01,0xFF,0xFF},/*"难",0*/
{0xFF,0xFF,0xFF,0xC0,0xDF,0xDF,0xDF,0xC1,0xDD,0xDD,0xDD,0xDD,0xD5,0xBB,0xBF,0x7E},
{0xAF,0xB7,0xBF,0x01,0xBF,0xBF,0xBB,0xBB,0xBB,0xD7,0xD7,0xED,0xCD,0xB5,0x79,0xFD},/*"成",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"一",0*/
{0xFF,0xFF,0xFF,0xFF,0x00,0xFF,0xFF,0xFF,0xEF,0xF7,0xF7,0xFF,0xFF,0xFF,0xFE,0xFF},
{0xBF,0xBF,0xBF,0xBF,0x01,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0xBF,0x7F},/*"寸",0*/
{0xFE,0xDE,0xEE,0xF6,0xF6,0xFE,0x00,0xFB,0xFB,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0x3F},
{0xFF,0xF7,0xF7,0xEF,0xDF,0xFF,0x01,0xBF,0xBF,0xBF,0xBF,0xBD,0xBD,0xBD,0xC1,0xFF},/*"光",0*/
{0xFF,0x82,0xBA,0xB6,0xB6,0xAE,0xB6,0xB6,0xBA,0xBA,0xBA,0x96,0xAD,0xBD,0xBB,0xB7},
{0xFF,0x03,0xFB,0xFB,0xFB,0x03,0xFB,0xFB,0xFB,0x03,0xFB,0xFB,0xFB,0xFB,0xEB,0xF7},/*"阴",0*/
{0xFF,0x80,0xFF,0xFF,0xFE,0xFE,0xFC,0xFA,0xF6,0xEE,0xDE,0xBE,0x7E,0xFE,0xFE,0xFE},
{0xFF,0x03,0x7F,0x7F,0xFF,0xFF,0xBF,0xDF,0xEF,0xF7,0xFB,0xFB,0xFF,0xFF,0xFF,0xFF},/*"不",0*/
{0xFF,0x80,0xFF,0xFF,0xE0,0xEE,0xEE,0xEE,0xEE,0xEE,0xE0,0xEE,0xFF,0xFF,0xFF,0xFF},
{0xFF,0x01,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xAF,0xDF},/*"可",0*/
{0xDF,0xDE,0xDF,0x03,0xBF,0xAF,0x6F,0x00,0xEF,0xEE,0xE3,0x0F,0xAF,0xEF,0xEC,0xEF},
{0xFF,0x03,0xF7,0xEF,0xCF,0xB7,0x7B,0xFD,0xFF,0x03,0xDF,0xDF,0xDF,0xDF,0x01,0xFF},/*"轻",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"。",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFE,0xEE,0xEE,0xE0,0xDE,0xBE,0xFE,0x00,0xFC,0xFA,0xF6,0xEE,0xDE,0x3E,0xFE,0xFE},
{0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0x01,0x7F,0xBF,0xDF,0xEF,0xF7,0xF9,0xFF,0xFF},/*"朱",0*/
{0xFE,0x80,0xFE,0xC0,0xFF,0xC0,0xDF,0xC0,0xF7,0x00,0xFF,0xC0,0xDF,0xC0,0xDB,0xBD},
{0xFF,0x03,0xFF,0x07,0xFF,0x07,0xF7,0x07,0xDF,0x01,0xFF,0x07,0xF7,0x07,0x77,0xBB}/*"熹",0*/
};
const unsigned char code zm10[][16]={
/*************************************用户汉字区10********************************************
*/
{0xFF,0x80,0xFD,0xFD,0xC0,0xFB,0xFB,0xF7,0x00,0xFF,0xE0,0xEF,0xEF,0xEF,0xE0,0xEF},
{0xFF,0x03,0xFF,0xFF,0x0F,0xEF,0xEF,0xEF,0x01,0xFF,0x0F,0xEF,0xEF,0xEF,0x0F,0xEF},/*"吾",0*/
{0xFE,0xEE,0xEE,0xEE,0xC0,0xDE,0xBE,0x7E,0xFE,0xC0,0xFE,0xFE,0xFE,0xFE,0x00,0xFF},
{0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0x07,0xFF,0xFF,0xFF,0xFF,0x01,0xFF},/*"生",0*/
{0xFE,0xFE,0xEE,0xEE,0xEE,0xE8,0xC6,0x2E,0xEE,0xEE,0xEE,0xEE,0xEF,0xEF,0xF0,0xFF},
{0xFF,0xFF,0xFF,0xCF,0x2F,0xEF,0xEF,0xEF,0xEF,0xAF,0xDF,0xFD,0xFD,0xFD,0x01,0xFF},/*"也",0*/
{0xFD,0xFD,0x00,0xFB,0xFB,0xF0,0xF7,0xE7,0xD0,0xB7,0x77,0xF0,0xF7,0xF7,0xF7,0xF7},
{0xFF,0xFF,0x01,0xFF,0xFF,0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0x0F,0xEF,0xEF,0xAF,0xDF},/*"有",0*/
{0xFF,0xD8,0xEB,0xEB,0x7A,0xBB,0xBB,0xE8,0xEB,0xDB,0x1B,0xDA,0xDB,0xD7,0xD4,0xEF},
{0xFF,0x01,0xDF,0xDF,0x03,0xDF,0xDF,0x01,0xFF,0xDF,0xDF,0x03,0xDF,0xDF,0x01,0xFF},/*"涯",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xCF,0xCF,0xEF,0xDF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*",",0*/
{0xFF,0x80,0xFE,0xFE,0xFD,0xC0,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDB,0xDF,0xDF},
{0xFF,0x03,0xFF,0xFF,0xFF,0x07,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0x77,0xD7,0xEF},/*"而",0*/
{0xDF,0xDF,0xDF,0x81,0xB7,0x77,0xF7,0xF7,0x00,0xF7,0xEB,0xEB,0xDD,0xDD,0xBD,0x7F},
{0xFF,0xFF,0x83,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0xBB,0x83,0xBB,0xFF,0xFF},/*"知",0*/
{0xFE,0xFE,0xEE,0xEE,0xEE,0xE8,0xC6,0x2E,0xEE,0xEE,0xEE,0xEE,0xEF,0xEF,0xF0,0xFF},
{0xFF,0xFF,0xFF,0xCF,0x2F,0xEF,0xEF,0xEF,0xEF,0xAF,0xDF,0xFD,0xFD,0xFD,0x01,0xFF},/*"也",0*/
{0xFF,0xC0,0xFD,0xFD,0xFD,0xFD,0x80,0xFB,0xFB,0xFB,0xF7,0xF7,0xEF,0xDF,0xBF,0x7F},
{0xFF,0x0F,0xFF,0xFF,0xFF,0xFF,0x03,0x7F,0x7F,0x7F,0x7F,0x7F,0x7B,0x7B,0x83,0xFF},/*"无",0*/
{0xFF,0xD8,0xEB,0xEB,0x7A,0xBB,0xBB,0xE8,0xEB,0xDB,0x1B,0xDA,0xDB,0xD7,0xD4,0xEF},
{0xFF,0x01,0xDF,0xDF,0x03,0xDF,0xDF,0x01,0xFF,0xDF,0xDF,0x03,0xDF,0xDF,0x01,0xFF},/*"涯",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xE7,0xDB,0xDB,0xE7,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"。",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x80,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},
{0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x03,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF},/*"—",0*/
{0xFE,0xFF,0xFF,0xC0,0xDF,0xDF,0xDF,0xDF,0xD0,0xDF,0xDF,0xDF,0xDF,0xBF,0xA0,0x7F},
{0xFF,0x7F,0x7F,0x03,0xFF,0x7F,0x7F,0x7F,0x03,0x7F,0x7F,0x7F,0x7F,0x7F,0x01,0xFF},/*"庄",0*/
{0xFF,0x80,0xFF,0xFF,0xFF,0xFE,0xFE,0x00,0xFE,0xFE,0xFE,0xFE,0xFE,0xFE,0xFA,0xFD},
{0xFF,0x07,0xEF,0xDF,0xBF,0x7F,0xFF,0x01,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF}/*"子",0*/
};
/*******************在字模数组赋值后计算字模行数************************/
void zmlenjs()
{
zm1len=sizeof(zm1)/sizeof(zm1[0]);//字模1数组总大小除以一行的大小
zm2len=sizeof(zm2)/sizeof(zm2[0]);//字模2数组总大小除以一行的大小
zm3len=sizeof(zm3)/sizeof(zm3[0]);//字模3数组总大小除以一行的大小
zm4len=sizeof(zm4)/sizeof(zm4[0]);//字模4数组总大小除以一行的大小
zm5len=sizeof(zm5)/sizeof(zm5[0]);//字模5数组总大小除以一行的大小
zm6len=sizeof(zm6)/sizeof(zm6[0]);//字模6数组总大小除以一行的大小
zm7len=sizeof(zm7)/sizeof(zm7[0]);//字模7数组总大小除以一行的大小
zm8len=sizeof(zm8)/sizeof(zm8[0]);//字模8数组总大小除以一行的大小
zm9len=sizeof(zm9)/sizeof(zm9[0]);//字模9数组总大小除以一行的大小
zm10len=sizeof(zm10)/sizeof(zm10[0]);//字模10数组总大小除以一行的大小
}
#endif
遥控
一、核心功能:
解码NEC协议的红外遥控信号,并将特定按键码映射为程序可用的标志位变量。
二、代码逻辑与流程:
-
中断触发:红外接收器的数据线连接至
P3^2(外部中断0引脚)。当收到红外信号时,触发IR_IN中断服务函数。 -
信号确认与引导码处理:
-
进入中断后,先关闭其他可能的中断(
EX0, EX1, ET0),防止干扰解码。 -
延时等待并检测引脚电平,确认是否为有效的红外信号起始(9ms低电平引导码)。若无效,则恢复中断并返回。
-
跳过剩余的引导码(等待9ms低电平结束和4.5ms高电平结束)。
-
-
数据解码:
-
循环接收4字节(32位)数据(用户码、用户反码、按键码、按键反码)。
-
对每个数据位:通过测量高电平脉冲的持续时间来区分逻辑‘0’(约0.56ms)和逻辑‘1’(约1.69ms)。方法是使用
delay(170)(约0.14ms)进行计数(N)。 -
根据计数值
N判断位值,并将数据位右移存入接收数组IRCOM。
-
-
数据校验与按键映射:
-
完成接收后,验证按键码(
IRCOM[2])与其反码(IRCOM[3])是否匹配。若不匹配,视为错误并恢复中断返回。 -
若校验通过,则根据按键码(
IRCOM[2])的值,设置对应的全局标志变量(如ykcd,ykjia等)。这些标志用于通知主程序哪个遥控按键被按下。
-
-
后续处理与中断恢复:
-
调用
yaokongchuli()函数(需在外部定义)进行进一步的按键处理。 -
最后,重新打开所有之前关闭的中断,并从中断返回。
-
三、关键点:
-
采用外部中断实现实时响应。
-
解码逻辑基于NEC协议的脉宽调制特点。
-
使用全局变量(
ykcd,ykjia等)作为遥控按键的按下标志,实现中断服务函数与主程序之间的通信。
#ifndef _yaokong_h_
#define _yaokong_h_
sbit IRIN = P3^2; //红外接收器数据线
unsigned char xdata IRCOM[7];
extern unsigned char xdata ykcd;
extern unsigned char xdata ykjia;
extern unsigned char xdata ykjian;
extern unsigned char xdata ykexit;
extern unsigned char xdata ykcdc;
extern unsigned char xdata ykjiac;
extern unsigned char xdata ykjianc;
extern unsigned char xdata ykexitc;
void yaokongchuli();
void IR_IN(void) interrupt 0
{
unsigned char j,k,N=0;
EX0 = 0;EX1 = 0;ET0 = 0;
delay(170);delay(170);delay(170);delay(170);delay(170);
if (IRIN==1)
{
EX0 =1;EX1=1;ET0=1;
return;
}
//确认IR信号出现
while (!IRIN) {delay(170);} //等IR变为高电平,跳过9ms的前导低电平信号。
for (j=0;j<4;j++) //收集四组数据
{
for (k=0;k<8;k++) //每组数据有8位
{
while (IRIN) {delay(170);} //等 IR 变为低电平,跳过4.5ms的前导高电平信号。
while (!IRIN) {delay(170);} //等 IR 变为高电平
while (IRIN) //计算IR高电平时长
{
delay(170);
N++;
if (N>=30)
{
EX0=1;EX1=1;ET0=1;
return;
} //0.14ms计数过长自动离开。
} //高电平计数完毕
IRCOM[j]=IRCOM[j] >> 1; //数据最高位补“0”
if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;} //数据最高位补“1”
N=0;
}//end for k
}//end for j
if (IRCOM[2]!=~IRCOM[3])
{
EX0=1;EX1=1; ET0=1;
return;
}
switch(IRCOM[2])
{
case 0x46:ykcd=1;break;
case 0x40:ykjia=1;break;
case 0x15:ykjian=1;break;
case 0x19:ykexit=1;break;
case 0x47:ykcdc=1;break;
case 0x43:ykjiac=1;break;
case 0x09:ykjianc=1;break;
case 0x0d:ykexitc=1;
}
yaokongchuli();
EX0 = 1; EX1=1; ET0=1;
}
#endif
更多推荐


所有评论(0)