Búsqueda personalizada
Regístrate gratis para participar de los foros, o si ya estás registrado haz login.
| comentario del autor | Vie Jul 10, 2009 12:48 pm | |
|
Estoy trabajando con el Pic Simulator Ide, hice un programa en donde uso una VARIABLE al cual le puse de tipo LONG, el cual casi al final de mi programa lo lo mando al LCD (2x16) todo esta listo para compilar al hex, pero me califica un error de declaración de variable en la variable de tipo Long. PERO si no lo enviare al LCD en mi programa si lo compila. En un resumen, mi pregunta: como hago para enviar una variable de tipo LONG al LCD en mi programa. Ejempo: DIM total AS LONG total = total*10 Loop: LCDOUT #total END |
||
| sin valorar | Vie Jul 10, 2009 4:55 pm | |
|
Asi por asi no se puede pone detalladamente el error que te tira y subi el programa que escribiste(completo) ya que una porcion no sirve de nada.- El error no sera este: Saludos.- error_long.JPG (9.55 KB) ![]() |
||
| comentario del autor | Mar Jul 14, 2009 2:20 pm | |
|
Define CONF_WORD = 0x3f72 Define CLOCK_FREQUENCY = 12 AllDigital Define LCD_BITS = 8 Define LCD_DREG = PORTB Define LCD_DBIT = 0 Define LCD_RSREG = PORTE Define LCD_RSBIT = 0 Define LCD_RWREG = PORTE Define LCD_RWBIT = 1 Define LCD_EREG = PORTE Define LCD_EBIT = 2 Define LCD_READ_BUSY_FLAG = 1 Lcdinit 0 Dim button As Byte Dim clave As Long Dim total As Long Dim tecla As Byte Dim error As Byte Dim adi As Byte Dim cla As Byte Dim paso As Byte Symbol alarma = PORTC.0 Symbol buz = PORTC.1 Symbol raw1 = RD4 Symbol raw2 = RD5 Symbol raw3 = RD6 Symbol raw4 = RD7 Symbol col1 = RD0 Symbol col2 = RD1 Symbol col3 = RD2 Symbol col4 = RD3 TRISD = 0xf0 TRISC = 0 TRISA = 0 adi = 0 alarma = 0 clave = 123 buz = 0 total = 0 button = 16 tecla = 0 loop: adi = 1 If alarma = 0 Then Lcdcmdout LcdLine1Home Lcdout "CLAVE DE ACTIVE" Gosub active_al Endif Goto loop End active_al: adi = 1 While button = 16 Gosub get_button WaitMs 15 If adi = 1 Then total = total * 10 + tecla Lcdcmdout LcdLine2Home Lcdcmdout LcdLine2Clear Lcdout #total Endif Return get_button: col1 = 1 If raw1 = 1 Then button = 1 If raw2 = 1 Then button = 4 If raw3 = 1 Then button = 7 If raw4 = 1 Then button = 10 col1 = 0 col2 = 1 If raw1 = 1 Then button = 2 If raw2 = 1 Then button = 5 If raw3 = 1 Then button = 8 If raw4 = 1 Then button = 0 col2 = 0 col3 = 1 If raw1 = 1 Then button = 3 If raw2 = 1 Then button = 6 If raw3 = 1 Then button = 9 If raw4 = 1 Then button = 11 col3 = 0 col4 = 1 If raw1 = 1 Then button = 12 If raw2 = 1 Then button = 13 If raw3 = 1 Then button = 14 If raw4 = 1 Then button = 15 col4 = 0 Return LO QUE ME PREOCUPA ESQUE AL COMPILAR ME MANDA UN ERROR PERO SI LA VARIABLE TOTAL LA CAMBIO POR UNA DE TIPO WORD SI ME COMPILA BIEN.... ¿ COMO HACER ?... DE ANTE MANO MUCHAS GRACIAS |
||
| sin valorar | Mar Jul 14, 2009 4:53 pm | |
|
Tenes que usar Hb y LB, igualmente no se para que queres que sea tipo long si tu clave es 123 y a lo sumo una clave tiene 4 o 5 digitos (va eso uso yo).- Otra cosa es que vos escribiste: Cita:active_al: y para mi le falta un Wend.- Bue revisa bien el prog.- Saludos.- |
||
| comentario del autor | Mie Jul 15, 2009 1:36 pm | |
|
pero podrias darme un ejemmplo del Hb y Lb, por ejemplo si mi clave seria de mas digitos como 321321 por ejemplo, desde ya te agradesco mucho por tus respuestas. : ) |
||
| sin valorar | Mie Jul 15, 2009 9:11 pm | |
|
Mira en realidad button ya te devuelve el boton presionado, y otra cosa tenes que agregar: pone asi: Código:if adi = 1 Then
Esto directamente te va mostrando los numeros que pulsas y tenes los que vos quieras, lo que tenes que hacer es ir comparando con los digitos de tu clave.- Esta es una posibilidad, igualmente el pic simulator ide no es bueno. Trata de migrar a otro.- Una pregunta - lo simulaste con algun soft como el proteus? simulalo y ahi vas a ver como se te aclaran mejor las cosas, no uses el simulador del ide es a modo gral.- Ahh lo del Hb y LB es para acceder a los bytes alto y bajos de una variable.- Bueno cualquier cosa pregunta.- Saludos.- |
||
| sin valorar | Dom Jul 19, 2009 7:41 pm | |
|
Julio ya esta, mira las modificaciones y vas a ver que simple era.- Código:
Bueno lo unico que te tenes que fijar es lo del cambio de clave ya que lo estas haciendo mal, lo tenes que grabar en la eeprom porque sino cuando apagas el circuito se te borra.- Saludos.- |
||
| comentario del autor | Lun Jul 27, 2009 11:16 am | |
|
|
||
| sin valorar | Mar Jul 28, 2009 12:30 am | |
|
Julio tenes que usar: Cita: O sea: READ direccion,dato y lo mismo para Write.- Si entendiste bien el programa que te modifique esto es simplemente agregar un poco de codigo, o sea tenes que escribir en una direccion de memoria para cada digito, en tu caso al ser de 6 digitos usa por ejemplo de la 00 a la 05.- Espero que entiendas.- Saludos.- |
||
| comentario del autor | Mar Jul 28, 2009 10:28 am | |
|
|
||
| comentario del autor | Jue Jul 30, 2009 3:04 pm | |
|
|
||
| comentario del autor | Jue Jul 30, 2009 3:05 pm | |
|
|
||
| sin valorar | Jue Jul 30, 2009 8:45 pm | |
|
De la pagina oficial: http://www.labcenter.co.uk/download/prodemo_download.cfm#professional Suerte.- |
||
| comentario del autor | Lun Ago 03, 2009 12:52 pm | |
|
¿COMO HAGO PARA UTILIZAR DOS LCD A LA VES EN MI PROGRAMA, (HABILITAR UNO Y DESACTIVAR EL OTRO) CUALES SON LOS COMANDOS A UTILIZAR PUES EN LA INFORMACION QUE ESTA EN LA RED NO ES SUFICIENTE SOLO SE QUE EL PIN "E" DEL LCD HABILITA O DESABILITA, HAY ALGUN EJEMPLO PARA ESTO O UNA INFORMACION MAS AMPLIA?. muchas gracias. |
||
| comentario del autor | Mie Ago 19, 2009 12:38 pm | |
|
|
||