Leccion3 y4

4
MICROCONTROLADORES: Lección 03 y 04 TIEMPO: 30 minutos. Llene la tabla de respuestas. Se prohíbe calculadoras y celulares Agosto 26 del 2010. Nombre: __________________________________________________________________Paralelo: ____ LECCION # 03 1. Los bits ADCS1 ADSC0 que permiten seleccionar una de cuatro opciones de reloj para el modulo ADC del PIC16F887 se encuentran: a. en registro ADCON1. b. en registro ADCON0. c. en registro INTCON. d. en registro PIE2. 2. La bandera TXIF=1 indica a. buffer del transmisor serial vacío. b. buffer del transmisor serial lleno. c. registro de desplazamiento del transmisor vacío. d. registro de desplazamiento del transmisor ocupado. 3. Considere la patita RC1/T1OSI/CCP2 que brinda tres funciones. Identifique la opción verdadera: a. con TMR1 es entrada de pulsos del cristal externo. b. con CCP2 no utiliza RC1. c. con TMR1 es salida de pulsos del cristal externo. d. con CCP1 es configurable acorde con modo de funcionamiento. 4. En el módulo transmisor del EUSART el señalizador TRMT=1 indica: a. que el buffer del transmisor esta vacío. b. que el buffer del transmisor esta lleno. c. que el registro de desplazamiento del transmisor esta lleno. d. que el registro de desplazamiento del transmisor esta vacío. 5. Con el ADC se sabe que TAD es el tiempo de conversión de un bit. Desde el momento de emitir el pulso de inicio de conversión, la conversión completa de 10 bits demanda: a. 12 TAD. b. 11 TAD c. 10 TAD d. 4 us 6. El TMR2 se configura con pre-escalador=16, post-escalador=4, PR2=64H. Se habilita su sistema de interrupciones. El PIC16F887 funciona con un cristal de 4 MHz, entonces si el TMR2 arranca con valor cero, genera una interrupción: a. cada 16.3 mseg. b. cada 64.0 mseg. c. cada 4.08 mseg. d. cada 6.4 ms. 7. En el protocolo I2C (asuma que el pulso de reconocimiento es ACK=0) si un esclavo no está dispuesto a recibir más bytes entonces: a. pone la línea SDA a 1 durante el noveno pulso SCL y maestro genera la condición de parada. b. pone la línea SDA a 0 durante el noveno pulso SCL y maestro genera la condición de parada. c. pone la línea SDA a 1 durante el noveno pulso SCL y esclavo genera la condición de parada. d. pone la línea SDA a 0 durante el noveno pulso SCL y esclavo genera la condición de parada.

description

ESPOL

Transcript of Leccion3 y4

Page 1: Leccion3 y4

MICROCONTROLADORES: Lección 03 y 04

TIEMPO: 30 minutos.

Llene la tabla de respuestas. Se prohíbe calculadoras y celulares

Agosto 26 del 2010.

Nombre: __________________________________________________________________Paralelo: ____

LECCION # 03

1. Los bits ADCS1 ADSC0 que permiten seleccionar una de cuatro opciones de reloj para

el modulo ADC del PIC16F887 se encuentran:

a. en registro ADCON1.

b. en registro ADCON0.

c. en registro INTCON.

d. en registro PIE2.

2. La bandera TXIF=1 indica

a. buffer del transmisor serial vacío.

b. buffer del transmisor serial lleno.

c. registro de desplazamiento del transmisor vacío.

d. registro de desplazamiento del transmisor ocupado.

3. Considere la patita RC1/T1OSI/CCP2 que brinda tres funciones. Identifique la opción

verdadera:

a. con TMR1 es entrada de pulsos del cristal externo.

b. con CCP2 no utiliza RC1.

c. con TMR1 es salida de pulsos del cristal externo.

d. con CCP1 es configurable acorde con modo de funcionamiento.

4. En el módulo transmisor del EUSART el señalizador TRMT=1 indica:

a. que el buffer del transmisor esta vacío.

b. que el buffer del transmisor esta lleno.

c. que el registro de desplazamiento del transmisor esta lleno.

d. que el registro de desplazamiento del transmisor esta vacío.

5. Con el ADC se sabe que TAD es el tiempo de conversión de un bit. Desde el momento de

emitir el pulso de inicio de conversión, la conversión completa de 10 bits demanda:

a. 12 TAD.

b. 11 TAD

c. 10 TAD

d. 4 us

6. El TMR2 se configura con pre-escalador=16, post-escalador=4, PR2=64H. Se habilita su

sistema de interrupciones. El PIC16F887 funciona con un cristal de 4 MHz, entonces si el

TMR2 arranca con valor cero, genera una interrupción:

a. cada 16.3 mseg.

b. cada 64.0 mseg.

c. cada 4.08 mseg.

d. cada 6.4 ms.

7. En el protocolo I2C (asuma que el pulso de reconocimiento es ACK=0) si un esclavo no está

dispuesto a recibir más bytes entonces:

a. pone la línea SDA a 1 durante el noveno pulso SCL y maestro genera la condición de parada.

b. pone la línea SDA a 0 durante el noveno pulso SCL y maestro genera la condición de parada.

c. pone la línea SDA a 1 durante el noveno pulso SCL y esclavo genera la condición de parada.

d. pone la línea SDA a 0 durante el noveno pulso SCL y esclavo genera la condición de parada.

Page 2: Leccion3 y4

8. Considere la patita RC0/T1OSO/T1CKI que brinda tres funciones. Identifique la opción

verdadera:

a. con CCP1 esta patita se configura como salida digital.

b. con TMR1 es entrada de reloj externo incrementa con flanco positivo.

c. con TMR1 es entrada de pulsos del oscilador (cristal externo de TMR1) externo.

d. con CCP2 es configurable acorde con modo de funcionamiento.

9. S e configura CCP1 en modo captura para que responda a flanco positivo. Con cada flanco

positivo en RC2:

a. captura TMR1 en CCPR1H:CCPR1L.

b. captura TMR2 en CCPR1H:CCPR1L.

c. captura TMR1 en CCPR2H:CCPR2L.

d. captura TMR2 en CCPR2H:CCPR2L.

10. El PIC16F887 opera con un XTAL=20 MHz. La frecuencia necesaria para el

funcionamiento correcto del ADC es:

a. XTAL/2

b. XTAL/8

c. XTAL/32

d. 650 KHz

**************************************************************************************

LECCION # 04

11.- Considere el siguiente segmento de código: unsigned int cnt=10;

unsigned int valor=10;

while (cnt<10);

valor++;

--valor;

cnt=--valor;

while(1);

a) El valor final de cnt es 10

b) El valor final de cnt es 9

c) El valor final de cnt es 8

d) El valor final de cnt es 11

12.- Considere el siguiente segmento de programa e indique el valor que imprime: char test[7];

int x,y=0;

void main (void)

{ UART1_Init(9600);

for (x=2; x!=0x08; x<<=1)

intToStr(x,test);

UART1_Write_Text(test);

while(1);}

a) 2 b) 4 c) 8 d) 0

13.- Seleccione la alternativa correcta. La función LongToStr: a) convierte enteros de 64 bits a una cadena de caracteres, requiere de un buffer de al menos

64 caracteres.

b) convierte enteros de 32 bits a una cadena de caracteres, requiere de un buffer de al menos

12 caracteres.

c) convierte enteros de 16 bits a una cadena de caracteres, requiere de un buffer de al menos

7 caracteres.

d) convierte enteros de 16 bits a enteros de 32 bits, requiere de un buffer de al menos 7

caracteres.

Page 3: Leccion3 y4

14.- Considere el siguiente programa. Indique lo que imprime.

char test[7];

int x=20,y=50,m=10;

int *p1,*q1,*s1;

void main (void)

{ UART1_Init(9600);

p1=&x; q1=&y; s1=&m;

*s1=*p1+*q1;

intToStr (m, test);

UART1_Write_Text (test);

while(1);

a)20 b)50 c)70 d)10

15.- Al salir de lazo FOR el programa imprime:

char test[7];

int x=20, i=0,j;

void main (void)

{ UART1_Init(9600);

while(i < 10)

{ for(j=0;j<10;j++)

{ x=i*10+j;

intToStr(x,test);

i++;}

}

UART1_Write_Text(test);

while (1);

}

a) 22 b) 33 c) 99 d) 7

16.- Indique lo que imprime el siguiente programa:

char test[7];

int i=0;

void main (void)

{ UART1_Init(9600);

for(i=0;i<50;i++)

intToStr(i,test);

UART1_Write_Text(test);

while(1);

}

a)00 a 50 b)00 a 49 c)solo el 49 d)solo el 50

17.- Considere el siguiente programa, el valor final de var1 es: int cnt=0, var1=0;

int funcionx (void)

{ int var1=5;

var1<<=4;

return var1;

}

void main (void)

{ cnt=funcionx();

var1= cnt+funcionx();

while(1);

}

a)125 b)160 c) 80 c)20

Page 4: Leccion3 y4

18.- A la patita RC0 del PIC 16F887 se conecta un tren de pulsos. Considere el siguiente segmento

de código: int cnt=0;

void main (void)

{ while(1)

{ while(PORTC.B0);

while (!PORTC.B0);

cnt=100;}

}

a) Copia 100 en cnt con flanco negativo

b) Copia 100 en cnt con flanco positivo

c) Copia 100 en cnt con flanco negativo

d) Copia 100 en cnt con flanco positivo

19.- Considere el siguiente segmento de código:

unsigned char cnt=0;

unsigned int var1=0;

for ( cnt=123; cnt<133; cnt++)

var1+=10;

while(1); //El valor final de var1 cuando sale de lazo FOR es:

a)10 b) 100 c) 1000 c) 132

20.- Considere el siguiente segmento de código: unsigned char cnt=20;

Unsigned int var1=10;

do

{ var1++;

cnt--;

} while (cnt>10);

while (1); El valor final de var1 es:

a) 19 b)18 c)21 d)20

===========================================================================

TABLA DE RESPUESTAS

Marque con una X la alternativa correcta. Cada pregunta vale 1 punto

Preg a b c d

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20