Gracias Olinqi, veamos que resulta de todo esto, por mi parte estoy más que dispuesto a apoyar en lo que se pueda... al parecer tengo que entrarle a todo eso del CCS Saludos
Follow along with the video below to see how to install our site as a web app on your home screen.
Nota: This feature currently requires accessing the site using the built-in Safari browser.
Si amigo si programas en ASM el CCS se te facilitara, no analice tu código antes por eso puse esa tabla pero creo que la que necesitamos es hacer a mano pixel por pixel las letras jajaja perdon por la equivocacion ya me pongo a hacerla y la posteo
P,D. estaría mal si voy subiendo el código en CCS aquí o en otro?
luego te paso la rutina del touch ya logre leer coordenadas con el adc del pic es mucho mas facil que sacar graficos... Y el electroluminicente ya tengo un circuito ya logre trabajar con ambos luego paso el código y el esquema del electroluminicentemuy bien, tengo curiosidad por la rutina del touch... Pero vamos primero está la tésis
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#include "usb_bootloader.h"
//Referencia de asicnacion de Pines
// RS =RC0
// R/W =RE0
// E =RE1
// CS =RC2
// Res =RE2
//****************************************************************************
byte CONST Inicio[19] = {0x00 // INST: MODE CONTROL
0x38 // Set: Dsp on,Master,cursor ON char BLink,Mode CHAR,Built-in ROM CHAR
0x01 // INST: CHARACTER PITCH (-1)
0x77 // Set: 8 bits vertical CHAR, 8 bits horizontal x CHR => 20 chr x 10 rngl
0x02 // INST: NUM CHAR (-1)
0x13 // Set: 20 char horizontalmente
0x03 // INST: DISPLAY DUTY (-1)
0x4F // Set: 80 (valor de puntos verticalmente)
0x04 // INST: CURSOR POsITION (-1)
0x07 // Set: en el bit 8 (vertical)
0x08 // INST: DSP START ADD LOWER
0x00 // Set: posicion 0
0x09 // INST: DSP START ADD UPPER
0x00 // Set: posicion 0
0x0A // INST: RAM ADD LOWER
0x00 // Set: posicion 0
0x0B // INST: RAM ADD UPPER
0x00 // Set: posicion 0
0x0C // INST: WRITE DATA TO RAM
};
byte int8 Puntero[19] = {0x00,0x38,0x01,0x77,0x02,0x13,0x03,0x4F,0x04,0x07
0x08,0x00,0x09,0x00,0x0A,0x53,0x0B,0x00,0x0C};
// /\
// Modifica posicion del puntero.
byte CONST Texto[14] = {0x50,0x52,0x55,0x45,0x42,0x41,0x00,0x00,0x4D,0x45,0x52,0x4C,0x49,0x4E};
byte CONST Borrar[200] = {0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
void main(void)
{
output_low(pin_E0); // R/W apagar “RE0 a 0
output_low(pin_C2); // CS apagar “RC2 a 0
output_high(pin_C0); // RS encendido “RC0 a 1
byte Var1=0;
//////////////////Tabla de inicialización////////////////////////////////////
for (Var1=0;Var1<19;Var1++)
{
output_high(pin_E1); // E encender “RE1 a 1
OUTPUT_D(Inicio[Var1]); // Digito unidades envio al puerto B
output_toggle(PIN_E1); // E Cambia el estado y apagalo “RE1 a 0
delay_ms(1); // Retardo Para evitar Datos
output_toggle(PIN_C0); // RS cambia el estado del pin RC0 y lo apago
output_toggle(PIN_E1); // E Cambia el estado y enciendelo “RE1 a 1
}
output_low(pin_C0); // Apaga RS “RC0 a 0
//////////////////Tabla de Borrado////////////////////////////////////
for (Var1=0;Var1<200;Var1++)
{
output_high(pin_E1); // E encender “RE1 a 1
OUTPUT_D(Borrar[Var1]); // Digito unidades envio al puerto B
output_toggle(PIN_E1); // E Cambia el estado y apagalo “RE1 a 0
delay_ms(1); // Retardo Para evitar Datos
// output_toggle(PIN_C0); // RS cambia el estado del pin RC0 y lo apago
output_toggle(PIN_E1); // E Cambia el estado y enciendelo “RE1 a 1
}
output_low(pin_E1); // apagar E “RE0 a 0
//////////////////Tabla de Puntero////////////////////////////////////
output_high(pin_C0); // RS encendido “RC0 a 1
for (Var1=0;Var1<19;Var1++)
{
output_high(pin_E1); // E encender “RE1 a 1
OUTPUT_D(Puntero[Var1]); // Digito unidades envio al puerto B
output_toggle(PIN_E1); // E Cambia el estado y apagalo “RE1 a 0
delay_ms(1); // Retardo Para evitar Datos
output_toggle(PIN_C0); // RS cambia el estado del pin RC0 y lo apago
output_toggle(PIN_E1); // E Cambia el estado y enciendelo “RE1 a 1
}
output_low(pin_C0); // Apaga RS “RC0 a 0
//////////////////Tabla de Texto////////////////////////////////////
for (Var1=0;Var1<14;Var1++)
{
output_high(pin_E1); // E encender “RE1 a 1
OUTPUT_D(Texto[Var1]); // Digito unidades envio al puerto B
output_toggle(PIN_E1); // E Cambia el estado y apagalo “RE1 a 0
delay_ms(1); // Retardo Para evitar Datos
output_toggle(PIN_E1); // E Cambia el estado y enciendelo “RE1 a 1
}
}
#include <18F4550.h>
#fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL5,CPUDIV1,VREGEN
#use delay(clock=48000000)
#include "usb_bootloader.h"
//Referencia de asicnacion de Pines
// RS =RC0
// R/W =RE0
// E =RE1
// CS =RC2
// Res =RE2
//****************************************************************************
byte CONST Inicio[19] = {0x00 // INST: MODE CONTROL
0x32 // Set: Dsp on,Master,cursor ON char BLink,Mode CHAR,Built-in ROM CHAR
0x01 // INST: CHARACTER PITCH (-1)
0x77 // Set: 8 bits vertical CHAR, 8 bits horizontal x CHR => 20 chr x 10 rngl
0x02 // INST: NUM CHAR (-1)
0x13 // Set: 20 char horizontalmente
0x03 // INST: DISPLAY DUTY (-1)
0x4F // Set: 80 (valor de puntos verticalmente)
0x04 // INST: CURSOR POsITION (-1)
0x07 // Set: en el bit 8 (vertical)
0x08 // INST: DSP START ADD LOWER
0x00 // Set: posicion 0
0x09 // INST: DSP START ADD UPPER
0x00 // Set: posicion 0
0x0A // INST: RAM ADD LOWER
0x00 // Set: posicion 0
0x0B // INST: RAM ADD UPPER
0x00 // Set: posicion 0
0x0C // INST: WRITE DATA TO RAM
};
byte CONST Grafico[1600] = {
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xBF,0xCF,0xE7,0xE7
0xF0,0xFC,0xFC,0x3F,0x1F,0x8F,0xCF,0x7F
0xBE,0xFF,0x3D,0xFE,0x7B,0xF9,0xF7,0xBD
0x9F,0xB7,0xDB,0xE3,0xFE,0xFB,0x7D,0xFE
0xEF,0x77,0xB7,0x3F,0x9E,0x7E,0xDC,0xFD
0xB9,0xF8,0xF3,0xDB,0xAF,0xBF,0xDF,0xF1
0xF8,0x7F,0xBE,0xFE,0xEF,0x77,0xB3,0x5F
0xAE,0xBE,0xFD,0x7D,0xFA,0xFC,0x75,0xE7
0xBF,0xDF,0xE7,0xF4,0xF6,0x78,0x3F,0x7F
0x1F,0x0F,0xBB,0x7F,0xBE,0xFF,0x7D,0xFE
0x7B,0xFD,0x37,0xF7,0xDC,0x6E,0x1F,0x10
0x87,0xC3,0xA3,0x70,0xE8,0x3C,0x3B,0xB8
0xDF,0x71,0xBE,0xE1,0xFD,0xC4,0x3B,0xEB
0xDF,0xF7,0xDD,0xFB,0xF7,0x7B,0xBF,0xBE
0xEF,0xB7,0xDB,0xBF,0xDF,0x7F,0xDE,0xFD
0xDD,0xFE,0xFB,0xCD,0xDF,0xC3,0xE3,0xFB
0xF8,0xFC,0x7F,0xBF,0x1F,0xCF,0xE7,0xBF
0xDF,0x7F,0x0E,0xFE,0x3D,0xFE,0xFB,0xDE
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF
0xFF,0xFF,0xFF,0xFF,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00
0x00,0x00,0x00,0x00,0x00,0x00,0x00 0x00
};
void main(void)
{
output_low(pin_E0); // R/W apagar “RE0 a 0
output_low(pin_C2); // CS apagar “RC2 a 0
output_high(pin_C0); // RS encendido “RC0 a 1
byte Var1=0;
//////////////////Tabla de inicialización////////////////////////////////////
for (Var1=0;Var1<19;Var1++)
{
output_high(pin_E1); // E encender “RE1 a 1
OUTPUT_D(Inicio[Var1]); // Digito unidades envio al puerto B
output_toggle(PIN_E1); // E Cambia el estado y apagalo “RE1 a 0
delay_ms(1); // Retardo Para evitar Datos
output_toggle(PIN_C0); // RS cambia el estado del pin RC0 y lo apago
output_toggle(PIN_E1); // E Cambia el estado y enciendelo “RE1 a 1
}
output_low(pin_C0); // Apaga RS “RC0 a 0
output_low(pin_E1); // Apaga E “RE0 a 0
//////////////////Tabla de Grafico////////////////////////////////////
for (Var1=0;Var1<1600;Var1++)
{
output_high(pin_E1); // E encender “RE1 a 1
OUTPUT_D(Grafico[Var1]); // Digito unidades envio al puerto B
output_toggle(PIN_E1); // E Cambia el estado y apagalo “RE1 a 0
delay_ms(1); // Retardo Para evitar Datos
output_toggle(PIN_E1); // E Cambia el estado y enciendelo “RE1 a 1
}
}
Realmente como descanza uno al hacer trabajos en C, la diferencia es enoooormeee, gracias por el aportaso, ahora te cuento que daniel y yo hemos trabjaado en el bcklight y no lo hemos conseguido, el distribuidor no pasó el esquema, aunque dio un CI pero no lo encontramos por ningun lado, aqui esta el esquema original que en realidad es un simple CI SOIC http://www.infinitumpage.mx/GIOSYS/SP4423CN.pdf a mi me habia funcionado un esquema pero no llegue a probatlo en la glcd, en problema fue encontrar la bobina porque esta un poco rara, checa aca: http://www.nerdkits.com/videos/backlight/ si lo puedes hacer nos cuentas, la onda cuadrada la sacas del pic, Si baja la frecuencia tambien baja el brilllo.
Y sere curioso?, como funciona ese bootloader ?????
para el electroluminicente ocupa un 555 y un transformador es bastante facil
Muchas gracias, cada día se ve gente interesada por esta pantalla, pArece que vino un "lote chino" a vender aqui a Mexico y esta muy bien, respecto al alfabeto olinqui, enrealidad son 7 bytes que debemos de tener para cada caracter, porque? Porque debemos de enviar puntos por puntos para que asi se formen caracteres. Esto es datos de 5 x 7 bits, osea 5 bits de ancho por 7 de alto, fomando así 35 bits o lo que es lo mismo 7 bytes en total ya que en realidad no se ocupan tooodos los bits de un byte, lo que yo quiero preguntarle a Daniel es como usa el formato de cada caracter ? Empiezas arriba a la derecha? O en la segunda columna ? Ne explico? Para yo tambien hacerlos, ahora ya casi termino la rutina de la touch en asm, usa 4 canales c/d y una interrupcion externa, en la semana ya lo subo, saludos.
Lo del Boodloader es bien simple solo tienes que cargar el firware que viene en los ejemplos del CCS declararlo en el código y asignar un pin con un push button para entrar en modo bootloader, esto es presionando primero el de modo y luego el master clear, cuando win lo detecta te pide un controlador que esta en la carpeta PICC\Drivers le das esa ruta y te lo instala como un COM virtual en mi caso COM6,
luego de eso en el CCS compiler le das en Tools/Serial port monitor/File y por ultimo Download Software y con esto manda el código al pic, lo bueno de esto es que con la declaración del bootloader CCS ajusta en automático la dirección de memoria de tu código para que no sobrescriba el firware
Alguien sabe si el color azul del electroluminicente es el correcto por q si le aumento la frecuencia me cambia a blanco.
Para leer el touch nada mas ocupe una resistencia pullup a la terminal y- y con el adc tomas el valor de esta coordenada . En mi caso no era necesario ocupar interrupciones solo con prueba de bit fue suficiente
Muy bien visual, podre conectar el bit con el que haces la btfsc y ponerlo simultaneamente en RB0 que es la interrupcion externa