TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: black_flowers en 04 de Septiembre de 2006, 20:03:34

Título: 16f84a.h
Publicado por: black_flowers en 04 de Septiembre de 2006, 20:03:34
alguien me puede pasar un link con el archivo 16f84a.h o uno compatible?
Es que estoy intentando compilar los ejemplos de esta pagina para el 16f84a y el picc no tiene los el .h por ningún sitio (ni el mplab tampoco).

un saludo. :-)
Título: Re: 16f84a.h
Publicado por: Rulo en 04 de Septiembre de 2006, 21:09:33
No se si es lo que quieres       :?

Código: [Seleccionar]
//////// Standard Header file for the PIC16F84A device ////////////////
#device PIC16F84A
#nolist
//////// Program memory: 1024x14  Data RAM: 68  Stack: 8
//////// I/O: 13   Analog Pins: 0
//////// Data EEPROM: 64
//////// C Scratch area: 0C   ID Location: 2000
//////// Fuses: LP,XT,HS,RC,NOWDT,WDT,NOPUT,PUT,PROTECT,NOPROTECT
////////
////////////////////////////////////////////////////////////////// I/O
// Discrete I/O Functions: SET_TRIS_x(), OUTPUT_x(), INPUT_x(),
//                         PORT_B_PULLUPS(), INPUT(),
//                         OUTPUT_LOW(), OUTPUT_HIGH(),
//                         OUTPUT_FLOAT(), OUTPUT_BIT()
// Constants used to identify pins in the above are:

#define PIN_A0  40
#define PIN_A1  41
#define PIN_A2  42
#define PIN_A3  43
#define PIN_A4  44

#define PIN_B0  48
#define PIN_B1  49
#define PIN_B2  50
#define PIN_B3  51
#define PIN_B4  52
#define PIN_B5  53
#define PIN_B6  54
#define PIN_B7  55

////////////////////////////////////////////////////////////////// Useful defines
#define FALSE 0
#define TRUE 1

#define BYTE int
#define BOOLEAN short int

#define getc getch
#define fgetc getch
#define getchar getch
#define putc putchar
#define fputc putchar
#define fgets gets
#define fputs puts

////////////////////////////////////////////////////////////////// Control
// Control Functions:  RESET_CPU(), SLEEP(), RESTART_CAUSE()
// Constants returned from RESTART_CAUSE() are:
#define WDT_FROM_SLEEP  3     
#define WDT_TIMEOUT     11   
#define MCLR_FROM_SLEEP 16   
#define MCLR_FROM_RUN   27   
#define NORMAL_POWER_UP 27   
#define BROWNOUT_RESTART 26   


////////////////////////////////////////////////////////////////// Timer 0
// Timer 0 (AKA RTCC)Functions: SETUP_COUNTERS() or SETUP_TIMER_0(),
//                              SET_TIMER0() or SET_RTCC(),
//                              GET_TIMER0() or GET_RTCC()
// Constants used for SETUP_TIMER_0() are:
#define RTCC_INTERNAL   0
#define RTCC_EXT_L_TO_H 32
#define RTCC_EXT_H_TO_L 48

#define RTCC_DIV_1      8
#define RTCC_DIV_2      0
#define RTCC_DIV_4      1
#define RTCC_DIV_8      2
#define RTCC_DIV_16     3
#define RTCC_DIV_32     4
#define RTCC_DIV_64     5
#define RTCC_DIV_128    6
#define RTCC_DIV_256    7


#define RTCC_8_BIT      0     

// Constants used for SETUP_COUNTERS() are the above
// constants for the 1st param and the following for
// the 2nd param:

////////////////////////////////////////////////////////////////// WDT
// Watch Dog Timer Functions: SETUP_WDT() or SETUP_COUNTERS() (see above)
//                            RESTART_WDT()
//
#define WDT_18MS        8   
#define WDT_36MS        9   
#define WDT_72MS       10   
#define WDT_144MS      11   
#define WDT_288MS      12   
#define WDT_576MS      13   
#define WDT_1152MS     14   
#define WDT_2304MS     15   

////////////////////////////////////////////////////////////////// INT
// Interrupt Functions: ENABLE_INTERRUPTS(), DISABLE_INTERRUPTS(),
//                      EXT_INT_EDGE()
//
// Constants used in EXT_INT_EDGE() are:
#define L_TO_H              0x40
#define H_TO_L                 0
// Constants used in ENABLE/DISABLE_INTERRUPTS() are:
#define GLOBAL                    0x0B80
#define INT_RTCC                  0x0B20
#define INT_RB                    0x0B08
#define INT_EXT                   0x0B10
#define INT_EEPROM                0x0B40
#define INT_TIMER0                0x0B20

#list
Título: Re: 16f84a.h
Publicado por: black_flowers en 05 de Septiembre de 2006, 17:51:21
sospecho que sí, gracias.    :-)
Título: Re: 16f84a.h
Publicado por: micro_pepe en 05 de Septiembre de 2006, 18:09:37
Hola, creo que ese archivo es del CCS, si no lo tienes es que lo habras borrado por error, instala de nuevo el CCS y lo solucionas, a lo mejor te falta algun archivo mas.

Saludos y suerte.
Título: Re: 16f84a.h
Publicado por: black_flowers en 05 de Septiembre de 2006, 18:16:09
pues no no era ese, he probado a compilar y me dá un error. Voy a probar a instalar el ccs, aunque el compilador que yo uso es el picc, y no me incluye dicho archivo.
Título: Re: 16f84a.h
Publicado por: jfh900 en 05 de Septiembre de 2006, 18:25:29
Si tienes la versión demo, no soporta ese pic. Esto es lo que pone sobre la versión demo:

Citar
Only the Microchip 14 bit PIC16F877, PIC16C544 and 16 bit PIC18F458 target devices may be specified.

Un saludo
Título: Re: 16f84a.h
Publicado por: Rulo en 05 de Septiembre de 2006, 18:27:34
 
     Pues si, el archivo es de CCS

 Sorry, entonces no se a que Pic c te referias, tal vez al de     HI-TECH  :?
Título: Re: 16f84a.h
Publicado por: black_flowers en 05 de Septiembre de 2006, 18:45:02
tengo ambos compiladores pero el que utilizo es el de hi-tec.
Lo que estoy haciendo es intentando compilar el ejemplo de los leds que viene en esta página y para ello he de adaptar algún código. Pero lo que me gustaría saber es si puedo utilizar el fichero pic16f84a.h (para incluír las definiciones de puertos etc.) con el compilador picc de hi-tec.

un saludo y gracias x vuestra ayuda!    :-)
Título: Re: 16f84a.h
Publicado por: vszener en 05 de Septiembre de 2006, 19:30:58
En ese aspecto e slo que hacen los compiladores incompatibles, no podras usar el archivo de definiciones de un pic del compilador CCS con el compilador de Hi-Tech ni viceversa, para ello tendrás que adaptar también el archivo de definiciones del pic a usar.....aunque me parece raro que el Hi-Tech no lo tenga de serie, eso sí, no lo busques con el mismo nombre que le dá la gente del CCS.


Suerte!!! :wink:
Título: Re: 16f84a.h
Publicado por: black_flowers en 06 de Septiembre de 2006, 17:32:23
pues no lo he encontrado, ni siquiera he encontrado uno que fuese compatible (por lo menos aparentemente, por el nombre), ya que ni los genericos por ejemplo: 16f7x.h ninguno parece ser compatible con el 16f84 ni 16f84a a pesar de ser uno de los más populares.

Alguien me podría proporcionar dicho archivo o sabríais decirme si es compatible con alguno de estos? 16f81x 16f74

sl2.    :-)
Título: Re: 16f84a.h
Publicado por: vszener en 07 de Septiembre de 2006, 06:56:51
Me parece que estamos liando el cotarro, antes que nada, ¿qué compilador usas?


Suerte!!! :wink:
Título: Re: 16f84a.h
Publicado por: black_flowers en 07 de Septiembre de 2006, 17:39:24
uso hi-tec y necesito el archivo .h que define los puertos (y todo lo demas) para el pic16f84a. :-)
Título: Re: 16f84a.h
Publicado por: vszener en 09 de Septiembre de 2006, 09:11:57
Buenas!!! En la carpeta 'include' que se crea cuando instalas tu compilador, normalmente en esta ruta:
C:\Archivos de programa\HI-TECH Software\PICC-Lite\9.50\include
Están todos los dispositivos a usar, entre ellos lo que tú necesitas, te adjunto las librerias pic1684.h, la pic168xa y la pic.h

PD: Si te vuelve a pasar que pierdes las librerias, reinstala tú compilador picc-lite (http://www.htsoft.com/products/PICClite.php) de hi-tech (http://www.htsoft.com/)


Suerte!!! :wink:
Título: Re: 16f84a.h
Publicado por: black_flowers en 09 de Septiembre de 2006, 16:24:51
Muchas gracias :-)