Pwm Srvo

Páginas: 5 (1129 palabras) Publicado: 9 de marzo de 2015
ServoMotor (TMR0 Como Temporizador)
Written by JD - Tronics on November 24, 2011. Posted in Hablando de PICs
Las interrupciones permiten a cualquier suceso interior o exterior interrumpir la ejecucion del programa principal en cualquier momento. En el momento de producirse la interrupcion, el PIC ejecuta un salto a la rutina de atencion a la interrupcion, previamente definida por el programador,donde se atendera a la demanda de la interrupcion. Cuando se termina de ejecutar dicha rutina, el PIC se retorna a la ejecucion del programa principal en la misma posicion de la memoria de programa donde se produjo la interrupcion.
El manejo de interrupciones permite realizar programas que no tienen que estar continuamente consultando sucesos internos o externos mediante tecnicas de consulta oPolling (hace referencia a una operación de consulta constante, generalmente hacia un dispositivo de hardware, para crear una actividad sincrónica sin el uso de interrupciones) las cuales provocan retardos o paradas en la ejecucion del programa principal….
Los Timer o temporizadores son modulos integrados en el PIC que permite realizar cuentas tanto de eventos internos como externos. Cuando lacuenta es interna se habla de temporizacion y cuando la cuenta es externa se habla de contador. Los timers estan intimamente ligados al uso de las interrupciones, pero no por ello se utilizan simpre de forma conjunta.
Interrupciones
Al producirse una interrupcion, el PIC salta automaticamente a la direccion del vector de interrupcion de la memoria del programa y ejecuta la porcion de programa,correspondiente a la atencion de la interrupcion, hasta encontrar la instruccion RETFIE. AL encontrar dicha instruccion, abandona la interrupcion y retorna a la posicion de memoria del programa principal desde la que salto al producirse la interrupcion. Las fuentes de interrupcion dependen del PIC utilizado.
Los PIC de gama baja y media tienen un unico vector de interrupcion situado en la direccion 04h deprograma, mientras que los de gama alta tienen dos vectores de interrupcion de distinta prioridad, alta y baja, situados en la posicion 08h y 18h de la memoria de programa.

Al poseer un unico vector de interrupcion (dos en la gama alta), el PIC posee unos registros de control donde mediante la utilizacion de banderas, o Flags, el usuario pude determinar que es lo que ha producido lainterrupcion; ademas, en estos registros, se pueden habilitar o no las distintas fuentes de interrupcion (mascaras de interrupcion) e, incluso, permite una habilitacion general.
Cuando la habilitacion general esta activa y algunas, o todas, la particulares tambien lo estan, los flags se activan en el caso de producirse algunas de las interrupciones, de tal manera que el programador puede, mediante el testeode dichos flags, actuar de la forma mas adecuada.
Interrupciones en C
En el compilador C, la directiva habitual en el manejo de las interrupcones es INT_xxx. Especifica que la funcion que le sigue es una funcion de interrupcion; ademas no necesita mas parametros. Existe una directiva INT_DEFAULT que implica que se utilizara la funcion que le acompaña si se activa una interrupcion y ningun de losflags esta activo. La directiva INT_GLOBAL implica que la funcion sustituye todas las acciones que inserta el compilador al aceptarse una interrupcion. Se ejecuta solamente lo escrito en dicha funcion. No se suele utilizar y si se hace debe hacerse con mucho cuidado.
Si se utilizan las directivas de interrupcion, el compilador genera el codigo necesario para ejecutar la funcion que sigue a ladirectiva. Ademas genera el codigo necesario para guardar al principio y restituir al final el contexto; tambien borrara el flag activo por la interrupcion.
El compilador C incluye funciones para el mejor manejo de las directivas de interrupcion: enable_interrupts(nivel); nivel es una constante definida e un fichero de cabecera y genera el codigo necesario para activar las mascaras correspondientes,...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • PWM
  • Pwm
  • que es pwm
  • Pwm Mikroc
  • Informe pwm
  • Ejemplo De Pwm
  • Control Por Pwm
  • Pwm Assembler

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS