TODOPIC
Microcontroladores PIC => Primeros pasos - Iniciación a los microcontroladores => Mensaje iniciado por: eldelaesquina en 30 de Mayo de 2013, 14:28:05
-
Hola.
Vuelvo otra vez a la carga por si alguien me puede echar una mano.
Estoy simulando un circuito en ISIS y observando los valores del proceso en la ventana Watch Window y veo que del conteo que se va produciendo al meter una señal de pulso desde un generador externo a través del pin CCP1 y controlado por el temporizador TMR1 con oscilador también externo, el campo CCPR1 WORD que contiene a CCPR1H y CCPR1L y en ese orden, me aparece en la ventana que el valor lo ha metido al revés y como es lógico el valor decimal no es el que realmente tiene que ser, en este caso está fuera de rango de los 16 bits. Sin embargo veo mas abajo, según el volcado de esta pantalla, que en los campos de TMR1 WORD no ocurre esto sino que se reflejan de forma y orden correcto y su valor en decimal es 26439, con lo cual al ser bytes en donde no se interviene desde el programa, posiblemente no se llegue a cumplir el momento en que los dos valores tienen que ser iguales.
Estoy utilizando el PIC16F887, aunque no tiene nada que ver el pic que se utilice.
Volcado del watch window.
PORTB 0b00000000
TRISB 0b00000000
ANSEL 0b00000011
ANSELH 0b00000000
PORTA 0b00000000
TRISA 0b00000011
PIE1 0b00000100
TMR1IE 0
TMR2IE 0
CCP1IE 1
SSPIE 0
TXIE 0
RCIE 0
ADIE 0
PIR1 0b00000100
TMR1IF 0
TMR2IF 0
CCP1IF 1
SSPIF 0
TXIF 0
RCIF 0
ADIF 0
CCP1CON 0b00000101
CCP1Mx 5
DC1Bx 0
P1Mx 0
CCPR1 (WORD) 71 103 *
CCPR1H 0b01100111
CCPR1L 0b01000111
T1CON 0b00000011
TMR1ON 1
TMR1CS 1
T1SYNC 0
T1OSCEN 0
T1CKPSx 0
TMR1GE 0
T1GINV 0
TMR1 (WORD) 26439 **
TMR1H 0b01100111
TMR1L 0b01000111
PORTB 0b00000000
Si alguien me puede aclarar algo se lo agradecería ya que no sé si algo está funcionando o no.
Gracias.