找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 12112|回复: 10
收起左侧

2.4寸128X64OLED SSD1309资料与源代码分享

  [复制链接]
ID:395261 发表于 2018-9-8 10:21 | 显示全部楼层 |阅读模式
最近在用SSD1309驱动的2.4寸液晶屏,分享一下代码与资料。
0.png 0.jpg
二、文字处理
在显示文字时,建议采用黑底白字。这是因为采用黑底白字时,1、省电(点亮的点越少需要的电流越小);2、有效防止CROSSTALK 现象。
三、表面处理
建议采用镜面处理。当不显示时,显示屏被客户的产品外壳表面处理后隐藏起来,只有在显示内容时才显现出来,给人一种神秘的感觉。
四、显示亮度不够时的处理方式
1、可以提高 VCC 的电压来提高亮度;
2、可以撕掉 OLED 屏上的偏光片来提高亮度同时还使产品的厚度变小。(此点是 LCD产品无法比拟的)

关于带有 FPC/COF/TCP的 OLED 产品在设计中需要弯折时的一些 产品在设计中需要弯折时的一些 产品在设计中需要弯折时的一些 产品在设计中需要弯折时的一些
注意事项
1. 设计时请注意 FPC 的弯折角度和弯折空间,不要把 FPC 折死。弯折太紧就容易使 FPC 折断,造成无显示。设计时请按照各款模组参考规格书上 Drawing 的标示来设计。
如下图,与 OLED 玻璃边缘≥1.83mm,弯折角度呈自然弯曲。

2. 使用电烙铁焊接操作说明:
焊接前 Panel 检查。外观检查,Pin 脚无断裂;
电性检查,测试画面显示正常

焊接操作
在 PCB/FPC 的 Pin 脚上均匀上锡
用对位孔对位,并固定 FPC/TCP,保证焊接时不会移动添加助焊剂,使用恒温刀头烙铁焊接,温度 300-350deg。重复焊接不要超过三次,在同一点停顿时间不得超过 3sec,每次重复需间隔五分钟。
焊接后检查。检查是否有 Pin 脚移位,焊接不良,焊锡残留,并作适当调整。
3. 操作注意:
使用刀头电烙铁,不能用尖头烙铁,防止损伤 FPC/TCP 的Pin 脚。
使用恒温烙铁,要求焊接时不会因温度过低而粘住 Pin 脚。
使用助焊剂,可以减少虚焊,冷焊或者连焊
由于 TCP/FPC 的 Pin 脚的断裂是无法修复的,所以在使用时禁止弯折或者拉扯 Pin 脚
特别提示(UI 设计必看):
1、由于 OLED 有机物蓝光寿命最短 有机物蓝光寿命最短 有机物蓝光寿命最短 有机物蓝光寿命最短,使用单
色蓝光时,务必不要使用固定图标或者文 色蓝光时,务必不要使用固定图标或者文 色蓝光时,务必不要使用固定图标或者文 色蓝光时,务必不要使用固定图标或者文
字,以免出现残影的情况。 字,以免出现残影的情况。 字,以免出现残影的情况。 字,以免出现残影的情况。
----》白光里面含有蓝光 白光里面含有蓝光 白光里面含有蓝光 白光里面含有蓝光,请参考蓝光的要 请参考蓝光的要 请参考蓝光的要 请参考蓝光的要

2、尽量使用黑底,即:蓝光就用黑底蓝字 蓝光就用黑底蓝字 蓝光就用黑底蓝字 蓝光就用黑底蓝字,
黄光就用黑底黄字 黄光就用黑底黄字 黄光就用黑底黄字 黄光就用黑底黄字,依此类推!发光面积越
大越耗电。
3、对于选用彩屏的客户,请尽量少用蓝字 对于选用彩屏的客户,请尽量少用蓝字 对于选用彩屏的客户,请尽量少用蓝字 对于选用彩屏的客户,请尽量少用蓝字
或者白字,也要求使用黑底做为背景。 或者白字,也要求使用黑底做为背景。 或者白字,也要求使用黑底做为背景。 或者白字,也要求使用黑底做为背景。
请严格按照上述要求设计 请严格按照上述要求设计 请严格按照上述要求设计 请严格按照上述要求设计 UI 界面!

单片机源程序如下:
  1. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  2. //
  3. //  UG-2864KLBMG01 (2864-95E) Reference Code
  4. //
  5. //    Dot Matrix: 128*64
  6. //    Driver IC : SSD1309 (Solomon Systech)
  7. //    Interface : 8-bit 68XX/80XX Parallel, 4-wire SPI
  8. //    Revision  :
  9. //    Author    :
  10. //    Editor    : topwin
  11. //
  12. //  
  13. //
  14. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

  15. #include <at89x51.h>

  16. //#define        M68                                // 8-bit 68XX Parallel
  17.                                                 //   BS1=0; BS2=1
  18. #define                I80                                // 8-bit 80XX Parallel
  19.                                                 //   BS1=1; BS2=1
  20. //#define        SPI                                // 4-wire SPI
  21.                                                 //   BS1=0; BS2=0
  22.                                                 //   The unused pins should be connected with VSS mostly or floating (D2).
  23.                                                 //   Please refer to the SSD1309 specification for detail.


  24. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  25. //  Pin Definition
  26. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  27. #define xData        P1                                // Parallel Data Input/Output

  28. #define SCLK        P1_0                                // Serial Clock Input
  29. #define SDIN        P1_1                                // Serial Data Input

  30. #define RES        P3_3                                // Reset
  31. #define CS        P3_4                                // Chip Select
  32. #define DC        P3_2                                // Data/Command Control

  33. #define E        P3_0                                // Read/Write Enable
  34. #define RW        P3_1                                // Read/Write Select

  35. #define RD        P3_0                                // Read Signal
  36. #define WR        P3_1                                // Write Signal


  37. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  38. //  Delay Time
  39. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  40. void uDelay(unsigned char l)
  41. {
  42.         while(l--);
  43. }


  44. void Delay(unsigned char n)
  45. {
  46. unsigned char i,j,k;

  47.         for(k=0;k<n;k++)
  48.         {
  49.                 for(i=0;i<131;i++)
  50.                 {
  51.                         for(j=0;j<15;j++)
  52.                         {
  53.                                 uDelay(203);       
  54.                         }
  55.                 }
  56.         }
  57. }


  58. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  59. //  Read/Write Sequence
  60. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  61. #ifdef M68                                        // 8-bit 68XX Parallel
  62. void Write_Command(unsigned char Data)
  63. {
  64.         DC=0;
  65.         CS=0;
  66.         RW=0;
  67.         E=1;
  68.         xData=Data;
  69.         E=0;
  70.         RW=1;
  71.         CS=1;
  72.         DC=1;
  73. }


  74. void Write_Data(unsigned char Data)
  75. {
  76.         DC=1;
  77.         CS=0;
  78.         RW=0;
  79.         E=1;
  80.         xData=Data;
  81.         E=0;
  82.         RW=1;
  83.         CS=1;
  84.         DC=1;
  85. }
  86. #endif


  87. #ifdef I80                                        // 8-bit 80XX Parallel
  88. void Write_Command(unsigned char Data)
  89. {
  90.         DC=0;
  91.         CS=0;
  92.         WR=0;
  93.         xData=Data;
  94.         WR=1;
  95.         CS=1;
  96.         DC=1;
  97. }


  98. void Write_Data(unsigned char Data)
  99. {
  100.         DC=1;
  101.         CS=0;
  102.         WR=0;
  103.         xData=Data;
  104.         WR=1;
  105.         CS=1;
  106.         DC=1;
  107. }
  108. #endif


  109. #ifdef SPI                                        // 4-wire SPI
  110. void Write_Command(unsigned char Data)
  111. {
  112. unsigned char i;

  113.         CS=0;
  114.         DC=0;
  115.         for (i=0; i<8; i++)
  116.         {
  117.                 SCLK=0;
  118.                 SDIN=(Data&0x80)>>7;
  119.                 Data = Data << 1;
  120. //                uDelay(1);
  121.                 SCLK=1;
  122. //                uDelay(1);
  123.         }
  124. //        SCLK=0;
  125.         DC=1;
  126.         CS=1;
  127. }


  128. void Write_Data(unsigned char Data)
  129. {
  130. unsigned char i;

  131.         CS=0;
  132.         DC=1;
  133.         for (i=0; i<8; i++)
  134.         {
  135.                 SCLK=0;
  136.                 SDIN=(Data&0x80)>>7;
  137.                 Data = Data << 1;
  138. //                uDelay(1);
  139.                 SCLK=1;
  140. //                uDelay(1);
  141.         }
  142. //        SCLK=0;
  143.         DC=1;
  144.         CS=1;
  145. }
  146. #endif


  147. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  148. //  Instruction Setting
  149. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  150. void Set_Start_Column(unsigned char d)
  151. {
  152.         Write_Command(0x00+d%16);                // Set Lower Column Start Address for Page Addressing Mode
  153.                                                 //   Default => 0x00
  154.         Write_Command(0x10+d/16);                // Set Higher Column Start Address for Page Addressing Mode
  155.                                                 //   Default => 0x10
  156. }


  157. void Set_Addressing_Mode(unsigned char d)
  158. {
  159.         Write_Command(0x20);                        // Set Memory Addressing Mode
  160.         Write_Command(d);                        //   Default => 0x02
  161.                                                 //     0x00 => Horizontal Addressing Mode
  162.                                                 //     0x01 => Vertical Addressing Mode
  163.                                                 //     0x02 => Page Addressing Mode
  164. }


  165. void Set_Column_Address(unsigned char a, unsigned char b)
  166. {
  167.         Write_Command(0x21);                        // Set Column Address
  168.         Write_Command(a);                        //   Default => 0x00 (Column Start Address)
  169.         Write_Command(b);                        //   Default => 0x7F (Column End Address)
  170. }


  171. void Set_Page_Address(unsigned char a, unsigned char b)
  172. {
  173.         Write_Command(0x22);                        // Set Page Address
  174.         Write_Command(a);                        //   Default => 0x00 (Page Start Address)
  175.         Write_Command(b);                        //   Default => 0x07 (Page End Address)
  176. }


  177. void Set_Start_Line(unsigned char d)
  178. {
  179.         Write_Command(0x40|d);                        // Set Display Start Line
  180.                                                 //   Default => 0x40 (0x00)
  181. }


  182. void Set_Contrast_Control(unsigned char d)
  183. {
  184.         Write_Command(0x81);                        // Set Contrast Control for Bank 0
  185.         Write_Command(d);                        //   Default => 0x7F
  186. }


  187. void Set_Segment_Remap(unsigned char d)
  188. {
  189.         Write_Command(d);                        // Set Segment Re-Map
  190.                                                 //   Default => 0xA0
  191.                                                 //     0xA0 => Column Address 0 Mapped to SEG0
  192.                                                 //     0xA1 => Column Address 0 Mapped to SEG127
  193. }


  194. void Set_Entire_Display(unsigned char d)
  195. {
  196.         Write_Command(d);                        // Set Entire Display On / Off
  197.                                                 //   Default => 0xA4
  198.                                                 //     0xA4 => Normal Display
  199.                                                 //     0xA5 => Entire Display On
  200. }


  201. void Set_Inverse_Display(unsigned char d)
  202. {
  203.         Write_Command(d);                        // Set Inverse Display On/Off
  204.                                                 //   Default => 0xA6
  205.                                                 //     0xA6 => Normal Display
  206.                                                 //     0xA7 => Inverse Display On
  207. }


  208. void Set_Multiplex_Ratio(unsigned char d)
  209. {
  210.         Write_Command(0xA8);                        // Set Multiplex Ratio
  211.         Write_Command(d);                        //   Default => 0x3F (1/64 Duty)
  212. }


  213. void Set_Display_On_Off(unsigned char d)       
  214. {
  215.         Write_Command(d);                        // Set Display On/Off
  216.                                                 //   Default => 0xAE
  217.                                                 //     0xAE => Display Off
  218.                                                 //     0xAF => Display On
  219. }


  220. void Set_Start_Page(unsigned char d)
  221. {
  222.         Write_Command(0xB0|d);                        // Set Page Start Address for Page Addressing Mode
  223.                                                 //   Default => 0xB0 (0x00)
  224. }


  225. void Set_Common_Remap(unsigned char d)
  226. {
  227.         Write_Command(d);                        // Set COM Output Scan Direction
  228.                                                 //   Default => 0xC0
  229.                                                 //     0xC0 => Scan from COM0 to 63
  230.                                                 //     0xC8 => Scan from COM63 to 0
  231. }


  232. void Set_Display_Offset(unsigned char d)
  233. {
  234.         Write_Command(0xD3);                        // Set Display Offset
  235.         Write_Command(d);                        //   Default => 0x00
  236. }


  237. void Set_Display_Clock(unsigned char d)
  238. {
  239.         Write_Command(0xD5);                        // Set Display Clock Divide Ratio / Oscillator Frequency
  240.         Write_Command(d);                        //   Default => 0x70
  241.                                                 //     D[3:0] => Display Clock Divider
  242.                                                 //     D[7:4] => Oscillator Frequency
  243. }


  244. void Set_Precharge_Period(unsigned char d)
  245. {
  246.         Write_Command(0xD9);                        // Set Pre-Charge Period
  247.         Write_Command(d);                        //   Default => 0x22 (2 Display Clocks [Phase 2] / 2 Display Clocks [Phase 1])
  248.                                                 //     D[3:0] => Phase 1 Period in 1~15 Display Clocks
  249.                                                 //     D[7:4] => Phase 2 Period in 1~15 Display Clocks
  250. }


  251. void Set_Common_Config(unsigned char d)
  252. {
  253.         Write_Command(0xDA);                        // Set COM Pins Hardware Configuration
  254.         Write_Command(d);                        //   Default => 0x12
  255.                                                 //     Alternative COM Pin Configuration
  256.                                                 //     Disable COM Left/Right Re-Map
  257. }


  258. void Set_VCOMH(unsigned char d)
  259. {
  260.         Write_Command(0xDB);                        // Set VCOMH Deselect Level
  261.         Write_Command(d);                        //   Default => 0x34 (0.78*VCC)
  262. }


  263. void Set_NOP()
  264. {
  265.         Write_Command(0xE3);                        // Command for No Operation
  266. }


  267. void Set_Command_Lock(unsigned char d)
  268. {
  269.         Write_Command(0xFD);                        // Set Command Lock
  270.         Write_Data(d);                                //   Default => 0x12
  271.                                                 //     0x12 => Driver IC interface is unlocked from entering command.
  272.                                                 //     0x16 => All Commands are locked except 0xFD.
  273. }


  274. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  275. //  Global Variables
  276. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  277. #define XLevelL                0x00
  278. #define XLevelH                0x10
  279. #define XLevel                ((XLevelH&0x0F)*16+XLevelL)
  280. #define Max_Column        128
  281. #define Max_Row                64
  282. #define        Brightness        0xBF


  283. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  284. //  Patterns
  285. //=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  286. unsigned char code UniV[][48]={                        // UniV OLED
  287.         0x00,0x00,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0x00,0xFC,0xFC,0xFC,0xFC,0x00,0x00,0x00,0xE0,0xE0,0xE0,0xE0,0x60,0xE0,0xE0,0xE0,0xC0,0x00,0x00,0x00,0xEC,0xEC,0xEC,0xEC,0x00,0x00,0x00,0x04,0x3C,0xFC,0xFC,0xF0,0x80,0x80,0xF0,0xFC,0xFC,0x3C,0x04,0x00,
  288.         0x00,0x00,0x07,0x0F,0x1F,0x1F,0x1C,0x18,0x1C,0x1F,0x1F,0x0F,0x07,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F,0x00,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x1F,0x1F,0x1F,0x1F,0x00,0x00,0x00,0x00,0x00,0x01,0x0F,0x1F,0x1F,0x1F,0x1F,0x0F,0x01,0x00,0x00,0x00,
  289.         0x00,0x80,0xE0,0xE0,0xF0,0x70,0x30,0x70,0xF0,0xE0,0xE0,0x80,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xF0,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xF0,0x30,0x30,0x30,0x30,0x30,0x00,0x00,0x00,0xF0,0xF0,0xF0,0xF0,0x30,0x70,0xF0,0xF0,0xE0,0x80,
  290.         0x00,0x0F,0x3F,0x3F,0x7F,0x70,0x60,0x70,0x7F,0x3F,0x3F,0x0F,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x7F,0x60,0x60,0x60,0x60,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x7F,0x63,0x63,0x63,0x63,0x60,0x00,0x00,0x00,0x7F,0x7F,0x7F,0x7F,0x60,0x70,0x7F,0x7F,0x3F,0x0F,
  291. };


  292. unsigned char code Ascii_1[240][5]={                // Refer to "Times New Roman" Font Database...
  293.                                                 //   Basic Characters
  294.         {0x00,0x00,0x4F,0x00,0x00},                //   (  1)  ! - 0x0021 Exclamation Mark
  295.         {0x00,0x07,0x00,0x07,0x00},                //   (  2)  " - 0x0022 Quotation Mark
  296.         {0x14,0x7F,0x14,0x7F,0x14},                //   (  3)  # - 0x0023 Number Sign
  297.         {0x24,0x2A,0x7F,0x2A,0x12},                //   (  4)  $ - 0x0024 Dollar Sign
  298.         {0x23,0x13,0x08,0x64,0x62},                //   (  5)  % - 0x0025 Percent Sign
  299.         {0x36,0x49,0x55,0x22,0x50},                //   (  6)  & - 0x0026 Ampersand
  300.         {0x00,0x05,0x03,0x00,0x00},                //   (  7)  ' - 0x0027 Apostrophe
  301.         {0x00,0x1C,0x22,0x41,0x00},                //   (  8)  ( - 0x0028 Left Parenthesis
  302.         {0x00,0x41,0x22,0x1C,0x00},                //   (  9)  ) - 0x0029 Right Parenthesis
  303.         {0x14,0x08,0x3E,0x08,0x14},                //   ( 10)  * - 0x002A Asterisk
  304.         {0x08,0x08,0x3E,0x08,0x08},                //   ( 11)  + - 0x002B Plus Sign
  305.         {0x00,0x50,0x30,0x00,0x00},                //   ( 12)  , - 0x002C Comma
  306.         {0x08,0x08,0x08,0x08,0x08},                //   ( 13)  - - 0x002D Hyphen-Minus
  307.         {0x00,0x60,0x60,0x00,0x00},                //   ( 14)  . - 0x002E Full Stop
  308.         {0x20,0x10,0x08,0x04,0x02},                //   ( 15)  / - 0x002F Solidus
  309.         {0x3E,0x51,0x49,0x45,0x3E},                //   ( 16)  0 - 0x0030 Digit Zero
  310.         {0x00,0x42,0x7F,0x40,0x00},                //   ( 17)  1 - 0x0031 Digit One
  311.         {0x42,0x61,0x51,0x49,0x46},                //   ( 18)  2 - 0x0032 Digit Two
  312.         {0x21,0x41,0x45,0x4B,0x31},                //   ( 19)  3 - 0x0033 Digit Three
  313.         {0x18,0x14,0x12,0x7F,0x10},                //   ( 20)  4 - 0x0034 Digit Four
  314.         {0x27,0x45,0x45,0x45,0x39},                //   ( 21)  5 - 0x0035 Digit Five
  315.         {0x3C,0x4A,0x49,0x49,0x30},                //   ( 22)  6 - 0x0036 Digit Six
  316.         {0x01,0x71,0x09,0x05,0x03},                //   ( 23)  7 - 0x0037 Digit Seven
  317.         {0x36,0x49,0x49,0x49,0x36},                //   ( 24)  8 - 0x0038 Digit Eight
  318.         {0x06,0x49,0x49,0x29,0x1E},                //   ( 25)  9 - 0x0039 Dight Nine
  319.         {0x00,0x36,0x36,0x00,0x00},                //   ( 26)  : - 0x003A Colon
  320.         {0x00,0x56,0x36,0x00,0x00},                //   ( 27)  ; - 0x003B Semicolon
  321.         {0x08,0x14,0x22,0x41,0x00},                //   ( 28)  < - 0x003C Less-Than Sign
  322.         {0x14,0x14,0x14,0x14,0x14},                //   ( 29)  = - 0x003D Equals Sign
  323.         {0x00,0x41,0x22,0x14,0x08},                //   ( 30)  > - 0x003E Greater-Than Sign
  324.         {0x02,0x01,0x51,0x09,0x06},                //   ( 31)  ? - 0x003F Question Mark
  325.         {0x32,0x49,0x79,0x41,0x3E},                //   ( 32)  @ - 0x0040 Commercial At
  326.         {0x7E,0x11,0x11,0x11,0x7E},                //   ( 33)  A - 0x0041 Latin Capital Letter A
  327.         {0x7F,0x49,0x49,0x49,0x36},                //   ( 34)  B - 0x0042 Latin Capital Letter B
  328.         {0x3E,0x41,0x41,0x41,0x22},                //   ( 35)  C - 0x0043 Latin Capital Letter C
  329.         {0x7F,0x41,0x41,0x22,0x1C},                //   ( 36)  D - 0x0044 Latin Capital Letter D
  330.         {0x7F,0x49,0x49,0x49,0x41},                //   ( 37)  E - 0x0045 Latin Capital Letter E
  331.         {0x7F,0x09,0x09,0x09,0x01},                //   ( 38)  F - 0x0046 Latin Capital Letter F
  332.         {0x3E,0x41,0x49,0x49,0x7A},                //   ( 39)  G - 0x0047 Latin Capital Letter G
  333.         {0x7F,0x08,0x08,0x08,0x7F},                //   ( 40)  H - 0x0048 Latin Capital Letter H
  334.         {0x00,0x41,0x7F,0x41,0x00},                //   ( 41)  I - 0x0049 Latin Capital Letter I
  335.         {0x20,0x40,0x41,0x3F,0x01},                //   ( 42)  J - 0x004A Latin Capital Letter J
  336.         {0x7F,0x08,0x14,0x22,0x41},                //   ( 43)  K - 0x004B Latin Capital Letter K
  337.         {0x7F,0x40,0x40,0x40,0x40},                //   ( 44)  L - 0x004C Latin Capital Letter L
  338.         {0x7F,0x02,0x0C,0x02,0x7F},                //   ( 45)  M - 0x004D Latin Capital Letter M
  339.         {0x7F,0x04,0x08,0x10,0x7F},                //   ( 46)  N - 0x004E Latin Capital Letter N
  340.         {0x3E,0x41,0x41,0x41,0x3E},                //   ( 47)  O - 0x004F Latin Capital Letter O
  341.         {0x7F,0x09,0x09,0x09,0x06},                //   ( 48)  P - 0x0050 Latin Capital Letter P
  342.         {0x3E,0x41,0x51,0x21,0x5E},                //   ( 49)  Q - 0x0051 Latin Capital Letter Q
  343.         {0x7F,0x09,0x19,0x29,0x46},                //   ( 50)  R - 0x0052 Latin Capital Letter R
  344.         {0x46,0x49,0x49,0x49,0x31},                //   ( 51)  S - 0x0053 Latin Capital Letter S
  345.         {0x01,0x01,0x7F,0x01,0x01},                //   ( 52)  T - 0x0054 Latin Capital Letter T
  346.         {0x3F,0x40,0x40,0x40,0x3F},                //   ( 53)  U - 0x0055 Latin Capital Letter U
  347.         {0x1F,0x20,0x40,0x20,0x1F},                //   ( 54)  V - 0x0056 Latin Capital Letter V
  348.         {0x3F,0x40,0x38,0x40,0x3F},                //   ( 55)  W - 0x0057 Latin Capital Letter W
  349.         {0x63,0x14,0x08,0x14,0x63},                //   ( 56)  X - 0x0058 Latin Capital Letter X
  350.         {0x07,0x08,0x70,0x08,0x07},                //   ( 57)  Y - 0x0059 Latin Capital Letter Y
  351.         {0x61,0x51,0x49,0x45,0x43},                //   ( 58)  Z - 0x005A Latin Capital Letter Z
  352.         {0x00,0x7F,0x41,0x41,0x00},                //   ( 59)  [ - 0x005B Left Square Bracket
  353.         {0x02,0x04,0x08,0x10,0x20},                //   ( 60)  \ - 0x005C Reverse Solidus
  354.         {0x00,0x41,0x41,0x7F,0x00},                //   ( 61)  ] - 0x005D Right Square Bracket
  355.         {0x04,0x02,0x01,0x02,0x04},                //   ( 62)  ^ - 0x005E Circumflex Accent
  356.         {0x40,0x40,0x40,0x40,0x40},                //   ( 63)  _ - 0x005F Low Line
  357.         {0x01,0x02,0x04,0x00,0x00},                //   ( 64)  ` - 0x0060 Grave Accent
  358.         {0x20,0x54,0x54,0x54,0x78},                //   ( 65)  a - 0x0061 Latin Small Letter A
  359.         {0x7F,0x48,0x44,0x44,0x38},                //   ( 66)  b - 0x0062 Latin Small Letter B
  360.         {0x38,0x44,0x44,0x44,0x20},                //   ( 67)  c - 0x0063 Latin Small Letter C
  361.         {0x38,0x44,0x44,0x48,0x7F},                //   ( 68)  d - 0x0064 Latin Small Letter D
  362.         {0x38,0x54,0x54,0x54,0x18},                //   ( 69)  e - 0x0065 Latin Small Letter E
  363.         {0x08,0x7E,0x09,0x01,0x02},                //   ( 70)  f - 0x0066 Latin Small Letter F
  364.         {0x06,0x49,0x49,0x49,0x3F},                //   ( 71)  g - 0x0067 Latin Small Letter G
  365.         {0x7F,0x08,0x04,0x04,0x78},                //   ( 72)  h - 0x0068 Latin Small Letter H
  366.         {0x00,0x44,0x7D,0x40,0x00},                //   ( 73)  i - 0x0069 Latin Small Letter I
  367.         {0x20,0x40,0x44,0x3D,0x00},                //   ( 74)  j - 0x006A Latin Small Letter J
  368.         {0x7F,0x10,0x28,0x44,0x00},                //   ( 75)  k - 0x006B Latin Small Letter K
  369.         {0x00,0x41,0x7F,0x40,0x00},                //   ( 76)  l - 0x006C Latin Small Letter L
  370.         {0x7C,0x04,0x18,0x04,0x7C},                //   ( 77)  m - 0x006D Latin Small Letter M
  371.         {0x7C,0x08,0x04,0x04,0x78},                //   ( 78)  n - 0x006E Latin Small Letter N
  372.         {0x38,0x44,0x44,0x44,0x38},                //   ( 79)  o - 0x006F Latin Small Letter O
  373.         {0x7C,0x14,0x14,0x14,0x08},                //   ( 80)  p - 0x0070 Latin Small Letter P
  374.         {0x08,0x14,0x14,0x18,0x7C},                //   ( 81)  q - 0x0071 Latin Small Letter Q
  375.         {0x7C,0x08,0x04,0x04,0x08},                //   ( 82)  r - 0x0072 Latin Small Letter R
  376.         {0x48,0x54,0x54,0x54,0x20},                //   ( 83)  s - 0x0073 Latin Small Letter S
  377.         {0x04,0x3F,0x44,0x40,0x20},                //   ( 84)  t - 0x0074 Latin Small Letter T
  378.         {0x3C,0x40,0x40,0x20,0x7C},                //   ( 85)  u - 0x0075 Latin Small Letter U
  379.         {0x1C,0x20,0x40,0x20,0x1C},                //   ( 86)  v - 0x0076 Latin Small Letter V
  380.         {0x3C,0x40,0x30,0x40,0x3C},                //   ( 87)  w - 0x0077 Latin Small Letter W
  381.         {0x44,0x28,0x10,0x28,0x44},                //   ( 88)  x - 0x0078 Latin Small Letter X
  382.         {0x0C,0x50,0x50,0x50,0x3C},                //   ( 89)  y - 0x0079 Latin Small Letter Y
  383.         {0x44,0x64,0x54,0x4C,0x44},                //   ( 90)  z - 0x007A Latin Small Letter Z
  384.         {0x00,0x08,0x36,0x41,0x00},                //   ( 91)  { - 0x007B Left Curly Bracket
  385.         {0x00,0x00,0x7F,0x00,0x00},                //   ( 92)  | - 0x007C Vertical Line
  386.         {0x00,0x41,0x36,0x08,0x00},                //   ( 93)  } - 0x007D Right Curly Bracket
  387.         {0x02,0x01,0x02,0x04,0x02},                //   ( 94)  ~ - 0x007E Tilde
  388.         {0x3E,0x55,0x55,0x41,0x22},                //   ( 95)  C - 0x0080 <Control>
  389.         {0x00,0x00,0x00,0x00,0x00},                //   ( 96)    - 0x00A0 No-Break Space
  390.         {0x00,0x00,0x79,0x00,0x00},                //   ( 97)  ! - 0x00A1 Inverted Exclamation Mark
  391.         {0x18,0x24,0x74,0x2E,0x24},                //   ( 98)  c - 0x00A2 Cent Sign
  392.         {0x48,0x7E,0x49,0x42,0x40},                //   ( 99)  L - 0x00A3 Pound Sign
  393.         {0x5D,0x22,0x22,0x22,0x5D},                //   (100)  o - 0x00A4 Currency Sign
  394.         {0x15,0x16,0x7C,0x16,0x15},                //   (101)  Y - 0x00A5 Yen Sign
  395.         {0x00,0x00,0x77,0x00,0x00},                //   (102)  | - 0x00A6 Broken Bar
  396.         {0x0A,0x55,0x55,0x55,0x28},                //   (103)    - 0x00A7 Section Sign
  397.         {0x00,0x01,0x00,0x01,0x00},                //   (104)  " - 0x00A8 Diaeresis
  398.         {0x00,0x0A,0x0D,0x0A,0x04},                //   (105)    - 0x00AA Feminine Ordinal Indicator
  399.         {0x08,0x14,0x2A,0x14,0x22},                //   (106) << - 0x00AB Left-Pointing Double Angle Quotation Mark
  400.         {0x04,0x04,0x04,0x04,0x1C},                //   (107)    - 0x00AC Not Sign
  401.         {0x00,0x08,0x08,0x08,0x00},                //   (108)  - - 0x00AD Soft Hyphen
  402.         {0x01,0x01,0x01,0x01,0x01},                //   (109)    - 0x00AF Macron
  403.         {0x00,0x02,0x05,0x02,0x00},                //   (110)    - 0x00B0 Degree Sign
  404.         {0x44,0x44,0x5F,0x44,0x44},                //   (111) +- - 0x00B1 Plus-Minus Sign
  405.         {0x00,0x00,0x04,0x02,0x01},                //   (112)  ` - 0x00B4 Acute Accent
  406.         {0x7E,0x20,0x20,0x10,0x3E},                //   (113)  u - 0x00B5 Micro Sign
  407.         {0x06,0x0F,0x7F,0x00,0x7F},                //   (114)    - 0x00B6 Pilcrow Sign
  408.         {0x00,0x18,0x18,0x00,0x00},                //   (115)  . - 0x00B7 Middle Dot
  409.         {0x00,0x40,0x50,0x20,0x00},                //   (116)    - 0x00B8 Cedilla
  410.         {0x00,0x0A,0x0D,0x0A,0x00},                //   (117)    - 0x00BA Masculine Ordinal Indicator
  411.         {0x22,0x14,0x2A,0x14,0x08},                //   (118) >> - 0x00BB Right-Pointing Double Angle Quotation Mark
  412.         {0x17,0x08,0x34,0x2A,0x7D},                //   (119) /4 - 0x00BC Vulgar Fraction One Quarter
  413.         {0x17,0x08,0x04,0x6A,0x59},                //   (120) /2 - 0x00BD Vulgar Fraction One Half
  414.         {0x30,0x48,0x45,0x40,0x20},                //   (121)  ? - 0x00BF Inverted Question Mark
  415.         {0x70,0x29,0x26,0x28,0x70},                //   (122) `A - 0x00C0 Latin Capital Letter A with Grave
  416.         {0x70,0x28,0x26,0x29,0x70},                //   (123) 'A - 0x00C1 Latin Capital Letter A with Acute
  417.         {0x70,0x2A,0x25,0x2A,0x70},                //   (124) ^A - 0x00C2 Latin Capital Letter A with Circumflex
  418.         {0x72,0x29,0x26,0x29,0x70},                //   (125) ~A - 0x00C3 Latin Capital Letter A with Tilde
  419.         {0x70,0x29,0x24,0x29,0x70},                //   (126) "A - 0x00C4 Latin Capital Letter A with Diaeresis
  420.         {0x70,0x2A,0x2D,0x2A,0x70},                //   (127)  A - 0x00C5 Latin Capital Letter A with Ring Above
  421.         {0x7E,0x11,0x7F,0x49,0x49},                //   (128) AE - 0x00C6 Latin Capital Letter Ae
  422.         {0x0E,0x51,0x51,0x71,0x11},                //   (129)  C - 0x00C7 Latin Capital Letter C with Cedilla
  423.         {0x7C,0x55,0x56,0x54,0x44},                //   (130) `E - 0x00C8 Latin Capital Letter E with Grave
  424.         {0x7C,0x55,0x56,0x54,0x44},                //   (131) 'E - 0x00C9 Latin Capital Letter E with Acute
  425.         {0x7C,0x56,0x55,0x56,0x44},                //   (132) ^E - 0x00CA Latin Capital Letter E with Circumflex
  426.         {0x7C,0x55,0x54,0x55,0x44},                //   (133) "E - 0x00CB Latin Capital Letter E with Diaeresis
  427.         {0x00,0x45,0x7E,0x44,0x00},                //   (134) `I - 0x00CC Latin Capital Letter I with Grave
  428.         {0x00,0x44,0x7E,0x45,0x00},                //   (135) 'I - 0x00CD Latin Capital Letter I with Acute
  429.         {0x00,0x46,0x7D,0x46,0x00},                //   (136) ^I - 0x00CE Latin Capital Letter I with Circumflex
  430.         {0x00,0x45,0x7C,0x45,0x00},                //   (137) "I - 0x00CF Latin Capital Letter I with Diaeresis
  431.         {0x7F,0x49,0x49,0x41,0x3E},                //   (138)  D - 0x00D0 Latin Capital Letter Eth
  432.         {0x7C,0x0A,0x11,0x22,0x7D},                //   (139) ~N - 0x00D1 Latin Capital Letter N with Tilde
  433.         {0x38,0x45,0x46,0x44,0x38},                //   (140) `O - 0x00D2 Latin Capital Letter O with Grave
  434.         {0x38,0x44,0x46,0x45,0x38},                //   (141) 'O - 0x00D3 Latin Capital Letter O with Acute
  435.         {0x38,0x46,0x45,0x46,0x38},                //   (142) ^O - 0x00D4 Latin Capital Letter O with Circumflex
  436.         {0x38,0x46,0x45,0x46,0x39},                //   (143) ~O - 0x00D5 Latin Capital Letter O with Tilde
  437.         {0x38,0x45,0x44,0x45,0x38},                //   (144) "O - 0x00D6 Latin Capital Letter O with Diaeresis
  438.         {0x22,0x14,0x08,0x14,0x22},                //   (145)  x - 0x00D7 Multiplcation Sign
  439.         {0x2E,0x51,0x49,0x45,0x3A},                //   (146)  O - 0x00D8 Latin Capital Letter O with Stroke
  440.         {0x3C,0x41,0x42,0x40,0x3C},                //   (147) `U - 0x00D9 Latin Capital Letter U with Grave
  441.         {0x3C,0x40,0x42,0x41,0x3C},                //   (148) 'U - 0x00DA Latin Capital Letter U with Acute
  442.         {0x3C,0x42,0x41,0x42,0x3C},                //   (149) ^U - 0x00DB Latin Capital Letter U with Circumflex
  443.         {0x3C,0x41,0x40,0x41,0x3C},                //   (150) "U - 0x00DC Latin Capital Letter U with Diaeresis
  444.         {0x0C,0x10,0x62,0x11,0x0C},                //   (151) `Y - 0x00DD Latin Capital Letter Y with Acute
  445.         {0x7F,0x12,0x12,0x12,0x0C},                //   (152)  P - 0x00DE Latin Capital Letter Thom
  446.         {0x40,0x3E,0x01,0x49,0x36},                //   (153)  B - 0x00DF Latin Capital Letter Sharp S
  447.         {0x20,0x55,0x56,0x54,0x78},                //   (154) `a - 0x00E0 Latin Small Letter A with Grave
  448.         {0x20,0x54,0x56,0x55,0x78},                //   (155) 'a - 0x00E1 Latin Small Letter A with Acute
  449.         {0x20,0x56,0x55,0x56,0x78},                //   (156) ^a - 0x00E2 Latin Small Letter A with Circumflex
  450.         {0x20,0x55,0x56,0x55,0x78},                //   (157) ~a - 0x00E3 Latin Small Letter A with Tilde
  451.         {0x20,0x55,0x54,0x55,0x78},                //   (158) "a - 0x00E4 Latin Small Letter A with Diaeresis
  452.         {0x20,0x56,0x57,0x56,0x78},                //   (159)  a - 0x00E5 Latin Small Letter A with Ring Above
  453.         {0x24,0x54,0x78,0x54,0x58},                //   (160) ae - 0x00E6 Latin Small Letter Ae
  454.         {0x0C,0x52,0x52,0x72,0x13},                //   (161)  c - 0x00E7 Latin Small Letter c with Cedilla
  455.         {0x38,0x55,0x56,0x54,0x18},                //   (162) `e - 0x00E8 Latin Small Letter E with Grave
  456.         {0x38,0x54,0x56,0x55,0x18},                //   (163) 'e - 0x00E9 Latin Small Letter E with Acute
  457.         {0x38,0x56,0x55,0x56,0x18},                //   (164) ^e - 0x00EA Latin Small Letter E with Circumflex
  458.         {0x38,0x55,0x54,0x55,0x18},                //   (165) "e - 0x00EB Latin Small Letter E with Diaeresis
  459.         {0x00,0x49,0x7A,0x40,0x00},                //   (166) `i - 0x00EC Latin Small Letter I with Grave
  460.         {0x00,0x48,0x7A,0x41,0x00},                //   (167) 'i - 0x00ED Latin Small Letter I with Acute
  461.         {0x00,0x4A,0x79,0x42,0x00},                //   (168) ^i - 0x00EE Latin Small Letter I with Circumflex
  462.         {0x00,0x4A,0x78,0x42,0x00},                //   (169) "i - 0x00EF Latin Small Letter I with Diaeresis
  463.         {0x31,0x4A,0x4E,0x4A,0x30},                //   (170)    - 0x00F0 Latin Small Letter Eth
  464.         {0x7A,0x11,0x0A,0x09,0x70},                //   (171) ~n - 0x00F1 Latin Small Letter N with Tilde
  465.         {0x30,0x49,0x4A,0x48,0x30},                //   (172) `o - 0x00F2 Latin Small Letter O with Grave
  466.         {0x30,0x48,0x4A,0x49,0x30},                //   (173) 'o - 0x00F3 Latin Small Letter O with Acute
  467.         {0x30,0x4A,0x49,0x4A,0x30},                //   (174) ^o - 0x00F4 Latin Small Letter O with Circumflex
  468.         {0x30,0x4A,0x49,0x4A,0x31},                //   (175) ~o - 0x00F5 Latin Small Letter O with Tilde
  469.         {0x30,0x4A,0x48,0x4A,0x30},                //   (176) "o - 0x00F6 Latin Small Letter O with Diaeresis
  470.         {0x08,0x08,0x2A,0x08,0x08},                //   (177)  + - 0x00F7 Division Sign
  471.         {0x38,0x64,0x54,0x4C,0x38},                //   (178)  o - 0x00F8 Latin Small Letter O with Stroke
  472.         {0x38,0x41,0x42,0x20,0x78},                //   (179) `u - 0x00F9 Latin Small Letter U with Grave
  473.         {0x38,0x40,0x42,0x21,0x78},                //   (180) 'u - 0x00FA Latin Small Letter U with Acute
  474.         {0x38,0x42,0x41,0x22,0x78},                //   (181) ^u - 0x00FB Latin Small Letter U with Circumflex
  475.         {0x38,0x42,0x40,0x22,0x78},                //   (182) "u - 0x00FC Latin Small Letter U with Diaeresis
  476.         {0x0C,0x50,0x52,0x51,0x3C},                //   (183) 'y - 0x00FD Latin Small Letter Y with Acute
  477.         {0x7E,0x14,0x14,0x14,0x08},                //   (184)  p - 0x00FE Latin Small Letter Thom
  478.         {0x0C,0x51,0x50,0x51,0x3C},                //   (185) "y - 0x00FF Latin Small Letter Y with Diaeresis
  479.         {0x1E,0x09,0x09,0x29,0x5E},                //   (186)  A - 0x0104 Latin Capital Letter A with Ogonek
  480.         {0x08,0x15,0x15,0x35,0x4E},                //   (187)  a - 0x0105 Latin Small Letter A with Ogonek
  481.         {0x38,0x44,0x46,0x45,0x20},                //   (188) 'C - 0x0106 Latin Capital Letter C with Acute
  482.         {0x30,0x48,0x4A,0x49,0x20},                //   (189) 'c - 0x0107 Latin Small Letter C with Acute
  483.         {0x38,0x45,0x46,0x45,0x20},                //   (190)  C - 0x010C Latin Capital Letter C with Caron
  484.         {0x30,0x49,0x4A,0x49,0x20},                //   (191)  c - 0x010D Latin Small Letter C with Caron
  485.         {0x7C,0x45,0x46,0x45,0x38},                //   (192)  D - 0x010E Latin Capital Letter D with Caron
  486.         {0x20,0x50,0x50,0x7C,0x03},                //   (193) d' - 0x010F Latin Small Letter D with Caron
  487.         {0x1F,0x15,0x15,0x35,0x51},                //   (194)  E - 0x0118 Latin Capital Letter E with Ogonek
  488.         {0x0E,0x15,0x15,0x35,0x46},                //   (195)  e - 0x0119 Latin Small Letter E with Ogonek
  489.         {0x7C,0x55,0x56,0x55,0x44},                //   (196)  E - 0x011A Latin Capital Letter E with Caron
  490.         {0x38,0x55,0x56,0x55,0x18},                //   (197)  e - 0x011B Latin Small Letter E with Caron
  491.         {0x00,0x44,0x7C,0x40,0x00},                //   (198)  i - 0x0131 Latin Small Letter Dotless I
  492.         {0x7F,0x48,0x44,0x40,0x40},                //   (199)  L - 0x0141 Latin Capital Letter L with Stroke
  493.         {0x00,0x49,0x7F,0x44,0x00},                //   (200)  l - 0x0142 Latin Small Letter L with Stroke
  494.         {0x7C,0x08,0x12,0x21,0x7C},                //   (201) 'N - 0x0143 Latin Capital Letter N with Acute
  495.         {0x78,0x10,0x0A,0x09,0x70},                //   (202) 'n - 0x0144 Latin Small Letter N with Acute
  496.         {0x7C,0x09,0x12,0x21,0x7C},                //   (203)  N - 0x0147 Latin Capital Letter N with Caron
  497.         {0x78,0x11,0x0A,0x09,0x70},                //   (204)  n - 0x0148 Latin Small Letter N with Caron
  498.         {0x38,0x47,0x44,0x47,0x38},                //   (205) "O - 0x0150 Latin Capital Letter O with Double Acute
  499.         {0x30,0x4B,0x48,0x4B,0x30},                //   (206) "o - 0x0151 Latin Small Letter O with Double Acute
  500.         {0x3E,0x41,0x7F,0x49,0x49},                //   (207) OE - 0x0152 Latin Capital Ligature Oe
  501.         {0x38,0x44,0x38,0x54,0x58},                //   (208) oe - 0x0153 Latin Small Ligature Oe
  502.         {0x7C,0x15,0x16,0x35,0x48},                //   (209)  R - 0x0158 Latin Capital Letter R with Caron
  503.         {0x78,0x11,0x0A,0x09,0x10},                //   (210)  r - 0x0159 Latin Small Letter R with Caron
  504.         {0x48,0x54,0x56,0x55,0x20},                //   (211) 'S - 0x015A Latin Capital Letter S with Acute
  505.         {0x20,0x48,0x56,0x55,0x20},                //   (212) 's - 0x015B Latin Small Letter S with Acute
  506.         {0x48,0x55,0x56,0x55,0x20},                //   (213)  S - 0x0160 Latin Capital Letter S with Caron
  507.         {0x20,0x49,0x56,0x55,0x20},                //   (214)  s - 0x0161 Latin Small Letter S with Caron
  508.         {0x04,0x05,0x7E,0x05,0x04},                //   (215)  T - 0x0164 Latin Capital Letter T with Caron
  509.         {0x08,0x3C,0x48,0x22,0x01},                //   (216) t' - 0x0165 Latin Small Letter T with Caron
  510.         {0x3C,0x42,0x45,0x42,0x3C},                //   (217)  U - 0x016E Latin Capital Letter U with Ring Above
  511.         {0x38,0x42,0x45,0x22,0x78},                //   (218)  u - 0x016F Latin Small Letter U with Ring Above
  512.         {0x3C,0x43,0x40,0x43,0x3C},                //   (219) "U - 0x0170 Latin Capital Letter U with Double Acute
  513.         {0x38,0x43,0x40,0x23,0x78},                //   (220) "u - 0x0171 Latin Small Letter U with Double Acute
  514.         {0x0C,0x11,0x60,0x11,0x0C},                //   (221) "Y - 0x0178 Latin Capital Letter Y with Diaeresis
  515.         {0x44,0x66,0x55,0x4C,0x44},                //   (222) 'Z - 0x0179 Latin Capital Letter Z with Acute
  516.         {0x48,0x6A,0x59,0x48,0x00},                //   (223) 'z - 0x017A Latin Small Letter Z with Acute
  517.         {0x44,0x64,0x55,0x4C,0x44},                //   (224)  Z - 0x017B Latin Capital Letter Z with Dot Above
  518.         {0x48,0x68,0x5A,0x48,0x00},                //   (225)  z - 0x017C Latin Small Letter Z with Dot Above
  519.         {0x44,0x65,0x56,0x4D,0x44},                //   (226)  Z - 0x017D Latin Capital Letter Z with Caron
  520.         {0x48,0x69,0x5A,0x49,0x00},                //   (227)  z - 0x017E Latin Small Letter Z with Caron
  521.         {0x00,0x02,0x01,0x02,0x00},                //   (228)  ^ - 0x02C6 Modifier Letter Circumflex Accent
  522.         {0x00,0x01,0x02,0x01,0x00},                //   (229)    - 0x02C7 Caron
  523.         {0x00,0x01,0x01,0x01,0x00},                //   (230)    - 0x02C9 Modifier Letter Macron
  524.         {0x01,0x02,0x02,0x01,0x00},                //   (231)    - 0x02D8 Breve
  525.         {0x00,0x00,0x01,0x00,0x00},                //   (232)    - 0x02D9 Dot Above
  526.         {0x00,0x02,0x05,0x02,0x00},                //   (233)    - 0x02DA Ring Above
  527.         {0x02,0x01,0x02,0x01,0x00},                //   (234)  ~ - 0x02DC Small Tilde
  528.         {0x7F,0x05,0x15,0x3A,0x50},                //   (235) Pt - 0x20A7 Peseta Sign
  529.         {0x3E,0x55,0x55,0x41,0x22},                //   (236)  C - 0x20AC Euro Sign
  530.         {0x18,0x14,0x08,0x14,0x0C},                //   (237)    - 0x221E Infinity
  531.         {0x44,0x4A,0x4A,0x51,0x51},                //   (238)  < - 0x2264 Less-Than or Equal to
  532.         {0x51,0x51,0x4A,0x4A,0x44},                //   (239)  > - 0x2265 Greater-Than or Equal to
  533.         {0x74,0x42,0x41,0x42,0x74},                //   (240)    - 0x2302 House
  534. };


  535. unsigned char code Ascii_2[107][5]={                // Refer to "Times New Roman" Font Database...
  536.                                                 //   Greek & Japanese Letters
  537.         {0x7E,0x11,0x11,0x11,0x7E},                //   (  1)  A - 0x0391 Greek Capital Letter Alpha
  538.         {0x7F,0x49,0x49,0x49,0x36},                //   (  2)  B - 0x0392 Greek Capital Letter Beta
  539.         {0x7F,0x02,0x01,0x01,0x03},                //   (  3)    - 0x0393 Greek Capital Letter Gamma
  540.         {0x70,0x4E,0x41,0x4E,0x70},                //   (  4)    - 0x0394 Greek Capital Letter Delta
  541.         {0x7F,0x49,0x49,0x49,0x41},                //   (  5)  E - 0x0395 Greek Capital Letter Epsilon
  542.         {0x61,0x51,0x49,0x45,0x43},                //   (  6)  Z - 0x0396 Greek Capital Letter Zeta
  543.         {0x7F,0x08,0x08,0x08,0x7F},                //   (  7)  H - 0x0397 Greek Capital Letter Eta
  544.         {0x3E,0x49,0x49,0x49,0x3E},                //   (  8)    - 0x0398 Greek Capital Letter Theta
  545.         {0x00,0x41,0x7F,0x41,0x00},                //   (  9)  I - 0x0399 Greek Capital Letter Iota
  546.         {0x7F,0x08,0x14,0x22,0x41},                //   ( 10)  K - 0x039A Greek Capital Letter Kappa
  547.         {0x70,0x0E,0x01,0x0E,0x70},                //   ( 11)    - 0x039B Greek Capital Letter Lamda
  548.         {0x7F,0x02,0x0C,0x02,0x7F},                //   ( 12)  M - 0x039C Greek Capital Letter Mu
  549.         {0x7F,0x04,0x08,0x10,0x7F},                //   ( 13)  N - 0x039D Greek Capital Letter Nu
  550.         {0x63,0x5D,0x49,0x5D,0x63},                //   ( 14)    - 0x039E Greek Capital Letter Xi
  551.         {0x3E,0x41,0x41,0x41,0x3E},                //   ( 15)  O - 0x039F Greek Capital Letter Omicron
  552.         {0x41,0x3F,0x01,0x3F,0x41},                //   ( 16)    - 0x03A0 Greek Capital Letter Pi
  553.         {0x7F,0x09,0x09,0x09,0x06},                //   ( 17)  P - 0x03A1 Greek Capital Letter Rho
  554.         {0x63,0x55,0x49,0x41,0x41},                //   ( 18)    - 0x03A3 Greek Capital Letter Sigma
  555.         {0x01,0x01,0x7F,0x01,0x01},                //   ( 19)  T - 0x03A4 Greek Capital Letter Tau
  556.         {0x03,0x01,0x7E,0x01,0x03},                //   ( 20)    - 0x03A5 Greek Capital Letter Upsilon
  557.         {0x08,0x55,0x7F,0x55,0x08},                //   ( 21)    - 0x03A6 Greek Capital Letter Phi
  558.         {0x63,0x14,0x08,0x14,0x63},                //   ( 22)  X - 0x03A7 Greek Capital Letter Chi
  559.         {0x07,0x48,0x7F,0x48,0x07},                //   ( 23)    - 0x03A8 Greek Capital Letter Psi
  560.         {0x5E,0x61,0x01,0x61,0x5E},                //   ( 24)    - 0x03A9 Greek Capital Letter Omega
  561.         {0x38,0x44,0x48,0x30,0x4C},                //   ( 25)  a - 0x03B1 Greek Small Letter Alpha
  562.         {0x7C,0x2A,0x2A,0x2A,0x14},                //   ( 26)  B - 0x03B2 Greek Small Letter Beta
  563.         {0x44,0x38,0x04,0x04,0x08},                //   ( 27)  r - 0x03B3 Greek Small Letter Gamma
  564.         {0x30,0x4B,0x4D,0x59,0x30},                //   ( 28)    - 0x03B4 Greek Small Letter Delta
  565.         {0x28,0x54,0x54,0x44,0x20},                //   ( 29)    - 0x03B5 Greek Small Letter Epsilon
  566.         {0x00,0x18,0x55,0x52,0x22},                //   ( 30)    - 0x03B6 Greek Small Letter Zeta
  567.         {0x3E,0x04,0x02,0x02,0x7C},                //   ( 31)  n - 0x03B7 Greek Small Letter Eta
  568.         {0x3C,0x4A,0x4A,0x4A,0x3C},                //   ( 32)    - 0x03B8 Greek Small Letter Theta
  569.         {0x00,0x3C,0x40,0x20,0x00},                //   ( 33)  i - 0x03B9 Greek Small Letter Iota
  570.         {0x7C,0x10,0x28,0x44,0x40},                //   ( 34)  k - 0x03BA Greek Small Letter Kappa
  571.         {0x41,0x32,0x0C,0x30,0x40},                //   ( 35)    - 0x03BB Greek Small Letter Lamda
  572.         {0x7E,0x20,0x20,0x10,0x3E},                //   ( 36)  u - 0x03BC Greek Small Letter Mu
  573.         {0x1C,0x20,0x40,0x20,0x1C},                //   ( 37)  v - 0x03BD Greek Small Letter Nu
  574.         {0x14,0x2B,0x2A,0x2A,0x60},                //   ( 38)    - 0x03BE Greek Small Letter Xi
  575.         {0x38,0x44,0x44,0x44,0x38},                //   ( 39)  o - 0x03BF Greek Small Letter Omicron
  576.         {0x44,0x3C,0x04,0x7C,0x44},                //   ( 40)    - 0x03C0 Greek Small Letter Pi
  577.         {0x70,0x28,0x24,0x24,0x18},                //   ( 41)  p - 0x03C1 Greek Small Letter Rho
  578.         {0x0C,0x12,0x12,0x52,0x60},                //   ( 42)    - 0x03C2 Greek Small Letter Final Sigma
  579.         {0x38,0x44,0x4C,0x54,0x24},                //   ( 43)    - 0x03C3 Greek Small Letter Sigma
  580.         {0x04,0x3C,0x44,0x20,0x00},                //   ( 44)  t - 0x03C4 Greek Small Letter Tau
  581.         {0x3C,0x40,0x40,0x20,0x1C},                //   ( 45)  v - 0x03C5 Greek Small Letter Upsilon
  582.         {0x18,0x24,0x7E,0x24,0x18},                //   ( 46)    - 0x03C6 Greek Small Letter Phi
  583.         {0x44,0x28,0x10,0x28,0x44},                //   ( 47)  x - 0x03C7 Greek Small Letter Chi
  584.         {0x0C,0x10,0x7E,0x10,0x0C},                //   ( 48)    - 0x03C8 Greek Small Letter Psi
  585.         {0x38,0x44,0x30,0x44,0x38},                //   ( 49)  w - 0x03C9 Greek Small Letter Omega
  586.         {0x0A,0x0A,0x4A,0x2A,0x1E},                //   ( 50)    - 0xFF66 Katakana Letter Wo
  587.         {0x04,0x44,0x34,0x14,0x0C},                //   ( 51)    - 0xFF67 Katakana Letter Small A
  588.         {0x20,0x10,0x78,0x04,0x00},                //   ( 52)    - 0xFF68 Katakana Letter Small I
  589.         {0x18,0x08,0x4C,0x48,0x38},                //   ( 53)    - 0xFF69 Katakana Letter Small U
  590.         {0x48,0x48,0x78,0x48,0x48},                //   ( 54)    - 0xFF6A Katakana Letter Small E
  591.         {0x48,0x28,0x18,0x7C,0x08},                //   ( 55)    - 0xFF6B Katakana Letter Small O
  592.         {0x08,0x7C,0x08,0x28,0x18},                //   ( 56)    - 0xFF6C Katakana Letter Small Ya
  593.         {0x40,0x48,0x48,0x78,0x40},                //   ( 57)    - 0xFF6D Katakana Letter Small Yu
  594.         {0x54,0x54,0x54,0x7C,0x00},                //   ( 58)    - 0xFF6E Katakana Letter Small Yo
  595.         {0x18,0x00,0x58,0x40,0x38},                //   ( 59)    - 0xFF6F Katakana Letter Small Tu
  596.         {0x08,0x08,0x08,0x08,0x08},                //   ( 60)    - 0xFF70 Katakana-Hiragana Prolonged Sound Mark
  597.         {0x01,0x41,0x3D,0x09,0x07},                //   ( 61)    - 0xFF71 Katakana Letter A
  598.         {0x10,0x08,0x7C,0x02,0x01},                //   ( 62)    - 0xFF72 Katakana Letter I
  599.         {0x0E,0x02,0x43,0x22,0x1E},                //   ( 63)    - 0xFF73 Katakana Letter U
  600.         {0x42,0x42,0x7E,0x42,0x42},                //   ( 64)    - 0xFF74 Katakana Letter E
  601.         {0x22,0x12,0x0A,0x7F,0x02},                //   ( 65)    - 0xFF75 Katakana Letter O
  602.         {0x42,0x3F,0x02,0x42,0x3E},                //   ( 66)    - 0xFF76 Katakana Letter Ka
  603.         {0x0A,0x0A,0x7F,0x0A,0x0A},                //   ( 67)    - 0xFF77 Katakana Letter Ki
  604.         {0x08,0x46,0x42,0x22,0x1E},                //   ( 68)    - 0xFF78 Katakana Letter Ku
  605.         {0x04,0x03,0x42,0x3E,0x02},                //   ( 69)    - 0xFF79 Katakana Letter Ke
  606.         {0x42,0x42,0x42,0x42,0x7E},                //   ( 70)    - 0xFF7A Katakana Letter Ko
  607.         {0x02,0x4F,0x22,0x1F,0x02},                //   ( 71)    - 0xFF7B Katakana Letter Sa
  608.         {0x4A,0x4A,0x40,0x20,0x1C},                //   ( 72)    - 0xFF7C Katakana Letter Shi
  609.         {0x42,0x22,0x12,0x2A,0x46},                //   ( 73)    - 0xFF7D Katakana Letter Su
  610.         {0x02,0x3F,0x42,0x4A,0x46},                //   ( 74)    - 0xFF7E Katakana Letter Se
  611.         {0x06,0x48,0x40,0x20,0x1E},                //   ( 75)    - 0xFF7F Katakana Letter So
  612.         {0x08,0x46,0x4A,0x32,0x1E},                //   ( 76)    - 0xFF80 Katakana Letter Ta
  613.         {0x0A,0x4A,0x3E,0x09,0x08},                //   ( 77)    - 0xFF81 Katakana Letter Chi
  614.         {0x0E,0x00,0x4E,0x20,0x1E},                //   ( 78)    - 0xFF82 Katakana Letter Tsu
  615.         {0x04,0x45,0x3D,0x05,0x04},                //   ( 79)    - 0xFF83 Katakana Letter Te
  616.         {0x00,0x7F,0x08,0x10,0x00},                //   ( 80)    - 0xFF84 Katakana Letter To
  617.         {0x44,0x24,0x1F,0x04,0x04},                //   ( 81)    - 0xFF85 Katakana Letter Na
  618.         {0x40,0x42,0x42,0x42,0x40},                //   ( 82)    - 0xFF86 Katakana Letter Ni
  619.         {0x42,0x2A,0x12,0x2A,0x06},                //   ( 83)    - 0xFF87 Katakana Letter Nu
  620.         {0x22,0x12,0x7B,0x16,0x22},                //   ( 84)    - 0xFF88 Katakana Letter Ne
  621.         {0x00,0x40,0x20,0x1F,0x00},                //   ( 85)    - 0xFF89 Katakana Letter No
  622.         {0x78,0x00,0x02,0x04,0x78},                //   ( 86)    - 0xFF8A Katakana Letter Ha
  623.         {0x3F,0x44,0x44,0x44,0x44},                //   ( 87)    - 0xFF8B Katakana Letter Hi
  624.         {0x02,0x42,0x42,0x22,0x1E},                //   ( 88)    - 0xFF8C Katakana Letter Fu
  625.         {0x04,0x02,0x04,0x08,0x30},                //   ( 89)    - 0xFF8D Katakana Letter He
  626.         {0x32,0x02,0x7F,0x02,0x32},                //   ( 90)    - 0xFF8E Katakana Letter Ho
  627.         {0x02,0x12,0x22,0x52,0x0E},                //   ( 91)    - 0xFF8F Katakana Letter Ma
  628.         {0x00,0x2A,0x2A,0x2A,0x40},                //   ( 92)    - 0xFF90 Katakana Letter Mi
  629.         {0x38,0x24,0x22,0x20,0x70},                //   ( 93)    - 0xFF91 Katakana Letter Mu
  630.         {0x40,0x28,0x10,0x28,0x06},                //   ( 94)    - 0xFF92 Katakana Letter Me
  631.         {0x0A,0x3E,0x4A,0x4A,0x4A},                //   ( 95)    - 0xFF93 Katakana Letter Mo
  632.         {0x04,0x7F,0x04,0x14,0x0C},                //   ( 96)    - 0xFF94 Katakana Letter Ya
  633.         {0x40,0x42,0x42,0x7E,0x40},                //   ( 97)    - 0xFF95 Katakana Letter Yu
  634.         {0x4A,0x4A,0x4A,0x4A,0x7E},                //   ( 98)    - 0xFF96 Katakana Letter Yo
  635.         {0x04,0x05,0x45,0x25,0x1C},                //   ( 99)    - 0xFF97 Katakana Letter Ra
  636.         {0x0F,0x40,0x20,0x1F,0x00},                //   (100)    - 0xFF98 Katakana Letter Ri
  637.         {0x7C,0x00,0x7E,0x40,0x30},                //   (101)    - 0xFF99 Katakana Letter Ru
  638.         {0x7E,0x40,0x20,0x10,0x08},                //   (102)    - 0xFF9A Katakana Letter Re
  639.         {0x7E,0x42,0x42,0x42,0x7E},                //   (103)    - 0xFF9B Katakana Letter Ro
  640.         {0x0E,0x02,0x42,0x22,0x1E},                //   (104)    - 0xFF9C Katakana Letter Wa
  641.         {0x42,0x42,0x40,0x20,0x18},                //   (105)    - 0xFF9D Katakana Letter N
  642.         {0x02,0x04,0x01,0x02,0x00},                //   (106)    - 0xFF9E Katakana Voiced Sound Mark
  643.         {0x07,0x05,0x07,0x00,0x00},                //   (107)    - 0xFF9F Katakana Semi-Voiced Sound Mark
  644. };


  645. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  646. //  Show Regular Pattern (Full Screen)
  647. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  648. void Fill_RAM(unsigned char Data)
  649. {
  650. unsigned char i,j;

  651.         for(i=0;i<8;i++)
  652.         {
  653.                 Set_Start_Page(i);
  654.                 Set_Start_Column(0x00);

  655.                 for(j=0;j<128;j++)
  656.                 {
  657.                         Write_Data(Data);
  658.                 }
  659.         }
  660. }


  661. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  662. //  Show Regular Pattern (Partial or Full Screen)
  663. //
  664. //    a: Start Page
  665. //    b: End Page
  666. //    c: Start Column
  667. //    d: Total Columns
  668. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  669. void Fill_Block(unsigned char Data, unsigned char a, unsigned char b, unsigned char c, unsigned char d)
  670. {
  671. unsigned char i,j;
  672.        
  673.         for(i=a;i<(b+1);i++)
  674.         {
  675.                 Set_Start_Page(i);
  676.                 Set_Start_Column(c);

  677.                 for(j=0;j<d;j++)
  678.                 {
  679.                         Write_Data(Data);
  680.                 }
  681.         }
  682. }


  683. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  684. //  Show Checkboard (Full Screen)
  685. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  686. void Checkerboard()
  687. {
  688. unsigned char i,j;
  689.        
  690.         for(i=0;i<8;i++)
  691.         {
  692.                 Set_Start_Page(i);
  693.                 Set_Start_Column(0x00);

  694.                 for(j=0;j<64;j++)
  695.                 {
  696.                         Write_Data(0x55);
  697.                         Write_Data(0xaa);
  698.                 }
  699.         }
  700. }


  701. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  702. //  Show Frame (Full Screen)
  703. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  704. void Frame()
  705. {
  706. unsigned char i,j;
  707.        
  708.         Set_Start_Page(0x00);
  709.         Set_Start_Column(XLevel);

  710.         for(i=0;i<Max_Column;i++)
  711.         {
  712.                 Write_Data(0x01);
  713.         }

  714.         Set_Start_Page(0x07);
  715.         Set_Start_Column(XLevel);

  716.         for(i=0;i<Max_Column;i++)
  717.         {
  718.                 Write_Data(0x80);
  719.         }

  720.         for(i=0;i<8;i++)
  721.         {
  722.                 Set_Start_Page(i);

  723.                 for(j=0;j<Max_Column;j+=(Max_Column-1))
  724.                 {
  725.                         Set_Start_Column(XLevel+j);

  726.                         Write_Data(0xFF);
  727.                 }
  728.         }
  729. }


  730. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  731. //  Show Character (5x7)
  732. //
  733. //    a: Database
  734. //    b: Ascii
  735. //    c: Start Page
  736. //    d: Start Column
  737. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  738. void Show_Font57(unsigned char a, unsigned char b, unsigned char c, unsigned char d)
  739. {
  740. unsigned char *Src_Pointer;
  741. unsigned char i;

  742.         switch(a)
  743.         {
  744.                 case 1:
  745.                         Src_Pointer=&Ascii_1[(b-1)][0];
  746.                         break;
  747.                 case 2:
  748.                         Src_Pointer=&Ascii_2[(b-1)][0];
  749.                         break;
  750.         }
  751.         Set_Start_Page(c);
  752.         Set_Start_Column(d);

  753.         for(i=0;i<5;i++)
  754.         {
  755.                 Write_Data(*Src_Pointer);
  756.                 Src_Pointer++;
  757.         }
  758.         Write_Data(0x00);
  759. }


  760. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  761. //  Show String
  762. //
  763. //    a: Database
  764. //    b: Start Page
  765. //    c: Start Column
  766. //    * Must write "0" in the end...
  767. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  768. void Show_String(unsigned char a, unsigned char *Data_Pointer, unsigned char b, unsigned char c)
  769. {
  770. unsigned char *Src_Pointer;

  771.         Src_Pointer=Data_Pointer;
  772.         Show_Font57(1,96,b,c);                        // No-Break Space
  773.                                                 //   Must be written first before the string start...

  774.         while(1)
  775.         {
  776.                 Show_Font57(a,*Src_Pointer,b,c);
  777.                 Src_Pointer++;
  778.                 c+=6;
  779.                 if(*Src_Pointer == 0) break;
  780.         }
  781. }


  782. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  783. //  Show Pattern (Partial or Full Screen)
  784. //
  785. //    a: Start Page
  786. //    b: End Page
  787. //    c: Start Column
  788. //    d: Total Columns
  789. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  790. void Show_Pattern(unsigned char *Data_Pointer, unsigned char a, unsigned char b, unsigned char c, unsigned char d)
  791. {
  792. unsigned char *Src_Pointer;
  793. unsigned char i,j;

  794.         Src_Pointer=Data_Pointer;
  795.         for(i=a;i<(b+1);i++)
  796.         {
  797.                 Set_Start_Page(i);
  798.                 Set_Start_Column(c);

  799.                 for(j=0;j<d;j++)
  800.                 {
  801.                         Write_Data(*Src_Pointer);
  802.                         Src_Pointer++;
  803.                 }
  804.         }
  805. }


  806. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  807. //  Vertical / Fade Scrolling (Full Screen)
  808. //
  809. //    a: Scrolling Direction
  810. //       "0x00" (Upward)
  811. //       "0x01" (Downward)
  812. //    b: Set Numbers of Row Scroll per Step
  813. //    c: Set Time Interval between Each Scroll Step
  814. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  815. void Vertical_Scroll(unsigned char a, unsigned char b, unsigned char c)
  816. {
  817. unsigned int i,j;

  818.         switch(a)
  819.         {
  820.                 case 0:
  821.                         for(i=0;i<Max_Row;i+=b)
  822.                         {
  823.                                 Set_Start_Line(i);
  824.                                 for(j=0;j<c;j++)
  825.                                 {
  826.                                         uDelay(200);
  827.                                 }
  828.                         }
  829.                         break;
  830.                 case 1:
  831.                         for(i=0;i<Max_Row;i+=b)
  832.                         {
  833.                                 Set_Start_Line(Max_Row-i);
  834.                                 for(j=0;j<c;j++)
  835.                                 {
  836.                                         uDelay(200);
  837.                                 }
  838.                         }
  839.                         break;
  840.         }
  841.         Set_Start_Line(0x00);
  842. }


  843. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  844. //  Fade In (Full Screen)
  845. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  846. void Fade_In()
  847. {
  848. unsigned int i;       

  849.         Set_Display_On_Off(0xAF);
  850.         for(i=0;i<(Brightness+1);i++)
  851.         {
  852.                 Set_Contrast_Control(i);
  853.                 uDelay(200);
  854.                 uDelay(200);
  855.                 uDelay(200);
  856.         }
  857. }


  858. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  859. //  Fade Out (Full Screen)
  860. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  861. void Fade_Out()
  862. {
  863. unsigned int i;       

  864.         for(i=(Brightness+1);i>0;i--)
  865.         {
  866.                 Set_Contrast_Control(i-1);
  867.                 uDelay(200);
  868.                 uDelay(200);
  869.                 uDelay(200);
  870.         }
  871.         Set_Display_On_Off(0xAE);
  872. }


  873. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  874. //  Sleep Mode
  875. //
  876. //    "0x00" Enter Sleep Mode
  877. //    "0x01" Exit Sleep Mode
  878. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  879. void Sleep(unsigned char a)
  880. {
  881.         switch(a)
  882.         {
  883.                 case 0:
  884.                         Set_Display_On_Off(0xAE);
  885.                         Set_Entire_Display(0xA5);
  886.                         break;
  887.                 case 1:
  888.                         Set_Entire_Display(0xA4);
  889.                         Set_Display_On_Off(0xAF);
  890.                         break;
  891.         }
  892. }


  893. //-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
  894. //  Connection Test
  895. ……………………

  896. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
2.4寸128X64单色(接插式).zip (4.12 MB, 下载次数: 193)
回复

使用道具 举报

ID:264377 发表于 2019-5-8 17:28 | 显示全部楼层

谢谢,学习一下
回复

使用道具 举报

ID:555491 发表于 2019-6-5 11:39 | 显示全部楼层
谢谢,学习一下
回复

使用道具 举报

ID:210746 发表于 2019-8-9 17:00 | 显示全部楼层

谢谢,学习一下
回复

使用道具 举报

ID:599291 发表于 2019-8-13 10:40 | 显示全部楼层
谢谢分享,学习一下
回复

使用道具 举报

ID:74437 发表于 2019-10-5 09:08 | 显示全部楼层
谢谢分享。
回复

使用道具 举报

ID:679336 发表于 2020-1-2 09:04 | 显示全部楼层
感谢分享,学习一下
回复

使用道具 举报

ID:12397 发表于 2020-1-9 17:33 | 显示全部楼层
感谢楼主分享!正好需要,谢谢!
回复

使用道具 举报

ID:152868 发表于 2020-5-25 15:05 | 显示全部楼层
不错不错 学习一下 正好用到
回复

使用道具 举报

ID:463278 发表于 2020-6-23 09:13 | 显示全部楼层
不错的资料!
回复

使用道具 举报

ID:801527 发表于 2020-12-14 22:31 | 显示全部楼层
左右滚动,怎么做?
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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