Autor Tema: HELP lcd con pic 16f84  (Leído 2308 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado sebastianvz

  • PIC10
  • *
  • Mensajes: 8
HELP lcd con pic 16f84
« en: 08 de Agosto de 2007, 21:09:45 »
hola a todos

que pena volver a repetir este topic pero la verda no he sido capas de entender los otros que tambien tratan sobre este tema.

soy nuevo en la parte de LCD, tengo conocimoentos basicos sobre el PIC 16f877a y me gustaria que ame ayudara a configurar este.

Ya me he dado a la tarea de mirar las rutinas de robotix y todo pero no me quedan claras muchas cosas que si me pueden explica me gustaria mucho .

1. Como lo mencione antes tengo conocimientos basicos de programacion en MPLAB y me gustaria saber como fuincioona lo de las librerias pues nunca he usado ninguna.

gracias por la atencion

ahi voy poniendo las otras dudas que me qeu vaya teniando por el principio es eso
« Última modificación: 09 de Agosto de 2007, 18:18:24 por sebastianvz »

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: HELP lcd con pic 16f877a
« Respuesta #1 en: 08 de Agosto de 2007, 21:43:27 »
dime las  demas dudas

saludos

Desconectado sebastianvz

  • PIC10
  • *
  • Mensajes: 8
Re: HELP lcd con pic 16f877a
« Respuesta #2 en: 08 de Agosto de 2007, 22:29:45 »
hey gracias por responder

pero que igual que antes

Desconectado sebastianvz

  • PIC10
  • *
  • Mensajes: 8
Re: HELP lcd con pic 16f877a
« Respuesta #3 en: 09 de Agosto de 2007, 18:03:04 »
hola

buscando en algunos libros me entontre con estas rutinas
Les cuento la llamada LCD_16F84.ASM no tengo muchas dudas y se para que es cada subrutina y todo, pero tengo una dudas si pueden ver el archico es lo que esta en letra minuscula.

Del archivo HOLA.ASM pues las tengo casi todas las dudas  no entiendo lo que esta en minusncula y con signos de ??????????

si alguine me puedo explicar estare muy agradecido

miren esta rutina fue tomada de el libro "microcontroladores PIC diseño practico de aplicacion primera parte" tercera edicion

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: HELP lcd con pic 16f84
« Respuesta #4 en: 09 de Agosto de 2007, 23:26:27 »
Hola sebastianvz: Te voy a tirar un par de tips que veo a vuelo de pájaro, ya que no tengo mucho tiempo para utilizar esta pc, espero que te ayuden con el lcd que tanto me hizo renegar al principio.
 Te recomiendo que estudies bien el set de instrucciones de este pic (lo puedes encontrar en el datasheet del mismo pic), que tambien leas y busques toda la info que haya sobre estos lcds sobre todo su datasheet y como controlarlo, y aparte el data sheet del pic mismo que es muy importante.
 Suerte con todo y sigue preguntando que te vamos a ayudar en lo que podamos, Saludos!!!




ORG      00
GOTO   INICIO
ORG      5            ;esto para que es ?????

La directiva ORG le dice al compilador que empiece a escribir en determinada posición de memoria,
en este caso (ORG 0) le pide que escriba en la primer posición de memoria el comando: GOTO INICIO
luego sigue escribiendo el resto del programa en la 6º posición, osea ORG 5, pero para que hace esto?
porqué se salta las posiciones de memoria anteriores?
como dice en el Datasheet del pic en cuestión, en la 5º posición (lo que es la dirección 4) es a donde salta el
contador de programa en caso de haber una interrupción(si es que las utilizas) , por lo que se deja esa posición de memoria
libre, por ejemplo para poner:

ORG 04
GOTO ATIENDA_INTERRUPCION


Dicho de otra manera: en caso de que habilites las interrupciones y se produzca una automáticamente el micro salta a esta posición y con el GOTO ATIENDA_INTERRUPCION va a esa parte del programa que hace eso que debe hacer en caso de ocurrir tal evento.
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: HELP lcd con pic 16f84
« Respuesta #5 en: 10 de Agosto de 2007, 18:51:49 »
;
Código: ASM
  1. PROGRAM QUE MUESTRA UN MENSAJE EL LCD
  2. ;CON LA AYUDA DE EL PROGRAM ANTERIOR
  3. ;LCD_16F84.ASM
  4.  
  5.                 LIST    P=16F84
  6.                 INCLUDE"PIC16F84.INC"   ;esto no me funciona me saca error
  7.  
  8. RESUL   EQU             0X0C
  9. TEMPO1  EQU             0X0D   
  10. OFFSET  EQU             0X0E
  11. OPCION  EQU             080H
  12. LCD_VAR EQU             0X0F
  13.  
  14.                 ORG             00
  15.                 GOTO    INICIO
  16.                 ORG             5                               ;esto para que es ?????
  17.        
  18.                 INCLUDE"LCD_16F84.ASM"
  19.  
  20. INICIO
  21.         CALL    UP_LCD                  ;COFGURO EL PIC PARA TRABAJAR CON LCD
  22.         BSF             STATUS,5                ;CAMBIO DE BAK
  23.         MOVLW   B'10000111'             ;MIRARO REG OPTION
  24.         MOVWF   OPCION                  ;ASIGN PRESCALER
  25.         BCF             STATUS,5
  26.         CALL    LCD_INI                 ;CONFIGURA EL LCD
  27.  
  28. INICIO1
  29.         CALL    BORRAR_Y_HOME           ;BORRA Y POEN EL CURSOR EN LA POCISION 1 DE EL LCD
  30.         CALL    DISPLAY_ON_CUR_OFF      ;ACTIVA LCD Y DESAPARESE EL SURSOS
  31.         MOVLW   0X80                            ;POSICON DE LA PRIMERA FILA
  32.         CALL    LCD_REG
  33.         MOVLW   B'00000110'                     ;PARA PONER QUE INCREMENTE EL CURSOSR Y QUE MUESTRE SIN MOVERESE
  34.         CALL    LDC_REG
  35.         CLRF    OFFSET
  36.         CALL    MENS
  37.  
  38. BUCLE   GOTO    BUCLE                   ;para que utilizar esto ???????
  39.  
  40. ;ESTA RUTINA SACA EL MENSAJE POR EL LCD
  41.  
  42. MENS
  43.                 CLRF    RESUL                   ;BORRAR EL RESULTADO
  44. MENS_1  MOVF    OFFSET,W                ;para que es el offset ???????
  45.                 ADDWF   RESUL,W                 ;SUMA RESUL CON E
  46.                 CALL    DATOS                   ;LLAMA LA RUTINA DATO
  47.                 IORLW   0                               ;para que sirve cual es su aplicacion ??????
  48.                 BTFSC   STATUS,2                ;PREGUNTA POR EL DESBORDE
  49.                 RETURN                                  ;porque este retunr esta aca ??????
  50.                 CALL    LCD_DATO                ;LLAMA A LA RUTINA
  51.                 INCF    RESUL,F                 ;INCREMENTA EL RESULTADO
  52.                 MOVLW   .10                             ;esto para que ????????? sino se usa no le veo la aplicacion
  53.                 MOVWF   TEMPO_1                        
  54.                 GOTO    MENS_1
  55.  
  56. DATOS
  57.                 ADDWF   PCL,1
  58.                 RETLW   "H"
  59.                 RETLW   "O"
  60.                 RETLW   "L"
  61.                 RETLW   "A"
  62.                 RETLW   0X0                             ;esto para que sirve aca ??????
  63.  
  64.         END

retlw   0x0 sirve para saber si se han mostrdos todos los dato de hola.
MOVLW   .10  esto no tiene aplicacion en el programa puesto qiue no es utilizado
RETURN   ;porque este retunr esta aca ?????? esto es porque el resultado de la ultima variable de la tabla es 0 y entonces retorna al programa principal y deja de llamar a la tabla de datos de hola...
               
IORLW   0 ;para que sirve cual es su aplicacion ?????? para comparar los valores de la tabla y 0
 ; esta comparacion la hace iorlw


MOVF   OFFSET,W   ;para que es el offset ???????  al ir incrementando el valor de offset el ,puntero en la tabla se va incrementando hasta visualisar las letras de la palabra hola..
el puntero se ubicaria en la primera linea o en la H.

Desconectado sebastianvz

  • PIC10
  • *
  • Mensajes: 8
Re: HELP lcd con pic 16f84
« Respuesta #6 en: 11 de Agosto de 2007, 11:41:22 »
hola

muchas gracias por su colaboracion ahora tengo un poco mas claro los interrogantes qeu tenia .

muchas gracias por la colaboracion .