'==================================================================
'======================LCD CON PICAXE 20X2===========================
'==================================================================
 
#picaxe 20x2                  'Chip PICAXE "20X2
setfreq m32                    'Frecuencia de trabajo
let dirsB = %11111111      'PortB configurado out
let dirsC = %00000111      'PortC config i/o
let adcsetup = 0X0000      'ADC off
 
command_wrt_table:
Table  0,("LCD CON  PICAXE 20X2")      ' 0 to 19
Table 40,("  MATRIZ  LCD 20X4  ")       '40 to 59
Table 20,("  POR DAVID MEDINA  ")      '20 to 39
Table 60,(" FOROSDEELECTRONICA ")   '60 to 79
 
gosub command_ini_0x00                   'inicializa al LCD
 
pause 4                                          'espera 4 seg
for b1 = 0 to 39                               'bucle de repeticion 
readtable b1,b0                               'coloca el valor de b1 en b0
gosub command_wrchr_0x01              'escribe el caracter en el LCD
next b1                                          'siguiente caracter
let pinsB = 192                                'ir a la 2da linea del LCD
pulsout C.0,1                                  'enviar comando al LCD
for b1 = 40 to 79                            'bucle de repeticion
readtable b1,b0                              'coloca el valor de b1 en b0
gosub command_wrchr_0x01             'escribe el caracter en el LCD
next b1                                         'siguiente caracter
end                                               'fin del programa
 
'=======================================================
'=====================LCD_GOSUBS========================
'=======================================================
command_ini_0x00: 
let pinsB = 1                                 'lipiar LCD
pause 10                                      'espera 10ms para iniciar LCD.
pulsout C.0,1                                'enviar comando.
let pinsB = 60                                'Set a 8-bit,dos lineas,caracter 5x7.
pulsout C.0,1                                'enviar comando
pause 10                                      'espera 10ms
pulsout C.0,1                                'enviar comando
pulsout C.0,1                                'enviar comando de nuevo
let pinsB = 12                               'LCD On, cursor apagado
pulsout C.0,1                                'enviar comando
pause 10                                     'espera 10ms
return                                         'regresa al programa
command_wrchr_0x01:
high C.2                                       'coloca al LCD en modo escritura
let pinsB = b0                                'portb igual a b0
pulsout C.0,1                                'enviar caracter
low C.2                                        'coloca al LCD en modo comando
return                                          'regresa al programa