Autor Tema: migrar un 16f877 a 18f4525  (Leído 2858 veces)

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

Desconectado Seryo

  • PIC10
  • *
  • Mensajes: 5
migrar un 16f877 a 18f4525
« en: 13 de Noviembre de 2013, 10:34:21 »
Hola a todos, x empezar gracias x compartir sus conocimientos, me son de mucha utilidad, soy autodidacta y aprendo con los ejemplos
necesito migrar lo que tengo hecho en un pic16f877 a un pic18f4525 x una cuestion de memoria, si alguien me podria echar una mano con las configuraciones iniciales, x mas que lea y vuelva a leer la hoja de datos del chip nuevo no logro entender varias cosas, donde puedo buscar algunos ejemplos? si podrian ayudarme hago un copy/paste de o que tengo  muchas gracias todos


Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: migrar un 16f877 a 18f4525
« Respuesta #1 en: 13 de Noviembre de 2013, 10:50:21 »
Normalmente en Microchip hay notas de migración de código entre productos que son reemplazo directo, entra en la pagina y busca ese nuevo PIC a ver que recomiendan hacer...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Seryo

  • PIC10
  • *
  • Mensajes: 5
Re: migrar un 16f877 a 18f4525
« Respuesta #2 en: 13 de Noviembre de 2013, 12:57:42 »
Gracias x responder, en verdad ya busque y lei en una cantidad de lugares y x eso estoy buscando una ayuda aqui,  posiblemente sea x el poco conocimiento que tengo pero no pude encontrar la sulucion, quieres ver a lo que me refiero?

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: migrar un 16f877 a 18f4525
« Respuesta #3 en: 13 de Noviembre de 2013, 16:45:41 »
Si, por supuesto...
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.

Desconectado Seryo

  • PIC10
  • *
  • Mensajes: 5
Re: migrar un 16f877 a 18f4525
« Respuesta #4 en: 15 de Noviembre de 2013, 08:34:49 »
Hola Gracias x la ayuda aqui  dejo lo que tengo, no quise poner todo el codigo para que no sea muy pesado
en un lcd de 16x2 en la primera linea veo la lectura de minutos y segundos
y en la segunda veo la medicion de temperatura y nivel de agua con un mpx 2010

el archivo "int.bas" lo pondre mas abajo, a mas de uno le pude ser de utilidad para tener un reloj en segundo plano, lo baje una vez de una pagina inglesa
para compilar tengo el pic basic pro 2.60
lo que necesito es poder tener un chip con mas de 8k como el 16877 ya que quiero mostrar distintos mensajes y eso me ocupa mucha memoria, ademas quiero hacer pruebas con una matriz grafica de 128x64, todo esto lo hago como autodidacta asi que perdonen  mi ignorancia

INCLUDE "int.bas"
DEFINE   LCD_DREG   PORTB   
DEFINE   LCD_DBIT   4     
DEFINE   LCD_RSREG   PORTB 
DEFINE   LCD_RSBIT   3     
DEFINE   LCD_EREG    PORTB 
DEFINE   LCD_EBIT   2     
DEFINE   LCD_BITS   4
DEFINE  OSC 4
define  ADC_BITS 8
define  ADC_CLOCK 3
define  ADC_SAMPLES 50

ADCON0 =%11000001
ADCON1 =%00000101  ; puerto  an0 an1 analogico an3 +vref 2.5 volt
pause 1000
temp1 var byte
nivel    var byte

inicio:
   
    adcin 0,temp1 ; lectura analogica
    adcin 1,nivel
   
    LCDOut "  tiempo: ",dec2 i_minu," :",dec2 i_sec,"gr "," "
    LCDOut $Fe,$C0
    LCDOut " temp ",dec2 temp1," nivel",dec2 nivel

goto inicio
 aqui pondre el int.bas


DEFINE INTHAND rollover

wsave      var   BYTE    $020 SYSTEM
wsave1      var   BYTE    $0a0 SYSTEM
wsave2      var   BYTE    $120 SYSTEM
wsave3      var   BYTE    $1a0 SYSTEM
ssave      var   BYTE    BANK0 SYSTEM
psave      var   BYTE    BANK0 SYSTEM
i_hour      var   BYTE
i_minu      var   BYTE
i_sec      var   BYTE
i_tic      var   BYTE


GOTO AFTERINT            'Jump past interrupthandler

asm

rollover

;*****************************************************************************************
;*****************************************************************************************
;
;      If you are using a PIC with 2K or less,
;      you MUST unremarke the lines that follow.
;
;   movwf   wsave         ;only for PICs with 2k or less
;   swapf   STATUS,w      ;only for PICs with 2k or less
;   clrf   STATUS         ;only for PICs with 2k or less
;   movwf   ssave         ;only for PICs with 2k or less
;   movf   PCLATH,w      ;only for PICs with 2k or less
;   movwf   psave         ;only for PICs with 2k or less
;
;*****************************************************************************************
;*****************************************************************************************

; interrupcode follows here


   movlw   0x58
   movwf   TMR1L
   movlw   0x9e         ;restart timer from ffff - 9e58 => 5Hz if using 4MHz
   movwf   TMR1H
   decfsz    _i_tic,f
   goto    slutint
   incf   _i_sec,f
   movlw   5         ;5 = 1Hz if using 4MHz (change to 10 for 8MHz and so on)
    movwf   _i_tic

   movf   _i_sec,w
   sublw   60
   btfss   STATUS,Z      ;check for 60 sec
   goto    slutint         ;no
   clrf   _i_sec         ;yes
   incf   _i_minu,f

   movf   _i_minu,w
   sublw   60             
   btfss   STATUS,Z      ;check for 60 minutes
   goto    slutint         ;no
   clrf   _i_minu         ;yes
   incf   _i_hour

   movf   _i_hour,w
   sublw   24
   btfss   STATUS,Z      ;check for 24 hours
   goto    slutint         ;no
   clrf   _i_hour         ;yes

slutint
   bcf   PIR1,0         ;zero tmr1 interrupt flag


;end of interruptcode
; restorecode follows here

   movf   psave,w         ;restore
   movwf   PCLATH
   swapf   ssave,w
   movwf   STATUS
   swapf   wsave,f
   swapf   wsave,w
   retfie

endasm


AFTERINT:

INTCON = %00000000         'all interrupts off
PIR1 = %00000000         'zero tmr1 interrupt flag
PIE1 = %00000001         'enable timer1 interrupt
TMR1L = $58
TMR1H = $9e
i_hour = 0            
i_minu = 0
i_sec = 0
i_tic = 5            'this value should be the same as the value of line 8 in the ISR
T1CON = %00110001         'timer1 on, prescaler=1/8
INTCON =  %11000000         'interrupt on

Desconectado Seryo

  • PIC10
  • *
  • Mensajes: 5
Re: migrar un 16f877 a 18f4525
« Respuesta #5 en: 20 de Noviembre de 2013, 05:56:50 »
Nadie me puede dar una mano? o no me supe explicar?

Desconectado Seryo

  • PIC10
  • *
  • Mensajes: 5
Re: migrar un 16f877 a 18f4525
« Respuesta #6 en: 25 de Noviembre de 2013, 15:01:13 »
Ya lo solucione , gracias x las respuestas

Desconectado MGLSOFT

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 7912
Re: migrar un 16f877 a 18f4525
« Respuesta #7 en: 25 de Noviembre de 2013, 17:34:42 »
Podrias poner cual fue la solucion y marcar el tema como solucionado??
Todos los dias aprendo algo nuevo, el ultimo día de mi vida aprenderé a morir....
Mi Abuelo.


 

anything