Autor Tema: Problema de grabacion de PIC de progamas con LCD  (Leído 2356 veces)

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

Desconectado ASABoomer

  • PIC10
  • *
  • Mensajes: 12
Problema de grabacion de PIC de progamas con LCD
« en: 18 de Junio de 2016, 01:51:53 »
Antes que nada un saludo a la comunidad de todopic, mi problema es el siguiente:

Llevo algunos meses trabajando con el PIC 18F4550 para practicas del colegio, sin tantos problemas he realizado las mismas (empleando MPLAB IDE y lenguaje asm, y para graba Pickit3), el circuito tanto en Proteus como en físico no me ha dado problemas, aunque no es el mas bonito funcionaba bien.

Cargue el archivo .hex (en mi PIC) de un compañero ya que en simulador funcionaba bien, pero físicamente no y me pidió lo revisara en mi circuito, al alimentar el circuito no hacia nada y le pedí el .asm para checarlo, al llegar a casa quise grabarlo de nuevo y en el proceso todo fue normal, pero al alimentar el circuito el pic no hizo nada mas que encender un par de salidas.

Grabe .hex previamente funcionales y el comportamiento fue el mismo solo con las que empleaba el LCD, siempre que voy a cargar el .hex en pic procedo a borrar la memoria y luego hacer el check blank, tras escribir en el pic lo verifico. En proteus dichos archivos van bien pero ya en el circuito físico no fucionan.

Mi compañero emplea MPLAB X para compilar, esto habrá bloqueado el pic de alguna forma?
Al borrar el pic alimentarlo se comporta como debe de comportarse un pic sin nada  :D ... nada.

el pic no esta quemado, ya que el profesor al inicio del curso nos proporciono un .hex para checar el circuito de trabajo, el cual curiosamente al grabarlo funciona el LCD. (hago énfasis en que antes de grabar el archivo de mi compañero todas mis practicas que emplean el lcd jalaban de maravilla y ahora no hacen nada) y cualquier otro código que no emplee el LCD funciona bien

Existe alguna forma de dejar el PIC como nuevo? como recién salido de fabrica
Y he copiado de nuevo mis librerías, instalado el firmware de pickit3 de nuevo, grabado con MPLAB IDE y con el Standalone de pickit 3 y nada lo soluciona.
A alguien le ha paso?
alguna idea de que puede ser?
Mejor me hago a la idea de adquirir otro pic?

Un saludo para todos, y gracias por tomarse el tiempo de leer el post
ESTOY LISTO!!... Y TU?!?!?!........

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Problema de grabacion de PIC de progamas con LCD
« Respuesta #1 en: 18 de Junio de 2016, 04:27:29 »
Revisa los "fuses" que estarán mal.

Saludos!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado ASABoomer

  • PIC10
  • *
  • Mensajes: 12
Re:Problema de grabacion de PIC de progamas con LCD
« Respuesta #2 en: 18 de Junio de 2016, 13:58:59 »
Saludos manwenwe, uso la configuración de bits que genera MPLAB; es la siguiente: (Me había funcionado perfecto hasta que grabe el programa de un compañero)



Código: ASM
  1. LIST P=18F4550
  2.  
  3. ; PIC18F4550 Configuration Bit Settings
  4.  
  5. ; ASM source line config statements
  6.  
  7. #include "p18F4550.inc"
  8.  
  9. ; CONFIG1L
  10.   CONFIG  PLLDIV = 1            ; PLL Prescaler Selection bits (No prescale (4 MHz oscillator input drives PLL directly))
  11.   CONFIG  CPUDIV = OSC1_PLL2    ; System Clock Postscaler Selection bits ([Primary Oscillator Src: /1][96 MHz PLL Src: /2])
  12.   CONFIG  USBDIV = 1            ; USB Clock Selection bit (used in Full-Speed USB mode only; UCFG:FSEN = 1) (USB clock source comes directly from the primary oscillator block with no postscale)
  13.  
  14. ; CONFIG1H
  15.   CONFIG  FOSC = INTOSC_EC      ; Oscillator Selection bits (Internal oscillator, CLKO function on RA6, EC used by USB (INTCKO))
  16.   CONFIG  FCMEN = OFF           ; Fail-Safe Clock Monitor Enable bit (Fail-Safe Clock Monitor disabled)
  17.   CONFIG  IESO = OFF            ; Internal/External Oscillator Switchover bit (Oscillator Switchover mode disabled)
  18.  
  19. ; CONFIG2L
  20.   CONFIG  PWRT = ON             ; Power-up Timer Enable bit (PWRT enabled)
  21.   CONFIG  BOR = OFF             ; Brown-out Reset Enable bits (Brown-out Reset disabled in hardware and software)
  22.   CONFIG  BORV = 3              ; Brown-out Reset Voltage bits (Minimum setting 2.05V)
  23.   CONFIG  VREGEN = OFF          ; USB Voltage Regulator Enable bit (USB voltage regulator disabled)
  24.  
  25. ; CONFIG2H
  26.   CONFIG  WDT = OFF             ; Watchdog Timer Enable bit (WDT disabled (control is placed on the SWDTEN bit))
  27.   CONFIG  WDTPS = 32768         ; Watchdog Timer Postscale Select bits (1:32768)
  28.  
  29. ; CONFIG3H
  30.   CONFIG  CCP2MX = ON           ; CCP2 MUX bit (CCP2 input/output is multiplexed with RC1)
  31.   CONFIG  PBADEN = OFF          ; PORTB A/D Enable bit (PORTB<4:0> pins are configured as digital I/O on Reset)
  32.   CONFIG  LPT1OSC = OFF         ; Low-Power Timer 1 Oscillator Enable bit (Timer1 configured for higher power operation)
  33.   CONFIG  MCLRE = ON            ; MCLR Pin Enable bit (MCLR pin enabled; RE3 input pin disabled)
  34.  
  35. ; CONFIG4L
  36.   CONFIG  STVREN = ON          ; Stack Full/Underflow Reset Enable bit (Stack full/underflow will cause Reset)
  37.   CONFIG  LVP = OFF             ; Single-Supply ICSP Enable bit (Single-Supply ICSP enabled)
  38.   CONFIG  ICPRT = OFF           ; Dedicated In-Circuit Debug/Programming Port (ICPORT) Enable bit (ICPORT disabled)
  39.   CONFIG  XINST = OFF           ; Extended Instruction Set Enable bit (Instruction set extension and Indexed Addressing mode disabled (Legacy mode))
  40.  
  41. ; CONFIG5L
  42.   CONFIG  CP0 = OFF             ; Code Protection bit (Block 0 (000800-001FFFh) is not code-protected)
  43.   CONFIG  CP1 = OFF             ; Code Protection bit (Block 1 (002000-003FFFh) is not code-protected)
  44.   CONFIG  CP2 = OFF             ; Code Protection bit (Block 2 (004000-005FFFh) is not code-protected)
  45.   CONFIG  CP3 = OFF             ; Code Protection bit (Block 3 (006000-007FFFh) is not code-protected)
  46.  
  47. ; CONFIG5H
  48.   CONFIG  CPB = OFF             ; Boot Block Code Protection bit (Boot block (000000-0007FFh) is not code-protected)
  49.   CONFIG  CPD = OFF             ; Data EEPROM Code Protection bit (Data EEPROM is not code-protected)
  50.  
  51. ; CONFIG6L
  52.   CONFIG  WRT0 = OFF            ; Write Protection bit (Block 0 (000800-001FFFh) is not write-protected)
  53.   CONFIG  WRT1 = OFF            ; Write Protection bit (Block 1 (002000-003FFFh) is not write-protected)
  54.   CONFIG  WRT2 = OFF            ; Write Protection bit (Block 2 (004000-005FFFh) is not write-protected)
  55.   CONFIG  WRT3 = OFF            ; Write Protection bit (Block 3 (006000-007FFFh) is not write-protected)
  56.  
  57. ; CONFIG6H
  58.   CONFIG  WRTC = OFF            ; Configuration Register Write Protection bit (Configuration registers (300000-3000FFh) are not write-protected)
  59.   CONFIG  WRTB = OFF            ; Boot Block Write Protection bit (Boot block (000000-0007FFh) is not write-protected)
  60.   CONFIG  WRTD = OFF            ; Data EEPROM Write Protection bit (Data EEPROM is not write-protected)
  61.  
  62. ; CONFIG7L
  63.   CONFIG  EBTR0 = OFF           ; Table Read Protection bit (Block 0 (000800-001FFFh) is not protected from table reads executed in other blocks)
  64.   CONFIG  EBTR1 = OFF           ; Table Read Protection bit (Block 1 (002000-003FFFh) is not protected from table reads executed in other blocks)
  65.   CONFIG  EBTR2 = OFF           ; Table Read Protection bit (Block 2 (004000-005FFFh) is not protected from table reads executed in other blocks)
  66.   CONFIG  EBTR3 = OFF           ; Table Read Protection bit (Block 3 (006000-007FFFh) is not protected from table reads executed in other blocks)
  67.  
  68. ; CONFIG7H
  69.   CONFIG  EBTRB = OFF           ; Boot Block Table Read Protection bit (Boot block (000000-0007FFh) is not protected from table reads executed in other blocks)
ESTOY LISTO!!... Y TU?!?!?!........

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Problema de grabacion de PIC de progamas con LCD
« Respuesta #3 en: 18 de Junio de 2016, 15:11:48 »
Si tienes pickit3,¿por qué no depuras el programa a ver lo que está pasando?
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado ASABoomer

  • PIC10
  • *
  • Mensajes: 12
Re:Problema de grabacion de PIC de progamas con LCD
« Respuesta #4 en: 18 de Junio de 2016, 15:39:02 »
seria únicamente seleccionando el modo DEBUG habilitando el bit correspondiente? y es necesario colocar breakpoints para hacer el debug, o me estoy perdiendo de la idea?
ESTOY LISTO!!... Y TU?!?!?!........

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Problema de grabacion de PIC de progamas con LCD
« Respuesta #5 en: 18 de Junio de 2016, 17:38:55 »
Pues yo diría que tienes que poner ICPRT a '1'. Luego para para el programa pones un "breakpoint" (doble click en una línea de código) y ahí se para el hilo del programa...

Aprender a depurar no cuesta mucho tiempo y es algo esencial si piensas seguir programando en el futuro... Si estás con ASM estás a muy bajo nivel: podrás comprobar fácilmente lo que hay en cada registro y porqué falla...

Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado ASABoomer

  • PIC10
  • *
  • Mensajes: 12
Re:Problema de grabacion de PIC de progamas con LCD
« Respuesta #6 en: 18 de Junio de 2016, 17:59:04 »
Había manejado a lo mucho dos veces la depuración con programas muy sencillos, he leído un poco, y con tu consejo pude revivir mi pic, los programas funcionan perfecto, al entrar en DEBUG, se pude decir que "se restauro" el pic y ahora puedo seguir trabajando como siempre lo había hecho, solo una pregunta en algunos sitios siguieren agregar en el encabezado
  CONFIG  DEBUG = ON para activar el modo debug
pero como tu me dices 

ICPRT = ON ; Dedicated In-Circuit Debug/Programming Port (ICPORT) Enable bit (ICPORT disabled)

me parece la manera correcta, supuestamente de ambas formas funciona. pero me quedo con el ICPRT, la otra en otra ocasión la probaré

Aunque sigo sin conocer la causa de la falla, con la depuración de cualquier archivo que se sabe funciona a la perfección, mi pic trabaja de manera normal, permitiéndome grabar y ejecutar el programa físicamente.

Muchas gracias por tu tiempo y consejo manwenwe ((:-))
ESTOY LISTO!!... Y TU?!?!?!........

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Problema de grabacion de PIC de progamas con LCD
« Respuesta #7 en: 19 de Junio de 2016, 05:45:05 »
Me alegro de que funcione.

Saludos!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -


 

anything