Sistemas con Microprocesador.
Enviado por Sandra75 • 24 de Enero de 2018 • 4.246 Palabras (17 Páginas) • 295 Visitas
...
G1
C/T1
T1M1
T1M0
G0
C/T0
T0M1
T0M0
G1= Gate 1, 0= activación por software, 1= activación por hardware
C/T1= Temporizador= 0, contador=1
T1M1= Se usa junto con T1M0 para configurar el código, este es el bit mayor
T1M0= Se usa junto con T1M1, es el bit menor
00= Modo 0
01= Modo 1
10= Modo 2
11= Modo 3
G0= Gate 0, lo mismo pero para el timer 0
C/T0= Igual que C/T1 pero para timer 0
T0M1= Igual que T1M1 pero para timer 0
T0M0= Igual que T1M0 pero para timer 0
2.3. Prioridad en las interrupciones
Se le puede asignar prioridad a las interrupciones que se están utilizando en el programa, esto se hace a través de una combinación de 2 bits entre dos registros, IP, IPH para asignar prioridad a los bits del registro IE, y IP2, IP2H para asignar prioridad a los bits del registro IE2.
IP(Interrupt Priority Register)
IP0D
PC
PT2
PS
PT1
PX1
PT0
PX0
IPH(Interrupt Priority High Register)
IP1D
PCH
PT2H
PSH
PT1H
PX1H
PT0H
PX0H
Ej. para la configuración de prioridad para interrupción externa 0(EX0)
PX0H
PX0
Prioridad
0
0
0 (Menor prioridad)
0
1
1
1
0
2
1
1
3 (Mayor prioridad)
Si tienen la misma prioridad, se ejecutan en el orden que están los bits en la tabla.
2.4. Pasos para el proceso de interrupción
1. Definir/declarar la función de interrupción.Para utilizar una función de interrupción se debe declarar una función que tiene el siguiente formato:
void identificador(void) interrupt #int
Donde:
identificador.- Es un nombre dado por el usuario a la función.
interrupt.- Es una palabra reservada que utiliza μVision para las interrupciones.
#int,- es el número correspondiente a esa interrupción que representa una dirección, correspondiente a las siguientes tablas:[pic 6]donde cada dirección corresponde a un numero de interrupción(#int).
#int
dirección
0
0003h
1
000Bh
2
0013H
3
001BH
4
0023H
5
002BH
6
0033H
7
003BH
8
0043H
9
004BH
10
0053H
11
005BH
2. Configurar la interrupción Se asignan las instrucciones que va a realizar la interrupción una vez activada.
3. Habilitar y dar prioridad a la interrupción Este paso se refiere a la asignación de bits a los registros de habilitación y de TCON para decidir como será la activación de la interrupción. También se configuran los registros de prioridad PX0H, PX0 aunque este paso no es totalmente necesario.
3. Desarrollo Práctico
3.1. Configuración inicial de puerto
El primer paso que se tiene que realizar es la configuración de los puertos como entradas o salidas así como la declaración de las interrupciones que se quieren utilizar y la forma en la que van a trabajar.
Tabla 10-2. Modos de configuración para Port x, Bit y
PxM0.y
PxM1.y
Modo de puerto
0
0
Quasi-bidireccional
0
1
...