Autor Tema: Programar PIC16F73 a 20MHz  (Leído 3517 veces)

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

Desconectado TOFLE

  • PIC10
  • *
  • Mensajes: 29
Programar PIC16F73 a 20MHz
« en: 06 de Junio de 2005, 08:08:00 »
Hola a todos!!
Hace tiempo diseñé una aplicación para un 16F84A@20MHz, y ahora quiero ampliarla.Por eso pensé en el 16F73 que tiene más puertos y más memoria.
El problema que tengo es que he hecho un programa de prueba (encender apagar un led cada 500ms), y no hay forma de que funcione para 20MHz, sólo a 4MHz.
He corroborado con el distribuidor que el pic debe funcionar a 20MHz, pero nada de nada.
¿Alguien sabe que puede pasar? Uso el IC-Prog y deshabilito todos los fuses, y el cristal a HS.

Os dejo el código:

      LIST P=16F73
      #include "p16F73.inc"

      __CONFIG _CP_OFF & _WDT_OFF & _HS_OSC

      #define   BANCO0   bcf STATUS,5
      #define   BANCO1   bsf STATUS,5

      

      cblock
         PDel0
         PDel1
         PDel2

      endc


      org 0x00
      goto Inicio
   
      org 0x05

Inicio:      clrf   PORTA
      BANCO1
      movlw   b"00000000"
      movwf   TRISA
      BANCO0
      clrf   PORTB
      BANCO1
      movlw   b"00000000"
      movwf   TRISB
      BANCO0   

Bucle:      movlw   0x00
      movwf   PORTA

      call   Demora1


      movlw   0xFF
      movwf   PORTA
      
      call   Demora1

      goto   Bucle

Demora1:     movlw     .22       ; 1 set numero de repeticion  (C)
              movwf     PDel0     ; 1 |
PLoop0        movlw     .134      ; 1 set numero de repeticion  (B)
              movwf     PDel1     ; 1 |
PLoop1        movlw     .211      ; 1 set numero de repeticion  (A)
              movwf     PDel2     ; 1 |
PLoop2        clrwdt              ; 1 clear watchdog
              decfsz    PDel2, 1  ; 1 + (1) es el tiempo 0  ? (A)
              goto      PLoop2    ; 2 no, loop
              decfsz    PDel1,  1 ; 1 + (1) es el tiempo 0  ? (B)
              goto      PLoop1    ; 2 no, loop
              decfsz    PDel0,  1 ; 1 + (1) es el tiempo 0  ? (C)
              goto      PLoop0    ; 2 no, loop
PDelL1        goto PDelL2         ; 2 ciclos delay
PDelL2        clrwdt              ; 1 ciclo delay
              return              ; 2+2 Fin.




      end


Muchas gracias de antemano!!

Desconectado antoniof

  • Moderadores
  • PIC24F
  • *****
  • Mensajes: 729
RE: Programar PIC16F73 a 20MHz
« Respuesta #1 en: 06 de Junio de 2005, 17:20:00 »
Como sabrás el PIC debe ser un PIC16F73-20 y no un PIC16F73-04. Si con un cristal de 4MHz te funciona y con uno de 20MHz no, intenta cambiar los valores de los condensadores, y si esto no funciona prueba a cambiar el cristal de 20MHz por otro o poner uno intermedio de 12MHz o asi.

Desconectado TOFLE

  • PIC10
  • *
  • Mensajes: 29
RE: Programar PIC16F73 a 20MHz
« Respuesta #2 en: 09 de Junio de 2005, 02:53:00 »
Bueno, creo que ya di con la solución.

El fallo estaba en el programa, no definí donde empezaban mis variables. En el caso del PIC16F73, al ubicarlas las variables a partir de la dirección 0x20, todo va perfectamente.

Un saludo a todos!

Desconectado Resistencio

  • PIC12
  • **
  • Mensajes: 82
Re: Programar PIC16F73 a 20MHz
« Respuesta #3 en: 13 de Septiembre de 2007, 00:08:58 »
Pone CBLOCK 0x20 y todas las variables hasta ENDC...SALUDOS !!!

Desconectado maunix

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 4751
    • Mi Sitio Web Personal
Re: RE: Programar PIC16F73 a 20MHz
« Respuesta #4 en: 14 de Septiembre de 2007, 13:26:38 »
Bueno, creo que ya di con la solución.

El fallo estaba en el programa, no definí donde empezaban mis variables. En el caso del PIC16F73, al ubicarlas las variables a partir de la dirección 0x20, todo va perfectamente.

Un saludo a todos!

Jeje, por eso migrar de un pic a otro no es tan simple! si me habrá pasado...

- 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)