找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1388|回复: 5
打印 上一主题 下一主题
收起左侧

求解光立方怎么接

[复制链接]
跳转到指定楼层
楼主
淘宝上买的,发现根本不会接,谢谢各位大神啦

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:164602 发表于 2018-3-10 18:50 | 只看该作者
应该找卖家啊。
卖家通常都应该有资料附送的。
这个主要是灯立体空间,不太好焊接,板子上的还是很好焊接的。
我刚才看了几款,就是没有资料,也可以从卖家的图片中看出一些接法。

评分

参与人数 1黑币 +50 收起 理由
admin + 50 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

板凳
ID:155507 发表于 2018-3-11 15:15 | 只看该作者
卖家附送的资料。

  1. /*---------------------------------------------------------------------------------------------------
  2. * 上升沿电子科技
  3. * 时间2015.8.1
  4. -----------------------------------------------------------------------------------------------------*/

  5. //Build target 'Target 1'
  6. //compiling stc8x8x8.c...
  7. //linking...
  8. //Program Size: data=17.1 xdata=355 code=53475
  9. //creating hex file from "stc8x8x8"...
  10. //"stc8x8x8" - 0 Error(s), 0 Warning(s).
  11. //没有关闭本店字样的显示函数 FLASH_12        FLASH_14  FLASH_18 如果需要自己关闭函数即可



  12. #include "STC12C5A.H"  //包含单片机的头文件使用KEIL必须添加进来否则编译不了
  13. #include "intrins.h"   //包含NOP延时头文件
  14. #define uchar unsigned char         
  15. #define uint unsigned int         
  16. #define nop() _nop_();_nop_();
  17. #define  NOP() _nop_()          /* 定义空指令 */

  18. void key_baihei_scan();  
  19. void key_shangwiej_scan();   
  20. void key_donghua_scan();       
  21. void key_yinyue_scan();
  22. void box(unsigned char x1,unsigned char z1,unsigned char y1,unsigned char x2,unsigned char z2,unsigned char y2,unsigned char fill,unsigned char le);
  23. /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
  24. sbit AD=P1^0;                 //定义音频输入接口
  25. sbit GM=P1^1;                 //定义光敏输入接口

  26. sbit K1=P0^0;                 //定义功能按键接口
  27. sbit K2=P0^1;                 //定义功能按键接口
  28. sbit K3=P0^2;                 //定义功能按键接口
  29. sbit K4=P0^3;                 //定义功能按键接口

  30. sbit PWM_POW=P4^4;   //定义PWM呼吸小夜灯和主板电源指示灯功能接口 低电平
  31. sbit IRIN=P3^2;           //红外线信号接口

  32. /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
  33. sbit M_HR_DS0=P1^4;          //模拟数据发送端口
  34. sbit M_LR_DS0=P1^5;          //模拟数据发送端口


  35. sbit M_HG_DS0=P1^6;          //模拟数据发送端口
  36. sbit M_LG_DS0=P0^7;          //模拟数据发送端口

  37. sbit CLK=P1^3;    //模拟时钟控制端口
  38. sbit SUO=P1^2;          //模拟锁存信号端口
  39. /*$-_-$_-_$-_-$_-_$-_-$_-_$-_-$_-_$-_-$_-_$-_-$_-_$-_-$_-_$-_-$_-_$-_-$_-_$-_-$_-_$*/

  40. sbit M_A=P3^4;          //行数据扫描信号
  41. sbit M_B=P3^5;          //行数据扫描信号
  42. sbit M_C=P3^6;          //行数据扫描信号
  43. sbit M_D=P3^7;          //行数据扫描信号
  44. sbit M_EN=P1^7;   //行数据扫描信号
  45. /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
  46. unsigned char displayck[]=
  47. {
  48. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  49. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  50. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  51. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  52. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  53. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  54. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  55. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  56. };
  57. unsigned char shuzu8X8[]=
  58. {
  59. 0XBD,0X85,0X85,0XBD,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  60. 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  61. 0XA1,0XA1,0XA1,0XBD,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  62. 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,0X00,
  63. };

  64. /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
  65. uchar xdata display[8][8];
  66. uchar xdata msd=4;
  67. uint ld=500;
  68. uchar test=0,key1=0,key2=0,key3=0,key4=0;
  69. bit pu;
  70. uchar xsdsq=0;
  71. uchar cd=0,cnt=0,errd_flag=0,read_flag=0,layerr=0,saom=0;
  72. unsigned char IRCOM[7];
  73. unsigned int CYCLE=100,PWM_LOW=1110,shan=0,shuzi1=0,shuzi2=0,shuzi3=0,shuzi4=0,m=0;//定义周期并赋值

  74. void delay(unsigned int i);      //函数声名  
  75. void IRInit();                                      
  76. void IRdelay(char x);

  77. /*rank:A,1,2,3,4,I,心,U*/
  78. uchar code table_cha[8][8]=
  79. {
  80. 0x51,0x51,0x51,0x4a,0x4a,0x4a,0x44,0x44,
  81. 0x18,0x1c,0x18,0x18,0x18,0x18,0x18,0x3c,
  82. 0x3c,0x66,0x66,0x30,0x18,0x0c,0x06,0x7e,
  83. 0x3c,0x66,0x60,0x38,0x60,0x60,0x66,0x3c,
  84. 0x30,0x38,0x3c,0x3e,0x36,0x7e,0x30,0x30,
  85. 0x3c,0x3c,0x18,0x18,0x18,0x18,0x3c,0x3c,
  86. 0x66,0xff,0xff,0xff,0x7e,0x3c,0x18,0x18,
  87. 0x66,0x66,0x66,0x66,0x66,0x66,0x7e,0x3c,
  88. };
  89. /*the "ideasoft"*/
  90. /*rank:A,1,2,3,4,I,心,U*////开机的LOGO显示字符字模提取PLC2002
  91. uchar code table_cha_sj[8][8]=
  92. {
  93. 0x08,0x08,0x78,0x08,0x08,0x08,0x08,0xFF,/*"上",0*/
  94. 0x18,0x04,0x22,0x24,0xFF,0x24,0x24,0x24,/*"升",0*/
  95. 0x78,0x49,0xCE,0x00,0xFF,0x84,0x86,0xFD,/*"沿",0*/
  96. 0x3C,0x42,0xA5,0xDB,0x81,0x99,0x42,0x3C,/*"笑脸",0*/
  97. 0x3C,0x42,0xA5,0xDB,0x81,0x99,0x42,0x3C,/*"笑脸",0*/
  98. 0x08,0x2A,0x2A,0xFF,0x14,0x14,0x96,0x71,/*"光",0*/
  99. 0x08,0x7F,0x22,0x22,0x24,0x14,0x14,0xFF,/*"立",0*/
  100. 0x08,0xFF,0x04,0x7C,0x44,0x44,0x42,0x31,/*"方",0*/
  101. };
  102. /*rank:3,D,C,L,U,E,F,F,T*///开机的LOGO显示字符字模提取PLC2002
  103. uchar code table_cha_cu[9][8]=
  104. {
  105. 0x7E,0x40,0x40,0x7C,0x7C,0x40,0x40,0x7E,/*"3",0*/
  106. 0x00,0x3C,0x44,0x44,0x44,0x44,0x44,0x3C,/*"D",0*/
  107. 0x00,0x3C,0x02,0x02,0x02,0x02,0x02,0x3C,/*"C",0*/
  108. 0x00,0x04,0x04,0x04,0x04,0x04,0x04,0x7C,/*"L",0*/
  109. 0x00,0x42,0x42,0x42,0x42,0x42,0x42,0x3C,/*"U",0*/
  110. 0x00,0x7E,0x02,0x02,0x7E,0x02,0x02,0x7E,/*"E",0*/
  111. 0x78,0x04,0x04,0x04,0x7C,0x04,0x04,0x04,/*"F",0*/
  112. 0x78,0x04,0x04,0x04,0x7C,0x04,0x04,0x04,/*"F",0*/
  113. 0x00,0x7E,0x18,0x18,0x18,0x18,0x18,0x18,/*"T",0*/
  114. };
  115. uchar code table_id[40]=
  116. {
  117. 0x81,0xff,0x81,0x00,0xff,0x81,0x81,0x7e,
  118. 0x00,0xff,0x89,0x89,0x00,0xf8,0x27,0x27,
  119. 0xf8,0x00,0x8f,0x89,0x89,0xf9,0x00,0xff,
  120. 0x81,0x81,0xff,0x00,0xff,0x09,0x09,0x09,
  121. 0x01,0x00,0x01,0x01,0xff,0x01,0x01,0x00,
  122. };
  123. /*the "ideasoft"*///侧面移动显示字符取摸plc2002
  124. uchar code table_yd[120]={
  125. 0x08,0x08,0x78,0x08,0x08,0x08,0x08,0xFF,/*"上",0*/
  126. 0x18,0x04,0x22,0x24,0xFF,0x24,0x24,0x24,/*"升",0*/
  127. 0x78,0x49,0xCE,0x00,0xFF,0x84,0x86,0xFD,/*"沿",0*/
  128. 0x7E,0x2A,0x2A,0xFF,0xAA,0xAA,0xBE,0x40,/*"电",0*/
  129. 0x09,0x49,0x89,0xFD,0x0B,0x0B,0x09,0x08,/*"子",0*/
  130. 0x00,0x7C,0x92,0x92,0x92,0x92,0x7C,0x00,/*"8",0*/
  131. 0x00,0x42,0x24,0x18,0x18,0x24,0x42,0x00,/*"x",0*/
  132. 0x00,0x7C,0x92,0x92,0x92,0x92,0x7C,0x00,/*"8",0*/
  133. 0x00,0x42,0x24,0x18,0x18,0x24,0x42,0x00,/*"x",0*/
  134. 0x00,0x7C,0x92,0x92,0x92,0x92,0x7C,0x00,/*"8",0*/
  135. 0x88,0x4E,0x78,0x0F,0xF8,0x8E,0x88,0x48,/*"光",0*/
  136. 0x82,0x8E,0xF2,0x83,0xE2,0x9E,0x82,0x80,/*"立",0*/
  137. 0x82,0x42,0x3E,0x0B,0x8A,0x8A,0x7A,0x02,/*"方",0*/
  138. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  139. };
  140. /*railway*/
  141. uchar code dat[128]=
  142. {
  143. 0x00,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,
  144. 0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,
  145. 0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,
  146. 0x10,0x0c,0x08,0x04,0x25,0x45,0x65,0x85,
  147. 0xa5,0xc5,0xc9,0xcd,0xd1,0xd5,0xd9,0xb9,
  148. 0x99,0x79,0x59,0x39,0x35,0x31,0x2d,0x29,
  149. 0x4a,0x6a,0x8a,0xaa,0xae,0xb2,0xb6,0x96,
  150. 0x76,0x56,0x52,0x4e,0x6f,0x8f,0x93,0x73,
  151. 0x6f,0x8f,0x93,0x73,0x4a,0x6a,0x8a,0xaa,
  152. 0xae,0xb2,0xb6,0x96,0x76,0x56,0x52,0x4e,
  153. 0x25,0x45,0x65,0x85,0xa5,0xc5,0xc9,0xcd,
  154. 0xd1,0xd5,0xd9,0xb9,0x99,0x79,0x59,0x39,
  155. 0x35,0x31,0x2d,0x29,0x00,0x20,0x40,0x60,
  156. 0x80,0xa0,0xc0,0xe0,0xe4,0xe8,0xec,0xf0,
  157. 0xf4,0xf8,0xfc,0xdc,0xbc,0x9c,0x7c,0x5c,
  158. 0x3c,0x1c,0x18,0x14,0x10,0x0c,0x08,0x04,
  159. };
  160. /*railway 2*/
  161. uchar code dat2[28]=
  162. {
  163. 0x00,0x20,0x40,0x60,0x80,0xa0,0xc0,0xe0,
  164. 0xe4,0xe8,0xec,0xf0,0xf4,0xf8,0xfc,0xdc,
  165. 0xbc,0x9c,0x7c,0x5c,0x3c,0x1c,0x18,0x14,
  166. 0x10,0x0c,0x08,0x04,
  167. };
  168. /*railway 3*/
  169. uchar code dat3[24]=
  170. {
  171. 0x00,0x01,0x02,0x03,0x04,0x05,0x06,0x16,
  172. 0x26,0x36,0x46,0x56,0x66,0x65,0x64,0x63,
  173. 0x62,0x61,0x60,0x50,0x40,0x30,0x20,0x10,
  174. };
  175. /*3p char*/
  176. uchar code table_3p[3][8]=
  177. {
  178. 0xff,0x89,0xf5,0x93,0x93,0xf5,0x89,0xff,
  179. 0x0e,0x1f,0x3f,0x7e,0x7e,0x3f,0x1f,0x0e,
  180. 0x18,0x3c,0x7e,0xff,0x18,0x18,0x18,0x18,
  181. };
  182. /*3p char*///飘雪打字显示字符取摸plc2002
  183. uchar code table_3p_zf[11][8]={
  184. 0x88,0x4E,0x78,0x0F,0xF8,0x8E,0x88,0x48,/*"光",0*/
  185. 0x82,0x8E,0xF2,0x83,0xE2,0x9E,0x82,0x80,/*"立",0*/
  186. 0x82,0x42,0x3E,0x0B,0x8A,0x8A,0x7A,0x02,/*"方",0*/
  187. 0x00,0x7C,0x92,0x92,0x92,0x92,0x7C,0x00,/*"8",0*/
  188. 0x00,0x42,0x24,0x18,0x18,0x24,0x42,0x00,/*"x",0*/
  189. 0x00,0x7C,0x92,0x92,0x92,0x92,0x7C,0x00,/*"8",0*/
  190. 0x00,0x42,0x24,0x18,0x18,0x24,0x42,0x00,/*"x",0*/
  191. 0x00,0x7C,0x92,0x92,0x92,0x92,0x7C,0x00,/*"8",0*/
  192. 0x00,0x00,0xC3,0xFF,0xFF,0xC3,0x00,0x00,//i
  193. 0x0e,0x1f,0x3f,0x7e,0x7e,0x3f,0x1f,0x0e,
  194. 0x00,0x7F,0xFF,0x80,0x80,0xFF,0x7F,0x00,//u
  195. };
  196. unsigned int voivol(unsigned int n);
  197. void sendbyte(unsigned int num1,unsigned int num2,unsigned int num3,unsigned int num4);
  198. void fvb();
  199. void sendbyteck(unsigned int num1,unsigned int num2,unsigned int num3,unsigned int num4);
  200. /*initializtion
  201. That is to initialize the program .
  202. It is write to set the timer in c52 mcu.
  203. So the program can renovate the led_3d_cube in fixed time use the interrupt function.*/
  204. /*##########################################################################################*/
  205. uchar code number[]={//数字,滚动字幕使用,从上至下
  206.         0x00,0x40,0x40,0x40,0x40,0x40,0x7E,0x00,/*"L",0*/
  207.         0x00,0x7E,0x40,0x7E,0x40,0x40,0x7E,0x00,/*"E",1*/
  208.         0x00,0x7C,0x46,0x42,0x42,0x46,0x7C,0x00,/*"D",2*/
  209.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",3*/
  210.         0x00,0x3C,0x62,0x40,0x40,0x61,0x3E,0x00,/*"C",4*/
  211.         0x00,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,/*"U",5*/
  212.         0x00,0x7C,0x42,0x7C,0x42,0x41,0x7E,0x00,/*"B",6*/
  213.         0x00,0x7E,0x40,0x7E,0x40,0x40,0x7E,0x00,/*"E",7*/
  214.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",8*/
  215.         0x00,0x42,0x42,0x7E,0x42,0x42,0x42,0x00,/*"H",9*/
  216.         0x00,0x42,0x42,0x42,0x42,0x42,0x3C,0x00,/*"U",10*/
  217.         0x00,0xC2,0x64,0x38,0x10,0x10,0x10,0x00,/*"Y",11*/
  218.         0x00,0x18,0x18,0x24,0x7E,0x42,0x81,0x00,/*"A",12*/
  219.         0x00,0x62,0x62,0x52,0x4A,0x46,0x46,0x00,/*"N",13*/
  220.         0x00,0x3C,0x62,0x40,0x4E,0x62,0x3E,0x00,/*"G",14*/
  221.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",15*/
  222.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",16*/
  223.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",17*/
  224.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*"Y",18*/
  225.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,/*" ",19*/
  226.         0x00,0x44,0x44,0x7C,0x44,0x44,0x44,0x00,/*"H",20*/
  227.         0x00,0x44,0x44,0x44,0x44,0x44,0x38,0x00,/*"U",21*/
  228.         0x00,0x82,0x44,0x28,0x10,0x10,0x10,0x00,/*"Y",22*/
  229.         0x00,0x10,0x28,0x28,0x7C,0x44,0x82,0x00,/*"A",23*/
  230.         0x00,0x64,0x64,0x54,0x54,0x4C,0x44,0x00,/*"N",24*/
  231.         0x00,0x78,0xC4,0x80,0x9C,0xC4,0x7C,0x00,/*"G",25*/
  232.         0x00,0x10,0x10,0x10,0x10,0x00,0x10,0x00,/*"!",26*/
  233.         0X38,0X64,0X06,0X3E,0X66,0X66,0X24,0X18,//"9"27
  234.         0X3C,0X66,0X66,0X3C,0X66,0X66,0X24,0X18,//"8"28
  235.         0X30,0X30,0X30,0X18,0X0C,0X04,0X46,0X7E,//"7"29
  236.         0X18,0X26,0X66,0X78,0X60,0X66,0X24,0X18,//"6"30
  237.         0X18,0X64,0X46,0X06,0X1C,0X60,0X62,0X7E,//"5"31
  238.         0X0C,0X0C,0X7E,0X68,0X6C,0X2C,0X3C,0X1C,//"4"32
  239.         0x78,0x46,0x06,0x06,0x1c,0x06,0x46,0x3c,//"3"33
  240.         0xfc,0xc0,0x60,0x30,0x18,0xc6,0xc6,0x78,//"2"34
  241.         0x3c,0x18,0x18,0x18,0x18,0x18,0x38,0x18,//"1"35
  242.         0X18,0X24,0X66,0X66,0X66,0X66,0X24,0X18,//"0"36

  243.         0x44,0xEE,0x66,0x22,0x3E,0x22,0x3E,0x00,/*"Y",1*/
  244.         0x08,0xF4,0x44,0x2E,0x94,0x64,0x03,0x00,/*"D",2*/
  245.         0x7E,0x10,0x10,0x10,0x1C,0x10,0x10,0x00,/*"S",3*/
  246.         0x81,0x42,0x18,0xA5,0xA5,0x18,0x42,0x81,/*"M",4*/
  247.         0x00,0x00,0x18,0x24,0x24,0x18,0x00,0x00,/*"M",5*/
  248. };
  249. uchar code flash0__tab[]=
  250. {
  251. 0X03,0X07,0X06,0X08,0X10,0X20,0X40,0X80,
  252. 0X07,0X07,0X0F,0X1C,0X18,0X20,0X40,0X80,
  253. 0X0F,0X0F,0X1F,0X3F,0X3C,0X78,0X60,0X80,
  254. 0X1F,0X1F,0X3F,0X3F,0X7F,0X7C,0X70,0X80,
  255. 0X3F,0X3F,0X3F,0X7F,0X7F,0X7F,0XF8,0XC0,
  256. 0X7F,0X7F,0X7F,0X7F,0XFF,0XFF,0XFF,0XF0,
  257. 0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF,0XFF//7
  258. };
  259. uchar code yc_table[]={//2帧,yinchu函数使用
  260.         0x00,0x00,0x00,0x3c,0x3c,0x00,0x00,0x00,//1I
  261.         0x00,0x00,0x00,0x3c,0x3c,0x00,0x00,0x00,
  262.         0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,
  263.         0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,
  264.         0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,
  265.         0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,
  266.         0x00,0x00,0x00,0x3c,0x3c,0x00,0x00,0x00,
  267.         0x00,0x00,0x00,0x3c,0x3c,0x00,0x00,0x00,

  268.         0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,//2心脏
  269.         0x00,0x00,0x00,0x3c,0x3c,0x00,0x00,0x00,
  270.         0x00,0x00,0x18,0x7e,0x7e,0x18,0x00,0x00,
  271.         0x00,0x00,0x3c,0x7e,0x7e,0x3c,0x00,0x00,
  272.         0x00,0x18,0x7e,0xff,0xff,0x7e,0x18,0x00,
  273.         0x00,0x00,0x7e,0xff,0xff,0x7e,0x00,0x00,
  274.         0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00,
  275.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  276.         0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,//3U
  277.         0x00,0x00,0x00,0x3c,0x3c,0x00,0x00,0x00,
  278.         0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00,
  279.         0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00,
  280.         0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00,
  281.         0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00,
  282.         0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00,
  283.         0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00,

  284.         0x00,0x00,0x00,0x24,0x24,0x00,0x00,0x00,//4苹果
  285.         0x00,0x00,0x00,0x7e,0x7e,0x00,0x00,0x00,
  286.         0x00,0x00,0x3c,0xff,0x7e,0x3c,0x00,0x00,
  287.         0x00,0x18,0x7e,0xff,0xff,0x7e,0x18,0x00,
  288.         0x00,0x00,0x3c,0xfe,0xfe,0x3c,0x00,0x00,
  289.         0x00,0x00,0x00,0x6e,0x66,0x00,0x00,0x00,
  290.         0x00,0x00,0x00,0x18,0x10,0x00,0x00,0x00,
  291.         0x00,0x00,0x00,0x0c,0x00,0x00,0x00,0x00,

  292.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//5五角星
  293.         0x00,0x00,0x00,0x22,0x22,0x00,0x00,0x00,
  294.         0x00,0x00,0x00,0x36,0x36,0x00,0x00,0x00,
  295.         0x00,0x00,0x00,0x1c,0x1c,0x00,0x00,0x00,
  296.         0x00,0x00,0x00,0x3e,0x3e,0x00,0x00,0x00,
  297.         0x00,0x00,0x00,0x7f,0x7f,0x00,0x00,0x00,
  298.         0x00,0x00,0x00,0x1c,0x1c,0x00,0x00,0x00,
  299.         0x00,0x00,0x00,0x08,0x08,0x00,0x00,0x00
  300. };
  301. char code tab_mian[]={4,3,7,2,0,6,1,5};
  302. char code tab_xian[]={5,0,3,6,1,7,4,2};
  303. char code tab_dian[]={
  304. 0,1,3,4,7,2,6,5,
  305. 1,7,5,0,4,2,3,6,
  306. 1,6,4,0,7,5,2,3,
  307. 5,7,4,2,0,1,6,3,
  308. 1,6,3,4,5,2,0,7,
  309. 6,7,1,5,4,2,0,3,
  310. 2,0,3,1,5,7,6,4,
  311. 5,2,1,0,3,6,7,4,

  312. 0,7,4,3,2,6,5,1,
  313. 4,7,2,6,5,3,1,0,
  314. 0,1,4,3,2,5,6,7,
  315. 3,6,7,2,1,4,0,5,
  316. 5,2,1,0,7,6,4,3,
  317. 1,4,0,2,3,5,7,6,
  318. 4,2,1,5,6,0,7,3,
  319. 0,4,7,3,1,5,2,6,

  320. 1,0,6,7,4,5,3,2,
  321. 6,0,4,2,7,5,1,3,
  322. 3,1,2,6,7,5,0,4,
  323. 2,4,1,0,6,5,3,7,
  324. 6,2,1,5,7,4,3,0,
  325. 1,0,5,3,2,6,7,4,
  326. 7,1,0,4,2,5,6,3,
  327. 6,4,1,0,2,5,7,3,

  328. 2,6,7,0,3,5,1,4,
  329. 6,3,7,2,1,4,5,0,
  330. 7,0,5,6,1,3,4,2,
  331. 5,2,3,4,0,7,1,6,
  332. 2,3,0,7,6,4,1,5,
  333. 1,3,0,4,5,2,7,6,
  334. 3,4,2,5,6,0,1,7,
  335. 4,2,0,6,3,7,5,1,

  336. 4,1,6,0,7,3,2,5,
  337. 7,6,0,5,1,4,2,3,
  338. 6,1,3,2,7,0,5,4,
  339. 2,7,3,6,0,5,1,4,
  340. 6,5,2,1,0,3,7,4,
  341. 7,1,0,5,4,6,3,2,
  342. 1,7,3,2,6,0,5,4,
  343. 0,2,6,7,4,3,5,1,

  344. 0,5,4,1,6,3,2,7,
  345. 0,1,5,4,7,2,3,6,
  346. 1,4,2,3,5,7,6,0,
  347. 2,7,0,5,6,1,3,4,
  348. 2,1,6,0,4,5,3,7,
  349. 6,1,5,4,2,7,3,0,
  350. 4,0,5,2,1,6,7,3,
  351. 1,2,0,6,3,7,4,5,

  352. 5,0,1,2,4,3,7,6,
  353. 4,2,0,6,7,5,1,3,
  354. 2,3,7,4,6,1,0,5,
  355. 1,5,7,0,3,4,2,6,
  356. 2,7,6,3,5,1,0,4,
  357. 4,5,7,0,2,3,1,6,
  358. 0,5,7,3,2,1,6,4,
  359. 6,4,5,7,1,0,3,2,

  360. 1,6,5,7,0,2,3,4,
  361. 2,1,5,3,6,4,0,7,
  362. 0,6,5,4,3,7,0,2,
  363. 6,4,2,0,3,1,5,7,
  364. 4,5,7,6,0,3,1,2,
  365. 0,3,7,2,1,5,6,4,
  366. 5,2,4,0,1,3,7,2,
  367. 4,5,3,1,7,0,2,6
  368. };
  369. uint code tab_water[]={
  370. 0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0080,0x0140,0x0080,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  371. 0x0000,0x0000,0x0000,0x0000,0x0000,0x0080,0x0140,0x0220,0x0140,0x0080,0x0000,0x0000,0x0000,0x0000,0x0000,0x0000,
  372. 0x0000,0x0000,0x0000,0x0000,0x01c0,0x0220,0x0410,0x0410,0x0410,0x0220,0x01c0,0x0000,0x0000,0x0000,0x0000,0x0000,                         
  373. 0x0000,0x0000,0x0000,0x03e0,0x0410,0x0808,0x0808,0x0808,0x0808,0x0808,0x0410,0x03e0,0x0000,0x0000,0x0000,0x0000,
  374. 0x0000,0x0000,0x07f0,0x0808,0x1004,0x1004,0x1004,0x1004,0x1004,0x1004,0x1004,0x0808,0x07f0,0x0000,0x0000,0x0000,
  375. 0x0000,0x0ff8,0x1004,0x2002,0x2002,0x2002,0x2002,0x2002,0x2002,0x2002,0x2002,0x2002,0x1004,0x0ff8,0x0000,0x0000,
  376. 0x1ffc,0x2002,0x4001,0x4001,0x4001,0x4001,0x4001,0x4001,0x4001,0x4001,0x4001,0x4001,0x4001,0x2002,0x1ffc,0x0000
  377. };
  378. uchar code tab_print[]={//打印函数使用
  379. 0X00,0X00,0X3C,0X3C,0X3C,0X3C,0X00,0X00,//正方形
  380. 0X20,0X30,0X38,0X3C,0X3C,0X38,0X30,0X20,//三角形
  381. 0X08,0X14,0X22,0X77,0X14,0X14,0X14,0X1C,//箭头
  382. 0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,//全亮
  383. };
  384. uchar code tab_xuanzhuantiao[]=//旋转条
  385. {
  386.         0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
  387.         0x00,0x01,0x06,0x08,0x10,0x60,0x80,0x00,
  388.         0x00,0x00,0x01,0x0e,0x70,0x80,0x00,0x00,
  389.         0x00,0x00,0x00,0x0f,0xf0,0x00,0x00,0x00,
  390.         0x00,0x00,0x00,0xf0,0x0f,0x00,0x00,0x00,
  391.         0x00,0x00,0x80,0x70,0x0e,0x01,0x00,0x00,
  392.         0x00,0x80,0x60,0x10,0x08,0x06,0x01,0x00,//
  393.         0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01,//1
  394.         0x40,0x20,0x20,0x10,0x08,0x04,0x04,0x02,
  395.         0x20,0x10,0x10,0x10,0x08,0x08,0x08,0x04,
  396.         0x10,0x10,0x10,0x10,0x08,0x08,0x08,0x08,
  397.         0x08,0x08,0x08,0x08,0x10,0x10,0x10,0x10,
  398.         0x04,0x08,0x08,0x08,0x10,0x10,0x10,0x20,
  399.         0x02,0x04,0x04,0x08,0x10,0x20,0x20,0x40//7
  400. };
  401. uchar code tab_xuanzhuantiao2[]=//旋转条
  402. {
  403. 0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80,//1
  404. 0X02,0X04,0X08,0X00,0X10,0X20,0X40,0X80,//
  405. 0X04,0X08,0X00,0X10,0X20,0X20,0X40,0X80,//
  406. 0X08,0X10,0X10,0X20,0X20,0X40,0X40,0X80,//
  407. 0X10,0X10,0X20,0X20,0X20,0X40,0X40,0X80,//
  408. 0X20,0X20,0X40,0X40,0X40,0X80,0X80,0X80,//
  409. 0X40,0X40,0X40,0X40,0X80,0X80,0X80,0X80,//

  410. 0X80,0X80,0X80,0X80,0X80,0X80,0X80,0X80,//8
  411. 0X80,0X80,0X80,0X80,0X40,0X40,0X40,0X40,//
  412. 0X80,0X80,0X00,0X40,0X40,0X40,0X20,0X20,//10
  413. 0X80,0X80,0X40,0X40,0X20,0X20,0X10,0X10,//
  414. 0X80,0X40,0X40,0X20,0X20,0X10,0X10,0X08,//
  415. 0X80,0X40,0X20,0X20,0X10,0X10,0X08,0X04,//
  416. 0X80,0X40,0X20,0X10,0X08,0X08,0X04,0X02,//
  417. 0X80,0X40,0X20,0X10,0X08,0X04,0X02,0X01,//15
  418. 0X80,0X40,0X20,0X10,0X0C,0X02,0X01,0X00,//16
  419. 0X80,0X40,0X30,0X0C,0X02,0X01,0X00,0X00,//
  420. 0X80,0X60,0X18,0X06,0X01,0X00,0X00,0X00,//18
  421. 0XC0,0X30,0X0E,0X01,0X00,0X00,0X00,0X00,//
  422. 0XE0,0X1C,0X03,0X00,0X00,0X00,0X00,0X00,//20
  423. 0XF0,0X0F,0X00,0X00,0X00,0X00,0X00,0X00,//
  424. 0XFF,0X00,0X00,0X00,0X00,0X00,0X00,0X00,//22

  425. 0X0F,0XF0,0X00,0X00,0X00,0X00,0X00,0X00,//23
  426. 0X07,0X38,0XC0,0X00,0X00,0X00,0X00,0X00,
  427. 0X03,0X0C,0X20,0XC0,0X00,0X00,0X00,0X00,
  428. 0X01,0X02,0X0C,0X30,0XC0,0X00,0X00,0X00,
  429. 0X01,0X02,0X04,0X08,0X30,0XC0,0X00,0X00,
  430. 0X01,0X02,0X04,0X08,0X10,0X60,0X80,0X00,
  431. 0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80,
  432. 0X01,0X02,0X04,0X08,0X10,0X20,0X20,0X40,
  433. 0X01,0X02,0X04,0X08,0X08,0X10,0X20,0X20,
  434. 0X01,0X02,0X04,0X04,0X08,0X08,0X10,0X10,
  435. 0X01,0X01,0X02,0X02,0X04,0X04,0X08,0X08,
  436. 0X01,0X01,0X01,0X02,0X02,0X02,0X04,0X04,
  437. 0X01,0X01,0X01,0X01,0X02,0X02,0X02,0X02,
  438. 0X01,0X01,0X01,0X01,0X01,0X01,0X01,0X01,//36


  439. 0X02,0X02,0X02,0X02,0X01,0X01,0X01,0X01,//37
  440. 0X04,0X04,0X02,0X02,0X02,0X01,0X01,0X01,
  441. 0X08,0X08,0X04,0X04,0X02,0X02,0X01,0X01,
  442. 0X10,0X10,0X08,0X08,0X04,0X04,0X02,0X01,
  443. 0X20,0X10,0X00,0X08,0X08,0X04,0X02,0X01,
  444. 0X40,0X20,0X10,0X08,0X08,0X04,0X02,0X01,
  445. 0X80,0X40,0X20,0X10,0X08,0X04,0X02,0X01,
  446. 0X00,0X80,0X40,0X20,0X18,0X04,0X02,0X01,
  447. 0X00,0X00,0X80,0X40,0X38,0X04,0X02,0X01,
  448. 0X00,0X00,0X00,0X80,0X60,0X1C,0X02,0X01,
  449. 0X00,0X00,0X00,0X00,0X80,0X70,0X0E,0X01,
  450. 0X00,0X00,0X00,0X00,0X00,0XC0,0X3C,0X03,
  451. 0X00,0X00,0X00,0X00,0X00,0X00,0XF0,0X0F,
  452. 0X00,0X00,0X00,0X00,0X00,0X00,0X00,0XFF,//50

  453. 0X00,0X00,0X00,0X00,0X00,0X00,0X0F,0XF0,//51
  454. 0X00,0X00,0X00,0X00,0X00,0X03,0X1C,0XE0,
  455. 0X00,0X00,0X00,0X00,0X03,0X0C,0X30,0XC0,
  456. 0X00,0X00,0X00,0X01,0X06,0X18,0X20,0XC0,
  457. 0X00,0X00,0X01,0X02,0X0C,0X30,0X40,0X80,
  458. 0X00,0X01,0X02,0X04,0X18,0X20,0X40,0X80,
  459. //0X01,0X02,0X04,0X08,0X10,0X20,0X40,0X80//57
  460. };
  461. uchar code bianxing_table[]={//变形
  462.         0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
  463.         0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
  464.         0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
  465.         0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
  466.         0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
  467.         0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
  468.         0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,
  469.         0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80,//1       

  470.         0x00,0x01,0x06,0x08,0x10,0x60,0x80,0x00,
  471.         0x00,0x01,0x06,0x08,0x10,0x60,0x80,0x00,
  472.         0x00,0x01,0x06,0x08,0x10,0x60,0x80,0x00,
  473.         0x00,0x01,0x06,0x08,0x10,0x60,0x80,0x00,
  474.         0x00,0x01,0x06,0x08,0x10,0x60,0x80,0x00,
  475.         0x00,0x01,0x06,0x08,0x10,0x60,0x80,0x00,
  476.         0x00,0x01,0x06,0x08,0x10,0x60,0x80,0x00,
  477.         0x00,0x01,0x06,0x08,0x10,0x60,0x80,0x00,//2

  478.         0x00,0x00,0x01,0x0e,0x70,0x80,0x00,0x00,
  479.         0x00,0x00,0x01,0x0e,0x70,0x80,0x00,0x00,
  480.         0x00,0x00,0x01,0x0e,0x70,0x80,0x00,0x00,
  481.         0x00,0x00,0x01,0x0e,0x70,0x80,0x00,0x00,
  482.         0x00,0x00,0x01,0x0e,0x70,0x80,0x00,0x00,
  483.         0x00,0x00,0x01,0x0e,0x70,0x80,0x00,0x00,
  484.         0x00,0x00,0x01,0x0e,0x70,0x80,0x00,0x00,
  485.         0x00,0x00,0x01,0x0e,0x70,0x80,0x00,0x00,//3

  486.         0X00,0X00,0X00,0X0F,0XF0,0X00,0X00,0X00,
  487.         0X00,0X00,0X00,0X0F,0XF0,0X00,0X00,0X00,
  488.         0X00,0X00,0X00,0X0F,0XF0,0X00,0X00,0X00,
  489.         0X00,0X00,0X00,0X0F,0XF0,0X00,0X00,0X00,
  490.         0X00,0X00,0X00,0X0F,0XF0,0X00,0X00,0X00,
  491.         0X00,0X00,0X00,0X0F,0XF0,0X00,0X00,0X00,
  492.         0X00,0X00,0X00,0X0F,0XF0,0X00,0X00,0X00,
  493.         0X00,0X00,0X00,0X0F,0XF0,0X00,0X00,0X00,//4变形开始

  494.         0X00,0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,
  495.         0X00,0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,
  496.         0X00,0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,
  497.         0X00,0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,
  498.         0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,0X00,
  499.         0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,0X00,
  500.         0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,0X00,
  501.         0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,0X00,//5

  502.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  503.         0X00,0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,
  504.         0X00,0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,
  505.         0X00,0X00,0X0f,0X0F,0Xf0,0XF0,0X00,0X00,
  506.         0X00,0X00,0X0f,0X0F,0Xf0,0XF0,0X00,0X00,
  507.         0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,0X00,
  508.         0X00,0X00,0X0F,0X00,0XF0,0X00,0X00,0X00,
  509.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//6

  510.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  511.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  512.         0X00,0X00,0X0f,0X0F,0Xf0,0XF0,0X00,0X00,
  513.         0X00,0X00,0X0f,0X0F,0Xf0,0XF0,0X00,0X00,
  514.         0X00,0X00,0X0f,0X0F,0Xf0,0XF0,0X00,0X00,
  515.         0X00,0X00,0X0F,0X0f,0XF0,0Xf0,0X00,0X00,
  516.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  517.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//7
  518.        
  519.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  520.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  521.         0x00,0x00,0x1e,0x1e,0x78,0x78,0x00,0x00,
  522.         0x00,0x00,0x1e,0x1e,0x78,0x78,0x00,0x00,
  523.         0x00,0x00,0x1e,0x1e,0x78,0x78,0x00,0x00,
  524.         0x00,0x00,0x1e,0x1e,0x78,0x78,0x00,0x00,
  525.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  526.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//8

  527.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  528.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  529.         0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x00,0x00,
  530.         0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x00,0x00,
  531.         0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x00,0x00,
  532.         0x00,0x00,0x3c,0x3c,0x3c,0x3c,0x00,0x00,
  533.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  534.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//9,方体成型

  535.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  536.         0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00,
  537.         0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00,
  538.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  539.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  540.         0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00,
  541.         0x00,0x66,0x66,0x00,0x00,0x66,0x66,0x00,
  542.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//10
  543.        
  544.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  545.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  546.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  547.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  548.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  549.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  550.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  551.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,//11
  552. };
  553. uchar code y_table[]={//6帧四方块外轴心旋转
  554.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  555.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  556.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  557.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  558.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  559.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  560.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  561.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,//1

  562.         0x06,0x06,0x00,0x00,0x00,0x00,0x06,0x06,
  563.         0xc6,0xc6,0x00,0x00,0x00,0x00,0xc6,0xc6,
  564.         0xc0,0xc0,0x00,0x00,0x00,0x00,0xc0,0xc0,
  565.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  566.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  567.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  568.         0x63,0x63,0x00,0x00,0x00,0x00,0x63,0x63,
  569.         0x60,0x60,0x00,0x00,0x00,0x00,0x60,0x60,//2

  570.         0x0c,0x0c,0x00,0x00,0x00,0x00,0x0c,0x0c,
  571.         0x0c,0x0c,0x00,0x00,0x00,0x00,0x0c,0x0c,
  572.         0xc0,0xc0,0x00,0x00,0x00,0x00,0xc0,0xc0,
  573.         0xc0,0xc0,0x00,0x00,0x00,0x00,0xc0,0xc0,
  574.         0x0c,0x0c,0x00,0x00,0x00,0x00,0x03,0x03,
  575.         0x0c,0x0c,0x00,0x00,0x00,0x00,0x03,0x03,
  576.         0x30,0x30,0x00,0x00,0x00,0x00,0x30,0x30,
  577.         0x30,0x30,0x00,0x00,0x00,0x00,0x30,0x30,//3

  578.         0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,
  579.         0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,
  580.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  581.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  582.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  583.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  584.         0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,
  585.         0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,//4

  586.         0x30,0x30,0x00,0x00,0x00,0x00,0x30,0x30,
  587.         0x30,0x30,0x00,0x00,0x00,0x00,0x30,0x30,
  588.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  589.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  590.         0xc0,0xc0,0x00,0x00,0x00,0x00,0xc0,0xc0,
  591.         0xc0,0xc0,0x00,0x00,0x00,0x00,0xc0,0xc0,
  592.         0x0c,0x0c,0x00,0x00,0x00,0x00,0x0c,0x0c,
  593.         0x0c,0x0c,0x00,0x00,0x00,0x00,0x0c,0x0c,//5

  594.         0x60,0x60,0x00,0x00,0x00,0x00,0x60,0x60,
  595.         0x63,0x63,0x00,0x00,0x00,0x00,0x63,0x63,
  596.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  597.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  598.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  599.         0xc0,0xc0,0x00,0x00,0x00,0x00,0xc0,0xc0,
  600.         0xc6,0xc6,0x00,0x00,0x00,0x00,0xc6,0xc6,
  601.         0x06,0x06,0x00,0x00,0x00,0x00,0x06,0x06//6
  602. };
  603. uchar code z_table[]=
  604. {
  605. 0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  606. 0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  607. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  608. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  609. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  610. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  611. 0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  612. 0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,//1

  613. 0x60,0x63,0x03,0x00,0x00,0xc0,0xc6,0x06,
  614. 0x60,0x63,0x03,0x00,0x00,0xc0,0xc6,0x06,
  615. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  616. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  617. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  618. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  619. 0x60,0x63,0x03,0x00,0x00,0xc0,0xc6,0x06,
  620. 0x60,0x63,0x03,0x00,0x00,0xc0,0xc6,0x06,//2

  621. 0x30,0x30,0x03,0x03,0xc0,0xc0,0x0c,0x0c,
  622. 0x30,0x30,0x03,0x03,0xc0,0xc0,0x0c,0x0c,
  623. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  624. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  625. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  626. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  627. 0x30,0x30,0x03,0x03,0xc0,0xc0,0x0c,0x0c,
  628. 0x30,0x30,0x03,0x03,0xc0,0xc0,0x0c,0x0c,//3

  629. 0x18,0x18,0x00,0xc3,0xc3,0x00,0x18,0x18,
  630. 0x18,0x18,0x00,0xc3,0xc3,0x00,0x18,0x18,
  631. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  632. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  633. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  634. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  635. 0x18,0x18,0x00,0xc3,0xc3,0x00,0x18,0x18,
  636. 0x18,0x18,0x00,0xc3,0xc3,0x00,0x18,0x18,//4

  637. 0x0c,0x0c,0xc0,0xc0,0x03,0x03,0x30,0x30,
  638. 0x0c,0x0c,0xc0,0xc0,0x03,0x03,0x30,0x30,
  639. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  640. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  641. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  642. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  643. 0x0c,0x0c,0xc0,0xc0,0x03,0x03,0x30,0x30,
  644. 0x0c,0x0c,0xc0,0xc0,0x03,0x03,0x30,0x30,//5

  645. 0x06,0xc6,0xc0,0x00,0x00,0x03,0x63,0x60,
  646. 0x06,0xc6,0xc0,0x00,0x00,0x03,0x63,0x60,
  647. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  648. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  649. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  650. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  651. 0x06,0xc6,0xc0,0x00,0x00,0x03,0x63,0x60,
  652. 0x06,0xc6,0xc0,0x00,0x00,0x03,0x63,0x60,//6
  653. };
  654. uchar code xz_table[]=
  655. {
  656. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  657. 0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  658. 0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  659. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  660. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  661. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  662. 0x00,0xc3,0xc3,0x00,0x00,0x00,0xc3,0xc3,
  663. 0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,//1

  664. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  665. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  666. 0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  667. 0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  668. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  669. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  670. 0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,
  671. 0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,//2

  672. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  673. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  674. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  675. 0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  676. 0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  677. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  678. 0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,
  679. 0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,//3

  680. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  681. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  682. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  683. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  684. 0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  685. 0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  686. 0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,
  687. 0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,//4

  688. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  689. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  690. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  691. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  692. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  693. 0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  694. 0xc3,0xc3,0x00,0x00,0x00,0xc3,0xc3,0x00,
  695. 0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,//5

  696. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  697. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  698. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  699. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  700. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  701. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  702. 0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  703. 0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,//6

  704. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  705. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  706. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  707. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  708. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  709. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  710. 0x00,0xc3,0xc3,0x00,0x00,0x00,0xc3,0xc3,
  711. 0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,//7

  712. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  713. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  714. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  715. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  716. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  717. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  718. 0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,
  719. 0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,//8


  720. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  721. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  722. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  723. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  724. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  725. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  726. 0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,
  727. 0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,//9

  728. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  729. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  730. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  731. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  732. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  733. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  734. 0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,
  735. 0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,//10

  736. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  737. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  738. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  739. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  740. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  741. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  742. 0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,
  743. 0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,//11

  744. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  745. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  746. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  747. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  748. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  749. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  750. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  751. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,//12

  752. 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
  753. 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
  754. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  755. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  756. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  757. 0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  758. 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
  759. 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,//13

  760. 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
  761. 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
  762. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  763. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  764. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  765. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  766. 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
  767. 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,//14

  768. 0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0x3f,
  769. 0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0x3f,
  770. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  771. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  772. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  773. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  774. 0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0x3f,
  775. 0x00,0x00,0x00,0x00,0x00,0xc0,0xff,0x3f,//15

  776. 0x00,0x00,0x00,0x00,0xc0,0xc0,0x3f,0x3f,
  777. 0x00,0x00,0x00,0x00,0xc0,0xc0,0x3f,0x3f,
  778. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  779. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  780. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  781. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  782. 0x00,0x00,0x00,0x00,0xc0,0xc0,0x3f,0x3f,
  783. 0x00,0x00,0x00,0x00,0xc0,0xc0,0x3f,0x3f,//16

  784. 0x00,0x00,0x00,0xc0,0xc0,0x00,0x3f,0x3f,
  785. 0x00,0x00,0x00,0xc0,0xc0,0x00,0x3f,0x3f,
  786. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  787. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  788. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  789. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  790. 0x00,0x00,0x00,0xc0,0xc0,0x00,0x3f,0x3f,
  791. 0x00,0x00,0x00,0xc0,0xc0,0x00,0x3f,0x3f,//17

  792. 0x00,0x00,0xc0,0xc0,0x00,0x00,0x3f,0x3f,
  793. 0x00,0x00,0xc0,0xc0,0x00,0x00,0x3f,0x3f,
  794. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  795. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  796. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  797. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  798. 0x00,0x00,0xc0,0xc0,0x00,0x00,0x3f,0x3f,
  799. 0x00,0x00,0xc0,0xc0,0x00,0x00,0x3f,0x3f,//18

  800. 0x00,0xc0,0xc0,0x00,0x00,0x00,0x6f,0x6f,
  801. 0x00,0xc0,0xc0,0x00,0x00,0x00,0x6f,0x6f,
  802. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  803. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  804. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  805. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  806. 0x00,0xc0,0xc0,0x00,0x00,0x00,0x6f,0x6f,
  807. 0x00,0xc0,0xc0,0x00,0x00,0x00,0x6f,0x6f,//19

  808. 0xc0,0xc0,0x00,0x00,0x00,0x00,0xcf,0xcf,
  809. 0xc0,0xc0,0x00,0x00,0x00,0x00,0xcf,0xcf,
  810. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  811. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  812. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  813. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  814. 0xc0,0xc0,0x00,0x00,0x00,0x00,0xcf,0xcf,
  815. 0xc0,0xc0,0x00,0x00,0x00,0x00,0xcf,0xcf,//20

  816. 0x60,0x60,0x00,0x00,0x00,0xc0,0xcf,0x0f,
  817. 0x60,0x60,0x00,0x00,0x00,0xc0,0xcf,0x0f,
  818. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  819. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  820. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  821. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  822. 0x60,0x60,0x00,0x00,0x00,0xc0,0xcf,0x0f,
  823. 0x60,0x60,0x00,0x00,0x00,0xc0,0xcf,0x0f,//21

  824. 0x18,0x18,0x00,0x00,0xc0,0xc0,0x0f,0x0f,
  825. 0x18,0x18,0x00,0x00,0xc0,0xc0,0x0f,0x0f,
  826. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  827. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  828. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  829. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  830. 0x18,0x18,0x00,0x00,0xc0,0xc0,0x0f,0x0f,
  831. 0x18,0x18,0x00,0x00,0xc0,0xc0,0x0f,0x0f,//22

  832. 0x18,0x18,0x00,0xc0,0xc0,0x00,0x0f,0x0f,
  833. 0x18,0x18,0x00,0xc0,0xc0,0x00,0x0f,0x0f,
  834. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  835. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  836. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  837. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  838. 0x18,0x18,0x00,0xc0,0xc0,0x00,0x0f,0x0f,
  839. 0x18,0x18,0x00,0xc0,0xc0,0x00,0x0f,0x0f,//23


  840. 0x0c,0x0c,0xc0,0xc0,0x00,0x00,0x1b,0x1b,
  841. 0x0c,0x0c,0xc0,0xc0,0x00,0x00,0x1b,0x1b,
  842. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  843. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  844. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  845. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  846. 0x0c,0x0c,0xc0,0xc0,0x00,0x00,0x1b,0x1b,
  847. 0x0c,0x0c,0xc0,0xc0,0x00,0x00,0x1b,0x1b,//24

  848. 0x06,0xc6,0xc0,0x00,0x00,0x00,0x33,0x33,
  849. 0x06,0xc6,0xc0,0x00,0x00,0x00,0x33,0x33,
  850. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  851. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  852. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  853. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  854. 0x06,0xc6,0xc0,0x00,0x00,0x00,0x33,0x33,
  855. 0x06,0xc6,0xc0,0x00,0x00,0x00,0x33,0x33,//25

  856. 0x03,0xc3,0xc0,0x00,0x00,0x00,0x63,0x63,
  857. 0x03,0xc3,0xc0,0x00,0x00,0x00,0x63,0x63,
  858. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  859. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  860. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  861. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  862. 0x03,0xc3,0xc0,0x00,0x00,0x00,0x63,0x63,
  863. 0x03,0xc3,0xc0,0x00,0x00,0x00,0x63,0x63,//26
  864. };
  865. uchar code yx_table[]={//Y轴心切换至X轴心变形
  866.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  867.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  868.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  869.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  870.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  871.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  872.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  873.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,//1

  874.         0xc6,0xc6,0x00,0x00,0x00,0x00,0xc6,0xc6,
  875.         0xc6,0xc6,0x00,0x00,0x00,0x00,0xc6,0xc6,
  876.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  877.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  878.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  879.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  880.         0x63,0x63,0x00,0x00,0x00,0x00,0x63,0x63,
  881.         0x60,0x60,0x00,0x00,0x00,0x00,0x60,0x60,//2

  882.         0xcc,0xcc,0x00,0x00,0x00,0x00,0xcc,0xcc,
  883.         0xcc,0xcc,0x00,0x00,0x00,0x00,0xcc,0xcc,
  884.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  885.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  886.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  887.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  888.         0x30,0x30,0x00,0x00,0x00,0x00,0x30,0x30,
  889.         0x30,0x30,0x00,0x00,0x00,0x00,0x30,0x30,//3

  890.         0xd8,0xd8,0x00,0x00,0x00,0x00,0xd8,0xd8,
  891.         0xd8,0xd8,0x00,0x00,0x00,0x00,0xd8,0xd8,
  892.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  893.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  894.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  895.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  896.         0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,
  897.         0x18,0x18,0x00,0x00,0x00,0x00,0x18,0x18,//4

  898.         0xf0,0xf0,0x00,0x00,0x00,0x00,0xf0,0xf0,
  899.         0xf0,0xf0,0x00,0x00,0x00,0x00,0xf0,0xf0,
  900.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  901.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  902.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  903.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  904.         0x0c,0x0c,0x00,0x00,0x00,0x00,0x0c,0x0c,
  905.         0x0c,0x0c,0x00,0x00,0x00,0x00,0x0c,0x0c,//5

  906.         0xf0,0xf0,0x00,0x00,0x00,0x00,0xf0,0xf0,
  907.         0xf3,0xf3,0x00,0x00,0x00,0x00,0xf3,0xf3,
  908.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  909.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  910.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  911.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  912.         0x06,0x06,0x00,0x00,0x00,0x00,0x06,0x06,
  913.         0x06,0x06,0x00,0x00,0x00,0x00,0x06,0x06,//6

  914.         0xf3,0xf3,0x00,0x00,0x00,0x00,0xf3,0xf3,
  915.         0xf3,0xf3,0x00,0x00,0x00,0x00,0xf3,0xf3,
  916.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  917.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  918.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  919.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  920.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  921.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,//7

  922.         0xf6,0xf6,0x00,0x00,0x00,0x00,0xf6,0xf6,
  923.         0xf6,0xf6,0x00,0x00,0x00,0x00,0xf6,0xf6,
  924.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  925.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  926.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  927.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  928.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  929.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//8

  930.         0xfc,0xfc,0x00,0x00,0x00,0x00,0xfc,0xfc,
  931.         0xfc,0xfc,0x00,0x00,0x00,0x00,0xfc,0xfc,
  932.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  933.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  934.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  935.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  936.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  937.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//9

  938.         0xfc,0xfc,0x00,0x00,0x00,0x00,0xfc,0xfc,
  939.         0xfc,0xfc,0x00,0x00,0x00,0x00,0xfc,0xfc,
  940.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  941.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  942.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  943.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  944.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  945.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//10

  946.         0xfc,0xfc,0x00,0x00,0x00,0x00,0xfc,0xfc,
  947.         0xfc,0xfc,0x00,0x00,0x00,0x00,0xfc,0xfc,
  948.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  949.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  950.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  951.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  952.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  953.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//11

  954.         0xfc,0xfc,0x00,0x00,0x00,0x00,0xfc,0xfc,
  955.         0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,
  956.         0x03,0x03,0x00,0x00,0x00,0x00,0x03,0x03,
  957.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  958.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  959.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  960.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  961.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//12

  962.         0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,
  963.         0xff,0xff,0x00,0x00,0x00,0x00,0xff,0xff,
  964.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  965.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  966.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  967.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  968.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  969.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//13

  970.         0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xff,0xff,//完成
  971.         0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xff,0xff,
  972.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  973.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  974.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  975.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  976.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  977.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//14

  978.         0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
  979.         0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
  980.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  981.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  982.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  983.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  984.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  985.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//15

  986.         0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
  987.         0xff,0xff,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
  988.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  989.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  990.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  991.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  992.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  993.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//16

  994.         0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
  995.         0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
  996.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  997.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  998.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  999.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1000.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1001.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//17

  1002.         0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
  1003.         0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
  1004.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1005.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1006.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1007.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1008.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1009.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//18

  1010.         0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
  1011.         0x00,0x00,0xc3,0xc3,0xc3,0xc3,0xc3,0xc3,
  1012.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1013.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1014.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1015.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1016.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1017.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//19

  1018.         0x00,0xc3,0xc3,0x00,0xc3,0xc3,0xc3,0xc3,
  1019.         0x00,0xc3,0xc3,0x00,0xc3,0xc3,0xc3,0xc3,
  1020.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1021.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1022.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1023.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1024.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1025.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//20

  1026.         0xc3,0xc3,0x00,0x00,0xc3,0xc3,0xc3,0xc3,
  1027.         0xc3,0xc3,0x00,0x00,0xc3,0xc3,0xc3,0xc3,
  1028.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1029.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1030.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1031.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1032.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1033.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,//21

  1034.         0x00,0x00,0x00,0x00,0xc3,0xc3,0xc3,0xc3,
  1035.         0xc3,0xc3,0x00,0x00,0xc3,0xc3,0xc3,0xc3,
  1036.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1037.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1038.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1039.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1040.         0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,
  1041.         0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,//22

  1042.         0x00,0x00,0x00,0x00,0xc3,0xc3,0xc3,0xc3,
  1043.         0x00,0x00,0x00,0x00,0xc3,0xc3,0xc3,0xc3,
  1044.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1045.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1046.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1047.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1048.         0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,
  1049.         0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,//23

  1050.         0x00,0x00,0x00,0xc3,0xc3,0x00,0xc3,0xc3,
  1051.         0x00,0x00,0x00,0xc3,0xc3,0x00,0xc3,0xc3,
  1052.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1053.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1054.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1055.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1056.         0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,
  1057.         0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,//24

  1058.         0x00,0x00,0xc3,0xc3,0x00,0x00,0xc3,0xc3,
  1059.         0x00,0x00,0xc3,0xc3,0x00,0x00,0xc3,0xc3,
  1060.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1061.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1062.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1063.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1064.         0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,
  1065.         0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,//25

  1066.         0x00,0xc3,0xc3,0x00,0x00,0x00,0xc3,0xc3,
  1067.         0x00,0xc3,0xc3,0x00,0x00,0x00,0xc3,0xc3,
  1068.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1069.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1070.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1071.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1072.         0xc3,0xc3,0x00,0x00,0x00,0xc3,0xc3,0x00,
  1073.         0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,//26

  1074. };
  1075. uchar code x_table[]={//四方块X轴心旋转
  1076.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  1077.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  1078.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1079.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1080.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1081.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1082.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  1083.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,//1

  1084.         0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,
  1085.         0xc3,0xc3,0x00,0x00,0x00,0xc3,0xc3,0x00,
  1086.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1087.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1088.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1089.         0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  1090.         0x00,0xc3,0xc3,0x00,0x00,0x00,0xc3,0xc3,
  1091.         0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,//2

  1092.         0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,
  1093.         0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,
  1094.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1095.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1096.         0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  1097.         0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  1098.         0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,
  1099.         0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,//3

  1100.         0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,
  1101.         0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,
  1102.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1103.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  1104.         0xc3,0xc3,0x00,0x00,0x00,0x00,0xc3,0xc3,
  1105.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1106.         0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,
  1107.         0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,//4

  1108.         0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,
  1109.         0x00,0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,
  1110.         0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  1111.         0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  1112.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1113.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1114.         0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,
  1115.         0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,0x00,//5

  1116.         0x00,0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,
  1117.         0x00,0xc3,0xc3,0x00,0x00,0x00,0xc3,0xc3,
  1118.         0x00,0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,
  1119.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1120.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1121.         0xc3,0xc3,0x00,0x00,0x00,0x00,0x00,0x00,
  1122.         0xc3,0xc3,0x00,0x00,0x00,0xc3,0xc3,0x00,
  1123.         0x00,0x00,0x00,0x00,0x00,0xc3,0xc3,0x00,//6
  1124. };
  1125. uchar code sin_cube_table[]={//14帧
  1126.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1127.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1128.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
  1129.         0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,
  1130.         0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,
  1131.         0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
  1132.         0x00,0xff,0x00,0x00,0xff,0x00,0x00,0x00,
  1133.         0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,

  1134.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1135.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
  1136.         0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,
  1137.         0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
  1138.         0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
  1139.         0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,
  1140.         0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
  1141.         0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,

  1142.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
  1143.         0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,
  1144.         0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
  1145.         0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,
  1146.         0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,
  1147.         0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
  1148.         0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,
  1149.         0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,

  1150.         0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,
  1151.         0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
  1152.         0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,
  1153.         0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
  1154.         0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
  1155.         0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,
  1156.         0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
  1157.         0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1158.         0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,
  1159.         0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,
  1160.         0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
  1161.         0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,
  1162.         0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,
  1163.         0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
  1164.         0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1165.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1166.         0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,
  1167.         0x00,0x00,0x00,0xff,0x00,0x00,0xff,0x00,
  1168.         0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,
  1169.         0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
  1170.         0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
  1171.         0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1172.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1173.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1174.         0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,
  1175.         0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,
  1176.         0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,
  1177.         0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
  1178.         0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
  1179.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1180.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1181.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1182.         0x00,0x00,0xff,0xff,0x00,0x00,0x00,0x00,
  1183.         0x00,0xff,0x00,0x00,0xff,0x00,0x00,0x00,
  1184.         0xff,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
  1185.         0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,
  1186.         0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,
  1187.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
  1188.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1189.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1190.         0x00,0xff,0xff,0x00,0x00,0x00,0x00,0x00,
  1191.         0xff,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
  1192.         0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,
  1193.         0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
  1194.         0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
  1195.         0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,
  1196.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
  1197.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1198.         0xff,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
  1199.         0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,
  1200.         0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
  1201.         0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,
  1202.         0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,
  1203.         0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
  1204.         0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x00,
  1205.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xff,

  1206.         0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1207.         0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
  1208.         0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,
  1209.         0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
  1210.         0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
  1211.         0x00,0x00,0x00,0x00,0xff,0x00,0x00,0x00,
  1212.         0x00,0x00,0x00,0x00,0x00,0xff,0x00,0x00,
  1213.         0x00,0x00,0x00,0x00,0x00,0x00,0xff,0xff,

  1214.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1215.         0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1216.         0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
  1217.         0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,
  1218.         0x00,0x00,0xff,0x00,0x00,0x00,0x00,0x00,
  1219.         0x00,0x00,0x00,0xff,0x00,0x00,0x00,0x00,
  1220.         0x00,0x00,0x00,0x00,0xff,0x00,0x00,0xff,
  1221.         0x00,0x00,0x00,0x00,0x00,0xff,0xff,0x00,

  1222.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1223.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1224.         0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1225.         0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
  1226.         0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,
  1227.         0x00,0x00,0xff,0x00,0x00,0x00,0x00,0xff,
  1228.         0x00,0x00,0x00,0xff,0x00,0x00,0xff,0x00,
  1229.         0x00,0x00,0x00,0x00,0xff,0xff,0x00,0x00,

  1230.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1231.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1232.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1233.         0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
  1234.         0xff,0x00,0x00,0x00,0x00,0x00,0x00,0xff,
  1235.         0x00,0xff,0x00,0x00,0x00,0x00,0xff,0x00,
  1236.         0x00,0x00,0xff,0x00,0x00,0xff,0x00,0x00,
  1237.         0x00,0x00,0x00,0xff,0xff,0x00,0x00,0x00,
  1238. };
  1239. uchar code hart_table[]={//2帧心跳
  1240.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1241.         0x00,0x00,0x18,0x00,0x00,0x00,0x00,0x00,
  1242.         0x00,0x18,0x3c,0x18,0x00,0x00,0x00,0x00,
  1243.         0x00,0x18,0x3c,0x18,0x00,0x00,0x00,0x00,
  1244.         0x00,0x3c,0x7e,0x3c,0x18,0x00,0x00,0x00,
  1245.         0x00,0x18,0x7e,0x18,0x00,0x00,0x00,0x00,
  1246.         0x00,0x00,0x24,0x00,0x00,0x00,0x00,0x00,
  1247.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1248.         0x00,0x00,0x00,0x18,0x18,0x00,0x00,0x00,
  1249.         0x00,0x00,0x00,0x3c,0x3c,0x00,0x00,0x00,
  1250.         0x00,0x00,0x18,0x7e,0x7e,0x18,0x00,0x00,
  1251.         0x00,0x00,0x3c,0x7e,0x7e,0x3c,0x00,0x00,
  1252.         0x00,0x18,0x7e,0xff,0xff,0x7e,0x18,0x00,
  1253.         0x00,0x00,0x7e,0xff,0xff,0x7e,0x00,0x00,
  1254.         0x00,0x00,0x00,0x66,0x66,0x00,0x00,0x00,
  1255.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1256. };
  1257. uchar code tab_shandian[]={
  1258.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1259.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1260.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1261.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1262.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1263.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1264.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1265.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//1

  1266.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1267.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1268.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1269.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1270.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1271.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1272.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1273.         0x03,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//2

  1274.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1275.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1276.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1277.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1278.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1279.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1280.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1281.         0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//3

  1282.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1283.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1284.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1285.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1286.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1287.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1288.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1289.         0x0f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//4

  1290.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1291.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1292.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1293.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1294.         0x01,0x01,0x00,0x00,0x00,0x00,0x00,0x00,
  1295.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1296.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1297.         0x1f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//5

  1298.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1299.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1300.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1301.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,

  1302.         0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
  1303.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1304.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1305.         0x3f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//6

  1306.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1307.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1308.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1309.         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,

  1310.         0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
  1311.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1312.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1313.         0x7f,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//7

  1314.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1315.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1316.         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,
  1317.         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,

  1318.         0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
  1319.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1320.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1321.         0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//8


  1322.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1323.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1324.         0x00,0x00,0x01,0x01,0x00,0x00,0x00,0x00,
  1325.         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,

  1326.         0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
  1327.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1328.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1329.         0xff,0x80,0x00,0x00,0x00,0x00,0x00,0x00,//9

  1330.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1331.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1332.         0x00,0x00,0x01,0x01,0x01,0x00,0x00,0x00,
  1333.         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,

  1334.         0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
  1335.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1336.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1337.         0xff,0x80,0x80,0x00,0x00,0x00,0x00,0x00,//10

  1338.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1339.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1340.         0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,
  1341.         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,

  1342.         0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
  1343.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1344.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1345.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//11

  1346.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1347.         0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
  1348.         0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,
  1349.         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,

  1350.         0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
  1351.         0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1352.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1353.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//12


  1354.         0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
  1355.         0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
  1356.         0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,
  1357.         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,

  1358.         0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
  1359.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1360.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1361.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//13

  1362.         0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x00,
  1363.         0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
  1364.         0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,
  1365.         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,

  1366.         0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
  1367.         0x01,0x00,0x00,0x80,0x80,0x00,0x00,0x00,
  1368.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1369.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//14

  1370.         0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x01,
  1371.         0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
  1372.         0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,
  1373.         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,

  1374.         0x01,0x01,0x01,0x00,0x00,0x00,0x00,0x00,
  1375.         0x01,0x00,0x00,0x80,0x80,0x80,0x00,0x00,
  1376.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1377.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//15

  1378.         0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x03,
  1379.         0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
  1380.         0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,
  1381.         0x00,0x00,0x01,0x00,0x00,0x00,0x00,0x00,

  1382.         0x01,0x01,0x01,0x00,0x00,0x80,0x00,0x00,
  1383.         0x01,0x00,0x00,0x80,0x80,0x80,0x00,0x00,
  1384.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1385.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//16

  1386.         0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x07,
  1387.         0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
  1388.         0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,
  1389.         0x00,0x00,0x01,0x00,0x00,0x80,0x00,0x00,

  1390.         0x01,0x01,0x01,0x00,0x00,0x80,0x00,0x00,
  1391.         0x01,0x00,0x00,0x80,0x80,0x80,0x00,0x00,
  1392.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1393.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//17

  1394.         0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x0f,
  1395.         0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
  1396.         0x00,0x00,0x01,0x01,0x01,0x01,0x00,0x00,
  1397.         0x00,0x00,0x01,0x00,0x00,0x80,0x80,0x00,

  1398.         0x01,0x01,0x01,0x00,0x00,0x80,0x00,0x00,
  1399.         0x01,0x00,0x00,0x80,0x80,0x80,0x00,0x00,
  1400.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1401.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//18

  1402.         0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x1f,
  1403.         0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00,
  1404.         0x00,0x00,0x01,0x01,0x01,0x01,0x80,0x00,
  1405.         0x00,0x00,0x01,0x00,0x00,0x80,0x80,0x00,

  1406.         0x01,0x01,0x01,0x00,0x00,0x80,0x00,0x00,
  1407.         0x01,0x00,0x00,0x80,0x80,0x80,0x00,0x00,
  1408.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1409.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//19

  1410.         0x00,0x00,0x00,0x00,0x00,0x01,0x01,0x3f,
  1411.         0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,
  1412.         0x00,0x00,0x01,0x01,0x01,0x01,0x80,0x00,
  1413.         0x00,0x00,0x01,0x00,0x00,0x80,0x80,0x00,

  1414.         0x01,0x01,0x01,0x00,0x00,0x80,0x00,0x00,
  1415.         0x01,0x00,0x00,0x80,0x80,0x80,0x00,0x00,
  1416.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1417.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//20


  1418.         0x00,0x00,0x00,0x00,0x00,0x01,0x81,0x7f,
  1419.         0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,
  1420.         0x00,0x00,0x01,0x01,0x01,0x01,0x80,0x00,
  1421.         0x00,0x00,0x01,0x00,0x00,0x80,0x80,0x00,

  1422.         0x01,0x01,0x01,0x00,0x00,0x80,0x00,0x00,
  1423.         0x01,0x00,0x00,0x80,0x80,0x80,0x00,0x00,
  1424.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1425.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//21

  1426.         0x00,0x00,0x00,0x00,0x00,0x01,0x81,0xff,
  1427.         0x00,0x00,0x00,0x00,0x00,0x01,0x80,0x00,
  1428.         0x00,0x00,0x01,0x01,0x01,0x01,0x80,0x00,
  1429.         0x00,0x00,0x01,0x00,0x00,0x80,0x80,0x00,

  1430.         0x01,0x01,0x01,0x00,0x00,0x80,0x00,0x00,
  1431.         0x01,0x00,0x00,0x80,0x80,0x80,0x00,0x00,
  1432.         0x01,0x00,0x00,0x80,0x00,0x00,0x00,0x00,
  1433.         0xff,0x80,0x80,0x80,0x00,0x00,0x00,0x00,//22
  1434. };
  1435. uchar code szfc_table[]={//数字浮出
  1436.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1437.         0X38,0X64,0X06,0X3E,0X66,0X66,0X24,0X18,//9
  1438.         0x00,0x00,0x00,0x00,
  1439.         0X3C,0X66,0X66,0X3C,0X66,0X66,0X24,0X18,//8
  1440.         0x00,0x00,0x00,0x00,
  1441.         0X30,0X30,0X30,0X18,0X0C,0X04,0X46,0X7E,//7
  1442.         0x00,0x00,0x00,0x00,
  1443.         0X18,0X26,0X66,0X78,0X60,0X66,0X24,0X18,//6
  1444.         0x00,0x00,0x00,0x00,
  1445.         0X18,0X64,0X46,0X06,0X1C,0X60,0X62,0X7E,//5
  1446.         0x00,0x00,0x00,0x00,
  1447.         0X0C,0X0C,0X7E,0X68,0X6C,0X2C,0X3C,0X1C,//4
  1448.         0x00,0x00,0x00,0x00,
  1449.         0x78,0x46,0x06,0x06,0x1c,0x06,0x46,0x3c,//3
  1450.         0x00,0x00,0x00,0x00,
  1451.         0xfc,0xc0,0x60,0x30,0x18,0xc6,0xc6,0x78,//2
  1452.         0x00,0x00,0x00,0x00,
  1453.         0x3c,0x18,0x18,0x18,0x18,0x18,0x38,0x18,//1
  1454.         0x00,0x00,0x00,0x00,
  1455.         0X18,0X24,0X66,0X66,0X66,0X66,0X24,0X18,//0
  1456.         0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
  1457. };
  1458. uchar code tab_rain[]={//rain
  1459. 0X00,0X84,0X01,0X00,0X00,0X01,0X02,0X44,
  1460. 0X84,0X00,0X24,0X08,0X04,0X20,0X80,0X00,
  1461. 0X00,0X20,0X00,0X00,0X20,0X00,0X40,0X00,
  1462. 0X00,0X04,0X00,0X40,0X00,0X00,0X08,0X00,

  1463. 0X40,0X00,0X10,0X00,0X00,0X04,0X04,0X11,
  1464. 0X00,0X41,0X00,0X00,0X80,0X00,0X40,0X00,
  1465. 0X00,0X00,0X00,0X24,0X01,0X18,0X00,0X00,
  1466. 0X22,0X10,0X02,0X00,0X40,0X00,0X02,0X00
  1467. };

  1468. /*##########################################################################################*/
  1469. unsigned int code tab[]= //定义显示数据,根据取字模软件进行提取
  1470. {
  1471. 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,
  1472. 0x08,0x08,0x78,0x08,0x08,0x08,0x08,0xFF,/*"上",0*/
  1473. 0x18,0x04,0x22,0x24,0xFF,0x24,0x24,0x24,/*"升",0*/
  1474. 0x78,0x49,0xCE,0x00,0xFF,0x84,0x86,0xFD,/*"沿",0*/
  1475. 0x3C,0x42,0xA5,0xDB,0x81,0x99,0x42,0x3C,/*"笑脸",0*/
  1476. 0x08,0x2A,0x2A,0xFF,0x14,0x14,0x96,0x71,/*"光",0*/
  1477. 0x08,0x7F,0x22,0x22,0x24,0x14,0x14,0xFF,/*"立",0*/
  1478. 0x08,0xFF,0x04,0x7C,0x44,0x44,0x42,0x31,/*"方",0*/
  1479. 0x3C,0x42,0xA5,0xDB,0x81,0x99,0x42,0x3C,/*"笑脸",0*/
  1480. 0x42,0x66,0xFF,0xFF,0xFF,0x7E,0x3C,0x18,/*"心",0*/
  1481. 0x00,0x3C,0x42,0x42,0x42,0x42,0x42,0x3C,/*"0",0*/
  1482. 0x00,0x20,0x20,0x20,0x20,0x20,0x20,0x20,/*"1",0*/
  1483. 0x00,0x7E,0x40,0x40,0x7E,0x02,0x02,0x7E,/*"2",0*/
  1484. 0x00,0x7E,0x40,0x40,0x7E,0x40,0x40,0x7E,/*"3",0*/
  1485. 0x00,0x42,0x42,0x42,0x7E,0x40,0x40,0x40,/*"4",0*/
  1486. 0x00,0x7E,0x02,0x02,0x7E,0x40,0x40,0x7E,/*"5",0*/
  1487. 0x00,0x7E,0x02,0x02,0x7E,0x42,0x42,0x7E,/*"6",0*/
  1488. 0x00,0x7E,0x40,0x40,0x40,0x40,0x40,0x40,/*"7",0*/
  1489. 0x00,0x7E,0x42,0x42,0x7E,0x42,0x42,0x7E,/*"8",0*/
  1490. 0x00,0x7E,0x42,0x42,0x7E,0x40,0x40,0x7E,/*"9",0*/

  1491. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1492. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//满屏
  1493. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1494. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//满屏
  1495. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1496. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//满屏
  1497. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1498. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//满屏
  1499. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1500. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//满屏
  1501. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1502. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//满屏
  1503. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1504. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//满屏
  1505. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1506. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//满屏
  1507. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1508. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//满屏
  1509. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1510. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//满屏
  1511. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  1512. 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,//满屏

  1513. };

  1514. /******************************************************************************************
  1515. **********************************红外功能部分*********************************************
  1516. *******************************************************************************************/
  1517. void IRInit()
  1518. {
  1519.     IE |= 0x81;                 //允许总中断中断,使能 INT0 外部中断
  1520.     TCON |= 0x01;               //触发方式为脉冲负边沿触发
  1521.     IRIN=1;                    //I/O口初始化
  1522.         P4SW=0xff;                //定义P4口为I/O口  
  1523.         P4M1=0x00;
  1524.         P4M0=0xff;                //定义P4为强上拉输出.
  1525. }
  1526. void IRdelay(unsigned char x)         //延时子程序
  1527. {
  1528.    unsigned char a,b;
  1529.    while(x--)
  1530.    {
  1531.      for(b=6;b>0;b--)
  1532.         for(a=127;a>0;a--);
  1533.    }
  1534. }
  1535. void IDelay(unsigned int t)
  1536. {
  1537.         while(--t);
  1538. }
  1539. /*##########################################################################################*/
  1540. //************************************上升沿电子科技************************************
  1541. //函数名称:void IRsendbyte(unsigned int byte);
  1542. //功    能:根据byte值的大小,取出对应tab数组中的值,模拟SPI发送出去一个字节
  1543. //入口参数:byte值,范围0-65535
  1544. //出口参数:无
  1545. //编 写 人:上升沿电子科技
  1546. //编写日期:2015-08-02
  1547. //修改历史:V1.0
  1548. //************************************上升沿电子科技************************************
  1549. void IRsendbyte(unsigned int byte)
  1550. {   
  1551.    unsigned char num;                 //定义需要发送的数据
  1552.    unsigned char c;                  //定义发送一个字节的变量
  1553.    num=~tab[byte];                         //根据byte值取出tab数组中的数据,存入发送数据变量中
  1554.    for(c=0;c<8;c++)                         //循环发送一个字节
  1555.    {
  1556.       CLK=0;                                  //时钟置低电平启动
  1557.       M_LR_DS0=num&0x80;                         //取出需要发送数据的最高位
  1558.       CLK=1;                                  //时钟置高电平结束数据发送
  1559.       num<<=1;                         //将需要发送的数据左移一位
  1560.    }
  1561. }



  1562. /*##########################################################################################*/
  1563. //************************************上升沿电子科技************************************
  1564. //函数名称:void delayus(unsigned int yanshi);
  1565. //功    能:根据yanshi值的大小进行延时等待操作,1默认为2uS
  1566. //入口参数:yanshi的值,范围0-65535
  1567. //出口参数:无
  1568. //编 写 人:上升沿电子科技
  1569. //编写日期:2015-08-1
  1570. //修改历史:V1.0
  1571. //************************************上升沿电子科技************************************
  1572. void delayus(unsigned int yanshi)
  1573. {
  1574.         unsigned int wmys;                 //定义延时循环控制变量
  1575.         for(wmys=0;wmys<=yanshi;wmys++);        //根据延时参数进行空循环操作,达到延时功能
  1576. }
  1577. /*##########################################################################################*/
  1578. //************************************上升沿电子科技************************************
  1579. //函数名称:void hansao(unsigned char hs);
  1580. //功    能:根据入口参数hs的值,进行判断选择哪一行,选通1-8行的选通
  1581. //入口参数:hs的值,范围0-7
  1582. //出口参数:无
  1583. //编 写 人:上升沿电子科技
  1584. //************************************上升沿电子科技************************************
  1585. void hansao(unsigned char hs)     
  1586. {
  1587.         if(hs<8)                          //判断hs的值是否在行扫描的值范围内,不在范围内不执行任何操作
  1588.         {
  1589.                 if(hs==7)                  //选通第1行
  1590.                 {
  1591.                 M_A=0;M_B=0;M_C=0;M_D=0;   return;
  1592.                 }
  1593.                 if(hs==6)                  //选通第2行
  1594.                 {
  1595.                 M_A=1;M_B=0;M_C=0;M_D=0;   return;
  1596.                 }
  1597.                 if(hs==5)                  //选通第3行
  1598.                 {
  1599.                 M_A=0;M_B=1;M_C=0;M_D=0;   return;
  1600.                 }
  1601.                 if(hs==4)                  //选通第4行
  1602.                 {
  1603.                 M_A=1;M_B=1;M_C=0;M_D=0;   return;
  1604.                 }
  1605.                 if(hs==3)                  //选通第5行
  1606.                 {
  1607.                 M_A=0;M_B=0;M_C=1;M_D=0;   return;
  1608.                 }
  1609.                 if(hs==2)                  //选通第6行
  1610.                 {
  1611.                 M_A=1;M_B=0;M_C=1;M_D=0;   return;
  1612.                 }
  1613.                 if(hs==1)                  //选通第7行
  1614.                 {
  1615.                 M_A=0;M_B=1;M_C=1;M_D=0;   return;
  1616.                 }
  1617.                 if(hs==0)                  //选通第8行
  1618.                 {
  1619.                 M_A=1;M_B=1;M_C=1;M_D=0;   return;
  1620.                 }
  1621.         }
  1622. }
  1623. void ADC0_Init (void)
  1624. {
  1625.     P1ASF = 0x01;                   //Open 8 channels ADC function
  1626.     ADC_RES = 0;                    //Clear previous result        清零ADC的8位数据
  1627.         AUXR1 &=0xFB;                   //1111,1011, 令 ADRJ=0 (10位A/D转换结果的高8位放在ADC_RES寄存器, 低2位放在ADC_RESL寄存器)
  1628.     ADC_CONTR = ADC_POWER | ADC_SPEEDLL;//配置ADC寄存器  
  1629.     _nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
  1630.     _nop_();_nop_();_nop_(); _nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();_nop_();
  1631. }
  1632. void init()
  1633. {
  1634.         P4SW=0xff;                //定义P4口为I/O口
  1635.         P0M1=0x00;                                   
  1636.         P0M0=0xff;                //定义P0为强上拉输出.
  1637.         P1M1=0x01;
  1638.         P1M0=0xfe;                //定义P1为强上拉输出.   P1.0作为AD此时不能作为强上蜡
  1639.         P2M1=0x00;
  1640.         P2M0=0xff;                //定义P2为强上拉输出.
  1641.         P3M1=0x00;
  1642.         P3M0=0xf8;                //定义P2为强上拉输出.
  1643.         P4M1=0x00;
  1644.         P4M0=0xff;                //定义P4为强上拉输出.
  1645.        
  1646. }

  1647. void sinter()
  1648. {
  1649.         IE=0x82;
  1650.         TCON=0x01;
  1651.         TH0=0x10;
  1652.         TL0=0x00;
  1653.         init();                         
  1654.         PWM_POW=1;         
  1655.         ADC0_Init();       
  1656. }
  1657. void delay10us(void)   //误差 -0.026765046296us STC 1T 22.1184Mhz
  1658. {
  1659.     unsigned char a,b;
  1660.     for(b=1;b>0;b--)
  1661.         for(a=2;a>0;a--);           //默认的速度为5,变速1-5-25-125
  1662. }
  1663. void delay5us(void)   //误差 -0.026765046296us STC 1T 22.1184Mhz
  1664. {
  1665.     unsigned char a,b;
  1666.     for(b=1;b>0;b--)
  1667.         for(a=5;a>0;a--);           //默认的速度为5,变速1-5-25-125
  1668. }

  1669. void delay(uint ihk)
  1670. {   
  1671.         if(key3==2){return;}
  1672.         else
  1673.     {                                                                                             
  1674.     while(ihk--)
  1675.          {
  1676.          delay5us();   //12t的mcu 注释这个延时即可
  1677.          }
  1678.         }

  1679. }

  1680. /*判断一个数值的第n位,是1还是0,并返回相应数值*/
  1681. uchar judgebit(uchar num,uchar b)
  1682. {
  1683. char n;
  1684. num=num&(1<<b);
  1685. if (num)
  1686. n=1;
  1687. else
  1688. n=0;
  1689. return n;
  1690. }
  1691. /*To figure out the round number*/
  1692. uchar abs(uchar a)
  1693. {
  1694. uchar b;
  1695. b=a/10;
  1696. a=a-b*10;
  1697. if (a>=5)
  1698. b++;
  1699. return b;
  1700. }
  1701. /*To figure out the absolute value*/
  1702. uchar abss(char a)
  1703. {
  1704. if (a<0)
  1705. a=-a;
  1706. return a;
  1707. }
  1708. /*The function can comparat the character.
  1709. And remove the big one to the back.*/
  1710. void max(uchar *a,uchar *b)
  1711. {
  1712.    uchar t;
  1713.    if ((*a)>(*b))
  1714.    {
  1715.   t=(*a);
  1716.   (*a)=(*b);
  1717.   (*b)=t;
  1718.    }
  1719. }
  1720. /*The function is to figure out the max number and return it.*/
  1721. uchar maxt(uchar a,uchar b,uchar c)
  1722. {
  1723. if (a<b)
  1724. a=b;
  1725. if (a<c)
  1726. a=c;
  1727. return a;
  1728. }
  1729. void clear(char le)
  1730. {
  1731. uchar i,j;
  1732. for (j=0;j<8;j++)
  1733. {
  1734.   for (i=0;i<8;i++)
  1735.   display[j][i]=le;
  1736. }
  1737. }void Vol_watch_1(unsigned char kxg1)
  1738. {
  1739. unsigned int xdata result=0,l=0,n=500,saa,sad;
  1740. unsigned char code disxin[8][8]={
  1741. 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0x99,
  1742. 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0x81, 0xA5,
  1743. 0x00, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81, 0xC3,
  1744. 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x81, 0x81,
  1745. 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x81, 0x81,
  1746. 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x81, 0x99,
  1747. 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0xE7,
  1748. 0xFF, 0xC3, 0xA5, 0x81, 0x81, 0xA5, 0xC3, 0xFF,
  1749. };
  1750. while(n)
  1751. {
  1752.   if ((result>>5)>l)
  1753.   l=result>>5;
  1754.   else
  1755.    if (l>0)
  1756.     l--;
  1757.   if (l>7)
  1758.   l=7;
  1759. if(kxg1==1)
  1760. {
  1761.   box(3,3,0,4,4,l,1,1);
  1762.   if (l<7)
  1763.   box(3,3,7,4,4,l+1,1,0);
  1764.   result=voivol(16);                 
  1765. }
  1766. if(kxg1==2)
  1767. {
  1768.   box(2,2,0,5,5,l,1,1);
  1769.   if (l<7)
  1770.   box(2,2,7,5,5,l+1,1,0);
  1771.   result=voivol(16);                 
  1772. }
  1773. if(kxg1==3)
  1774. {
  1775.   box(1,1,0,6,6,l,1,1);
  1776.   if (l<7)
  1777.   box(1,1,7,6,6,l+1,1,0);
  1778.   result=voivol(16);                  
  1779. }
  1780. if(kxg1==4)
  1781. {  
  1782.   box(0,0,0,7,7,l,1,1);
  1783.   if (l<7)
  1784.   box(0,0,7,7,7,l+1,1,0);
  1785.   result=voivol(16);               
  1786. }
  1787. if(kxg1==5)
  1788. {
  1789. for(saa=0;saa<8;saa++)
  1790.         {
  1791.         for(sad=0;sad<8;sad++)
  1792.         {
  1793.         display[saa][sad]= disxin[saa][sad];
  1794.         }
  1795.         }
  1796.   box(3,3,0,4,4,l,1,1);
  1797.   if (l<7)
  1798.   box(3,3,7,4,4,l+1,1,0);
  1799.   result=voivol(16);               
  1800. }n--;
  1801. if(key2==3||key2==2){if(key2==3){msd=3;break;}
  1802. else{if(key2==2){msd=2;break;}}}
  1803. }
  1804. }
  1805. void serial (void) interrupt 4 using 1
  1806. {
  1807. uchar tempbuff;ES=0;
  1808. if(RI){
  1809.   RI=0;tempbuff=SBUF;
  1810.   switch(cnt){
  1811.    case 0:if(tempbuff==0xf2)cnt=1;else {cnt=0;}break;
  1812.    case 1:shuzu8X8[cd++]=tempbuff;
  1813.    if(cd==64){cnt=0;cd=0;read_flag=1;}
  1814.    else{break;}
  1815.   default:break;} }
  1816. ES=1;
  1817. }


  1818. void trailler(uint speed)
  1819. {
  1820. char i,j;
  1821. for (i=6;i>=-3;i--)
  1822. {
  1823.   if (i>=0)
  1824.   {
  1825.    for (j=0;j<8;j++)
  1826.    display[j][i]=display[j][i+1];
  1827.   }
  1828.   if (i<4)
  1829.   {
  1830.    for (j=0;j<8;j++)
  1831.    display[j][i+4]=0;
  1832.   }
  1833.   delay(speed);
  1834. }
  1835. }
  1836. void point(uchar x,uchar y,uchar z,uchar le)
  1837. {
  1838. uchar ch1,ch0;
  1839. ch1=1<<x;
  1840. ch0=~ch1;
  1841. if (le)
  1842. display[z][y]=display[z][y]|ch1;
  1843. else
  1844. display[z][y]=display[z][y]&ch0;
  1845. }
  1846. void type(uchar cha,uchar y)
  1847. {
  1848. uchar xx;
  1849. for (xx=0;xx<8;xx++)
  1850. {
  1851. display[xx][y]=table_cha[cha][xx];
  1852. }
  1853. }
  1854. void type_sj(uchar cha,uchar y)
  1855. {
  1856. uchar xx;
  1857. for (xx=0;xx<8;xx++)
  1858. {
  1859. display[xx][y]=table_cha_sj[cha][xx];
  1860. }
  1861. }
  1862. /*The first variable is the distance from the midpoint.
  1863. The second is the layer.
  1864. the third is the flash speed of the time between each two point.
  1865. The forth is the enable io,it controls weather draw or claen.*/
  1866. void cirp(char cpp,uchar dir,uchar le)
  1867. {
  1868. uchar a,b,c,cp;
  1869. if ((cpp<128)&(cpp>=0))
  1870. {
  1871.   if (dir)
  1872.   cp=127-cpp;
  1873.   else
  1874.   cp=cpp;
  1875.   a=(dat[cp]>>5)&0x07;
  1876.   b=(dat[cp]>>2)&0x07;
  1877.   c=dat[cp]&0x03;
  1878.   if (cpp>63)
  1879.   c=7-c;
  1880.   point (a,b,c,le);
  1881. }
  1882. }
  1883. void line(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar le)
  1884. {
  1885. char t,a,b,c,a1,b1,c1,i;
  1886. a1=x2-x1;
  1887. b1=y2-y1;
  1888. c1=z2-z1;
  1889. t=maxt(abss(a1),abss(b1),abss(c1));
  1890. a=x1*10;
  1891. b=y1*10;
  1892. c=z1*10;
  1893. a1=a1*10/t;
  1894. b1=b1*10/t;
  1895. c1=c1*10/t;
  1896. for (i=0;i<t;i++)
  1897. {
  1898.   point(abs(a),abs(b),abs(c),le);
  1899.   a+=a1;
  1900.   b+=b1;
  1901.   c+=c1;
  1902. }
  1903. point(x2,y2,z2,le);
  1904. }
  1905. void box(unsigned char x1,unsigned char z1,unsigned char y1,unsigned char x2,unsigned char z2,unsigned char y2,unsigned char fill,unsigned char le)
  1906. {
  1907. uchar i,j,t=0;
  1908. max(&x1,&x2);
  1909. max(&y1,&y2);
  1910. max(&z1,&z2);
  1911. for (i=x1;i<=x2;i++)
  1912.   t|=1<<i;
  1913. if (!le)
  1914.   t=~t;
  1915. if (fill)
  1916. {
  1917.   if (le)
  1918.   {
  1919.    for (i=z1;i<=z2;i++)
  1920.    {
  1921.     for (j=y1;j<=y2;j++)
  1922.      display[j][i]|=t;
  1923.    }
  1924.   }
  1925.   else
  1926.   {
  1927.    for (i=z1;i<=z2;i++)
  1928.    {
  1929.     for (j=y1;j<=y2;j++)
  1930.      display[j][i]&=t;
  1931.    }
  1932.   }
  1933. }
  1934. else
  1935. {
  1936.   if (le)
  1937.   {
  1938.    display[y1][z1]|=t;
  1939.    display[y2][z1]|=t;
  1940.    display[y1][z2]|=t;
  1941.    display[y2][z2]|=t;
  1942.   }
  1943.   else
  1944.   {
  1945.     display[y1][z1]&=t;
  1946.    display[y2][z1]&=t;
  1947.    display[y1][z2]&=t;
  1948.    display[y2][z2]&=t;
  1949.   }
  1950.   t=(0x01<<x1)|(0x01<<x2);
  1951.   if (!le)
  1952.    t=~t;
  1953.   if (le)
  1954.   {
  1955.    for (j=z1;j<=z2;j+=(z2-z1))
  1956.    {
  1957.     for (i=y1;i<=y2;i++)
  1958.      display[i][j]|=t;
  1959.    }
  1960.    for (j=y1;j<=y2;j+=(y2-y1))
  1961.    {
  1962.     for (i=z1;i<=z2;i++)
  1963.      display[j][i]|=t;
  1964.    }
  1965.   }
  1966.   else
  1967.   {
  1968.    for (j=z1;j<=z2;j+=(z2-z1))
  1969.    {
  1970.     for (i=y1;i<=y2;i++)
  1971.     {
  1972.     display[i][j]&=t;
  1973.     }
  1974.    }
  1975.    for (j=y1;j<=y2;j+=(y2-y1))
  1976.    {
  1977.     for (i=z1;i<=z2;i++)
  1978.     {
  1979.     display[j][i]&=t;
  1980.     }
  1981.    }
  1982.   }
  1983. }
  1984. }
  1985. void box_apeak_xy(uchar x1,uchar y1,uchar z1,uchar x2,uchar y2,uchar z2,uchar fill,uchar le)
  1986. {
  1987. uchar i;
  1988. max(&z1,&z2);
  1989. if (fill)
  1990. {
  1991.   for (i=z1;i<=z2;i++)
  1992.   {
  1993.    line (x1,y1,i,x2,y2,i,le);
  1994.   }
  1995. }
  1996. else
  1997. {
  1998.   line (x1,y1,z1,x2,y2,z1,le);
  1999.   line (x1,y1,z2,x2,y2,z2,le);
  2000.   line (x2,y2,z1,x2,y2,z2,le);
  2001.   line (x1,y1,z1,x1,y1,z2,le);
  2002. }
  2003. }

  2004. void poke(uchar n,uchar x,uchar y)
  2005. {
  2006. uchar i;
  2007. for (i=0;i<8;i++)
  2008. {
  2009.   point(x,y,i,judgebit(n,i));
  2010. }
  2011. }
  2012. void boxtola(char i,uchar n)
  2013. {
  2014. if ((i>=0)&(i<8))
  2015. {
  2016.   poke(n,0,7-i);
  2017. }
  2018. if ((i>=8)&(i<16))
  2019. {
  2020.   poke(n,i-8,0);
  2021. }
  2022. if ((i>=16)&(i<24))
  2023. {
  2024.   poke(n,7,i-16);
  2025. }
  2026. }
  2027. void rolldisplay_yd(uint speed)
  2028. {
  2029.          uchar j;
  2030.          char i,a;
  2031.          for (i=23;i>-112;i--)
  2032.          {
  2033.                    for (j=0;j<112;j++)
  2034.                    {
  2035.                             a=i+j;
  2036.                             if ((a>=0)&(a<24))
  2037.                             boxtola(a,table_yd[j]);
  2038.                    }
  2039.                    delay(speed);
  2040.          }
  2041. }
  2042. void rolldisplay(uint speed)
  2043. {
  2044. uchar xdata j;
  2045. char xdata i,a;
  2046. for (i=23;i>-40;i--)
  2047. {
  2048.   for (j=0;j<40;j++)
  2049.   {
  2050.    a=i+j;
  2051.    if ((a>=0)&(a<24))
  2052.    boxtola(a,table_id[j]);
  2053.   }
  2054.   delay(speed);
  2055. }
  2056. }
  2057. void roll_apeak_yz(uchar n,uint speed)
  2058. {
  2059. uchar xdata i;
  2060. switch(n)
  2061. {
  2062.   case 1:
  2063.    for (i=0;i<7;i++)
  2064.    {
  2065.     display[i][7]=0;
  2066.     display[7][6-i]=255;
  2067.     delay(speed);
  2068.    };
  2069.    break;
  2070.   case 2:
  2071.    for (i=0;i<7;i++)
  2072.    {
  2073.     display[7][7-i]=0;
  2074.     display[6-i][0]=255;
  2075.     delay(speed);
  2076.    };
  2077.    break;
  2078.   case 3:
  2079.    for (i=0;i<7;i++)
  2080.    {
  2081.     display[7-i][0]=0;
  2082.     display[0][i+1]=255;
  2083.     delay(speed);
  2084.    };
  2085.    break;
  2086.   case 0:
  2087.    for (i=0;i<7;i++)
  2088.    {
  2089.     display[0][i]=0;
  2090.     display[i+1][7]=255;
  2091.     delay(speed);
  2092.    };
  2093. }
  2094. }
  2095. void roll_apeak_xy(uchar n,uint speed)
  2096. {
  2097. uchar xdata i;
  2098. switch(n)
  2099. {
  2100.   case 1:
  2101.    for (i=0;i<7;i++)
  2102.    {
  2103.     line(0,i,0,0,i,7,0);
  2104.     line(i+1,7,0,i+1,7,7,1);
  2105.     delay(speed);
  2106.    };
  2107.    break;
  2108.   case 2:
  2109.    for (i=0;i<7;i++)
  2110.    {
  2111.     line(i,7,0,i,7,7,0);
  2112.     line(7,6-i,0,7,6-i,7,1);
  2113.     delay(speed);
  2114.    };
  2115.    break;
  2116.   case 3:
  2117.    for (i=0;i<7;i++)
  2118.    {
  2119.     line(7,7-i,0,7,7-i,7,0);
  2120.     line(6-i,0,0,6-i,0,7,1);
  2121.     delay(speed);
  2122.    };
  2123.    break;
  2124.   case 0:
  2125.    for (i=0;i<7;i++)
  2126.    {
  2127.     line(7-i,0,0,7-i,0,7,0);
  2128.     line(0,i+1,0,0,i+1,7,1);
  2129.     delay(speed);
  2130.    };
  2131. }
  2132. }
  2133. void roll_3_xy(uchar n,uint speed)
  2134. {
  2135. uchar xdata i;
  2136. switch(n)
  2137. {
  2138.   case 1:
  2139.    for (i=0;i<8;i++)
  2140.    {
  2141.     box_apeak_xy (0,i,0,7,7-i,7,1,1);
  2142.     delay(speed);
  2143.     if (i<7)
  2144.     box_apeak_xy (3,3,0,0,i,7,1,0);
  2145.    };
  2146.    break;
  2147.   case 2:
  2148.    for (i=0;i<8;i++)
  2149.    {
  2150.     box_apeak_xy (7-i,0,0,i,7,7,1,1);
  2151.     delay(speed);
  2152.     if (i<7)
  2153.     box_apeak_xy (3,4,0,i,7,7,1,0);
  2154.    };
  2155.    break;
  2156.   case 3:
  2157.    for (i=0;i<8;i++)
  2158.    {
  2159.     box_apeak_xy (0,i,0,7,7-i,7,1,1);
  2160.     delay(speed);
  2161.     if (i<7)
  2162.     box_apeak_xy (4,4,0,7,7-i,7,1,0);
  2163.    };
  2164.    break;
  2165.   case 0:
  2166.    for (i=0;i<8;i++)
  2167.    {
  2168.     box_apeak_xy (7-i,0,0,i,7,7,1,1);
  2169.     delay(speed);
  2170.     if (i<7)
  2171.     box_apeak_xy (4,3,0,7-i,0,7,1,0);
  2172.    };
  2173. }
  2174. }
  2175. void trans(uchar z,uint speed)
  2176. {
  2177. uchar i,j;
  2178. for (j=0;j<8;j++)
  2179. {
  2180.   for (i=0;i<8;i++)
  2181.   {
  2182.    display[z][i]>>=1;
  2183.   }
  2184.   delay(speed);
  2185. }
  2186. }
  2187. void tranoutchar(uchar c,uint speed)
  2188. {
  2189. uchar i,j,k,a,i2=0;
  2190. for (i=0;i<8;i++)
  2191. {
  2192.   if (i<7)
  2193.   box_apeak_xy (i+1,0,0,i+1,7,7,1,1);
  2194.   box_apeak_xy (i2,0,0,i2,7,7,1,0);
  2195.   a=0;
  2196.   i2=i+1;
  2197.   for (j=0;j<=i;j++)
  2198.   {
  2199.    a=a|(1<<j);
  2200.   }
  2201.   for (k=0;k<8;k++)
  2202.   {
  2203.    display[k][3]|=table_cha[c][k]&a;
  2204.    display[k][4]|=table_cha[c][k]&a;
  2205.   }
  2206.   delay(speed);
  2207. }
  2208. }
  2209. void tranoutchar_cu(uchar c,uint speed)
  2210. {
  2211. uchar i,j,k,a,i2=0;
  2212. for (i=0;i<8;i++)
  2213. {
  2214.   if (i<7)
  2215.   box_apeak_xy (i+1,0,0,i+1,7,7,1,1);
  2216.   box_apeak_xy (i2,0,0,i2,7,7,1,0);
  2217.   a=0;
  2218.   i2=i+1;
  2219.   for (j=0;j<=i;j++)
  2220.   {
  2221.    a=a|(1<<j);
  2222.   }
  2223.   for (k=0;k<8;k++)
  2224.   {
  2225.    display[k][3]|=table_cha_cu[c][k]&a;
  2226.    display[k][4]|=table_cha_cu[c][k]&a;
  2227.   }
  2228.   delay(speed);
  2229. }
  2230. }
  2231. void transss()
  2232. {
  2233. uchar i,j;
  2234. for (i=0;i<8;i++)
  2235. {
  2236.   for (j=0;j<8;j++)
  2237.   display[i][j]<<=1;
  2238. }
  2239. }
  2240. /*From now on,the function below is to display the flash.*/
  2241. void flash_1()
  2242. {
  2243. clear(0);
  2244. type(4,0);
  2245. delay(60000);
  2246. type(3,0);
  2247. delay(60000);
  2248. type(2,0);
  2249. delay(60000);
  2250. type(1,0);
  2251. delay(60000);
  2252. delay(60000);
  2253. }
  2254. void flash_16()
  2255. {
  2256. clear(0);
  2257. rolldisplay(30000);
  2258. }
  2259. void flash_17()
  2260. {
  2261. clear(0);
  2262. type(0,7);
  2263. delay(60000);
  2264. trailler(6000);
  2265. delay(60000);
  2266. }
  2267. void flash_12()
  2268. {
  2269. clear(0);
  2270. rolldisplay_yd(30000);
  2271. }
  2272. void flash_13()
  2273. {        
  2274.                  clear(0);
  2275.          type(0,7);
  2276.          trailler(9000);
  2277.          delay(60000);
  2278.                  clear(0);
  2279.          type(1,7);
  2280.          delay(60000);
  2281.          trailler(9000);
  2282.          delay(60000);
  2283.                  clear(0);
  2284.          type(2,7);
  2285.          delay(60000);
  2286.          trailler(9000);
  2287.          delay(60000);
  2288.                  clear(0);
  2289.          type(3,7);
  2290.          delay(60000);
  2291.          trailler(9000);
  2292.          delay(60000);
  2293.                  clear(0);
  2294.          type(4,7);
  2295.          delay(60000);
  2296.          trailler(9000);
  2297.          delay(60000);
  2298.                  clear(0);
  2299.          type(5,7);
  2300.          delay(60000);
  2301.          trailler(9000);
  2302.          delay(60000);
  2303.                  clear(0);
  2304.          type(6,7);
  2305.          delay(60000);
  2306.          trailler(9000);
  2307.          delay(60000);
  2308.                  clear(0);
  2309.          type(7,7);
  2310.          delay(60000);
  2311.          trailler(9000);
  2312.          delay(60000);
  2313. }
  2314. void flash_2()
  2315. {
  2316. uchar i;
  2317. clear(0);
  2318. for (i=129;i>0;i--)
  2319. {
  2320.   cirp(i-2,0,1);
  2321.   delay(8000);
  2322.   cirp(i-1,0,0);
  2323. }
  2324. delay(8000);
  2325. for (i=0;i<136;i++)
  2326. {
  2327.   cirp(i,1,1);
  2328.   delay(8000);
  2329.   cirp(i-8,1,0);
  2330. }
  2331. delay(8000);
  2332.   for (i=129;i>0;i--)
  2333. {
  2334.   cirp(i-2,0,1);
  2335.   delay(8000);
  2336. }
  2337. delay(60000);delay(60000);delay(60000);delay(60000);
  2338. delay(60000);delay(60000);delay(60000);delay(60000);
  2339. delay(60000);delay(60000);delay(60000);delay(60000);
  2340. delay(60000);delay(60000);delay(60000);delay(60000);
  2341.   for (i=0;i<128;i++)
  2342. {
  2343.   cirp(i-8,1,0);
  2344.   delay(8000);
  2345. }
  2346. delay(60000);
  2347. }
  2348. void flash_3()
  2349. {
  2350. char i;
  2351. for (i=0;i<8;i++)
  2352. {
  2353.   box_apeak_xy(0,i,0,7,i,7,1,1);
  2354.   delay(20000);
  2355.   if (i<7)
  2356.   box_apeak_xy(0,i,0,7,i,7,1,0);
  2357. }
  2358. for (i=7;i>=0;i--)
  2359. {
  2360.   box_apeak_xy(0,i,0,7,i,7,1,1);
  2361.   delay(20000);
  2362.   if (i>0)
  2363.   box_apeak_xy(0,i,0,7,i,7,1,0);
  2364. }
  2365. for (i=0;i<8;i++)
  2366. {
  2367.   box_apeak_xy(0,i,0,7,i,7,1,1);
  2368.   delay(20000);
  2369.   if (i<7)
  2370.   box_apeak_xy(0,i,0,7,i,7,1,0);
  2371. }
  2372. }
  2373. void flash_4()
  2374. {
  2375. char i,j,an[8];
  2376. for (j=7;j<15;j++)
  2377.   an[j-7]=j;
  2378. for (i=0;i<=16;i++)
  2379. {
  2380.   for (j=0;j<8;j++)
  2381.   {
  2382.    if ((an[j]<8)&(an[j]>=0))
  2383.    line(0,an[j],j,7,an[j],j,1);
  2384.   }
  2385.   for (j=0;j<8;j++)
  2386.   {
  2387.    if (((an[j]+1)<8)&(an[j]>=0))
  2388.    line(0,an[j]+1,j,7,an[j]+1,j,0);
  2389.   }
  2390.   for (j=0;j<8;j++)
  2391.   {
  2392.    if (an[j]>0)
  2393.    an[j]--;
  2394.   }
  2395.   delay(15000);
  2396. }
  2397. for (j=0;j<8;j++)
  2398.   an[j]=1-j;
  2399. for (i=0;i<=16;i++)
  2400. {
  2401.   for (j=0;j<8;j++)
  2402.   {
  2403.    if ((an[j]<8)&(an[j]>=0))
  2404.    line(0,an[j],j,7,an[j],j,1);
  2405.   }
  2406.   for (j=0;j<8;j++)
  2407.   {
  2408.    if (((an[j]-1)<7)&(an[j]>0))
  2409.    line(0,an[j]-1,j,7,an[j]-1,j,0);
  2410.   }
  2411.   for (j=0;j<8;j++)
  2412.   {
  2413.    if (an[j]<7)
  2414.    an[j]++;
  2415.   }
  2416.   delay(15000);
  2417. }
  2418. }void key_donghua_scan()
  2419. {
  2420. if(!K3)  //如果检测到低电平,说明按键按下
  2421.     {
  2422.         if(msd==1||msd==2){TR0=0;}
  2423.          delay10us(); //延时去抖,一般10-20ms
  2424.      if(!K3)     //再次确认按键是否按下,没有按下则退出
  2425.            {
  2426.         while(!K3)//如果确认按下按键等待按键释放,没有则退出
  2427.                {
  2428.                    if(test==1){key1=2;}
  2429.                    if(test==2){key2=2;}
  2430.                    PWM_POW=1;      
  2431.                    delay10us();        delay10us();delay10us();delay10us();        delay10us();delay10us();
  2432.                    PWM_POW=0;      
  2433.                          }
  2434.            }
  2435.         }
  2436.         if(msd==1||msd==2){TR0=1;}
  2437. }
  2438. void key_yinyue_scan()
  2439. {
  2440. if(!K4)  //如果检测到低电平,说明按键按下
  2441.     {
  2442.         if(msd==1||msd==2){TR0=0;}
  2443.          delay10us(); //延时去抖,一般10-20ms
  2444.      if(!K4)     //再次确认按键是否按下,没有按下则退出
  2445.            {
  2446.         while(!K4)//如果确认按下按键等待按键释放,没有则退出
  2447.                {
  2448.                    if(test==1){key1=3;}
  2449.                    if(test==2){key2=1;}
  2450.                    PWM_POW=1;      
  2451.                    delay10us();        delay10us();delay10us();delay10us();        delay10us();delay10us();
  2452.                    PWM_POW=0;     
  2453.                          }
  2454.            }
  2455.         }
  2456.         if(msd==1||msd==2){TR0=1;}
  2457. }

  2458. void flash_5()
  2459. {
  2460. uint a=15000;
  2461. char i=8,j,an[4];
  2462. for (j=7;j<11;j++)
  2463.   an[j-7]=j;
  2464. while(i--)
  2465. {
  2466.   for (j=0;j<4;j++)
  2467.   {
  2468.    if (an[j]<8)
  2469.    box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  2470.    if (an[j]<7)
  2471.    box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0);
  2472.   }
  2473.   for (j=0;j<4;j++)
  2474.   {
  2475.    if (an[j]>3)
  2476.    an[j]--;
  2477.   }
  2478.   delay(a);
  2479. }
  2480. i=3;
  2481. for (j=0;j<4;j++)
  2482. an[j]=5-j;
  2483. while(i--)
  2484. {
  2485.   for (j=1;j<4;j++)
  2486.   {
  2487.    if (an[j]<4)
  2488.    box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  2489.    if (an[j]<3)
  2490.    box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0);
  2491.   }
  2492.   for (j=0;j<4;j++)
  2493.   {
  2494.    if (an[j]>0)
  2495.    an[j]--;
  2496.   }
  2497.   delay(a);
  2498. }
  2499. i=3;
  2500. for (j=1;j<4;j++)
  2501. an[j]=4-j;
  2502. while(i--)
  2503. {
  2504.   for (j=1;j<4;j++)
  2505.   {
  2506.    if (an[j]>=0)
  2507.    box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  2508.    if (an[j]>0)
  2509.    box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0);
  2510.   }
  2511.   for (j=1;j<4;j++)
  2512.   {
  2513.    if (an[j]<3)
  2514.    an[j]++;
  2515.   }
  2516.   delay(a);
  2517. }
  2518. i=3;
  2519. for (j=0;j<4;j++)
  2520. an[j]=j+1;
  2521. while(i--)
  2522. {
  2523.   for (j=1;j<4;j++)
  2524.   {
  2525.    if (an[j]>3)
  2526.    box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  2527.    if (an[j]>3)
  2528.    box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0);
  2529.   }
  2530.   for (j=0;j<4;j++)
  2531.    an[j]++;
  2532.   delay(a);
  2533. }
  2534. i=3;
  2535. for (j=3;j<6;j++)
  2536.   an[j-2]=j;
  2537. while(i--)
  2538. {
  2539.   for (j=1;j<4;j++)
  2540.   {
  2541.    box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  2542.    box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0);
  2543.   }
  2544.   for (j=0;j<4;j++)
  2545.   {
  2546.    if (an[j]>3)
  2547.    an[j]--;
  2548.   }
  2549.   delay(a);
  2550. }
  2551. i=3;
  2552. for (j=0;j<4;j++)
  2553. an[j]=5-j;
  2554. while(i--)
  2555. {
  2556.   for (j=1;j<4;j++)
  2557.   {
  2558.    if (an[j]<4)
  2559.    box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  2560.    if (an[j]<3)
  2561.    box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0);
  2562.   }
  2563.   for (j=0;j<4;j++)
  2564.   {
  2565.    if (an[j]>0)
  2566.    an[j]--;
  2567.   }
  2568.   delay(a);
  2569. }
  2570. i=3;
  2571. for (j=0;j<4;j++)
  2572. an[j]=3-j;
  2573. an[0]=2;
  2574. while(i--)
  2575. {
  2576.   for (j=0;j<3;j++)
  2577.   {
  2578.    if (an[j]>=0)
  2579.     box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  2580.    if (an[j]>=0)
  2581.     box_apeak_xy(j,an[j]+1,j,7-j,an[j]+1,7-j,0,0);
  2582.   }
  2583.   for (j=0;j<4;j++)
  2584.   {
  2585.    if (j<5-i)
  2586.    an[j]--;
  2587.   }
  2588.   delay(a);
  2589. }
  2590. i=10;
  2591. for (j=0;j<4;j++)
  2592.   an[j]=j-2;
  2593. while(i--)
  2594. {
  2595.   for (j=0;j<4;j++)
  2596.   {
  2597.    if (an[j]>=0)
  2598.    box_apeak_xy(j,an[j],j,7-j,an[j],7-j,0,1);
  2599.    if (an[j]>=0)
  2600.    box_apeak_xy(j,an[j]-1,j,7-j,an[j]-1,7-j,0,0);
  2601.   }
  2602.   for (j=0;j<4;j++)
  2603.   {
  2604.    if (an[j]<7)
  2605.    an[j]++;
  2606.   }
  2607.   delay(a);
  2608. }
  2609. }
  2610. void flash_6()
  2611. {
  2612. uchar i,j,k,z;
  2613. roll_apeak_yz(1,10000);
  2614. roll_apeak_yz(2,10000);
  2615. roll_apeak_yz(3,10000);
  2616. roll_apeak_yz(0,10000);
  2617. roll_apeak_yz(1,10000);
  2618. roll_apeak_yz(2,10000);
  2619. roll_apeak_yz(3,10000);
  2620. for (i=0;i<3;i++)
  2621.   {
  2622.    for (j=0;j<8;j++)
  2623.    {
  2624.     for (k=0;k<8;k++)
  2625.     {
  2626.      if ((table_3p[i][j]>>k)&1)
  2627.      {
  2628.       for (z=1;z<8;z++)
  2629.        {
  2630.         point (j,7-k,z,1);
  2631.         if (z-1)
  2632.         point (j,7-k,z-1,0);
  2633.         delay(5000);
  2634.        }
  2635.      }
  2636.     }
  2637.    }
  2638.    delay(60000);delay(60000);delay(60000);delay(60000);delay(60000);
  2639.    trans(7,15000);
  2640.   }
  2641. }
  2642. void flash_7()
  2643. {
  2644. uchar i;
  2645. uint a=3000;
  2646. roll_apeak_yz(0,10000);
  2647. roll_apeak_yz(1,10000);
  2648. roll_apeak_yz(2,10000);
  2649. roll_apeak_yz(3,10000);
  2650. roll_apeak_yz(0,10000);
  2651. roll_apeak_yz(1,10000);
  2652. roll_apeak_yz(2,10000);
  2653. roll_apeak_yz(3,10000);
  2654. roll_apeak_yz(0,10000);
  2655. roll_apeak_yz(1,10000);
  2656. roll_apeak_yz(2,10000);
  2657. roll_apeak_xy(0,10000);
  2658. roll_apeak_xy(1,10000);
  2659. roll_apeak_xy(2,10000);
  2660. roll_apeak_xy(3,10000);
  2661. roll_apeak_xy(0,10000);
  2662. roll_apeak_xy(1,10000);
  2663. roll_apeak_xy(2,10000);
  2664. roll_apeak_xy(3,10000);
  2665. for (i=0;i<8;i++)
  2666. {
  2667.   box_apeak_xy (0,i,0,7-i,i,7,1,1);
  2668.   delay(a);
  2669. }
  2670. delay(30000);
  2671. roll_3_xy(0,a);
  2672. delay(30000);
  2673. roll_3_xy(1,a);
  2674. delay(30000);
  2675. roll_3_xy(2,a);
  2676. delay(30000);
  2677. roll_3_xy(3,a);
  2678. delay(30000);
  2679. roll_3_xy(0,a);
  2680. delay(30000);
  2681. roll_3_xy(1,a);
  2682. delay(30000);
  2683. roll_3_xy(2,a);
  2684. delay(30000);
  2685. roll_3_xy(3,a);
  2686. for (i=7;i>0;i--)
  2687. {
  2688.   box_apeak_xy(i,0,0,i,7,7,1,0);
  2689.   delay(a);
  2690. }
  2691. }
  2692. void flash_8()
  2693. {
  2694. uchar i;
  2695. for (i=5;i<8;i++)
  2696. {
  2697.   tranoutchar(i,10000);
  2698.   delay(60000);
  2699.   delay(60000);
  2700. }
  2701. }void fvb()
  2702. {
  2703.           if(read_flag)
  2704.            {
  2705.             read_flag=0;
  2706.                  for(saom=0;saom<8;saom++)
  2707.                  {
  2708.             displayck[saom+0]=((shuzu8X8[saom*8]>>7)&0x01)+(((shuzu8X8[saom*8+1]>>7)&0x01)<<1)+(((shuzu8X8[saom*8+2]>>7)&0x01)<<2)+(((shuzu8X8[saom*8+3]>>7)&0x01)<<3)+(((shuzu8X8[saom*8+4]>>7)&0x01)<<4)+(((shuzu8X8[saom*8+5]>>7)&0x01)<<5)+(((shuzu8X8[saom*8+6]>>7)&0x01)<<6)+(((shuzu8X8[saom*8+7]>>7)&0x01)<<7);       
  2709.                 displayck[saom+8]=((shuzu8X8[saom*8]>>6)&0x01)+(((shuzu8X8[saom*8+1]>>6)&0x01)<<1)+(((shuzu8X8[saom*8+2]>>6)&0x01)<<2)+(((shuzu8X8[saom*8+3]>>6)&0x01)<<3)+(((shuzu8X8[saom*8+4]>>6)&0x01)<<4)+(((shuzu8X8[saom*8+5]>>6)&0x01)<<5)+(((shuzu8X8[saom*8+6]>>6)&0x01)<<6)+(((shuzu8X8[saom*8+7]>>6)&0x01)<<7);       
  2710.                 displayck[saom+16]=((shuzu8X8[saom*8]>>5)&0x01)+(((shuzu8X8[saom*8+1]>>5)&0x01)<<1)+(((shuzu8X8[saom*8+2]>>5)&0x01)<<2)+(((shuzu8X8[saom*8+3]>>5)&0x01)<<3)+(((shuzu8X8[saom*8+4]>>5)&0x01)<<4)+(((shuzu8X8[saom*8+5]>>5)&0x01)<<5)+(((shuzu8X8[saom*8+6]>>5)&0x01)<<6)+(((shuzu8X8[saom*8+7]>>5)&0x01)<<7);       
  2711.                 displayck[saom+24]=((shuzu8X8[saom*8]>>4)&0x01)+(((shuzu8X8[saom*8+1]>>4)&0x01)<<1)+(((shuzu8X8[saom*8+2]>>4)&0x01)<<2)+(((shuzu8X8[saom*8+3]>>4)&0x01)<<3)+(((shuzu8X8[saom*8+4]>>4)&0x01)<<4)+(((shuzu8X8[saom*8+5]>>4)&0x01)<<5)+(((shuzu8X8[saom*8+6]>>4)&0x01)<<6)+(((shuzu8X8[saom*8+7]>>4)&0x01)<<7);       
  2712.                 displayck[saom+32]=((shuzu8X8[saom*8]>>3)&0x01)+(((shuzu8X8[saom*8+1]>>3)&0x01)<<1)+(((shuzu8X8[saom*8+2]>>3)&0x01)<<2)+(((shuzu8X8[saom*8+3]>>3)&0x01)<<3)+(((shuzu8X8[saom*8+4]>>3)&0x01)<<4)+(((shuzu8X8[saom*8+5]>>3)&0x01)<<5)+(((shuzu8X8[saom*8+6]>>3)&0x01)<<6)+(((shuzu8X8[saom*8+7]>>3)&0x01)<<7);       
  2713.                 displayck[saom+40]=((shuzu8X8[saom*8]>>2)&0x01)+(((shuzu8X8[saom*8+1]>>2)&0x01)<<1)+(((shuzu8X8[saom*8+2]>>2)&0x01)<<2)+(((shuzu8X8[saom*8+3]>>2)&0x01)<<3)+(((shuzu8X8[saom*8+4]>>2)&0x01)<<4)+(((shuzu8X8[saom*8+5]>>2)&0x01)<<5)+(((shuzu8X8[saom*8+6]>>2)&0x01)<<6)+(((shuzu8X8[saom*8+7]>>2)&0x01)<<7);       
  2714.                 displayck[saom+48]=((shuzu8X8[saom*8]>>1)&0x01)+(((shuzu8X8[saom*8+1]>>1)&0x01)<<1)+(((shuzu8X8[saom*8+2]>>1)&0x01)<<2)+(((shuzu8X8[saom*8+3]>>1)&0x01)<<3)+(((shuzu8X8[saom*8+4]>>1)&0x01)<<4)+(((shuzu8X8[saom*8+5]>>1)&0x01)<<5)+(((shuzu8X8[saom*8+6]>>1)&0x01)<<6)+(((shuzu8X8[saom*8+7]>>1)&0x01)<<7);       
  2715.                 displayck[saom+56]=((shuzu8X8[saom*8]>>0)&0x01)+(((shuzu8X8[saom*8+1]>>0)&0x01)<<1)+(((shuzu8X8[saom*8+2]>>0)&0x01)<<2)+(((shuzu8X8[saom*8+3]>>0)&0x01)<<3)+(((shuzu8X8[saom*8+4]>>0)&0x01)<<4)+(((shuzu8X8[saom*8+5]>>0)&0x01)<<5)+(((shuzu8X8[saom*8+6]>>0)&0x01)<<6)+(((shuzu8X8[saom*8+7]>>0)&0x01)<<7);       
  2716.                  }
  2717.            }
  2718.            for(layerr=0;layerr<8;layerr++)
  2719.            {
  2720.                 key_baihei_scan();  key_shangwiej_scan();   key_donghua_scan();        key_yinyue_scan();
  2721.                 hansao(layerr);
  2722.                 sendbyteck(~displayck[layerr*8+0],~displayck[layerr*8+2],~displayck[layerr*8+4],~displayck[layerr*8+7]);
  2723.                 sendbyteck(~displayck[layerr*8+3],~displayck[layerr*8+1],~displayck[layerr*8+6],~displayck[layerr*8+5]);
  2724.                 SUO=0;                             
  2725.                 _nop_();
  2726.                 SUO=1;
  2727.                 M_EN=0;                             
  2728.                 delayus(ld);                    
  2729.                 M_EN=1;                                  

  2730.                 if(key2==1||key2==2)
  2731.                 {
  2732.                 break;
  2733.                 }
  2734.            }
  2735. }


  2736. void flash_9()
  2737. {
  2738. char i;
  2739. uchar j,an[8],x,y,t,x1,y1;
  2740. for (i=0;i<8;i++)
  2741. {
  2742.   box_apeak_xy (i,0,0,i,7,7,1,1);
  2743.   if (i)
  2744.   box_apeak_xy (i-1,0,0,i-1,7,7,1,0);
  2745.   delay(10000);
  2746. }
  2747. roll_apeak_xy(3,10000);
  2748. roll_apeak_xy(0,10000);
  2749. roll_apeak_xy(1,10000);
  2750. for (i=0;i<7;i++)
  2751. {
  2752.   line(6-i,6-i,0,6-i,6-i,7,1);
  2753.   line(i,7,0,i,7,7,0);
  2754.   delay(10000);
  2755. }
  2756. for (i=0;i<8;i++)
  2757.   an[i]=14;
  2758. for (i=0;i<85;i++)
  2759. {
  2760.   clear(0);
  2761.   for (j=0;j<8;j++)
  2762.   {
  2763.    t=an[j]%28;
  2764.    x=dat2[t]>>5;
  2765.    y=(dat2[t]>>2)&0x07;
  2766.    t=(an[j]-14)%28;
  2767.    x1=dat2[t]>>5;
  2768.    y1=(dat2[t]>>2)&0x07;
  2769.    line(x,y,j,x1,y1,j,1);
  2770.   }
  2771.   for (j=0;j<8;j++)
  2772.   {
  2773.   if ((i>j)&(j>i-71))
  2774.   an[j]++;
  2775.   }
  2776.   delay(5000);
  2777. }
  2778. for (i=0;i<85;i++)
  2779. {
  2780.   clear(0);
  2781.   for (j=0;j<8;j++)
  2782.   {
  2783.    t=an[j]%28;
  2784.    x=dat2[t]>>5;
  2785.    y=(dat2[t]>>2)&0x07;
  2786.    t=(an[j]-14)%28;
  2787.    x1=dat2[t]>>5;
  2788.    y1=(dat2[t]>>2)&0x07;
  2789.    line(x,y,j,x1,y1,j,1);
  2790.   }
  2791.   for (j=0;j<8;j++)
  2792.   {
  2793.   if ((i>j)&(j>i-71))
  2794.   an[j]--;
  2795.   }
  2796.   delay(5000);
  2797. }
  2798. for (i=0;i<29;i++)
  2799. {
  2800.   clear(0);
  2801.   t=an[0]%28;
  2802.   x=dat2[t]>>5;
  2803.   y=(dat2[t]>>2)&0x07;
  2804.   t=(an[0]-14)%28;
  2805.   x1=dat2[t]>>5;
  2806.   y1=(dat2[t]>>2)&0x07;
  2807.   box_apeak_xy(x,y,0,x1,y1,7,0,1);
  2808.   box_apeak_xy(x,y,1,x1,y1,6,0,1);
  2809.   an[0]++;
  2810.   delay(5000);
  2811. }
  2812. for (i=0;i<16;i++)
  2813. {
  2814.   clear(0);
  2815.   t=an[0]%28;
  2816.   x=dat2[t]>>5;
  2817.   y=(dat2[t]>>2)&0x07;
  2818.   t=(an[0]-14)%28;
  2819.   x1=dat2[t]>>5;
  2820.   y1=(dat2[t]>>2)&0x07;
  2821.   box_apeak_xy(x,y,0,x1,y1,7,1,1);
  2822.   an[0]--;
  2823.   delay(5000);
  2824. }
  2825. for (i=0;i<8;i++)
  2826. {
  2827.   line(i,i,0,0,0,i,0);
  2828.   delay(5000);
  2829. }
  2830. for (i=1;i<7;i++)
  2831. {
  2832.   line(i,i,7,7,7,i,0);
  2833.   delay(5000);
  2834. }
  2835. for (i=1;i<8;i++)
  2836. {
  2837.   clear(0);
  2838.   box(7,7,7,7-i,7-i,7-i,0,1);
  2839.   delay(10000);
  2840. }
  2841. for (i=1;i<7;i++)
  2842. {
  2843.   clear(0);
  2844.   box(0,0,0,7-i,7-i,7-i,0,1);
  2845.   delay(10000);
  2846. }
  2847. for (i=1;i<8;i++)
  2848. {
  2849.   clear(0);
  2850.   box(0,0,0,i,i,i,0,1);
  2851.   delay(10000);
  2852. }
  2853. for (i=1;i<7;i++)
  2854. {
  2855.   clear(0);
  2856.   box(7,0,0,i,7-i,7-i,0,1);
  2857.   delay(10000);
  2858. }
  2859. for (i=1;i<8;i++)
  2860. {
  2861.   box(7,0,0,7-i,i,i,1,1);
  2862.   delay(10000);
  2863. }
  2864. for (i=1;i<7;i++)
  2865. {
  2866.   clear(0);
  2867.   box(0,7,7,7-i,i,i,1,1);
  2868.   delay(10000);
  2869. }
  2870. }
  2871. void flash_10()
  2872. {
  2873. uchar i,j,an[4],x,y,t;
  2874. for (i=1;i<7;i++)
  2875. {
  2876.   clear(0);
  2877.   box(0,6,6,1,7,7,1,1);
  2878.   box(i,6,6-i,i+1,7,7-i,1,1);
  2879.   box(i,6,6,i+1,7,7,1,1);
  2880.   box(0,6,6-i,1,7,7-i,1,1);
  2881.   box(0,6-i,6,1,7-i,7,1,1);
  2882.   box(i,6-i,6-i,i+1,7-i,7-i,1,1);
  2883.   box(i,6-i,6,i+1,7-i,7,1,1);
  2884.   box(0,6-i,6-i,1,7-i,7-i,1,1);
  2885.   delay(30000);
  2886. }
  2887. for (i=0;i<4;i++)
  2888. {
  2889.   an[i]=6*i;
  2890. }
  2891. for (i=0;i<35;i++)
  2892. {
  2893.   clear(0);
  2894.   for(j=0;j<4;j++)
  2895.   {
  2896.    t=an[j]%24;
  2897.    x=dat3[t]>>4;
  2898.    y=dat3[t]&0x0f;
  2899.    box(x,y,0,x+1,y+1,1,1,1);
  2900.    box(x,y,6,x+1,y+1,7,1,1);
  2901.   }
  2902.   for (j=0;j<4;j++)
  2903.   an[j]++;
  2904.   delay(10000);
  2905. }
  2906. for (i=0;i<35;i++)
  2907. {
  2908.   clear(0);
  2909.   for(j=0;j<4;j++)
  2910.   {
  2911.    t=an[j]%24;
  2912.    x=dat3[t]>>4;
  2913.    y=dat3[t]&0x0f;
  2914.    box(x,y,0,x+1,y+1,1,1,1);
  2915.    box(x,y,6,x+1,y+1,7,1,1);
  2916.   }
  2917.   for (j=0;j<4;j++)
  2918.   an[j]--;
  2919.   delay(10000);
  2920. }
  2921. for (i=0;i<35;i++)
  2922. {
  2923.   clear(0);
  2924.   for(j=0;j<4;j++)
  2925.   {
  2926.    t=an[j]%24;
  2927.    x=dat3[t]>>4;
  2928.    y=dat3[t]&0x0f;
  2929.    box(x,0,y,x+1,1,y+1,1,1);
  2930.    box(x,6,y,x+1,7,y+1,1,1);
  2931.   }
  2932.   for (j=0;j<4;j++)
  2933.   an[j]++;
  2934.   delay(10000);
  2935. }
  2936. for (i=0;i<36;i++)
  2937. {
  2938.   clear(0);
  2939.   for(j=0;j<4;j++)
  2940.   {
  2941.    t=an[j]%24;
  2942.    x=dat3[t]>>4;
  2943.    y=dat3[t]&0x0f;
  2944.    box(x,0,y,x+1,1,y+1,1,1);
  2945.    box(x,6,y,x+1,7,y+1,1,1);
  2946.   }
  2947.   for (j=0;j<4;j++)
  2948.   an[j]--;
  2949.   delay(10000);
  2950. }
  2951. for (i=6;i>0;i--)
  2952. {
  2953.   clear(0);
  2954.   box(0,6,6,1,7,7,1,1);
  2955.   box(i,6,6-i,i+1,7,7-i,1,1);
  2956.   box(i,6,6,i+1,7,7,1,1);
  2957.   box(0,6,6-i,1,7,7-i,1,1);
  2958.   box(0,6-i,6,1,7-i,7,1,1);
  2959.   box(i,6-i,6-i,i+1,7-i,7-i,1,1);
  2960.   box(i,6-i,6,i+1,7-i,7,1,1);
  2961.   box(0,6-i,6-i,1,7-i,7-i,1,1);
  2962.   delay(30000);
  2963. }
  2964. }
  2965. void flash_11()
  2966. {
  2967. uchar i,j,t,x,y;
  2968. uchar code daa[13]={0,1,2,0x23,5,6,7,6,5,0x23,2,1,0};
  2969. clear(0);
  2970. for (j=0;j<5;j++)
  2971. {
  2972.   for (i=0;i<13;i++)
  2973.   {
  2974.    if (daa[i]>>4)
  2975.    {
  2976.     t=daa[i]&0x0f;
  2977.     line (0,0,t+1,0,7,t+1,1);
  2978.    }
  2979.    else
  2980.     t=daa[i];
  2981.    line (0,0,t,0,7,t,1);
  2982.    transss();
  2983.    delay(10000);
  2984.   }
  2985. }
  2986. for (j=1;j<8;j++)
  2987. {
  2988.   if (j>3)
  2989.    t=4;
  2990.   else
  2991.    t=j;
  2992.   for (i=0;i<24;i+=j)
  2993.   {
  2994.    x=dat3[i]>>4;
  2995.    y=dat3[i]&0x0f;
  2996.    box_apeak_xy(0,x,y,0,x+1,y+1,1,1);
  2997.    transss();
  2998.    delay(10000);
  2999.   }
  3000. }
  3001. for (j=1;j<8;j++)
  3002. {
  3003.   if (j>3)
  3004.    t=4;
  3005.   else
  3006.    t=j;
  3007.   for (i=0;i<24;i+=j)
  3008.   {
  3009.    x=dat3[i]>>4;
  3010.    y=dat3[i]&0x0f;
  3011.    point (0,x,y,1);
  3012.    transss();
  3013.    delay(10000);
  3014.   }
  3015. }
  3016. }void print1() interrupt 1
  3017. {
  3018. static uchar layert=0;
  3019. TR0 = 0;
  3020. ET0= 0;
  3021. //EA=0;
  3022. IRInit();
  3023. if(msd==1)         
  3024. {                 PWM_POW=0;
  3025.                  hansao(7-layert);          
  3026.                  sendbyte(~display[layert][0],~display[layert][2],~display[layert][4],~display[layert][7]);
  3027.                  sendbyte(~display[layert][3],~display[layert][1],~display[layert][6],~display[layert][5]);
  3028.                  SUO=0;_nop_();SUO=1;
  3029.                  M_EN=0;delayus(ld);M_EN=1;                                 
  3030.           if (layert<7)
  3031.                layert++;
  3032.           else
  3033.                layert=0;
  3034.              key_baihei_scan();  key_shangwiej_scan();   key_donghua_scan();        key_yinyue_scan();
  3035.                 if(msd==1)   
  3036.                 if(key2==2||key2==3){key3=2;        return;                       
  3037.                 }
  3038.                  TH0=0xef;
  3039.          TL0=0x00;
  3040. }
  3041. if(msd==2)
  3042. {
  3043.              hansao(layert);           
  3044.                  sendbyte(~display[layert][0],~display[layert][2],~display[layert][4],~display[layert][7]);
  3045.                  sendbyte(~display[layert][3],~display[layert][1],~display[layert][6],~display[layert][5]);
  3046.                  SUO=0;_nop_();SUO=1;
  3047.                  M_EN=0;delayus(ld);M_EN=1;                                 
  3048.           if (layert<7)
  3049.                layert++;
  3050.           else
  3051.                layert=0;       
  3052.              key_baihei_scan();  key_shangwiej_scan();   key_donghua_scan();        key_yinyue_scan();
  3053.                 if(msd==2)   
  3054.                 if(key2==1||key2==3){key3=2;        return;                       
  3055.                 }
  3056.                  TH0=0xef;
  3057.          TL0=0x00;
  3058. }
  3059.         TR0 = 1;
  3060.         ET0 = 1;
  3061.            //EA=1;
  3062. }

  3063. void flash_14()
  3064. {
  3065.          clear(0);
  3066.          type_sj(0,0);
  3067.          delay(60000);
  3068.                  clear(0);
  3069.          type_sj(1,1);
  3070.          delay(60000);
  3071.                  clear(0);
  3072.          type_sj(2,2);
  3073.          delay(60000);
  3074.                  clear(0);
  3075.          type_sj(3,3);
  3076.          delay(60000);
  3077.          clear(0);
  3078.          type_sj(4,4);
  3079.          delay(60000);
  3080.                  clear(0);
  3081.          type_sj(5,5);
  3082.          delay(60000);
  3083.                  clear(0);
  3084.          type_sj(6,6);
  3085.          delay(60000);
  3086.                  clear(0);
  3087.          type_sj(7,7);
  3088.          delay(60000);
  3089.                  clear(0);

  3090.          delay(60000);
  3091.          clear(0);
  3092.          type_sj(0,7);
  3093.          delay(40000);
  3094.                  clear(0);
  3095.          type_sj(1,6);
  3096.          delay(40000);
  3097.                  clear(0);
  3098.          type_sj(2,5);
  3099.          delay(40000);
  3100.                  clear(0);
  3101.          type_sj(3,4);
  3102.          delay(40000);
  3103.                  clear(0);
  3104.          type_sj(4,3);
  3105.          delay(40000);
  3106.                  clear(0);
  3107.          type_sj(5,2);
  3108.          delay(40000);
  3109.                  clear(0);
  3110.          type_sj(6,1);
  3111.          delay(40000);
  3112.                  clear(0);
  3113.          type_sj(7,0);
  3114.          delay(40000);
  3115.                  clear(0);

  3116. }
  3117. void flash_18()
  3118. {
  3119.       uchar i,j,k,z;
  3120.       roll_apeak_yz(1,10000);
  3121.       roll_apeak_yz(2,10000);
  3122.       roll_apeak_yz(3,10000);
  3123.           delay(60000);delay(60000);
  3124.       for (i=0;i<11;i++)
  3125.        {
  3126.          for (j=0;j<8;j++)
  3127.          {
  3128.           for (k=0;k<8;k++)
  3129.           {
  3130.                if ((table_3p_zf[i][j]>>k)&1)
  3131.                {
  3132.          for (z=1;z<8;z++)
  3133.           {
  3134.                point (j,7-k,z,1);
  3135.                if (z-1)
  3136.                point (j,7-k,z-1,0);
  3137.                delay(1500);
  3138.           }
  3139.                }
  3140.           }
  3141.          }
  3142.                  delay(60000);delay(60000);delay(60000);delay(60000);delay(60000);
  3143.          trans(7,15000);
  3144.        }
  3145. }
  3146. void flash_19()
  3147. {
  3148. uchar i;
  3149. for (i=0;i<9;i++)
  3150. {
  3151.   tranoutchar_cu(i,10000);
  3152.   delay(60000);
  3153.   delay(60000);
  3154. }
  3155. }

  3156. void sendbyte1(unsigned int num1,unsigned int num2,unsigned int num3,unsigned int num4)
  3157. {
  3158.     unsigned char c;
  3159.     for(c=0;c<8;c++)
  3160.    {
  3161.         CLK=0;
  3162.         M_LR_DS0=num1&0x01;
  3163.         M_LG_DS0=num2&0x01;
  3164.         M_HR_DS0=num3&0x01;
  3165.         M_HG_DS0=num4&0x01;
  3166.         CLK=1;
  3167.         num1>>=1;
  3168.         num2>>=1;
  3169.         num3>>=1;
  3170.         num4>>=1;
  3171.     }
  3172. }
  3173. void delays(int t)
  3174. {
  3175.         int i;
  3176.         while(t--)
  3177.                 for(i=0;i<700;i++);
  3178. }
  3179. void zhen(uchar *a,uchar v)
  3180. {
  3181. char layer,smsd=2,smsx=0,sudu=5;
  3182. uint cckk;
  3183. while(v--)
  3184. {

  3185.         if(sudu==25){cckk=700;}
  3186.                 else {
  3187.                 cckk=ld;
  3188.                 }
  3189.         if(ld==1){cckk=ld;}
  3190.         if(ld==1000){cckk=500;}
  3191.         ld=cckk;
  3192.   for(layer=0;layer<8;layer++)
  3193.   {
  3194.         if(xsdsq==1){;}
  3195.         else{key_baihei_scan();  key_shangwiej_scan();   key_donghua_scan();        key_yinyue_scan();}

  3196.         hansao(7-layer);
  3197.         sendbyte1(~a[layer*8+7],~a[layer*8+5],~a[layer*8+3],~a[layer*8+0]);
  3198.         sendbyte1(~a[layer*8+4],~a[layer*8+6],~a[layer*8+1],~a[layer*8+2]);
  3199.         SUO=0;                             
  3200.         _nop_();
  3201.         SUO=1;
  3202.         M_EN=0;                             
  3203.         delayus(ld);                    
  3204.         M_EN=1;                       
  3205.                 if(msd==2||msd==6)   
  3206.                 if(key2==1||key2==3)  
  3207.                 {
  3208.                 key3=1;        M_EN=1;                                  
  3209.                 break;
  3210.                 }
  3211.   }
  3212.         if(sudu==1){smsd=1;}
  3213.         if(sudu==5){smsd=5;}
  3214.         if(sudu==25){smsd=26;}
  3215.                 else {smsd=6;}
  3216.         if(sudu==5&&ld==20){smsx=7;}
  3217.         delays(smsd+smsx);                  
  3218. }
  3219. }
  3220. void flash_20()
  3221. {
  3222.         uchar a[64]={0};
  3223.         char i;
  3224.         for(i=0;i<4;i++)
  3225.         {
  3226.                 a[i*8+7]=0xff;
  3227.                 a[(7-i)*8+7]=0xff;
  3228.                 if(key3==1){break;}
  3229.                 else{zhen(a,8);}
  3230.                 delay(50);
  3231.         }
  3232.                 if(key3==1){return;}
  3233.                 else{zhen(a,30);}
  3234.         for(i=3;i>=0;i--)
  3235.         {
  3236.                 a[i*8+7]=0;
  3237.                 a[(7-i)*8+7]=0;
  3238.                 if(key3==1){break;}
  3239.                 else{zhen(a,8);}
  3240.                 delay(50);
  3241.         }
  3242. }
  3243. void hy(uchar *tab,char v)
  3244. {
  3245.         uchar a[64]={0};
  3246.         char i,j;
  3247.         for(i=0;i<8;i++)
  3248.                 a[i*8]=tab[i];
  3249.                 if(key3==1){return;}
  3250.                 else{zhen(a,v);}
  3251.         delay(50);

  3252.         for(i=1;i<8;i++)
  3253.         {
  3254.             for(j=0;j<8;j++)
  3255.                     a[i+j*8]=a[i-1+j*8];
  3256.                 if(key3==1){break;}
  3257.                 else{zhen(a,v);}
  3258.                 delay(50);
  3259.         }       
  3260.         for(i=0;i<7;i++)
  3261.         {
  3262.             for(j=0;j<8;j++)
  3263.                     a[i+j*8]=0;
  3264.                 if(key3==1){break;}
  3265.                 else{zhen(a,v);}
  3266.                 delay(50);
  3267.         }
  3268.                 if(key3==1){return;}
  3269.                 else{zhen(a,23);}
  3270.                 delay(50);       
  3271. }
  3272. void flash_21()
  3273. {
  3274.         char i;
  3275.         for(i=0;i<10;i++)
  3276.         hy(number+27*8+i*8,3);
  3277. }
  3278. uchar daoxu(uchar x)
  3279. {
  3280.         uchar k=0;
  3281.         char i;
  3282.         for(i=0;i<8;i++)
  3283.         {
  3284.                 if((x>>(7-i))&0x01)
  3285.                         k|=0x01<<i;
  3286.         }
  3287.         return k;
  3288. }

  3289. void fun1(uchar *a,uchar d,uchar b,uchar c,uchar e)//滚动字幕数据处理
  3290. {
  3291.         char i;
  3292.         for(i=0;i<8;i++)
  3293.         {
  3294.                 a[i]=e&0x01;
  3295.                 e>>=1;
  3296.         }
  3297.         a[7]|=(c<<1);
  3298.         a[6]|=(c&0x80);
  3299.         for(i=0;i<6;i++)
  3300.         {
  3301.                 a[5-i]|=((b<<(7-i))&0x80);
  3302.         }
  3303.         d=daoxu(d);
  3304.         a[0]|=((d>>1)&0x7e);
  3305. }

  3306. void zimu(uchar *x,char n,char v,int num)//滚动字幕,num表示循环次数,v表示滚动速度,n字符个数
  3307. {
  3308.         char i,j,k;
  3309.         uchar xdata a[64]={0},temp0[8],temp1[8],temp2[8],temp3[8],temp[8];
  3310.         for(i=0;i<8;i++)
  3311.         {
  3312.                 temp0[i]=0;
  3313.                 temp1[i]=0;
  3314.                 temp2[i]=0;
  3315.                 temp3[i]=0;
  3316.         }
  3317.         while(num--)
  3318.                 for(j=0;j<n;j++)//滚动
  3319.                 {
  3320.                         for(k=7;k>=0;k--)//读取数据
  3321.                                 temp[7-k]=x[j*8+k];
  3322.                         for(k=0;k<8;k++)//移动8位
  3323.                         {
  3324.                                 for(i=0;i<8;i++)
  3325.                                 {
  3326.                                         temp0[i]=(temp0[i]<<1)|(temp1[i]>>7);
  3327.                                         temp1[i]=(temp1[i]<<1)|(temp2[i]>>7);
  3328.                                         temp2[i]=(temp2[i]<<1)|(temp3[i]>>7);
  3329.                                         temp3[i]=(temp3[i]<<1)|(temp[i]>>7);
  3330.                                         temp[i]<<=1;
  3331.                                         fun1(a+i*8,temp0[i],temp1[i],temp2[i],temp3[i]);
  3332.                                 }
  3333.                 if(key3==1){break;}
  3334.                 else{zhen(a,v);}
  3335.                                 delay(50);
  3336.                         }
  3337.                 }
  3338. }
  3339. void key_baihei_scan()
  3340. {
  3341. if(!K1)  //如果检测到低电平,说明按键按下
  3342.     {
  3343.         if(msd==1||msd==2){TR0=0;}
  3344.          delay10us(); //延时去抖,一般10-20ms
  3345.      if(!K1)     //再次确认按键是否按下,没有按下则退出
  3346.            {
  3347.         while(!K1)//如果确认按下按键等待按键释放,没有则退出
  3348.                {
  3349.                    PWM_POW=1;      
  3350.                    delay10us();        delay10us();delay10us();delay10us();        delay10us();delay10us();
  3351.                    PWM_POW=0;      
  3352.                          }
  3353.                    if(test==1){key1=4;}
  3354.                    if(test==2){pu=~pu;if(pu==1){key2=4;ld=500;}if(pu==0){key2=5;ld=20;}}
  3355.            }
  3356.         }
  3357.         if(msd==1||msd==2){TR0=1;}
  3358. }

  3359. void flash_22()
  3360. {
  3361.     zimu(number,19,12,1);
  3362. }
  3363. void move(uchar *a,char kind,char direction,char length)//length不能为8
  3364. //kind=0 x轴,1 x轴,2 z轴;direction=0,负向,1正向
  3365. {
  3366.         char i,j;
  3367.         if(kind==0)
  3368.         {
  3369.                 if(direction==1)
  3370.                         for(i=0;i<64;i++)
  3371.                                 a[i]<<=length;
  3372.                 else
  3373.                         for(i=0;i<64;i++)
  3374.                                 a[i]>>=length;       
  3375.         }
  3376.         else if(kind==1)
  3377.         {
  3378.                 if(direction==1)
  3379.                         for(j=0;j<8;j++)
  3380.                         {
  3381.                                 for(i=7;i>=length;i--)
  3382.                                         a[i+j*8]=a[i-length+j*8];
  3383.                                 for(i=0;i<length;i++)
  3384.                                         a[i+j*8]=0;                       
  3385.                         }       
  3386.                 else
  3387.                         for(j=0;j<8;j++)
  3388.                         {
  3389.                                 for(i=0;i<length;i++)
  3390.                                         a[i+j*8]=a[i+length+j*8];
  3391.                                 for(i=(8-length);i<8;i++)
  3392.                                         a[i+j*8]=0;                       
  3393.                         }                       
  3394.         }
  3395.         else
  3396.         {
  3397.                 if(direction==1)
  3398.                         for(j=0;j<8;j++)
  3399.                         {
  3400.                                 for(i=7;i>=length;i--)
  3401.                                         a[j+i*8]=a[j+(i-length)*8];
  3402.                                 for(i=0;i<length;i++)
  3403.                                         a[j+i*8]=0;                       
  3404.                         }       
  3405.                 else
  3406.                         for(j=0;j<8;j++)
  3407.                         {
  3408.                                 for(i=0;i<(8-length);i++)
  3409.                                         a[j+i*8]=a[j+(i+length)*8];
  3410.                                 for(i=(8-length);i<8;i++)
  3411.                                         a[j+i*8]=0;                       
  3412.                         }       
  3413.         }
  3414. }

  3415. void flash_23()//条状升降
  3416. {
  3417.                 char i,j,k,v=2;
  3418.                 uchar a[64]={0};
  3419.                 for(i=7;i>=0;i--)
  3420.                 {
  3421.                         a[i]=0x01<<i;
  3422.                 if(key3==1){break;}
  3423.                 else{zhen(a,v+5);}
  3424.                         delay(50);
  3425.                 }
  3426.                 for(i=0;i<7;i++)
  3427.                 {
  3428.                         for(j=0;j<8;j++)
  3429.                                 a[j]=flash0__tab[i*8+j];
  3430.                 if(key3==1){break;}
  3431.                 else{zhen(a,v+5);}
  3432.                         delay(50);
  3433.                 }
  3434.                 for(i=0;i<7;i++)
  3435.                 {
  3436.                         move(a,2,1,1);
  3437.                 if(key3==1){break;}
  3438.                 else{zhen(a,v+5);}
  3439.                         delay(50);
  3440.                 }
  3441.                 for(i=0;i<64;i++)
  3442.                 {
  3443.                         if(i>55)
  3444.                                 a[i]=0xff;
  3445.                         else
  3446.                                 a[i]=0;
  3447.                 }
  3448.                 if(key3==1){return;}
  3449.                 else{zhen(a,20);}
  3450.                 delay(50);
  3451.                 for(i=7;i>=0;i--)//1
  3452.                         for(j=6;j>=0;j--)
  3453.                         {
  3454.                                 a[i+j*8]=0xff;
  3455.                                 a[i+(j+1)*8]=0;
  3456.                 if(key3==1){break;}
  3457.                 else{zhen(a,v);}
  3458.                                 delay(50);
  3459.                         }
  3460.                 if(key3==1){return;}
  3461.                 else{zhen(a,27);}
  3462.                 for(i=7;i>=0;i--)//2
  3463.                         for(j=1;j<8;j++)
  3464.                         {
  3465.                                 a[i+j*8]=0xff;
  3466.                                 a[i+(j-1)*8]=0;
  3467.                 if(key3==1){break;}
  3468.                 else{zhen(a,v);}
  3469.                                 delay(50);
  3470.                         }
  3471.                 if(key3==1){return;}
  3472.                 else{zhen(a,27);}
  3473.                 delay(50);
  3474.                 for(i=7;i>=0;i--)//3
  3475.                         for(k=6;k>=0;k--)
  3476.                         {
  3477.                                 for(j=0;j<8;j++)
  3478.                                 {
  3479.                                         if(k==0)
  3480.                                                 a[j+k*8]|=(0x80>>(7-i));
  3481.                                         else
  3482.                                                 a[j+k*8]=(0x80>>(7-i));
  3483.                                         a[j+(k+1)*8]^=(0x80>>(7-i));
  3484.                                 }
  3485.                 if(key3==1){break;}
  3486.                 else{zhen(a,v);}
  3487.                                 delay(50);
  3488.                         }
  3489.                 if(key3==1){return;}
  3490.                 else{zhen(a,27);}
  3491.                 delay(50);
  3492.                 for(i=7;i>=0;i--)//4
  3493.                         for(k=1;k<8;k++)
  3494.                         {
  3495.                                 for(j=0;j<8;j++)
  3496.                                 {
  3497.                                         if(k==7)
  3498.                                                 a[j+k*8]|=(0x80>>(7-i));
  3499.                                         else
  3500.                                                 a[j+k*8]=(0x80>>(7-i));
  3501.                                         a[j+(k-1)*8]^=(0x80>>(7-i));
  3502.                                 }
  3503.                 if(key3==1){break;}
  3504.                 else{zhen(a,v);}
  3505.                                 delay(50);
  3506.                         }
  3507.                 if(key3==1){return;}
  3508.                 else{zhen(a,27);}
  3509.                 delay(50);
  3510. }
  3511. void sendbyte(unsigned int num1,unsigned int num2,unsigned int num3,unsigned int num4)
  3512. {   
  3513.     unsigned char c;        
  3514.     for(c=0;c<8;c++)                       
  3515.    {
  3516.       CLK=0;                                  
  3517.       M_LR_DS0=num1&0x80;                         
  3518.           M_LG_DS0=num2&0x80;                       
  3519.           M_HR_DS0=num3&0x80;                       
  3520.           M_HG_DS0=num4&0x80;                       
  3521.       CLK=1;                                
  3522.           num1<<=1;               
  3523.       num2<<=1;               
  3524.       num3<<=1;               
  3525.       num4<<=1;                       
  3526.     }
  3527. }
  3528. void Delaypwm(unsigned int tpwm)
  3529. {
  3530. while(--tpwm);
  3531. }
  3532. void PWM_LED()
  3533. {
  3534. unsigned int CYCLE=100,PWM_LOW=1110,xhs=60000;
  3535. PWM_POW=0;
  3536. if (xhs>1)
  3537.     {
  3538. CYCLE=1950,PWM_LOW=201;
  3539. PWM_POW=1;
  3540. Delaypwm(60000);
  3541. for(PWM_LOW=1;PWM_LOW<CYCLE;PWM_LOW++){
  3542.      PWM_POW=0;
  3543.      Delaypwm(PWM_LOW);
  3544.      PWM_POW=1;
  3545.        Delaypwm(CYCLE-PWM_LOW);
  3546.    }
  3547.   for(PWM_LOW=CYCLE-1;PWM_LOW>0;PWM_LOW--){
  3548.      PWM_POW=0;
  3549.      Delaypwm(PWM_LOW);
  3550.      PWM_POW=1;
  3551.        Delaypwm(CYCLE-PWM_LOW);
  3552.    }
  3553.    xhs--;
  3554. }
  3555. }
  3556. void turn_on(uchar v)
  3557. {
  3558.         uchar a[64]={0};
  3559.         char i,j;
  3560.         a[7]=0x80;
  3561.                 if(key3==1){return;}
  3562.                 else{zhen(a,v);}
  3563.         delay(50);
  3564.         for(i=1;i<8;i++)
  3565.         {
  3566.                 a[i*8+7]=0x80;
  3567.                 if(key3==1){break;}
  3568.                 else{zhen(a,v);}
  3569.                 delay(50);
  3570.         }
  3571.         for(i=6;i>=0;i--)
  3572.         {
  3573.                 for(j=0;j<8;j++)
  3574.                         a[j*8+i]=0x80;
  3575.                 if(key3==1){break;}
  3576.                 else{zhen(a,v);}
  3577.                 delay(50);
  3578.         }       
  3579.         for(i=0;i<64;i++)
  3580.                 a[i]=0;       
  3581. }
  3582. void H_scan(uchar v)
  3583. {       
  3584.         uchar b[64]={0};
  3585.         char i,j;
  3586.        
  3587.         for(i=0;i<64;i++)
  3588.                 b[i]=0x80;
  3589.         for(i=0;i<8;i++)
  3590.         {
  3591.                 for(j=0;j<8;j++)
  3592.                 b[j*8+i]=0x80;
  3593.                 if(key3==1){break;}
  3594.                 else{zhen(b,1);}
  3595.         }
  3596.         for(i=0;i<8;i++)
  3597.         {
  3598.                 for(j=0;j<64;j++)
  3599.                         b[j]>>=1;
  3600.                 if(key3==1){break;}
  3601.                 else{zhen(b,v);}
  3602.                 delay(50);
  3603.         }
  3604. }
  3605. void V_scan(uchar v)
  3606. {
  3607.         uchar a[64]={0};
  3608.         char i,j;
  3609.         for(i=0;i<8;i++)
  3610.                 a[i]=0xff;
  3611.                 if(key3==1){return;}
  3612.                 else{zhen(a,v);}
  3613.         delay(50);
  3614.         for(i=1;i<8;i++)
  3615.         {
  3616.                 for(j=0;j<8;j++)
  3617.                 {
  3618.                         a[i*8+j]=0xff;
  3619.                         a[(i-1)*8+j]=0;
  3620.                 }
  3621.                 if(key3==1){break;}
  3622.                 else{zhen(a,v);}
  3623.                 delay(50);
  3624.         }
  3625. }
  3626. void W_scan(uchar v)
  3627. {
  3628.         uchar a[64]={0};
  3629.         char i,j;
  3630.         for(i=0;i<8;i++)
  3631.                 a[i*8+7]=0xff;
  3632.                 if(key3==1){return;}
  3633.                 else{zhen(a,v);}
  3634.         delay(50);
  3635.         for(i=6;i>=0;i--)
  3636.         {
  3637.                 for(j=0;j<8;j++)
  3638.                 {
  3639.                         a[j*8+i]=0xff;
  3640.                         a[j*8+i+1]=0;
  3641.                 }
  3642.                 if(key3==1){break;}
  3643.                 else{zhen(a,v);}
  3644.                 delay(50);
  3645.         }
  3646.         M_EN=0;
  3647. }
  3648. void W_side(uchar *tab,char num,char v)
  3649. {
  3650.         uchar a[64]={0};
  3651.         int i,j;
  3652.         for(j=0;j<num;j++)
  3653.         {
  3654.                 for(i=0;i<8;i++)
  3655.                         a[i*8+7]=tab[j*8+i];       
  3656.                 if(key3==1){break;}
  3657.                 else{zhen(a,v);}
  3658.                 delay(50);
  3659.         }
  3660. }
  3661. void flash_24()         
  3662. {
  3663.         uchar i,v=10,a[64]={0};
  3664.         for(i=0;i<7;i++)
  3665.                 a[7*8+i]=0xff;
  3666.         for(i=0;i<8;i++)
  3667.         {
  3668.                 move(a,2,0,1);
  3669.                 if(key3==1){break;}
  3670.                 else{zhen(a,v);}
  3671.                 delay(50);
  3672.         }
  3673. }
  3674. void flash_25()
  3675. {
  3676.         uchar a[64]={0};
  3677.         char i,j,num=5,v=3;
  3678.         while(num--)
  3679.         {
  3680.                 for(i=1;i<8;i++)
  3681.                         a[i]=0xff;
  3682.                 if(key3==1){break;}
  3683.                 else{zhen(a,v);        }
  3684.                 delay(50);
  3685.                 for(i=1;i<8;i++)
  3686.                 {
  3687.                         move(a,2,1,1);
  3688.                         for(j=0;j<8;j++)
  3689.                                 a[j]=0xff;
  3690.                 if(key3==1){break;}
  3691.                 else{zhen(a,v);}
  3692.                         delay(50);
  3693.                 }
  3694.                 for(i=0;i<8;i++)
  3695.                 {
  3696.                         if(num==0&&i==7)
  3697.                                 continue;
  3698.                         move(a,2,1,1);
  3699.                 if(key3==1){break;}
  3700.                 else{zhen(a,v);}
  3701.                         delay(50);
  3702.                 }
  3703.         }
  3704.         for(i=0;i<7;i++)
  3705.         {
  3706.                 move(a,2,0,1);
  3707.                 if(key3==1){break;}
  3708.                 else{zhen(a,v+5);}
  3709.                 delay(50);
  3710.         }
  3711. }
  3712. void leitu(uchar *b,char num,char v)
  3713. {
  3714.         uchar a[64]={0},p;
  3715.         char i,j,k,m;
  3716.         for(m=0;m<num;m++)
  3717.         {
  3718.                 for(i=0;i<8;i++)
  3719.                         for(k=0;k<8;k++)
  3720.                                 for(j=0;j<8;j++)
  3721.                                 {
  3722.                                         p=b[m*64+i*8+k]&(0x01<<j);
  3723.                                         if(p)
  3724.                                         {
  3725.                                                 a[i*8+k]|=p;
  3726.                 if(key3==1){break;}
  3727.                 else{zhen(a,v);}
  3728.                                                 delay(50);
  3729.                                         }
  3730.                                 }
  3731.                 if(key3==1){break;}
  3732.                 else{zhen(a,60);}
  3733.                 delay(50);
  3734.                 for(j=0;j<64;j++)
  3735.                 {
  3736.                         if(!a[j])
  3737.                                 continue;
  3738.                         a[j]=0;
  3739.                 if(key3==1){break;}
  3740.                 else{zhen(a,v-1);}
  3741.                         delay(50);
  3742.                 }
  3743.                 delays(30);
  3744.         }
  3745. }

  3746. void flash_26()
  3747. {
  3748. leitu(yc_table,5,2);
  3749. }
  3750. void flash_27()
  3751. {
  3752.         uchar a[64];
  3753.         char i,j,k,v=3;
  3754.         for(k=0;k<8;k++)
  3755.                 for(i=0;i<8;i++)
  3756.                         for(j=0;j<8;j++)
  3757.                         {
  3758.                                 a[tab_mian[i]*8+tab_xian[j]]|=(0x01<<tab_dian[(i+j)*8+k]);
  3759.                 if(key3==1){break;}
  3760.                 else{zhen(a,v);}
  3761.                                 delay(50);
  3762.                         }
  3763.                 if(key3==1){return;}
  3764.                 else{zhen(a,90);}
  3765.                 delay(50);
  3766.         for(k=0;k<8;k++)
  3767.                 for(i=0;i<8;i++)
  3768.                         for(j=0;j<8;j++)
  3769.                         {
  3770.                                 a[tab_mian[i]*8+tab_xian[j]]^=(0x01<<tab_dian[(i+j)*8+k]);
  3771.                 if(key3==1){break;}
  3772.                 else{zhen(a,v);}
  3773.                                 delay(50);
  3774.                         }
  3775. }

  3776. void water1(char x,char y,char v)
  3777. {
  3778.         uchar a[64]={0};
  3779.         char i,r;
  3780.         a[7*8+y]=0x01<<x;
  3781.                 if(key3==1){return;}
  3782.                 else{zhen(a,v);}
  3783.         delay(50);
  3784.         for(i=6;i>=0;i--)
  3785.         {
  3786.                 a[i*8+y]=a[(i+1)*8+y];
  3787.                 a[(i+1)*8+y]=0;
  3788.                 if(key3==1){break;}
  3789.                 else{zhen(a,v);}
  3790.                 delay(25);
  3791.         }//下落
  3792.         for(r=0;r<7;r++)
  3793.         {
  3794.                 for(i=0;i<8;i++)
  3795.                         a[i]=tab_water[r*16+7-y+i]>>(7-x);
  3796.                 if(key3==1){break;}
  3797.                 else{zhen(a,v+1);}
  3798.                 delay(25);
  3799.         }//扩散
  3800. }
  3801. void water2(char x1,char y1,char x2,char y2,char v)
  3802. {
  3803.         uchar a[64]={0};
  3804.         char i,r;
  3805.         a[7*8+y1]=0x01<<x1;
  3806.                 if(key3==1){return;}
  3807.                 else{zhen(a,v);}
  3808.         delay(50);
  3809.         for(i=6;i>=0;i--)
  3810.         {
  3811.                 move(a,2,0,1);
  3812.                 if(i==5)
  3813.                 {
  3814.                         a[7*8+y2]=0x01<<x2;                       
  3815.                 }
  3816.                 if(key3==1){break;}
  3817.                 else{zhen(a,v);}
  3818.                 delay(25);
  3819.         }
  3820.         for(r=0;r<9;r++)
  3821.         {
  3822.                 if(r<2)
  3823.                         move(a,2,0,1);
  3824.                 else
  3825.                         for(i=0;i<8;i++)
  3826.                                 a[i]=tab_water[(r-2)*16+7-y2+i]>>(7-x2);               
  3827.                 if(r<7)
  3828.                         for(i=0;i<8;i++)
  3829.                                 a[i]|=(tab_water[r*16+7-y1+i]>>(7-x1));
  3830.                 if(r==1)
  3831.                         a[y2]|=0x01<<x2;
  3832.                 if(key3==1){break;}
  3833.                 else{zhen(a,v);}
  3834.                 delay(25);
  3835.         }
  3836. }
  3837. void water3(char x1,char y1,char x2,char y2,char x3,char y3,char v)
  3838. {//3水滴
  3839.         uchar a[64]={0};
  3840.         char i,r;
  3841.         a[7*8+y1]=0x01<<x1;
  3842.                 if(key3==1){return;}
  3843.                 else{zhen(a,v);        }
  3844.         delay(25);
  3845.         for(i=6;i>=0;i--)
  3846.         {
  3847.                 move(a,2,0,1);
  3848.                 if(i==5)//第二点
  3849.                         a[7*8+y2]=0x01<<x2;       
  3850.                 if(i==3)
  3851.                         a[7*8+y3]=0x01<<x3;        //第三点               
  3852.                 if(key3==1){break;}
  3853.                 else{zhen(a,v);}
  3854.                 delay(25);
  3855.         }
  3856.         for(r=0;r<11;r++)
  3857.         {
  3858.                 if(r<4)
  3859.                         move(a,2,0,1);
  3860.                 if(r<11&&r>=4)
  3861.                         for(i=0;i<8;i++)
  3862.                                 a[i]=tab_water[(r-4)*16+7-y3+i]>>(7-x3);
  3863.                 if(r<9&&r>=2)
  3864.                         for(i=0;i<8;i++)
  3865.                                 a[i]|=tab_water[(r-2)*16+7-y2+i]>>(7-x2);               
  3866.                 if(r<7)
  3867.                         for(i=0;i<8;i++)
  3868.                                 a[i]|=(tab_water[r*16+7-y1+i]>>(7-x1));
  3869.                 if(r==1)
  3870.                         a[y2]|=0x01<<x2;
  3871.                 if(r==3)
  3872.                         a[y3]|=0x01<<x3;
  3873.                 if(key3==1){break;}
  3874.                 else{zhen(a,v);}
  3875.                 delay(25);
  3876.         }
  3877. }
  3878. void flash_28()
  3879. {               
  3880.                 water1(1,2,10);water1(2,4,10);
  3881.                 water1(4,3,10);water1(7,1,10);
  3882.                 water1(5,6,10);                       
  3883.                 water2(0,2,7,1,9);
  3884.                 water2(2,4,7,7,9);
  3885.                 water2(4,7,7,1,9);
  3886.                 water2(3,6,7,7,9);
  3887.                 water2(4,1,6,6,9);
  3888.                 water2(7,3,1,2,9);
  3889.                 water3(0,4,7,4,5,1,9);
  3890.                 water3(7,7,0,0,0,7,9);
  3891.                 water3(0,6,6,6,5,1,9);
  3892.                 water3(6,7,0,0,2,2,9);
  3893.                 water3(3,3,6,6,2,2,9);
  3894. }
  3895. void link_pingmian1(char v)
  3896. {
  3897.         uchar a[64]={0};
  3898.         char i,j;
  3899.         for(i=0;i<8;i++)
  3900.                 for(j=0;j<8;j++)
  3901.                 {
  3902.                         a[7*8+j]|=(0x01<<i);
  3903.                 if(key3==1){break;}
  3904.                 else{zhen(a,v);}
  3905.                         delay(50);
  3906.                 }
  3907. }
  3908. void pingmian1(char num,char v)
  3909. {
  3910.         char i,k;
  3911.         uchar a[64]={0};
  3912.         for(i=0;i<8;i++)
  3913.                 a[7*8+i]=0xff;
  3914.                 if(key3==1){return;}
  3915.                 else{zhen(a,v);        }
  3916.         delay(50);
  3917.         while(num--)
  3918.                 for(i=0;i<28;i++)
  3919.                 {
  3920.                         if(i<7)
  3921.                                 for(k=0;k<8;k++)
  3922.                                 {
  3923.                                         a[(6-i)*8+k]=0x01;
  3924.                                         a[7*8+k]>>=1;
  3925.                                 }
  3926.                         else if(i<14)
  3927.                                 for(k=0;k<8;k++)
  3928.                                 {
  3929.                                         a[k]|=0x01<<(i-6);
  3930.                                         a[(14-i)*8+k]=0;
  3931.                                 }
  3932.                         else if(i<21)
  3933.                                 for(k=0;k<8;k++)
  3934.                                 {
  3935.                                         a[(i-13)*8+k]=0x80;
  3936.                                         a[k]<<=1;
  3937.                                 }       
  3938.                         else
  3939.                                 for(k=0;k<8;k++)
  3940.                                 {
  3941.                                         a[7*8+k]|=0x80>>(i-20);
  3942.                                         a[(i-21)*8+k]=0;
  3943.                                 }
  3944.                 if(key3==1){break;}
  3945.                 else{zhen(a,v);        }
  3946.                         delay(50);
  3947.                 }
  3948.         M_EN=0;
  3949. }
  3950. void flash_29()
  3951. {
  3952.                 link_pingmian1(1);
  3953.                 pingmian1(8,3);
  3954. }

  3955. void print(uchar *a,char m)//m=0中空显示,m=1实心显示
  3956. {
  3957.         uchar p;
  3958.         char i,j,k;
  3959.         uchar b[64]={0};
  3960.         for(i=0;i<8;i++)
  3961.         {
  3962.                 b[7*8+i]=0xff;
  3963.         }       
  3964.         for(i=0;i<8;i++)//行切换
  3965.         {
  3966.                 for(j=0;j<8;j++)//点移动
  3967.                 {
  3968.                         p=a[i]&(0x01<<j);
  3969.                         if(p)
  3970.                         {
  3971.                                 for(k=6;k>0;k--)
  3972.                                 {
  3973.                                         if(m==1&&k==6)
  3974.                                         {;}
  3975.                                         else
  3976.                                                 b[(k+1)*8+7-i]&=(~p);
  3977.                                         b[k*8+7-i]|=(0x01<<j);
  3978.                 if(key3==1){break;}
  3979.                 else{zhen(b,1);}
  3980.                                         delay(50);
  3981.                                 }
  3982.                                 b[1*8+7-i]=0;
  3983.                                 b[7-i]|=p;
  3984.                 if(key3==1){break;}
  3985.                 else{zhen(b,1);         }
  3986.                                 delay(50);
  3987.                         }
  3988.                         b[7-i]|=p;
  3989.                 }
  3990.         }
  3991.                 if(key3==1){return;}
  3992.                 else{zhen(b,40); }
  3993.         delay(50);
  3994.         b[0]=0;
  3995.         for(j=7;j>0;j--)
  3996.         {
  3997.                 for(i=7;i>0;i--)
  3998.                 {
  3999.                         b[i]=b[i-1];

  4000.                 }
  4001.                 if(key3==1){break;}
  4002.                 else{zhen(b,5);        }
  4003.                         delay(50);               
  4004.         }
  4005.         M_EN=0;
  4006. }
  4007. void flash_30()
  4008. {
  4009.         char i;
  4010.         for(i=0;i<4;i++)
  4011.                 print(tab_print+i*8,0);
  4012. }
  4013. void link_jb0(char v)
  4014. {
  4015.         uchar a[64]={0};
  4016.         char i;
  4017.         for(i=0;i<64;i++)
  4018.         {
  4019.                 a[i]=0x80;
  4020.                 if(key3==1){break;}
  4021.                 else{zhen(a,v);}
  4022.                 delay(50);
  4023.         }
  4024. }
  4025. void jb0(char num,char v)///////////////////////////////
  4026. {
  4027.         char i,k;
  4028.         uchar c[64]={0};
  4029.         for(i=0;i<64;i++)
  4030.                 c[i]=0x80;
  4031.                 if(key3==1){return;}
  4032.                 else{zhen(c,v);}
  4033.         delay(50);
  4034.         while(num--)
  4035.                 for(i=0;i<28;i++)
  4036.                 {
  4037.                         if(i<7)
  4038.                                 for(k=0;k<8;k++)
  4039.                                 {
  4040.                                         c[k*8]|=(0x80>>(i+1));
  4041.                                         c[k*8+7-i]=0;
  4042.                                 }
  4043.                         else if(i<14)
  4044.                                 for(k=0;k<8;k++)
  4045.                                 {
  4046.                                         c[k*8+i-6]=0x01;
  4047.                                         c[k*8]>>=0x01;
  4048.                                 }
  4049.                         else if(i<21)
  4050.                                 for(k=0;k<8;k++)
  4051.                                 {
  4052.                                         c[k*8+i-14]=0;
  4053.                                         c[k*8+7]|=(0x01<<(i-13));
  4054.                                 }
  4055.                         else if(i<28)
  4056.                                 for(k=0;k<8;k++)
  4057.                                 {
  4058.                                         c[k*8+27-i]=0x80;
  4059.                                         c[k*8+7]<<=1;
  4060.                                 }
  4061.                 if(key3==1){break;}
  4062.                 else{zhen(c,v);}
  4063.                         delay(50);
  4064.                 }
  4065.         M_EN=0;
  4066. }
  4067. void yinchu(uchar *table,char n,char v)
  4068. {
  4069. /****************************
  4070. n为帧数
  4071. ******************************/
  4072.         char i,j,k;
  4073.         uchar a[64]={0},p;
  4074.         for(k=0;k<n;k++)
  4075.         {
  4076.                 for(i=0;i<8;i++)
  4077.                 {
  4078.                         p=0xff;
  4079.                         for(j=0;j<64;j++)
  4080.                         {
  4081.                                 a[j]=(table[j+k*64]|(0x80>>i))&(p<<(7-i));
  4082.                         }
  4083.                 if(key3==1){break;}
  4084.                 else{zhen(a,v);        }
  4085.                         delay(50);
  4086.                 }
  4087.                 if(key3==1){break;}
  4088.                 else{zhen(table+k*64,50);}
  4089.                 delay(50);
  4090.         }

  4091. }
  4092. void flash_31()
  4093. {
  4094.         link_jb0(1);
  4095.         jb0(4,3);
  4096.         yinchu(yc_table,5,9);
  4097.         link_jb0(1);
  4098.         jb0(4,3);
  4099. }               
  4100. void link(char v)
  4101. {
  4102. /****************************
  4103. 旋转衔接
  4104. ******************************/
  4105.         char i,j,k;
  4106.         uchar a[64]={0};
  4107.         for(i=0;i<64;i++)
  4108.                 a[i]=0x80;
  4109.                 if(key3==1){return;}
  4110.                 else{zhen(a,3);        }
  4111.         delay(50);
  4112.         for(i=0;i<8;i++)
  4113.         {
  4114.                 for(j=0;j<8;j++)
  4115.                 {
  4116.                         if(i<7)
  4117.                                 a[j*8+7-i]&=0x7f;
  4118.                         a[j*8+i]|=(0x80>>i);
  4119.                 }
  4120.                 if(key3==1){break;}
  4121.                 else{zhen(a,v);}
  4122.                 delay(50);
  4123.         }
  4124.         for(i=0;i<6;i++)
  4125.         {
  4126.                 for(j=0;j<8;j++)
  4127.                         for(k=0;k<8;k++)
  4128.                                 a[j*8+k]=tab_xuanzhuantiao[(i+8)*8+k];
  4129.                 if(key3==1){break;}
  4130.                 else{zhen(a,3);}
  4131.                 delay(50);
  4132.         }
  4133. }
  4134. void xuanzhuantiao(char kind,char num,char v)//空心旋转,kind=1实心,否则空心
  4135. {
  4136.         uchar a[64]={0};
  4137.         char i,j,k;
  4138.         while(num--)
  4139.         {
  4140.                 for(i=0;i<14;i++)
  4141.                 {
  4142.                         for(j=0;j<8;j++)
  4143.                         {
  4144.                                 for(k=0;k<8;k++)
  4145.                                 {
  4146.                                         if(k>1&&k<6&&j>1&&j<6&&kind!=1)
  4147.                                                 a[k+j*8]=tab_xuanzhuantiao[i*8+k]&0xc3;
  4148.                                         else
  4149.                                                 a[k+j*8]=tab_xuanzhuantiao[i*8+k];
  4150.                                 }
  4151.                         }
  4152.                 if(key3==1){break;}
  4153.                 else{zhen(a,v);}
  4154.                         delay(50);
  4155.                 }
  4156.         }
  4157. }
  4158. void flash_32()
  4159. {
  4160.         link(9);         //从左边开始进入连接选择条的开端
  4161.         xuanzhuantiao(1,8,4);//实心旋转显示选择一个面
  4162.         xuanzhuantiao(0,8,4);//空心旋转显示选择一个面
  4163. }
  4164. void xuanzhuantiao2(char num,char v)//空心旋转,kind=1实心,否则空心
  4165. {
  4166.         uchar a[64]={0};
  4167.         char i,j,k;
  4168.         while(num--)
  4169.                 for(i=0;i<56;i++)
  4170.                 {
  4171.                         for(j=0;j<8;j++)
  4172.                                 for(k=0;k<8;k++)
  4173.                                         a[j*8+k]=tab_xuanzhuantiao2[i*8+k];
  4174.                 if(key3==1){break;}
  4175.                 else{zhen(a,v);}
  4176.                         delay(50);
  4177.                 }
  4178. }
  4179. void flash_33()
  4180. {
  4181.         xuanzhuantiao2(3,3);
  4182. }
  4183. void qumianxuanzhuan(char kind,char num,char v)//曲面旋转
  4184. {
  4185.         uchar a[64]={0};
  4186.         char i,j,k;
  4187.         for(j=0;j<8;j++)
  4188.                 for(i=0;i<8;i++)
  4189.                         a[i+j*8]=tab_xuanzhuantiao[i];
  4190.                 if(key3==1){return;}
  4191.                 else{zhen(a,v);}
  4192.         delay(50);
  4193.         if(kind==1)
  4194.         {
  4195.                 for(j=1;j<8;j++)//顺时针初形变换
  4196.                 {
  4197.                         for(i=0;i<j;i++)
  4198.                                 for(k=0;k<8;k++)
  4199.                                         a[k+i*8]=tab_xuanzhuantiao[(j-i)*8+k];
  4200.                 if(key3==1){break;}
  4201.                 else{zhen(a,v);}
  4202.                         delay(50);
  4203.                 }
  4204.                 for(i=8;i<14;i++)
  4205.                 {
  4206.                         move(a,2,1,1);
  4207.                         for(j=0;j<8;j++)
  4208.                                 a[j]=tab_xuanzhuantiao[i*8+j];
  4209.                 if(key3==1){break;}
  4210.                 else{zhen(a,v);}
  4211.                         delay(50);
  4212.                 }
  4213.         }
  4214.         else
  4215.         {
  4216.                 for(j=1;j<8;j++)//逆时针初形变换
  4217.                 {
  4218.                         for(i=0;i<j;i++)
  4219.                                 for(k=0;k<8;k++)
  4220.                                         a[k+i*8]=tab_xuanzhuantiao[(14-j+i)*8+k];
  4221.                 if(key3==1){break;}
  4222.                 else{zhen(a,v);}
  4223.                         delay(50);
  4224.                 }
  4225.                 for(i=7;i>=0;i--)
  4226.                 {
  4227.                         move(a,2,1,1);
  4228.                         for(j=0;j<8;j++)
  4229.                                 a[j]=tab_xuanzhuantiao[i*8+j];
  4230.                 if(key3==1){break;}
  4231.                 else{zhen(a,v);        }
  4232.                         delay(50);
  4233.                 }
  4234.         }

  4235.         while(num--)//主循环
  4236.         {
  4237.                 if(kind==1)
  4238.                         for(i=0;i<14;i++)
  4239.                         {
  4240.                                 move(a,2,1,1);
  4241.                                 for(j=0;j<8;j++)
  4242.                                         a[j]=tab_xuanzhuantiao[i*8+j];
  4243.                 if(key3==1){break;}
  4244.                 else{zhen(a,v);}
  4245.                                 delay(50);
  4246.                         }
  4247.                 else
  4248.                         for(i=13;i>=0;i--)
  4249.                         {
  4250.                                 move(a,2,1,1);                               
  4251.                                 for(j=0;j<8;j++)
  4252.                                         a[j]=tab_xuanzhuantiao[i*8+j];
  4253.                 if(key3==1){break;}
  4254.                 else{zhen(a,v);}
  4255.                                 delay(50);
  4256.                         }
  4257.         }
  4258.         if(kind==1)
  4259.                 for(j=0;j<7;j++)
  4260.                 {
  4261.                         for(i=7;i>=j;i--)
  4262.                         {
  4263.                                 if(i>j)
  4264.                                         for(k=0;k<8;k++)
  4265.                                                 a[k+i*8]=tab_xuanzhuantiao[(14-i+j)*8+k];
  4266.                                 else
  4267.                                         for(k=0;k<8;k++)
  4268.                                                 a[k+i*8]=tab_xuanzhuantiao[k];
  4269.                         }
  4270.                 if(key3==1){break;}
  4271.                 else{zhen(a,v);}
  4272.                         delay(50);
  4273.                 }
  4274.         else
  4275.                 for(j=1;j<7;j++)
  4276.                 {
  4277.                         for(i=7;i>=j;i--)
  4278.                         {
  4279.                                 if(i>j)
  4280.                                         for(k=0;k<8;k++)
  4281.                                                 a[k+i*8]=tab_xuanzhuantiao[(i-j)*8+k];
  4282.                                 else
  4283.                                         for(k=0;k<8;k++)
  4284.                                                 a[k+i*8]=tab_xuanzhuantiao[k];
  4285.                         }
  4286.                 if(key3==1){break;}
  4287.                 else{zhen(a,v);}
  4288.                         delay(50);
  4289.                 }
  4290. }
  4291. void flash_34()
  4292. {
  4293.         qumianxuanzhuan(1,10,4);
  4294.         qumianxuanzhuan(0,10,4);
  4295. }
  4296. void qumianxuanzhuan2(char num,char v)//曲面旋转
  4297. {
  4298.         uchar a[64]={0};
  4299.         char i,j,k;
  4300.         for(j=0;j<8;j++)
  4301.                 for(i=0;i<8;i++)
  4302.                         a[i+j*8]=tab_xuanzhuantiao[i];
  4303.                 if(key3==1){return;}
  4304.                 else{zhen(a,v);}
  4305.         delay(50);
  4306.         for(j=1;j<8;j++)
  4307.         {
  4308.                 for(i=0;i<j;i++)
  4309.                         for(k=0;k<8;k++)
  4310.                                 a[k+i*8]=tab_xuanzhuantiao[(14-j+i)*8+k];
  4311.                 if(key3==1){break;}
  4312.                 else{zhen(a,v);}
  4313.                 delay(50);
  4314.         }
  4315.         while(num--)
  4316.         {
  4317.                 for(j=1;j<8;j++)
  4318.                 {
  4319.                         move(a,2,1,1);
  4320.                         for(i=0;i<j;i++)
  4321.                         {
  4322.                                 for(k=0;k<8;k++)
  4323.                                 {
  4324.                                         if(j!=7|i!=0)
  4325.                                                 a[i*8+k]=tab_xuanzhuantiao[k+(j+7-i)*8];
  4326.                                         else
  4327.                                                 a[k]=tab_xuanzhuantiao[k];
  4328.                                 }
  4329.                         }
  4330.                 if(key3==1){break;}
  4331.                 else{zhen(a,v);}
  4332.                         delay(50);
  4333.                 }
  4334.                 for(j=1;j<8;j++)
  4335.                 {
  4336.                         move(a,2,1,1);
  4337.                         for(i=0;i<j;i++)
  4338.                         {
  4339.                                 for(k=0;k<8;k++)
  4340.                                         a[i*8+k]=tab_xuanzhuantiao[k+(14-j+i)*8];
  4341.                         }
  4342.                 if(key3==1){break;}
  4343.                 else{zhen(a,v);}
  4344.                         delay(50);
  4345.                 }
  4346.         }
  4347. }
  4348. void flash_35()
  4349. {
  4350.         qumianxuanzhuan2(13,4);
  4351. }
  4352. void donghua(uchar *tab,uchar num,uchar n,char v)
  4353. {
  4354.         char i;
  4355.         while(n--)
  4356.         {
  4357.                 for(i=0;i<num;i++)//清空
  4358.                 {
  4359.                 if(key3==1){break;}
  4360.                 else{zhen(tab+i*64,v);}
  4361.                         delay(50);
  4362.                 }
  4363.         }
  4364. }
  4365. void xzcube()
  4366. {
  4367.                 char i;
  4368.                 donghua(y_table,6,8,8);
  4369.                 for(i=0;i<26;i++)
  4370.                 {
  4371.                         if(i==12||i==13||i==14)
  4372.                                 {                if(key3==1){break;}
  4373.                 else{zhen(yx_table+i*64,30);}
  4374.                                 delay(50);}
  4375.                         else {
  4376.                                                 if(key3==1){break;}
  4377.                 else{zhen(yx_table+i*64,14);}
  4378.                                 delay(50);  }
  4379.                 }
  4380.                 donghua(x_table,6,8,8);
  4381.                 for(i=0;i<26;i++)
  4382.                 {
  4383.                         if(i==12||i==13||i==14)
  4384.                                 {                if(key3==1){break;}
  4385.                 else{zhen(xz_table+i*64,30);}
  4386.                                 delay(50);}
  4387.                         else{
  4388.                                                 if(key3==1){break;}
  4389.                 else{zhen(xz_table+i*64,14);}
  4390.                                 delay(50);}
  4391.                 }
  4392.                 donghua(z_table,6,8,8);
  4393. }
  4394. void flash_36()
  4395. {
  4396.         donghua(bianxing_table,11,1,24);
  4397.         xzcube();
  4398.         donghua(y_table,6,5,5);
  4399.         donghua(x_table,6,5,5);
  4400.         donghua(z_table,6,5,5);
  4401. }
  4402. void produce_cube(uchar *a,char n)
  4403. {
  4404.         char i,j;
  4405.         for(i=0;i<8;i++)
  4406.                 for(j=0;j<8;j++)
  4407.                 {
  4408.                         if(j<n&&i<n)
  4409.                                 a[j+i*8]=0xff>>(8-n);
  4410.                         else
  4411.                                 a[j+i*8]=0;
  4412.                 }       
  4413. }
  4414. void link00()
  4415. {
  4416.         uchar a[64]={0};
  4417.         char i;
  4418.         for(i=10;i>7;i--)
  4419.         {
  4420.                                 if(key3==1){break;}
  4421.                 else{zhen(bianxing_table+i*64,70);}
  4422.                 delay(50);
  4423.         }
  4424.         produce_cube(a,6);
  4425.         move(a,1,1,1);
  4426.         move(a,0,1,1);
  4427.                         if(key3==1){return;}
  4428.                 else{zhen(a,110);}
  4429.         delay(50);
  4430.         produce_cube(a,8);
  4431.                         if(key3==1){return;}
  4432.                 else{zhen(a,110);}
  4433.         delay(50);
  4434. }
  4435. void flash_37()         
  4436. {
  4437.         link00();  
  4438. }
  4439. void shensuo(uchar v)
  4440. {
  4441.         char i,j;
  4442.         uchar a[64]={0};
  4443.         for(i=0;i<64;i++)
  4444.                 a[i]=0xff;
  4445.         for(i=0;i<7;i++)
  4446.         {
  4447.                 move(a,0,0,1);
  4448.                                 if(key3==1){break;}
  4449.                 else{zhen(a,v);}
  4450.                 delay(50);
  4451.         }
  4452.         for(i=0;i<7;i++)
  4453.         {
  4454.                 move(a,0,1,1);
  4455.                 for(j=0;j<64;j++)
  4456.                         a[j]|=0x01;
  4457.                                 if(key3==1){break;}
  4458.                 else{zhen(a,v);}
  4459.                 delay(50);
  4460.         }
  4461.         for(i=0;i<7;i++)
  4462.         {
  4463.                 move(a,2,0,1);
  4464.                                 if(key3==1){break;}
  4465.                 else{zhen(a,v);}
  4466.                 delay(50);
  4467.         }
  4468.         for(i=0;i<7;i++)
  4469.         {
  4470.                 move(a,2,1,1);
  4471.                 for(j=0;j<8;j++)
  4472.                         a[j]|=0xff;
  4473.                                 if(key3==1){break;}
  4474.                 else{zhen(a,v);}
  4475.                 delay(50);
  4476.         }
  4477.         for(i=7;i>0;i--)
  4478.         {
  4479.                 for(j=0;j<8;j++)
  4480.                         a[j*8+i]=0;
  4481.                                 if(key3==1){break;}
  4482.                 else{zhen(a,v);        }
  4483.                 delay(50);
  4484.         }
  4485.         for(i=1;i<8;i++)
  4486.         {
  4487.                 for(j=0;j<8;j++)
  4488.                         a[j*8+i]|=0xff;
  4489.                                 if(key3==1){break;}
  4490.                 else{zhen(a,v);}
  4491.                 delay(50);
  4492.         }
  4493. }
  4494. void flash_38()         
  4495. {
  4496.         shensuo(5);
  4497. }
  4498. void produce_empty(uchar *a,char n)//0<n<=8,注意n不能为0
  4499. {
  4500.         char j;
  4501.         uchar p;
  4502.         for(j=0;j<64;j++)
  4503.                 a[j]=0;
  4504.         p=0xff>>(8-n);
  4505. /************X4列*************/
  4506.         a[(n-1)*8+n-1]=p;
  4507.         a[(n-1)*8]=p;
  4508.         a[0]=p;
  4509.         a[n-1]=p;
  4510.         for(j=0;j<n;j++)
  4511.         {
  4512.                 p=(0x01|(0x01<<(n-1)));
  4513. /************竖直4列*************/
  4514.                 a[j*8]|=p;
  4515.                 a[j*8+n-1]|=p;
  4516. /************Y4列*************/
  4517.                 a[j]|=p;
  4518.                 a[(n-1)*8+j]|=p;
  4519.         }
  4520. }
  4521. void cube(char empty,char kind,char v)
  4522. {
  4523.         uchar a[64]={0};
  4524.         char i;
  4525.         for(i=1;i<=8;i++)//生成
  4526.         {
  4527.                 if(empty==0)
  4528.                         produce_cube(a,i);
  4529.                 else
  4530.                         produce_empty(a,i);
  4531.                 if(kind==0)
  4532.                         {;}
  4533.                 else if(kind==1)
  4534.                         move(a,1,1,8-i);
  4535.                 else if(kind==2)
  4536.                 {
  4537.                         move(a,1,1,8-i);
  4538.                         move(a,0,1,8-i);
  4539.                 }
  4540.                 else
  4541.                         move(a,0,1,8-i);
  4542.                                 if(key3==1){break;}
  4543.                 else{zhen(a,v);        }
  4544.                 delay(50);
  4545.         }
  4546.         for(i=7;i>0;i--)//退出
  4547.         {
  4548.                 if(empty==0)
  4549.                         produce_cube(a,i);
  4550.                 else
  4551.                         produce_empty(a,i);
  4552.                 if(kind==0)
  4553.                 {
  4554.                         move(a,1,1,8-i);
  4555.                         move(a,0,1,8-i);
  4556.                 }
  4557.                 else if(kind==1)
  4558.                         move(a,0,1,8-i);
  4559.                 else if(kind==2)
  4560.                         {;}
  4561.                 else
  4562.                         move(a,1,1,8-i);                               
  4563.                                 if(key3==1){break;}
  4564.                 else{zhen(a,v);}
  4565.                 delay(50);
  4566.         }
  4567. }
  4568. void flash_39()          
  4569. {
  4570.         char i,j;
  4571.                 for(i=0;i<3;i++)         
  4572.                         for(j=0;j<3;j++)
  4573.                                 cube(0,j,6);
  4574.                 for(i=0;i<3;i++)     
  4575.                         for(j=0;j<3;j++)
  4576.                                 cube(1,j,6);
  4577. }

  4578. void flash_40()         
  4579. {
  4580.         donghua(hart_table,2,10,32);
  4581. }
  4582. void shandian(char v)
  4583. {
  4584.                 char i,j;
  4585.                 uchar a[64];
  4586.                 for(i=0;i<64;i++)
  4587.                         a[i]=tab_shandian[64*21+i];
  4588.                 for(i=0;i<22;i++)
  4589.                                         if(key3==1){break;}
  4590.                 else{zhen(tab_shandian+64*i,v);}
  4591.                         delay(50);
  4592.                 for(i=0;i<22;i++)
  4593.                 {
  4594.                         for(j=0;j<64;j++)
  4595.                                 a[j]=a[j]&(~tab_shandian[64*i+j]);
  4596.                                         if(key3==1){break;}
  4597.                 else{zhen(a,v);}
  4598.                         delay(50);
  4599.                 }
  4600. }
  4601. void flash_41()         
  4602. {
  4603.                 char i;
  4604.                 for(i=2;i>0;i--)
  4605.                         shandian(i);       
  4606. }
  4607. void szfc0(char v)//数字上浮
  4608. {
  4609.         char i,j;
  4610.         uchar a[64];
  4611.         for(i=0;i<64;i++)
  4612.         {
  4613.                 a[i]=0;
  4614.         }
  4615.         for(j=124;j>=0;j--)
  4616.         {
  4617.                 for(i=7;i>=0;i--)
  4618.                 {
  4619.                         a[i*8+3]=szfc_table[j+i];
  4620.                         a[i*8+4]=szfc_table[j+i];
  4621.                 }
  4622.                                 if(key3==1){break;}
  4623.                 else{zhen(a,v);        }
  4624.                 delay(50);
  4625.         }
  4626. }
  4627. void flash_42()         
  4628. {
  4629.                 szfc0(10);
  4630. }
  4631. void rain(char menu,char num,char v)
  4632. {//menu=0,up;menu=1,down
  4633.         uchar a[64]={0};
  4634.         char i,j;
  4635.         if(menu==0)
  4636.         {
  4637.                 for(i=0;i<8;i++)
  4638.                         a[i]=tab_rain[i];
  4639.                                 if(key3==1){return;}
  4640.                 else{zhen(a,v);}
  4641.                 delay(50);
  4642.                 for(i=1;i<8;i++)
  4643.                 {
  4644.                         move(a,2,1,1);
  4645.                         for(j=0;j<8;j++)
  4646.                                 a[j]=tab_rain[i*8+j];
  4647.                                         if(key3==1){break;}
  4648.                 else{zhen(a,v);}
  4649.                         delay(50);
  4650.                 }       
  4651.                 while(num--)
  4652.                 {       
  4653.                         for(i=0;i<8;i++)
  4654.                         {
  4655.                                 move(a,2,1,1);
  4656.                                 for(j=0;j<8;j++)
  4657.                                         a[j]=tab_rain[i*8+j];
  4658.                                                 if(key3==1){break;}
  4659.                 else{zhen(a,v);}
  4660.                                 delay(50);
  4661.                         }
  4662.                 }
  4663.         }
  4664.         else
  4665.         {
  4666.                 for(i=0;i<8;i++)
  4667.                         a[7*8+i]=tab_rain[i];
  4668.                                 if(key3==1){return;}
  4669.                 else{zhen(a,v);}
  4670.                 delay(50);
  4671.                 for(i=1;i<8;i++)
  4672.                 {
  4673.                         move(a,2,0,1);
  4674.                         for(j=0;j<8;j++)
  4675.                                 a[7*8+j]=tab_rain[i*8+j];
  4676.                                         if(key3==1){break;}
  4677.                 else{zhen(a,v);}
  4678.                         delay(50);
  4679.                 }
  4680.                 while(num--)
  4681.                 {       
  4682.                         for(i=0;i<8;i++)
  4683.                         {
  4684.                                 move(a,2,0,1);
  4685.                                 for(j=0;j<8;j++)
  4686.                                         a[j+7*8]=tab_rain[i*8+j];
  4687.                                                 if(key3==1){break;}
  4688.                 else{zhen(a,v);}
  4689.                                 delay(50);
  4690.                         }                               
  4691.                 }
  4692.         }
  4693. }
  4694. void flash_15()         
  4695. {
  4696.         rain(1,10,9);
  4697.         rain(0,10,9);
  4698. }
  4699. void delayyp(unsigned int n1)
  4700. {
  4701.     unsigned int xdata i;
  4702.     while(n1--)
  4703.      for (i=0;i<200;i++);
  4704. }
  4705. unsigned int Read_ADC0()
  4706. {
  4707. ADC_CONTR|=0x08;
  4708. _nop_();
  4709. _nop_();
  4710. _nop_();
  4711. _nop_();
  4712. while(!(ADC_CONTR&0x10));
  4713. ADC_CONTR&=~0x10;
  4714. return ((ADC_RES<<2)|(ADC_RESL));
  4715. }
  4716. unsigned int voivol(unsigned int n)
  4717. {
  4718. unsigned int xdata val,result,rel=0;
  4719. while(n)
  4720. {
  4721.   val=Read_ADC0();
  4722.   delayyp(2);
  4723.   result=val;
  4724.   rel=rel+result;
  4725.   n--;
  4726. }
  4727. return rel;
  4728. }
  4729. void Vol_watch_0(unsigned char kxg)
  4730. {
  4731. unsigned int xdata result=0,l=1,n=500;
  4732. while(n)
  4733. {
  4734.   if ((result>>5)>l)
  4735.   l=result>>5;
  4736.   else
  4737.    if (l>1)
  4738.     l--;
  4739.   if (l>7)
  4740.   l=7;

  4741. if(kxg==1)
  4742. {
  4743.   box(0,0,0,l,l,l,0,1);
  4744.   result=voivol(16);
  4745.   box(0,0,0,7,7,7,1,0);          
  4746. }
  4747. if(kxg==2)
  4748. {
  4749.   box(7,7,7,7-l,7-l,7-l,0,1);
  4750.   result=voivol(16);
  4751.   box(7,7,7,7-l,7-l,7-l,1,0);
  4752. }
  4753. if(kxg==3)
  4754. {  box(7,0,7,0,l,0,0,1);
  4755.   result=voivol(16);
  4756.   box(l,0,l,0,7,0,1,0);          
  4757. }
  4758. if(kxg==4)
  4759. {   
  4760.   box(l,l,l,7-l,7-l,7-l,0,1);
  4761.   result=voivol(16);
  4762.   box(7-l,7-l,7-l,l,l,l,1,0);       
  4763. }
  4764. if(kxg==5)
  4765. {
  4766.   box(0,7,7,l,7-l,0,0,1);
  4767.   result=voivol(16);
  4768.   box(0,7,7,l,7-l,0,1,0);         
  4769. }
  4770. if(kxg==6)
  4771. {
  4772.   box(l,l,l,7-l,7-l,7-l,0,1);
  4773.   result=voivol(16);
  4774.   box(7-l,7-l,7-l,7,7,7,1,0);       
  4775. }
  4776. if(kxg==7)
  4777. {
  4778.   box(l,0,7,0,7,0,0,1);
  4779.   result=voivol(16);
  4780.   box(7,0,l,0,l,0,1,0);             
  4781. }
  4782.   n--;
  4783. if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4784. else{if(key2==2){msd=2;break;}}}
  4785. }
  4786. }

  4787. void Vol_watch_2()
  4788. {
  4789. unsigned int xdata result=0,l=0,n=500;
  4790. while(n)
  4791. {
  4792.   if ((result>>5)>l)
  4793.   l=result>>5;
  4794.   else
  4795.    if (l>0)
  4796.     l--;
  4797.   if (l>7)
  4798.   l=7;
  4799.   clear(0);
  4800.   switch(l)
  4801.   {
  4802.    case 0:point(4,4,4,1);break;
  4803.    case 1:box(3,3,3,4,4,4,1,1);break;
  4804.    case 2:box(2,2,2,4,4,4,1,1);break;
  4805.    case 3:box(2,2,2,5,5,5,1,1);break;
  4806.    case 4:box(1,1,1,5,5,5,1,1);break;
  4807.    case 5:box(1,1,1,6,6,6,1,1);break;
  4808.    case 6:box(0,0,0,6,6,6,1,1);break;
  4809.    default:box(0,0,0,7,7,7,1,1);
  4810.   }
  4811.   result=voivol(16);
  4812.   n--;
  4813.   if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4814. else{if(key2==2){msd=2;break;}}}
  4815. }
  4816. }
  4817. void Vol_watch_3()
  4818. {
  4819. unsigned int result,l,n=500;
  4820. while(n)
  4821. {
  4822.   result=voivol(3);
  4823.   l=result>>3;
  4824.   if (l>7)
  4825.   l=7;
  4826.   transss();
  4827.   box_apeak_xy(0,0,0,0,7,l,1,1);
  4828.   delayyp(60);
  4829.   n--;
  4830.   if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4831. else{if(key2==2){msd=2;break;}}}
  4832. }
  4833. }
  4834. void init_uart(void)
  4835. {
  4836. PCON |= 0x80;
  4837. SCON = 0x50;
  4838. AUXR |= 0x40;
  4839. AUXR &= 0xFE;
  4840. TMOD &= 0x0F;
  4841. TMOD |= 0x20;                                          
  4842. TL1 = 0xE8;
  4843. TH1 = 0xE8;
  4844. ET1 = 0;
  4845. TR1 = 1;
  4846. ES=1;
  4847. EA=1;
  4848. }
  4849. void sendbyteck(unsigned int num1,unsigned int num2,unsigned int num3,unsigned int num4)
  4850. {
  4851.     unsigned char c;
  4852.     for(c=0;c<8;c++)
  4853.    {
  4854.         CLK=0;
  4855.         M_LR_DS0=num1&0x01;
  4856.         M_LG_DS0=num2&0x01;
  4857.         M_HR_DS0=num3&0x01;
  4858.         M_HG_DS0=num4&0x01;
  4859.         CLK=1;
  4860.         num1>>=1;
  4861.         num2>>=1;
  4862.         num3>>=1;
  4863.         num4>>=1;
  4864.     }
  4865. }
  4866. void key_shangwiej_scan()
  4867. {
  4868. if(!K2)  //如果检测到低电平,说明按键按下
  4869.     {
  4870.         if(msd==1||msd==2){TR0=0;}
  4871.          delay10us();  //延时去抖,一般10-20ms
  4872.      if(!K2)     //再次确认按键是否按下,没有按下则退出
  4873.            {
  4874.         while(!K2)//如果确认按下按键等待按键释放,没有则退出
  4875.                {
  4876.                    if(test==1){key1=1;}
  4877.                    if(test==2){key2=3;}
  4878.                    PWM_POW=1;      
  4879.                    delay10us();        delay10us();delay10us();delay10us();        delay10us();delay10us();
  4880.                    PWM_POW=0;      
  4881.                          }
  4882.            }
  4883.         }
  4884.         if(msd==1||msd==2){TR0=1;}
  4885. }
  4886. /*@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*/
  4887. void main()
  4888. {
  4889.         unsigned char p=0,k=0,l=0;          //定义
  4890.         sinter();
  4891.         IDelay(100);
  4892.         IRInit();                                   //初始化红外中断
  4893.         clear(0);
  4894.         PWM_LED();//开启PWM呼吸灯功能
  4895.         turn_on(10);
  4896.         H_scan(10);
  4897.         V_scan(10);
  4898.         W_scan(10);
  4899.         PWM_POW=0;//打开电源指示灯
  4900.         test=1;       
  4901.         while(1)
  4902.         {
  4903.                 ld=500;
  4904.                 H_scan(40);
  4905.                 if(key1==1||key1==2||key1==3||key1==4){        break;}        V_scan(40);
  4906.                 if(key1==1||key1==2||key1==3||key1==4)        {break;}W_scan(40);
  4907.                 if(key1==1||key1==2||key1==3||key1==4)        {break;}}
  4908.         while(1)
  4909.         {
  4910.                 if(key1==3)        {H_scan(40); } if(key1==2){V_scan(40); }if(key1==1){W_scan(40);        }if(key1==4){
  4911.                 test=2;          
  4912.                 msd=2;   
  4913.                 ld=500;
  4914.                 break; //退出测试功能
  4915.                 }
  4916.         }
  4917.         delay(10);         TR0=0;       
  4918.         while(1)  /*play list*/
  4919.         {
  4920.                 if(msd==1)         
  4921.                 {       
  4922.                         key3=3;       
  4923.                         TR0=0;       
  4924.                                           
  4925.                         //EA=0;
  4926.                         ET0=0;
  4927.                         IRInit();  
  4928.                         xsdsq=1;
  4929.                         hy(number+(36+1)*8,10);       
  4930.                         W_side(number+(36+1)*8,1,200);
  4931.                         xsdsq=0;
  4932.                         PWM_POW=0;
  4933.                         TR0=1;                                  //开启定时器显示扫描
  4934.                         ET0=1;
  4935.                         //EA=1;
  4936.                         test=2;
  4937.                    while(1)
  4938.                    {
  4939.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4940.                                 else{if(key2==2){msd=2;break;}}}else{  clear(0); Vol_watch_0(1);}
  4941.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4942.                                 else{if(key2==2){msd=2;break;}}}else{ clear(0); Vol_watch_0(2);}
  4943.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4944.                                 else{if(key2==2){msd=2;break;}}}else{ clear(0); Vol_watch_0(3);        }
  4945.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4946.                                 else{if(key2==2){msd=2;break;}}}else{ clear(0); Vol_watch_0(4);        }
  4947.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4948.                                 else{if(key2==2){msd=2;break;}}}else{  clear(0); Vol_watch_0(5);}
  4949.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4950.                                 else{if(key2==2){msd=2;break;}}}else{  clear(0); Vol_watch_0(6);}
  4951.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4952.                                 else{if(key2==2){msd=2;break;}}}else{   clear(0); Vol_watch_0(7);}
  4953.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4954.                                 else{if(key2==2){msd=2;break;}}}else{ clear(0);         Vol_watch_1(1);}
  4955.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4956.                                 else{if(key2==2){msd=2;break;}}}else{ clear(0);         Vol_watch_1(2);}
  4957.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4958.                                 else{if(key2==2){msd=2;break;}}}else{ clear(0); Vol_watch_1(3); }
  4959.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4960.                                 else{if(key2==2){msd=2;break;}}}else{ clear(0);         Vol_watch_1(4);}
  4961.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4962.                                 else{if(key2==2){msd=2;break;}}}else{ clear(0);         Vol_watch_1(5);}
  4963.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4964.                                 else{if(key2==2){msd=2;break;}}}else{ clear(0);         Vol_watch_2();}
  4965.                                 if(key2==3||key2==2){if(key2==3){msd=3;break;}
  4966.                                 else{if(key2==2){msd=2;break;}}}else{ clear(0); Vol_watch_3();}
  4967.                    }
  4968.                 }
  4969.                 if(msd==2)         
  4970.                 {       
  4971.                         key3=3;       
  4972.                         xsdsq=1;
  4973.                         hy(number+(36+2)*8,10);       
  4974.                         W_side(number+(36+2)*8,1,200);
  4975.                         xsdsq=0;
  4976.                    while(1)
  4977.                    {
  4978.                                 msd=6;
  4979.                                 TR0=0;                                  //关闭定时器显示扫描
  4980.                                 TR1=0;
  4981.                         //        EA=0;
  4982.                                 ET0=0;
  4983.                                 IRInit();  
  4984.                                  flash_20();         //第一个面屏幕上下拉开
  4985.                                 flash_21();         //从后面往前面显示数组的数字9-0
  4986.                                 flash_22();         //围绕着最外面的LED循环滚动显示数组中内容
  4987.                                 flash_23();         //分层升降左右上下前后以此打开升降测试
  4988.                                  flash_24();  //从最上面的一个面往下面的一层移动完
  4989.                                  flash_25();         //光立方全亮并且闪烁5次
  4990.                                  flash_26();  //从下面往上面依次显示出数组中的内容IXU
  4991.                                  flash_27();         //狼七八咋的显示出LED的每一个灯展示灯火效果
  4992.                                  flash_28();         //显示从上面往下面滴水的效果
  4993.                                  flash_29();         //将4个面围城圈圈然后旋转几次
  4994.                                  flash_30();         //空心显示将数组内容打印出来可以打印4个数组内容
  4995.                                  flash_31();         //将左右的四个面围绕成圈圈转起来4次之后从左边往右边显示数组中一幅图像64个的数据
  4996.                                  flash_32();         //从左边显示一个面然后旋转出一个面的空心效果实心效果
  4997.                                  flash_33();         //旋转单个面依次交换到买一个面
  4998.                                  flash_34();         //以中点位轴进行选择左右旋转切换实现波纹的效果
  4999.                                  flash_35();         //旋转左右为中心加快速度实现每个面的抖动效果
  5000.                                 flash_36();         //将数组中的内容显示出现进行旋转是一个正方形的
  5001.                                 flash_37();         //将方形变形缩小然后变成一个全亮的效果
  5002.                                 flash_38();         //前后左右上下伸缩全亮
  5003.                                 flash_39();         //实心和空心缩放和放大正方形全亮显示
  5004.                                 flash_40();         //动画显示一个数组里面的心形数据 会动的心形
  5005.                                 flash_41();         //显示一个电梯的图形
  5006.                                 flash_42();         //显示数字往上移动出来
  5007.                                 flash_15();  //显示下雨的效果
  5008.                                    msd=2;                       
  5009.                                 TR0=1;
  5010.                                 TR1=1;               
  5011.                                 //EA=1;
  5012.                                 ET0=1;
  5013.                
  5014.                 //显示中有些动画包含本店的数据如果不需要请自己将动画函数屏蔽
  5015.                 //flash_14();flash_18();flash_12();
  5016.                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5017.                                 else{if(key2==3){msd=3;break;}}}else{flash_1();}//包含第一个面显示4321倒计时的文字
  5018.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5019.                                 else{if(key2==3){msd=3;break;}}}else{flash_17();}//显示出一个VI的版本标志然后从最里面往外面滚动出来
  5020.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5021.                                 else{if(key2==3){msd=3;break;}}}else{flash_16();}//从边边的左右中滚动显示默认的英文字母ideasoft
  5022.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5023.                                 else{if(key2==3){msd=3;break;}}}else{flash_14();}//一个一个的字变出来显示上升沿电子光立方可以修改显示数据
  5024.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5025.                                 else{if(key2==3){msd=3;break;}}}else{flash_18();}//显示出上升沿电子8X8X8光立方下雨效果飘出字移动出去
  5026.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5027.                                 else{if(key2==3){msd=3;break;}}}else{flash_2();}//图形圈圈显示出来
  5028.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5029.                                 else{if(key2==3){msd=3;break;}}}else{flash_3();}//从前一排显示到后面一排两次
  5030.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5031.                                 else{if(key2==3){msd=3;break;}}}else{flash_4();}//从前一排斜杆到最后一排两次
  5032.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5033.                                 else{if(key2==3){msd=3;break;}}}else{flash_5();}//框框伸缩从中间到前面到后面
  5034.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5035.                                 else{if(key2==3){msd=3;break;}}}else{flash_6();}//滚四边的圈圈然后下雨效果飘出字移动出去
  5036.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5037.                                 else{if(key2==3){msd=3;break;}}}else{flash_7();}//滚四边包括前后左右滚然后出来半边三角形
  5038.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5039.                                 else{if(key2==3){msd=3;break;}}}else{flash_8();}//从左移动一排到右边中间显示文字图形
  5040.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5041.                                 else{if(key2==3){msd=3;break;}}}else{flash_9();}//从左到右边滚出斜杆然后螺旋转轴旋转框框显示方框伸缩孔空心和实心
  5042.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5043.                                 else{if(key2==3){msd=3;break;}}}else{flash_10();}//从最左小脚伸缩出框框然后变轮子前后左右上下滚动然后收缩还原
  5044.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5045.                                 else{if(key2==3){msd=3;break;}}}else{flash_11();}//象红旗一样被风飘动象蛇一样飘动走动
  5046.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5047.                                 else{if(key2==3){msd=3;break;}}}else{flash_12();}//滚动上升沿电子的字模数据文字移动显示出来
  5048.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5049.                                 else{if(key2==3){msd=3;break;}}}else{flash_13();}//渐变出来文字VI1234IXU的图案
  5050.                                                 if(key2==1||key2==3){if(key2==1){msd=1;break;}
  5051.                                 else{if(key2==3){msd=3;break;}}}else{flash_19();}//平行滑动显示出3D CULE FFT的字?
  5052.                                 TR0=0;       
  5053.                                 TR1=0;               
  5054.                                 //EA=0;
  5055.                                 ET0=0;
  5056.                                 IRInit();  
  5057.                                 PWM_POW=0;
  5058.                         }
  5059.                 }
  5060.                 if(msd==3)         
  5061.                 {
  5062.                         key3=3;                               
  5063.                         TR0=0;
  5064.                         TR1=0;                         
  5065.                         EA=0;
  5066.                         IRInit();  
  5067.                         xsdsq=1;
  5068.                         hy(number+(36+3)*8,10);
  5069.                         W_side(number+(36+3)*8,1,200);       
  5070.                         xsdsq=0;
  5071.                         PWM_POW=0;
  5072.                         init_uart();
  5073.                            test=2;
  5074.                    while(1)
  5075.                    {
  5076.                                 fvb();
  5077.                                 if(key2==1||key2==2){if(key2==1){msd=1;break;}
  5078.                              else{if(key2==2){msd=2;break;}}}
  5079.                         }
  5080.                 }
  5081.         }
  5082. }

  5083. /*******************红外***************************************/
  5084. void IR_IN(void) interrupt 0
  5085. {
  5086.           
  5087.   unsigned char j,k,N=0;                  
  5088.      EX0 = 0;
  5089.          IRdelay(15);
  5090.          if (IRIN==1)
  5091.      { EX0 =1;
  5092.            return;
  5093.           }
  5094.                            //确认IR信号出现
  5095.   while (!IRIN)            //等IR变为高电平,跳过9ms的前导低电平信号。
  5096.     {IRdelay(1);}

  5097. for (j=0;j<4;j++)         //收集四组数据
  5098. {
  5099.   for (k=0;k<8;k++)        //每组数据有8位
  5100.   {
  5101.    while (IRIN)            //等 IR 变为低电平,跳过4.5ms的前导高电平信号。
  5102.      {IRdelay(1);}
  5103.     while (!IRIN)          //等 IR 变为高电平
  5104.      {IRdelay(1);}
  5105.      while (IRIN)           //计算IR高电平时长
  5106.       {
  5107.     IRdelay(1);
  5108.     N++;           
  5109.     if (N>=30)
  5110.          { EX0=1;
  5111.          return;}                  //0.14ms计数过长自动离开。
  5112.       }                        //高电平计数完毕               
  5113.      IRCOM[j]=IRCOM[j] >> 1;                  //数据最高位补“0”
  5114.      if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;}  //数据最高位补“1”
  5115.      N=0;
  5116.   }
  5117. }
  5118.    
  5119.    if (IRCOM[2]!=~IRCOM[3])
  5120.    { EX0=1;
  5121.      return; }

  5122.    IRCOM[5]=IRCOM[2] & 0x0F;     //取键码的低四位
  5123.    IRCOM[6]=IRCOM[2] >> 4;       //右移4次,高四位变为低四位

  5124.    if(IRCOM[5]>9)
  5125.     { IRCOM[5]=IRCOM[5]+0x37;}
  5126.    else
  5127.           IRCOM[5]=IRCOM[5]+0x30;

  5128.    if(IRCOM[6]>9)
  5129.     { IRCOM[6]=IRCOM[6]+0x37;}
  5130.    else
  5131.           IRCOM[6]=IRCOM[6]+0x30;

  5132.          if(IRCOM[2]==0x45)
  5133.          {
  5134.                  m=1; //判断显示
  5135.                  if(msd==1||msd==2){TR0=0;}         
  5136.                  PWM_POW=1;      
  5137.                  delay10us();        delay10us();delay10us();delay10us();        delay10us();delay10us();
  5138.                  PWM_POW=0;                           
  5139.                  if(test==1){key1=4;}
  5140.                  if(test==2){pu=~pu;if(pu==1){key2=4;ld=500;}if(pu==0){key2=5;ld=20;}}                  
  5141.                  if(msd==1||msd==2){TR0=1;}                          
  5142.          }
  5143.           
  5144.          if(IRCOM[2]==0x46)
  5145.          {
  5146.                  m=2; //判断显示
  5147.                 
  5148.          }          
  5149.          if(IRCOM[2]==0x47)
  5150.          {
  5151.                  if(msd==1||msd==2){TR0=0;}
  5152.                  PWM_POW=1;      
  5153.                    delay10us();        delay10us();delay10us();delay10us();        delay10us();delay10us();
  5154.                    PWM_POW=0;
  5155.                 if(test==1){key1=1;}
  5156.                 if(test==2){key2=3;}
  5157.                   
  5158.                 if(msd==1||msd==2){TR0=1;}       
  5159.          }
  5160.          if(IRCOM[2]==0x44)
  5161.          {
  5162.                  m=3; //判断显示
  5163.                  if(msd==1||msd==2){TR0=0;}
  5164.                 PWM_POW=1;      
  5165.                    delay10us();        delay10us();delay10us();delay10us();        delay10us();delay10us();
  5166.                    PWM_POW=0;
  5167.                 if(test==1){key1=2;}
  5168.                 if(test==2){key2=2;}
  5169.                   
  5170.                 if(msd==1||msd==2){TR0=1;}       
  5171.          }
  5172.          
  5173.          if(IRCOM[2]==0x40)
  5174.          {
  5175.                  m=5; //判断显示
  5176.                 if(msd==1||msd==2){TR0=0;}
  5177.                 PWM_POW=1;      
  5178.                 delay10us();        delay10us();delay10us();delay10us();        delay10us();delay10us();
  5179.                 PWM_POW=0;
  5180.                 if(test==1){key1=3;}
  5181.                 if(test==2){key2=1;}                  
  5182.                 if(msd==1||msd==2){TR0=1;}       
  5183.          }
  5184.          
  5185.          if(IRCOM[2]==0x43) m=6; //判断显示
  5186.          if(IRCOM[2]==0x07) m=7; //判断显示
  5187.          if(IRCOM[2]==0x15) m=8; //判断显示
  5188.          if(IRCOM[2]==0x09) m=9; //判断显示
  5189.          if(IRCOM[2]==0x16) shuzi1++; //判断显示
  5190.          if(IRCOM[2]==0x19) shuzi1++; //判断显示
  5191.          if(IRCOM[2]==0x0d) m=10; //判断显示
  5192.          if(IRCOM[2]==0x0c) m=11; //判断显示
  5193.          if(IRCOM[2]==0x18) m=12; //判断显示
  5194.          if(IRCOM[2]==0x5e) m=13; //判断显示
  5195.          if(IRCOM[2]==0x08) m=14; //判断显示
  5196.          if(IRCOM[2]==0x1c) m=15; //判断显示
  5197.          if(IRCOM[2]==0x5a) m=16; //判断显示
  5198.          if(IRCOM[2]==0x42) m=17; //判断显示
  5199.          if(IRCOM[2]==0x52) m=18; //判断显示
  5200.          if(IRCOM[2]==0x4a) m=19; //判断显示

  5201.      EX0 = 1;
  5202. }


复制代码

Schematics and other documents.zip

795.06 KB, 下载次数: 4

The latest light cube source (2016.7 update).rar

255.01 KB, 下载次数: 4

回复

使用道具 举报

地板
ID:212149 发表于 2018-3-11 17:58 | 只看该作者
这个应该看看原理图吧,或者看看程序里的管脚定义
回复

使用道具 举报

5#
ID:277732 发表于 2018-3-12 09:20 | 只看该作者
我也是刚做了一个 发个图片可供参考

322368868837825975.jpg (80.36 KB, 下载次数: 16)

322368868837825975.jpg

472687668981505492.jpg (131.19 KB, 下载次数: 12)

472687668981505492.jpg

849667367721947442.jpg (100.7 KB, 下载次数: 16)

849667367721947442.jpg

746067742743960051.jpg (128.16 KB, 下载次数: 24)

746067742743960051.jpg

696454360849566519.jpg (131.81 KB, 下载次数: 13)

696454360849566519.jpg

238974913686416771.jpg (136.44 KB, 下载次数: 15)

238974913686416771.jpg

556899530637251483.jpg (77.41 KB, 下载次数: 10)

556899530637251483.jpg

665073025774740490.jpg (82.15 KB, 下载次数: 20)

665073025774740490.jpg

221743668072741157.jpg (123.15 KB, 下载次数: 10)

221743668072741157.jpg

727862808910441183.jpg (151.4 KB, 下载次数: 16)

727862808910441183.jpg
回复

使用道具 举报

6#
ID:277732 发表于 2018-3-12 09:24 | 只看该作者
电路板部分 可以参考一下 焊接不是那么难

144570084282337740.jpg (103.46 KB, 下载次数: 14)

144570084282337740.jpg

772931811384001665.jpg (126 KB, 下载次数: 12)

772931811384001665.jpg

549326969205022116.jpg (123.73 KB, 下载次数: 15)

549326969205022116.jpg

325060691731709613.jpg (126.38 KB, 下载次数: 15)

325060691731709613.jpg
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表