-- Título: GLCD fuente 5x7 -- Autor: David Persi Copyright (c) 2012..2012, Todos los derecho reservados. -- WEB: www.meteorologiafacil.com.ar -- -- Versión: 1.0 -- -- -- Descripción: Esta librería solo trae la fuente de caracteres -- de un tamaño de 5 x 7 (pixeles). Funciona solo -- con la librería glcd_ks0108_opt.jal -- -- INSTRUCCIONES DE USO: -- --------------------- -- 1. Incluir la librería glcd_ks0108_opt antes de la presente librería. -- De lo contrario, dará error. -- -- 2. Ejecutar el procedimiento glcd_caracteres(x,y,ch) tantas -- como sea necesario. -- -- INTRUCCIONES PARA EL USO DE PROCEDIMIENTO: -- ------------------------------------------------------- -- -- glcd_caracteres(x,y,ch) Escribe un caracter del código ASCII en las coordenadas -- elegidas en x,y -- Ejemplos: -- a) glcd_caracteres(0,0,77) -- M -- b) glcd_caracteres(0,0,"M") -- -- IMPORTANTE: -- ----------- -- -- Cada caracter, se escribe dentro de una página. La página elegida, corresponde -- a la coordenada ingresada en y. Un caracter jamás ocupará dos páginas simultáneas -- Esto quiere decir que solo se dispone de 8 renglones para escribir en un GLCD -- de 64 pixeles de alto. -- -- **************************************************************************** -- ---------------------------------------------------------------------------- -- _fuente_5x7_tabla[] - Tabla caracter. -- ---------------------------------------------------------------------------- -- 91 * 5 bytes = 455 -- ---------------------------------------------------------------------------- const byte _font_5x7_table[] = { 0x00, 0x00, 0x00, 0x00, 0x00, -- space, 32 0x00, 0x00, 0x2f, 0x00, 0x00, -- !, 33 0x00, 0x07, 0x00, 0x07, 0x00, -- 34 0x14, 0x7f, 0x14, 0x7f, 0x14, -- #, 35 0x24, 0x2a, 0x7f, 0x2a, 0x12, -- $, 36 0xc4, 0xc8, 0x10, 0x26, 0x46, -- %, 37 0x36, 0x49, 0x55, 0x22, 0x50, -- &, 38 0x00, 0x05, 0x03, 0x00, 0x00, -- , 39 0x00, 0x1c, 0x22, 0x41, 0x00, -- (, 40 0x00, 0x41, 0x22, 0x1c, 0x00, -- ), 41 0x14, 0x08, 0x3E, 0x08, 0x14, -- *, 42 0x08, 0x08, 0x3E, 0x08, 0x08, -- +, 43 0x00, 0x00, 0x50, 0x30, 0x00, -- ,, 44 0x10, 0x10, 0x10, 0x10, 0x10, -- -, 45 0x00, 0x60, 0x60, 0x00, 0x00, -- ., 46 0x20, 0x10, 0x08, 0x04, 0x02, -- /, 47 0x3E, 0x51, 0x49, 0x45, 0x3E, -- 0, 48 0x00, 0x42, 0x7F, 0x40, 0x00, -- 1, 49 0x42, 0x61, 0x51, 0x49, 0x46, -- 2, 50 0x21, 0x41, 0x45, 0x4B, 0x31, -- 3, 51 0x18, 0x14, 0x12, 0x7F, 0x10, -- 4, 52 0x27, 0x45, 0x45, 0x45, 0x39, -- 5, 53 0x3C, 0x4A, 0x49, 0x49, 0x30, -- 6, 54 0x01, 0x71, 0x09, 0x05, 0x03, -- 7, 55 0x36, 0x49, 0x49, 0x49, 0x36, -- 8, 56 0x06, 0x49, 0x49, 0x29, 0x1E, -- 9, 57 0x00, 0x36, 0x36, 0x00, 0x00, -- :, 58 0x00, 0x56, 0x36, 0x00, 0x00, -- ;, 59 0x08, 0x14, 0x22, 0x41, 0x00, -- <, 60 0x14, 0x14, 0x14, 0x14, 0x14, -- =, 61 0x00, 0x41, 0x22, 0x14, 0x08, -- >, 62 0x02, 0x01, 0x51, 0x09, 0x06, -- ?, 63 0x32, 0x49, 0x59, 0x51, 0x3E, -- @, 64 0x7E, 0x11, 0x11, 0x11, 0x7E, -- A, 65 0x7F, 0x49, 0x49, 0x49, 0x36, -- B, 66 0x3E, 0x41, 0x41, 0x41, 0x22, -- C, 67 0x7F, 0x41, 0x41, 0x22, 0x1C, -- D, 68 0x7F, 0x49, 0x49, 0x49, 0x41, -- E, 69 0x7F, 0x09, 0x09, 0x09, 0x01, -- F, 70 0x3E, 0x41, 0x49, 0x49, 0x7A, -- G, 71 0x7F, 0x08, 0x08, 0x08, 0x7F, -- H, 72 0x00, 0x41, 0x7F, 0x41, 0x00, -- I, 73 0x20, 0x40, 0x41, 0x3F, 0x01, -- J, 74 0x7F, 0x08, 0x14, 0x22, 0x41, -- K, 75 0x7F, 0x40, 0x40, 0x40, 0x40, -- L, 76 0x7F, 0x02, 0x0C, 0x02, 0x7F, -- M, 77 0x7F, 0x04, 0x08, 0x10, 0x7F, -- N, 78 0x3E, 0x41, 0x41, 0x41, 0x3E, -- O, 79 0x7F, 0x09, 0x09, 0x09, 0x06, -- P, 80 0x3E, 0x41, 0x51, 0x21, 0x5E, -- Q, 81 0x7F, 0x09, 0x19, 0x29, 0x46, -- R, 82 0x46, 0x49, 0x49, 0x49, 0x31, -- S, 83 0x01, 0x01, 0x7F, 0x01, 0x01, -- T, 84 0x3F, 0x40, 0x40, 0x40, 0x3F, -- U, 85 0x1F, 0x20, 0x40, 0x20, 0x1F, -- V, 86 0x3F, 0x40, 0x38, 0x40, 0x3F, -- W, 87 0x63, 0x14, 0x08, 0x14, 0x63, -- X, 88 0x07, 0x08, 0x70, 0x08, 0x07, -- Y, 89 0x61, 0x51, 0x49, 0x45, 0x43, -- Z, 90 0x00, 0x7F, 0x41, 0x41, 0x00, -- [, 91 0x55, 0x2A, 0x55, 0x2A, 0x55, -- 5, 92 0x00, 0x41, 0x41, 0x7F, 0x00, -- ], 93 0x04, 0x02, 0x01, 0x02, 0x04, -- ^, 94 0x40, 0x40, 0x40, 0x40, 0x40, -- _, 95 0x00, 0x01, 0x02, 0x04, 0x00, -- ', 96 0x20, 0x54, 0x54, 0x54, 0x78, -- a, 97 0x7F, 0x48, 0x44, 0x44, 0x38, -- b, 98 0x38, 0x44, 0x44, 0x44, 0x20, -- c, 99 0x38, 0x44, 0x44, 0x48, 0x7F, -- d, 100 0x38, 0x54, 0x54, 0x54, 0x18, -- e, 101 0x08, 0x7E, 0x09, 0x01, 0x02, -- f, 102 0x0C, 0x52, 0x52, 0x52, 0x3E, -- g, 103 0x7F, 0x08, 0x04, 0x04, 0x78, -- h, 104 0x00, 0x44, 0x7D, 0x40, 0x00, -- i, 105 0x20, 0x40, 0x44, 0x3D, 0x00, -- j, 106 0x7F, 0x10, 0x28, 0x44, 0x00, -- k, 107 0x00, 0x41, 0x7F, 0x40, 0x00, -- l, 108 0x7C, 0x04, 0x18, 0x04, 0x78, -- m, 109 0x7C, 0x08, 0x04, 0x04, 0x78, -- n, 110 0x38, 0x44, 0x44, 0x44, 0x38, -- o, 111 0x7C, 0x14, 0x14, 0x14, 0x08, -- p, 112 0x08, 0x14, 0x14, 0x18, 0x7C, -- q, 113 0x7C, 0x08, 0x04, 0x04, 0x08, -- r, 114 0x48, 0x54, 0x54, 0x54, 0x20, -- s, 115 0x04, 0x3F, 0x44, 0x40, 0x20, -- t, 116 0x3C, 0x40, 0x40, 0x20, 0x7C, -- u, 117 0x1C, 0x20, 0x40, 0x20, 0x1C, -- v, 118 0x3C, 0x40, 0x30, 0x40, 0x3C, -- w, 119 0x44, 0x28, 0x10, 0x28, 0x44, -- x, 120 0x0C, 0x50, 0x50, 0x50, 0x3C, -- y, 121 0x44, 0x64, 0x54, 0x4C, 0x44 -- z, 122 } procedure glcd_caracteres(byte in x, byte in y, byte in ch ) is pragma inline var word indx = 0 var byte cx if (ch < 32) then return end if if (ch > 122) then return end if indx = indx + 5 * word(ch - 32) for 5 loop cx = _fuente_5x7_tabla[indx] escribir_byte(x,y,cx) indx = indx + 1 x = x + 1 end loop end procedure