Professional Documents
Culture Documents
RESPUESTA
El dsPIC30F4013 tiene 5 mdulos de temporizador de 16 bits. Cada mdulo contiene
Los siguientes registrs:
Cada mdulo temporizador tambin tiene tambin los bits asociados para el control de
interrupcin
Que utilizaremos ms adelante en la seccin de interrupcin y stos son:
TxIE: bit de control de habilitacin de interrupcin,
TxIF - bit de estado de indicador de interrupcin,
TxIP <2: 0> - tres bits de control de prioridad de interrupcin (en la interrupcin
Registrar IPCx).
TCS (TxCON <1>): Bit de control de la fuente del reloj del temporizador
TSYNC (T1CON <2>): Bit de control del temporizador SYNChronizatio (Tipo A Base
de tiempo solamente)
TGATE (TxCON <6>): Bit de control del temporizador GATE
Los temporizadores estn activados o desactivados mediante el control TON (TxCON
<15>)
Observe tambin que SOLAMENTE la base de tiempo de tipo A (Temporizador 1)
trabaja en Modo de reloj asncrono.
6.
Se generar una seal de onda cuadrada de 1 KHz en el pin RF0 de PORTD del
dsPIC30F4013 con reloj de 120 MHz. Utilizar el Temporizador1 (tipo A) para generar
esta seal.
Calcular los valores de PR1 y TCKPS
Solucin
T = 1 / f = 1/1000 = 1 mS Tiempo de retardo = T / 2 = 0,5 mS
R2
10k
U1
1 40
MCLR AVDD
2 39
RB0 AVss
3 38
RB1 RB9
4 37 1 ms
RB2 RB10
5 36
RB3 RB11
6 35
RB4 RB12
7 34
RB5 RD0
8 33
RB6 RD1
9 32
RB7 VDD
10 31
RB8 VSS
11 30
VDD RF0
12 29
VSS RF1
13 28
OSC1/CLKI RF4
14
OSC2/RC15 RF5
27 D1
15 26 LED
RC13 RF2/RX
16 25
RC14 RF3/TX
17 24
INT0/RA11 RF6
18
INT2/RD9 INT1/RD8
23 R1
19 22 10k
RD3 RD2
20 21
VSS VDD
DPIC30F4011
7.
Escribir una secuencia de instrucciones para configurar el temporizador para generar la
onda cuadrada del ejemplo 06
Solucin
TRISFbits.TRISF0 = 0; // Configurar el puerto RE0 para que se emita
PR1 = 15151; // establecer PR1 para 0,5 mS
T1CONbits.TSIDL = 0; // apagado en modo inactivo
T1CONbits.TCS = 0; // utilizar reloj interno Tcy
T1CONbits.TCKPS = 0; // prescalar 1: 1
T1CONbits.TGATE = 0; // sin operacin cerrada
T1CONbits.TON = 1; // encender el temporizador
8. Problema:
Repita los dos ejemplos anteriores( 6 y 7) para una aplicacin para genenrar una onda
cuadrada con frecuencia 8 KHz
while(1) {
PORTEbits.RE0 = 1;
IFS0bits.T1IF = 0; // limpiar timer1 flag
While (! IFS0bits.T1IF) // espera mientras el temporizador1 no ha terminado
;
PORTEbits.RE0 = 0;
IFS0bits.T1IF = 0; // limpiar timer1 flag
While (! IFS0bits.T1IF) // espera mientras el temporizador1 no ha terminado
}
}