Guía de Prácticas

Anuncio
UNIVERSIDAD DE OVIEDO
Departamento de Ingeniería Eléctrica,
Electrónica, de Computadores y Sistemas
Guía de Prácticas
ASIGNATURA:
CENTRO:
ESTUDIOS:
CURSO:
CARÁCTER:
PROFESORADO:
Informática Industrial y Comunicaciones
Escuela Politécnica de Ingeniería de Gijón
Grado en Ingeniería Electrónica y Automática
3º
CUATRIMESTRE: 1
Obligatoria
CRÉDITOS ECTS: 6
Ignacio Alvarez, José Mª Enguita
PRACTICA 09:
Control digital bajo interrupción
1. En el sistema de control de motor simulado, realizar el lazo de control mediante el servicio de
la interrupción del temporizador, de forma que el programa principal main() se pueda
quedar a la espera de los posibles comandos de teclado siguientes:
>> POS=POT (se desea que la referencia de posición sea obtenida del potenciómetro manual).
>> POS=valor_en_grados (se desea que la referencia de posición sea la indicada en valor,
independientemente del potenciómetro manual).
>> TENSION=valor_en_volt (se indica el valor de tensión a aplicar en control todo/nada).
2. Se realizará el control según el estado de los interruptores de la tabla siguiente
Bit peso
0
1
2
3
Selección
Arrancar y parar el control del motor
Gestión del problema de paso por 180° (ver figura anexa)
Realizar el desplazamiento por el camino más corto (ver
figura anexa)
Selección del modo de control
Estado 1
Arrancar
Gestionar
Gestionar
Estado 0
Parar (uk=0)
No gestionar
No gestionar
Todo/nada
R(z)
3. Instalación de rutina de servicio de interrupción (ISR):
void FuncionAEjecutar()
{
…
}
…
main()
{
…
EstablecerISRTemporizador(0,Tm_ms,FuncionAEjecutar);
…
}
4. Hay que determinar qué variables pueden seguir siendo locales (sólo accesibles a la función, se
crean y destruyen cada vez que se ejecuta la función), y cuales deben pasar a ser globales
(declaradas fuera de todas las funciones, accesibles por todas). Deberán ser globales:


Las variables a compartir entre la ISR y el programa principal.
Las variables que deben mantener su valor anterior cuando se vuelve a ejecutar la ISR.
Se comenzarán los nombres de las variables globales por _ para distinguirlas fácilmente y
evitar confusiones.
5. Recordar que las variables deben tener valores por defecto para utilizarlas antes de la
introducción del 1er comando.
Descargar