Enunciado 2C

Anuncio
Escuela Politécnica Superior de Elche
4º Ingeniería Industrial
23 de junio de 2008
EXAMEN DE SISTEMAS ELECTRÓNICOS Y AUTOMÁTICOS
2º Parte: Microcontroladores + Instrumentación
Nombre:
______________________________________________________________________
PROBLEMA 1 (3 puntos)
El contenido de la memoria de programa del PIC16F84A a
partir de la posición 0000h es el siguiente:
•
•
Deducid con ayuda del manual el programa allí
almacenado.
Explicad qué tarea realiza dicho programa. Para
ello, suponed que las líneas de PORTA están
conectadas a pulsadores y las líneas de PORTB a
diodos LED, de forma similar a como se muestra
en la figura 1. ¿Qué estado tendrán los diodos LED
de PORTB si (PORTA)=b'---00101' ?
Figura 1
1
PROBLEMA 2 (2 puntos)
Si el siguiente programa se ejecuta sobre un PIC16F84A con un reloj de 4MHz según el
esquema de la figura 1, ¿qué ocurrirá? ¿Existe algún error en el programa?
Justifica tu respuesta mediante la interpretación del programa, indicando que función realiza
cada instrucción o bloque de instrucciones (No se valorará la descripción de cada instrucción
por separado).
__CONFIG
_CP_OFF &
LIST
P=16F84A
INCLUDE <P16F84A.INC>
Contador
_WDT_ON & _PWRTE_ON & _XT_OSC
equ
0Ch
org
goto
0x00
Inicio
;Vector de Reset
org
goto
0x04
RSI
;Vector de interrupción
;*************** Rutina de servicio de interrupción
RSI
btfss
retfie
incf
movlw
movwf
bcf
bsf
retfie
INTCON,T0IF
Contador,f
d'138'
TMR0
INTCON,T0IF
INTCON,T0IE
;************** Programa principal
Inicio
bsf
movlw
movwf
clrf
bcf
clrf
clrf
STATUS,RP0
b'00000111'
OPTION_REG
TRISB
STATUS,RP0
PORTB
Contador
movlw
movwf
movlw
movwf
clrwdt
d'138'
TMR0
b'10100000'
INTCON
movf
xorlw
btfss
goto
clrf
btfss
goto
clrf
goto
Contador,W
d'10'
STATUS,Z
Bucle1
Contador
PORTB,0
Enciende
PORTB
Principal
movlw
movwf
goto
0xFF
PORTB
Principal
Principal
Bucle1
Enciende
end
2
TEST(2 puntos. Resp Correcta = 0.20 puntos. Resp Incorrecta = -0.20 puntos)
Indica si los siguientes enunciados son verdaderos (V ) o falsos (F):
1
Si el ancho de palabra de la celda de datos en un microcontrolador es de 32 bits, el
número positivo mayor que podemos almacenar es el 65535 puesto que el menor
es el 0.
2
Cuando se activa alguna fuente de interrupción en el PIC16F84A (INT, RBI, T0I,
EEI) el bit GIE del registro INTCON no es puesto a cero automáticamente, lo que
puede provocar la atención de dos o más interrupciones simultáneas.
3
En la familia PIC de gama media la pila tiene 8 niveles de memoria tipo FIFO (First
Input, First Output; primero en entrar, primero en salir).
4
La subrutina de servicio de interrupción finaliza con la instrucción RETURN que
retoma la dirección guardada en la pila y la coloca en el contador del programa
(PC) continuando el flujo de control con la instrucción que sigue a CALL.
5
Un procesador segmentado o Pipeline realiza simultáneamente la ejecución de una
instrucción y la búsqueda de código de la siguiente, de esta manera, se puede
ejecutar una instrucción en sólo dos ciclos máquina .
6
Al igual que los demás miembros de su familia, el PIC16F84 se caracteriza por:
su procesador es segmentado o Pipeline y tipo RISC, el formato de las
instrucciones es ortonormal y la arquitectura está basada en bancos de registros de
14 bits.
7
El registro de configuración (Configuration Word) dispone de 14 bits y se escribe en
él durante el proceso de grabación y no se puede modificar durante la ejecución del
programa. Ocupa la posición reservada de memoria de programa 2007h.
8
Los microcontroladores PIC de gama media disponen de un juego de 35
instrucciones de 8 bits .
9
En el PIC16F84A la memoria de datos se encuentra dividida en dos áreas:
•Área RAM constituida por 22 registros de funciones especiales (SFR) y 68 de
propósito general (GPR)
•Área EEPROM de datos formada por 64 registros
10
A los 4 bits menos significativos del registro STATUS se les suele denominar flags
o banderas y son los bits de acarreo (C), semiacarreo (DC), operación cero (Z) y
habilitación del sistema watchdog (PD).
PROBLEMA 4 (1 punto)
Una RTD de platino Pt100 se encuentra conectada a su acondicionador mediante dos cables
de cobre de 50 m de longitud. La resistencia del cable es de 0.298 Ω /m. Estimar el error a
22ºC que se produce en la medida de la temperatura.
La RTD de platino Pt100 tiene un coeficiente de temperatura
valor de 100 Ω.
α = 0.385%/ºC y a 0 ºC tiene un
3
PROBLEMA 5 (2 puntos)
Se dispone de un sensor resistivo de presión que se comporta de modo lineal, de acuerdo con
el siguiente gráfico:
R[Ω]
150
145
140
135
130
0
10
20
30
40
50
60
p[bar]
Este sensor se utiliza en un proceso industrial para medir la presión en una tubería, mediante
el circuito que se muestra en la figura inferior. El rango de presiones de funcionamiento normal
oscila entre 15 y 40 bares, y debe corresponder con tensiones de salida (V 0) en el rango 0V a
1,5V. Además, para evitar problemas de sobrecalentamiento, por el sensor no puede circular
una intensidad superior a 15,3 mA cuando las presiones se encuentren dentro del rango de
funcionamiento normal.
Si se produjese una avería, la presión alcanzaría 60 bares. Se desea que en estas
circunstancias se genere una señal de alarma (la señal “Alarma” del circuito debe activarse).
Se pide calcular el valor de las resistencias del circuito R1, R2 y R3.
+
+5V
RA
-
RB
-
5 kΩ
5 kΩ
R1
Vd
+5V
-
+
200 kΩ
R2
-
+
RC
Sensor
+
+
+
VO
+5V
R1
R3
-
Alarma
ON = “1”
OFF = “0”
2 kΩ
5 kΩ
5 kΩ
Tubería
4
EXAMEN DE PRÁCTICAS
Escribid un programa para el PIC16F84A, suponiendo que se ejecutará sobre
la tarjeta EasyPIC (F osc=8MHz), que realice la siguiente tarea:
Todos los bits del Puerto B producen destellos con una intermitencia de 2
segundos, esto es, todos los leds se encienden y se apagan en intervalos de 2
segundos. La temporización se realizará mediante la utilización del sistema
Timer0. El cálculo de la carga del TMR0 se hará de forma simple,
despreciando el tiempo que tardan en ejecutarse las instrucciones. Puedes
utilizar o no la interrupción asociada al sistema Timer0.
Como ayuda para realizar tu programa aquí tienes la siguiente plantilla:
__CONFIG
_CP_OFF & _WDT_OFF & _PWRTE_OFF & _HS_OSC
LIST
P=16F84A
INCLUDE <P16F84A.INC>
ORG
0
goto Inicio
ORG
5
Inicio
;Configuración de PORTB y del Timer0
Principal
;Programa principal
goto
Principal
; Subrutina de temporización
********************************************************************
END
5
Descargar