Autor Tema: Contencion logica  (Leído 4298 veces)

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

Desconectado gcgiron

  • PIC10
  • *
  • Mensajes: 42
Contencion logica
« en: 08 de Diciembre de 2007, 06:39:31 »
Hola, tengo un problema en la simulacion del termometro digital con el PIC16f84A, ADC0804, LCD16x2 y el sensor de temperatura LM35, este proyecto lo baje de internet, y lo monte en Proteus, resulta que cuando lo simulo aparece en error de contencion logica en las mallas del micro, el adc y el lcd; ademas la pantalla no arranca.

Ahi posteo la imagen de la simulacion.


Gracias por las respuestas.
En este mundo he visto algo más: que no son los veloces los que ganan la carrera, ni los valientes los que ganan la batalla; que no siempre los sabios tienen pan, ni los inteligentes son ricos, ni los instruidos son bien recibidos; todos ellos dependen de un momento de suerte.

Eclesiastes 9:11

Desconectado gcgiron

  • PIC10
  • *
  • Mensajes: 42
Re: Contencion logica
« Respuesta #1 en: 08 de Diciembre de 2007, 06:49:13 »
Hola de nuevo ahi posteo el .hex y el archivo de proteus.

De antemano muchas gracias por las respuestas.
En este mundo he visto algo más: que no son los veloces los que ganan la carrera, ni los valientes los que ganan la batalla; que no siempre los sabios tienen pan, ni los inteligentes son ricos, ni los instruidos son bien recibidos; todos ellos dependen de un momento de suerte.

Eclesiastes 9:11

Desconectado gcgiron

  • PIC10
  • *
  • Mensajes: 42
Re: Contencion logica
« Respuesta #2 en: 08 de Diciembre de 2007, 06:53:04 »
Disculpen otra vez hola, ahi posteo el .inc

LIST
;#############################################################
; Fichero : LCD1602.inc #include
; Autor : Juan Mu¤oz.
; Fecha: Abril 2001.
; Versi¢n: 0.0
; Funci¢n : Subrutinas para el Control de un LCD1602.
;#############################################################
NOLIST
;-------------------------------------------------------------
; Rutinas de presentaci¢n de mensajes en LCD
;-------------------------------------------------------------
DATO_A EQU 0x0C ;Variable de temporizaci¢n
DATO_B EQU 0x0D ;Variable de temporizaci¢n
;-------------------------------------------------------------
;LCD_BUSY: Lectura del Flag busy & direcci¢n.
;-------------------------------------------------------------
LCD_BUSY bsf PORTA,1 ;Pone el LCD en modo lectura
    bsf STATUS,5 ;Selecciona el banco 1
    movlw 0xff
     movwf TRISB ;Puerta B como entrada
    bcf STATUS,5 ;Selecciona el banco 0
    bsf PORTA,2 ;Activa el LCD
    nop
L_BUSY     btfsc PORTB,7 ;Chequea bit de Busy
    goto L_BUSY
    bcf PORTA,2 ;Desactiva LCD
    bsf STATUS,5 ;Selecciona banco 1
    clrf TRISB ;Puerta B salida
    bcf STATUS,5 ;Selecciona el banco 0
    bcf PORTA,1 ;Pone LCD en modo WR
   return
;-------------------------------------------------------------
;LCD_E: Pulso de Enable
;-------------------------------------------------------------
LCD_E bsf PORTA,2 ;Activa se¤al E
      nop      ;Espera 1 uS
      bcf PORTA,2 ;Desactiva se¤al E return ;
;-------------------------------------------------------------
;LCD_DATO: Escritura de datos en DDRAM o CGRAM
;-------------------------------------------------------------
LCD_DATO bcf PORTA,0 ;Desactiva RS (modo comando)
    movwf PORTB ;Valor ASCII a sacar por PORTB
    call LCD_BUSY ;Espera a que se libere el LCD
    bsf PORTA,0 ;Activa RS (modo dato).
    goto LCD_E ;Genera pulso en la se¤al E
;-------------------------------------------------------------
;LCD_REG: Escritura de comandos en el LCD
;-------------------------------------------------------------
LCD_REG bcf PORTA,0 ;Desactiva RS (modo comando)
   movwf PORTB ;Saca el c¢digo de la instrucci¢n
   call LCD_BUSY ;Espera se libere el LCD
   goto LCD_E ;Genera pulso en la se¤al E ;
;-------------------------------------------------------------
;LCD_INI: Inicializaci¢n del LCD
;-------------------------------------------------------------
LCD_INI movlw b'00111000' ;Caracteres 5-7,datos de 8 bits.
   call  LCD_REG     ;C¢digo de instrucci¢n
   call  DELAY_5MS   ;5ms.(Especificaci¢n de Fabricante)
   movlw b'00111000'
   call  LCD_REG     ;C¢digo de instrucci¢n
   call  DELAY_5MS   ;5ms.(Especificaci¢n de Fabricante)
   movlw b'00111000'
   call  LCD_REG     ;C¢digo de instrucci¢n
   call  DELAY_5MS   ;5ms.(Especificaci¢n de Fabricante)
        return
;-------------------------------------------------------------
;DELAY_5MS: Genera una temporizaci¢n de 5 mS
;-------------------------------------------------------------
DELAY_5MS movlw  0x1a
     movwf  DATO_B ;Carga la variable DATO_B
     clrf   DATO_A ;Carga la variable DATO_A
DELAY_1   decfsz DATO_A,1 ;Decrementa la variable DATO_A
     goto   DELAY_1
     decfsz DATO_B,1 ;Decrementa la variable DATO_B
     goto   DELAY_1
     return LIST


Como soy nuevo en esto de los PIC y mi conocimiento es de aficionado, les solicito la colaboracion en sacar este proyecto.

Gracias.


En este mundo he visto algo más: que no son los veloces los que ganan la carrera, ni los valientes los que ganan la batalla; que no siempre los sabios tienen pan, ni los inteligentes son ricos, ni los instruidos son bien recibidos; todos ellos dependen de un momento de suerte.

Eclesiastes 9:11

Desconectado eto

  • PIC12
  • **
  • Mensajes: 64
    • Programacion y Electronica
Re: Contencion logica
« Respuesta #3 en: 10 de Diciembre de 2007, 20:23:59 »
Hola gcgiron, ps solo vi la imagen que posteaste, aun no probe los archivos que dejaste, no se mucho de proteus, pero a que te refieres con eso de contencion logica???, imagino te refieres a los puntos amarillos de te da en los pines, si es por eso ps te comento que a mi me pasa algo parecido, pero no me parece ningun error, aunque solo ocurre por unos milisegundos, no se si sera tu caso, aparte en la imagen se ve que el potenciometro que va en el LCD esta en bajo, porque no le pruebas dandole otros valores, para que varie el contraste, otra cosa que podria ser es que los valores de esta mandando el PIC y/o el ADC, se estan procesando muy rapido, cosa que tambien me paso, porque no le das un retardo entre que lees el ADC y lo procesas, y lo mandas al LCD, para que tenga tiempo  de mostrarse
No borro mis errores, al contrario los mantengo a la vista para no cometerlos otra vez.

Mi Web

Desconectado gcgiron

  • PIC10
  • *
  • Mensajes: 42
Re: Contencion logica
« Respuesta #4 en: 14 de Diciembre de 2007, 09:31:13 »
Eto gracias por tu orientacion, lo voy a hacer a ver que pasa.
En este mundo he visto algo más: que no son los veloces los que ganan la carrera, ni los valientes los que ganan la batalla; que no siempre los sabios tienen pan, ni los inteligentes son ricos, ni los instruidos son bien recibidos; todos ellos dependen de un momento de suerte.

Eclesiastes 9:11


 

anything