TODOPIC

Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Noelillo en 30 de Marzo de 2015, 10:11:37

Título: Migración del PIC 16F877A al 18F4550
Publicado por: Noelillo en 30 de Marzo de 2015, 10:11:37
Estoy desarrollando un proyecto y estoy utilizando el Pic 16F877A a 20 MHz. Ya no tengo memoria para continuar...buscando un Pic con mas memoria y con los mismos pines, el Pic 18F4550 en el mas compatible (por los pines).
Programe el pic 18F4550 y no funciona.

Busque un programa mas sencillo para comprobar diferencias. El programa es el siguiente:
Código: [Seleccionar]
['****************************************************************
'*  Name    : UNTITLED.BAS                                      *
'*  Author  : [select VIEW...EDITOR OPTIONS]                    *
'*  Notice  : Copyright (c) 2015 [select VIEW...EDITOR OPTIONS] *
'*          : All Rights Reserved                               *
'*  Date    : 29/03/2015                                        *
'*  Version : 1.0                                               *
'*  Notes   :                                                   *
'*          :                                                   *
'****************************************************************
' Read text from a Toshiba graphic LCD
  'Device 16F877A
 Device 18F4550
 LCD_TYPE = TOSHIBA                   ' Use a Toshiba T6963 graphic LCD
 XTAL = 20
 '
 ' LCD interface pin assignments
 '

 
  LCD_DTPORT = PORTD                             ' LCD’s Data port
  LCD_WRPIN  = PORTC.0
  LCD_RDPIN  = PORTC.1 
  LCD_CEPIN  = PORTC.2                            ' LCD’s CE line
  LCD_CDPIN  = PORTC.3                            ' LCD’s CD line
  LCD_RSTPIN = PORTC.4                           ' LCD’s RESET line (Optional)
 '
 '
 ' LCD characteristics
 '
' LCD_X_RES = 128                       ' LCD's X Resolution
' LCD_Y_RES = 64                        ' LCD's Y Resolution
' LCD_FONT_WIDTH = 8                    ' The width of the LCD’s font
 
 LCD_TEXT_PAGES = 2                             ' Choose two text pages
 LCD_RAM_SIZE = 20480'8192                            ' Amount of RAM the LCD contains
 LCD_X_RES = 160                                ' LCD’s X Resolution
 LCD_Y_RES = 128                            ' LCD’s Y Resolution
 LCD_FONT_WIDTH = 8                            ' The width of the LCD’s font
 LCD_TEXT_HOME_ADDRESS = 0                      ' Ensure that text RAM starts at address 0
 

 Dim CHARPOS As Byte                   ' The X position of the read
 Dim CHAR As Byte                      ' The byte read from the LCD

 DelayMS 200                           ' Wait for things to stabilise
 ALL_DIGITAL = True                    ' PORTA and PORTE to digital mode
 Cls
 Low PORTE.2 
 Cls                                 
 Print At 0,0," THIS IS FOR COPYING"   ' Display some text on the top line of the LCD
 
 For CHARPOS = 0 To 20                 ' Create a loop of 21 cycles
 CHAR = LCDRead TEXT 0,CHARPOS         ' Read the top line of the LCD
 Print At 6,CHARPOS,CHAR               ' Print the byte read on the second line
 DelayMS 100                           ' A small delay so we can see things happen
 Next
 High PORTE.2
 'Cls                                 ' Close the loop
 Stop


/code]'

Cuando lo programo con el 16F877A ('Device 16F877A ) funciona bien. pero cuando lo programo con el 18F4550 (Device 18F4550) no sale nada en pantalla.

No se si antes se tiene que configurar algo... No se!!

Título: Re: Migración del PIC 16F877A al 18F4550
Publicado por: Noelillo en 31 de Marzo de 2015, 18:24:14
He probado poner todas las salidas a 1 y portc.6, 5, 4 y 3 no ilumina los led.

Como me toca los co..nes...

Título: Re: Migración del PIC 16F877A al 18F4550
Publicado por: KILLERJC en 31 de Marzo de 2015, 18:40:18
Yo no uso basic sino te ayudaria.
Título: Re: Migración del PIC 16F877A al 18F4550
Publicado por: PalitroqueZ en 31 de Marzo de 2015, 19:20:29
Noelillo debes buscar en la ayuda del compilador la configuración del bloque oscilador de los 18F, porque no basta con solo asignar la frecuencia del cristal, hay que configurar la frecuencia del CPU del micro.

Título: Re: Migración del PIC 16F877A al 18F4550
Publicado por: Noelillo en 08 de Abril de 2015, 15:49:25
He buscado lo de configuracion de bloque y no encuentro nada. Estoy utilizando el PROTON.
voy a buscar ejemplos en Basic Proton que utilices el 18F4550.
 
Título: Re: Migración del PIC 16F877A al 18F4550
Publicado por: Noelillo en 09 de Abril de 2015, 16:01:44
Imposible hacer que se ilumine los led conectados en los puertos Portc 6,5,4 y 3.

Q tienen de especiales estos pines?

Declare onboard_usb = 0 ,es  para no usar el puerto USB?

Para que coño vale poner Device 18f4550 si cada vez que cambias un nuevo pic tienes unos problemas de cojones...

Se puede ampliar la memoria del 16F877A?

Para que coño me dio por pasar, de encender y apagar led a pantallas graficas y M pap.
 :oops: :oops: :oops: :oops:

Título: Re: Migración del PIC 16F877A al 18F4550
Publicado por: PalitroqueZ en 09 de Abril de 2015, 22:41:50
Imposible hacer que se ilumine los led conectados en los puertos Portc 6,5,4 y 3.

Q tienen de especiales estos pines?

....

(http://www.todopic.com.ar/foros/index.php?action=dlattach;topic=15208.0;attach=5323)
(http://www.todopic.com.ar/foros/index.php?action=dlattach;topic=15208.0;attach=5325)

http://www.todopic.com.ar/foros/index.php?topic=15208.msg95575#msg95575
Título: Re: Migración del PIC 16F877A al 18F4550
Publicado por: Noelillo en 10 de Abril de 2015, 19:18:00
Citar
otro detalle, leyendo la configuración del portc, me encuentro con que no existe RC3 y eso no es todo, RC4 y RC5 solo funcionan como entrada digital, parece que es el precio a pagar por implementar nuevos modulos(ver pag 119)

Zu Put_ Madre... El proyecto que estoy haciendo, tengo una pantalla GLCD y esta conectada al Puerto C, por eso no funciona...

Tendre que cambiar de puerto... :(

Muchas Gracias por la informacion ((:-))
Título: Re: Migración del PIC 16F877A al 18F4550
Publicado por: Noelillo en 12 de Abril de 2015, 04:42:13
Ya esta arreglado...