Autor Tema: lcd a 4 bits  (Leído 4585 veces)

0 Usuarios y 2 Visitantes están viendo este tema.

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
lcd a 4 bits
« en: 29 de Enero de 2008, 17:29:27 »
no simula este codigo
Código: ASM
  1. ;ESTE ES EL PROGRAMS FINAL
  2.         LIST    P=16F84A
  3.         #INCLUDE<P16F84A.INC>
  4. PDel0   EQU     10
  5. PDel1   EQU     11
  6. PDel2   EQU     12
  7. MENS    EQU     13
  8. LCD_Dato        EQU     14
  9.  
  10.  
  11. RS              EQU     0
  12. E               EQU     1
  13.  
  14.                                          
  15.         ORG     0
  16.         GOTO INICIO
  17.         ORG 05
  18.        
  19. ms      ;  1000 cycles:1ms
  20. PDelayY  movlw     .248      ; 1 set number of repetitions
  21.         movwf     PDel0     ; 1 |
  22. PLoop0YY  clrwdt              ; 1 clear watchdog
  23.         decfsz    PDel0, 1  ; 1 + (1) is the time over?
  24.         goto      PLoop0YY    ; 2 no, loop
  25. PDelL1W goto PDelL2III         ; 2 cycles delay
  26. PDelL2III  clrwdt              ; 1 cycle delay
  27.         return              ; 2+2 Done
  28.  
  29. RETARDO ;RETURN; Code generated by PDEL  ver 1.0  on 24/11/2007 at 06:46:05 p.m.
  30. ; Description: Waits 3000 cycles
  31. ;-------------------------------------------------------------
  32. PDelayBBBBBB  movlw     .4        ; 1 set number of repetitions (B)
  33.         movwf     PDel0     ; 1 |
  34. PLoop1IIII  movlw     .186      ; 1 set number of repetitions (A)
  35.         movwf     PDel1     ; 1 |
  36. PLoop2LLLL  clrwdt              ; 1 clear watchdog
  37.         decfsz    PDel1, 1  ; 1 + (1) is the time over? (A)
  38.         goto      PLoop2LLLL    ; 2 no, loop
  39.         decfsz    PDel0,  1 ; 1 + (1) is the time over? (B)
  40.         goto      PLoop1IIII    ; 2 no, loop
  41. PDelL1OOOO  goto PDelL2OOOO         ; 2 cycles delay
  42. PDelL2OOOO  clrwdt              ; 1 cycle delay
  43.         return              ; 2+2 Done
  44.  
  45.              
  46. ;RETARDO ;RETURN; 1000000 ciclos : 1seg
  47. PDelayf         movlw     .14       ; 1 set number of repetitions (C)
  48.                         movwf       PDel0     ; 1 |
  49. PLoop0          movlw       .72       ; 1 set number of repetitions (B)
  50.                         movwf       PDel1     ; 1 |
  51. PLoop1  movlw       .247      ; 1 set number of repetitions (A)
  52.                         movwf       PDel2     ; 1 |
  53. PLoop2  clrwdt              ; 1 clear watchdog
  54.             decfsz      PDel2, 1  ; 1 + (1) is the time over? (A)
  55.             goto        PLoop2    ; 2 no, loop
  56.             decfsz      PDel1,  1 ; 1 + (1) is the time over? (B)
  57.             goto        PLoop1    ; 2 no, loop
  58.             decfsz      PDel0,  1 ; 1 + (1) is the time over? (C)
  59.         goto        PLoop0    ; 2 no, loop
  60. PDelL178  goto   PDelL2         ; 2 cycles delay
  61. PDelL2  clrwdt              ; 1 cycle delay
  62.         return              ; 2+2 Done
  63.                    
  64. INSTRUC BCF          PORTA,RS        ;COLOCA EN CERO RAO
  65.                 GOTO            DATOS2
  66.  
  67.  
  68. DATOS   BSF          PORTA,RS
  69. DATOS2  BSF          PORTA,E      ; Permite funcionamiento del LCD mediante un pequeño
  70.                 movwf   LCD_Dato      ; que hay que enviar y lo guarda.
  71.                 SWAPF   LCD_Dato,0
  72.                 MOVWF   PORTB
  73.                 CALL    RETARDO
  74.                 BCF          PORTA,E
  75.                 CALL    RETARDO
  76.                 BSF          PORTA,E
  77.                 movf   LCD_Dato,0
  78.                 ANDLW B'11110000'
  79.                 MOVWF   PORTB
  80.                 call    RETARDO
  81.                 BCF          PORTA,E
  82.                 return
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89. TABLA   ADDWF   PCL,1           ;TABLA DE DATOS A MOSTRAR EN LCD.
  90.                 RETLW   "P"
  91.                 RETLW   "I"
  92.                 RETLW   "R"
  93.                 RETLW   "O"
  94.                 RETLW   "T"
  95.                 RETLW   "E"
  96.                 RETLW   "C"
  97.                 RETLW   " "
  98.                 RETLW   "B"
  99.                 RETLW   "U"
  100.             RETLW   "R"
  101.                 RETLW   "N"
  102.                 RETLW   "E"
  103.                 RETLW   "R"
  104.                 RETLW   "S"
  105.  
  106.  
  107. INICIO
  108.                 BSF          STATUS,5
  109.                 MOVLW   H'00'
  110.                 MOVWF   PORTB
  111.                 MOVLW   B'00000000'    
  112.                 MOVWF   PORTA
  113.                 BCF          STATUS,5
  114.                 CLRF         PORTB
  115. LCDINI
  116.                 movlw B'00101000'      ;function set=2 lineas, 5*7 dots y 4 bits    
  117.                 CALL         INSTRUC
  118.                 MOVLW   B'00000110'     ;DIRECCION A LA DERECHA
  119.                 CALL         INSTRUC
  120.                 MOVLW   B'00001100'     ;PRENDE PANTALLA
  121.                 CALL         INSTRUC
  122.                 MOVLW   B'00000001'     ;LIMPIA PANTALLA
  123.                 CALL         INSTRUC   
  124.                
  125. RR              MOVLW     B'10000000'      ;EL PUNTERO SE UBICA EN LA SEGUNDA LINEA
  126.         CALL      INSTRUC               ;PARA DECIR EMPRESA    
  127.  
  128.         CLRF      MENS
  129. A       MOVF      MENS,0
  130.         CALL      TABLA
  131.         CALL      DATOS
  132.         INCF      MENS,1
  133.         MOVF      MENS,0
  134.         XORLW     .15
  135.         BTFSS     STATUS,2
  136.         GOTO     A
  137. G               GOTO    RR
  138.                
  139.         END



Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: lcd a 4 bits
« Respuesta #1 en: 29 de Enero de 2008, 17:36:40 »
aqui esta el esquema utilizado
el el anterior mensaje esta el archivo proteus.

saludos y gracias

Desconectado poseidon20

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 762
Re: lcd a 4 bits
« Respuesta #2 en: 29 de Enero de 2008, 20:47:18 »
Si pudieras adjuntar el zip del asm, ya que trato de copiar tu codigo en el mplab, pero se desordena demasiado

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: lcd a 4 bits
« Respuesta #3 en: 29 de Enero de 2008, 23:13:25 »
Desde ya te motivo a que conectes D0~D3 a gnd. si aun no funciona, veremos el codigo.

Saludos
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado pocher

  • Moderador Local
  • DsPIC30
  • *****
  • Mensajes: 2568
Re: lcd a 4 bits
« Respuesta #4 en: 30 de Enero de 2008, 09:34:17 »
D0 a D3 a masa ¿Para qué?

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: lcd a 4 bits
« Respuesta #5 en: 30 de Enero de 2008, 11:29:50 »
Desde ya te motivo a que conectes D0~D3 a gnd. si aun no funciona, veremos el codigo.


No bruno, si los pines no se usarán deben ir al aire. 
- La soberbia de un Einstein es entendible.. la de un salame es intolerable (A.Dolina)
- En teoría no hay diferencia entre la teoría y la práctica. En la práctica... si la hay.
- Lee, Lee, Lee y luego pregunta.(maunix)
- Las que conducen y arrastran al mundo no son las máquinas, sino las ideas (V. Hugo)
- Todos los hombres se parecen por sus palabras; solamente las obras evidencian que no son iguales.(Moliere)
- Todo debería ser hecho tan simple como sea posible pero no mas simple que eso.(A.Einstein)

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: lcd a 4 bits
« Respuesta #6 en: 30 de Enero de 2008, 20:34:25 »
aqui esta adjuntado  el asm.....

saludos y gracias

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: lcd a 4 bits
« Respuesta #7 en: 30 de Enero de 2008, 21:06:06 »
D0 a D3 a masa ¿Para qué?

Desde ya te motivo a que conectes D0~D3 a gnd. si aun no funciona, veremos el codigo.


No bruno, si los pines no se usarán deben ir al aire. 

¿Why? ¿Están hablando de la sim y/o circuito real?
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado xocas

  • Administrador
  • PIC24H
  • *******
  • Mensajes: 2312
Re: lcd a 4 bits
« Respuesta #8 en: 30 de Enero de 2008, 21:50:31 »
en la carpeta 'samples' de proteus verás una carpeta llamada 'PIC 4 Bit LCD Driver' y en su interior el archivo 'lcd4bit.DSN' ábrelo y tendrás un ejemplo con un pic 16f877 y un lcd 16x1...

por cierto, D0..D3 sin conectar

un saludo

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: lcd a 4 bits
« Respuesta #9 en: 31 de Enero de 2008, 20:26:53 »
BrunoF  realice lo dicho por usted y nada .

el programa corre pero no muestra nada

saludos y gracias

Desconectado BrunoF

  • Administrador
  • DsPIC30
  • *******
  • Mensajes: 3865
Re: lcd a 4 bits
« Respuesta #10 en: 31 de Enero de 2008, 21:51:35 »
Había un par de detalles, pero lo más importante es que estabas enviando mal el orden de los nibbles al LCD.

P.D. Corri el mensaje a la 1er linea y me olvide de pasarlo a la segunda. Obviamente ahora podés hacerlo como lo hacías y debería funcionar.

Saludos.
"All of the books in the world contain no more information than is broadcast as video in a single large American city in a single year. Not all bits have equal value."  -- Carl Sagan

Sólo responderé a mensajes personales, por asuntos personales. El resto de las consultas DEBEN ser escritas en el foro público. Gracias.

Desconectado microcom

  • Colaborador
  • PIC24F
  • *****
  • Mensajes: 568
Re: lcd a 4 bits
« Respuesta #11 en: 04 de Febrero de 2008, 21:48:32 »
brunoF muchas gracias por el detalle
funciona todo bajo control. muy amable de su parte en desenrrendarme en esto.
 

saludos y gracias

Desconectado flacoclau

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1692
    • El Micro Reactor
Re: lcd a 4 bits
« Respuesta #12 en: 29 de Mayo de 2008, 00:22:57 »
Hola amigos subo el mismo programa de los amigos, pero un poco más legible para que se pueda analizar mejor.
saludos!!!
Las personas con buena ortografía me atraen textualmente.

El Micro Reactor

Córdoba capital - Argentina.


 

anything