Autor Tema: ¿Como configurar oscilador interno en c18?  (Leído 3514 veces)

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

Desconectado teleko

  • PIC10
  • *
  • Mensajes: 41
¿Como configurar oscilador interno en c18?
« en: 04 de Abril de 2008, 10:08:19 »
Hola,

Tengo una duda de como configurar el oscilador interno de mi pic, un 18F2580, para usar el oscilador interno.

Si alguien tiene experiencia y me puede guiar...  :-)

Lo que más me interesa son 2 cuestiones en concreto:

-El código que hay que poner para configurar los bits de configuración. ¿Sería algo como esto?

Código: [Seleccionar]
#pragma config OSC = IRCIO67,FCMEN = OFF,IESO = OFF //CONFIG1H
-¿Como se selecciona la frecuencia, que rango se puede usar?

Desconectado MLO__

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 4581
Re: ¿Como configurar oscilador interno en c18?
« Respuesta #1 en: 04 de Abril de 2008, 11:35:13 »
Si es C18 la configuracion de los config se hace de la siguiente manera:

Código: [Seleccionar]
#include <p18f452.h>
#include <timers.h>

#pragma config OSC = XT
#pragma config OSCS = ON
#pragma config PWRT = ON
....etc

Para cada config va una definicion de #pragma config ....

Los config de los demas pics estan la carpeta doc del mcc18, se llama MPLAB-C18-Addendum.pdf, en la version 2.40 (es la que yo tengo). Busca ahi la referencia del pic que te interesa y lo anades al codigo de tu programa.

No puedo anexar el archivo, ya que pesa mas de 2MB!!!!, pero escribo los config del oscilador:

Código: [Seleccionar]
OSC = LP: LP
OSC = XT: XT
OSC = HS: HS
OSC = RC: External RC with OSC2 as divide by 4 clock out
OSC = EC: EC with OSC2 as divide by 4 clock out
OSC = ECIO: EC with OSC2 as RA6
OSC = HSPLL: HS with HW enabled 4xPLL
OSC = RCIO: External RC with OSC2 as RA6
OSC = IRCIO67: Internal RC with OSC2 as RA6 and OSC1 as RA7
OSC = IRCIO7: Internal RC with OSC1 as RA7and OSC2 as divide by 4 clock out
OSC = ERC1: External RC with OSC2 as divide by 4 clock out
OSC = ERC: External RC with OSC2 as divide by 4 clock out

El IRCIO67 configura el oscilador interno y deja OSC1 y OSC2 como pines de trabajo normal y el IRCIO7 deja al OSC1 como pin normal y OSC2 como salida de un clock. Luego hay que configurar el registro interno de calibracion, en C18 existe la ventaja qe ya esta direccionado, es decir, basta con escribir OSCCAL = xxx y ya. No se como se llama el registro de calibracion el ese pic18, buscalo en el datasheet del pic, ahi estaran los valores a los cuales trabaja y el nombre del registro, es solo cuestion de asignarle un numero.

Ojala te sirva mi ayuda.

Chao
El papel lo aguanta todo


 

anything