Examen micros t1_06_solucion
Click here to load reader
description
Transcript of Examen micros t1_06_solucion
![Page 1: Examen micros t1_06_solucion](https://reader038.fdocuments.co/reader038/viewer/2022100605/559b4fea1a28ab2c448b459c/html5/thumbnails/1.jpg)
ESPOL – FIECMICROCONTROLADORES: Parcial sobre 50 puntos.Fecha: Julio 8 del 2006.
Nombre: _________________________________Paralelo: ____________
Por favor en los temas de respuesta múltiple marque con un círculo la alternativa correcta. En los demás temas escriba su respuesta en los espacios señalados.No usar celulares y calculadoras. Prohibido levantar su hoja de trabajo o permitir que otra persona la mire.
Tema 1 (2 PUNTOS)Si ejecutó la siguiente línea de código: SUBLW 8, dado que w= 3, cual de las alternativas es la correcta.
a) Resto 3-8 y el resultado se guarda en W.b) Las banderas C= 0 y Z= 0.c) Resto 8-3 y la bandera C= 0 y Z=0.d) Resto 8-3 y y el resultado se guarda en W.
Tema 2 (2 PUNTOS)De las siguientes líneas de código que afirmación es correcta:
clrf PORTBbsf STATUS,5movlw b'11111101'movwf TRISBmovlw b'01000000'movwf OPTION_REG bcf STATUS,5clrf cntmovlw b'10010000'movwf INTCON
lazo1 sleepgoto lazo1
a) El pic se pone en estado de bajo consumo y solamente despierta por transiciones en el puerto B y el temporizador no cuenta.
b) El pic se pone en estado de bajo consumo y mientras el TMR0 incrementa.c) El pic se pone en estado de bajo consumo y solamente despierta por activación en
RB0 con flanco negativo mientras el temporizador no cuenta.d) El pic se pone en estado de bajo consumo y solamente despierta por activación
en RB0 con flanco positivo mientras el temporizador no cuenta.
![Page 2: Examen micros t1_06_solucion](https://reader038.fdocuments.co/reader038/viewer/2022100605/559b4fea1a28ab2c448b459c/html5/thumbnails/2.jpg)
Tema 3 (2 PUNTOS)Dadas las siguientes líneas de código que ocurre:
bsf STATUS, 5movlw 3movwf TRISAmovlw 6movwf TRISBmovwf PORTAclrf INTCON
a) TRISA=3, TRISB=3b) TRISA=5, TRISB=9c) TRISA=6, TRISB=6 d) NINGUNA DE LAS ANTERIORES.
Tema 4 (2 PUNTOS)El registro TMR0 puede ser incrementado y producir un desbordamiento del TMR0 por:
a) Transiciones de bajo a alto o alto a bajo en el pin RA4. b) Transiciones con flanco negativo en el pin RBO.c) Transiciones de bajo a alto o alto a bajo en el pin RB4 y por el ciclo de instrucción
del reloj.d) Cambios en el puerto B <RB4:RB7>.
Tema 5 (2 PUNTOS)Al final de las siguientes líneas de código que afirmación es verdadera:
; Declaración en la memoria de datosCNT_1 equ 22hCNT_2 equ 23h
org 0movlw d’15’movwf CNT_1movlw d’10’movwf CNT_2movlw 0x23 movwf FSR movf INDF,0subwf cnt1,0
a) Borran la memoria de programa desde la dirección 22 hasta la 23.b) El registro CNT_ 2 = CNT_1=W.c) El registro W=5. d) Ninguna de las anteriores
![Page 3: Examen micros t1_06_solucion](https://reader038.fdocuments.co/reader038/viewer/2022100605/559b4fea1a28ab2c448b459c/html5/thumbnails/3.jpg)
Tema 6 (8 PUNTOS)El siguiente programa implementa un contador BCD de un dígito (0 - 9), que avanza cada vez que generamos una interrupción externa en la patita RB0 mediante un pushbutton. Complete el diseño del contador.
CNT EQU 0CH ; CONTADORTEMP EQU 0DH ; VARIABLE TEMPORALCF EQU 01H ; BANDERA DE ACARREO
ORG 0GOTO INICIOORG __04 _ ____
ISR MOVWF TEMP ; GUARDA REGISTRO WINCF CNT, FMOVLW 0X0ASUBWF CNT, WBTFSS STATUS, CFGOTO __CFOFF___GOTO __CLEAR___
CFOFF BCF INTCON, INTFMOVF TEMP, W ; RECUPERA W_ RETFIE _
CLEAR CLRF CNTBCF INTCON, INTFRETFIE
;**********************************************************
; PROGRAMA PRINCIPALINICIO BSF INTCON, __7____
BSF INTCON, __4___BCF INTCON, __1_____BSF_ _STATUS,RP0_ ; configurar puertosMOVLW 0X01MOVWF TRISBMOVLW 0X10MOVWF TRISA__BCF_ _STATUS,RP0_ ; termina config de puertos
LAZO MOVF CNT, WMOVWF PORTAGOTO LAZOEND
;************************************************************
![Page 4: Examen micros t1_06_solucion](https://reader038.fdocuments.co/reader038/viewer/2022100605/559b4fea1a28ab2c448b459c/html5/thumbnails/4.jpg)
Tema 7 (8 PUNTOS)El siguiente programa escribe datos en la memoria RAM de propósito general. Llene el cuadro dado con el contenido HEXADECIMAL de las localidades de memoria RAM de propósito general (File Registers) afectadas por el programa.
; VARIABLESVAR1 EQU 0CH
CBLOCK 0X0DContador_RAMENDC
; CONSTANTESnumero_loc_RAM EQU 20H
; ZONA DE CODIGOSORG 0
INICIO CLRF VAR1MOVLW numero_loc_RAMMOVWF Contador_RAMMOVLW Contador_RAM+1MOVWF FSR
Escribir_var1 INCF VAR1, FMOVF VAR1, WMOVWF INDFINCF FSR,FDECFSZ Contador_RAMGOTO Escribir_var1
dormir SLEEPGOTO dormirEND; Fin del programa fuente.
Dirección 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F0000 X X X X X X X X X X X X 20 0 1 20010 3 4 5 6 7 8 9 A B C D E F 10 11 120020 13 14 15 16 17 18 19 1A 1B 1C 1D 1E 1F 200030
0040
Tema 8 (8 PUNTOS)Asuma el Preescalor 1:256 para el TMR0 previamente almacenado en el OPTION_REG. Para un reloj de 10 MHz, implemente una semilla de 20 mseg. Verificando el desborde del TMR0 mediante su bandera TOIF. Tomando como base la semilla defina el contenido de la variable DELAY que debe cargarse al inicio de DELAY2 (rutina de dos segundos) para lograr un retardo total de 2 segundos.
DELAY EQU 0x0D
DELAY2 _MOVLW_ _.100__ ; defina retardo de 2 seg
![Page 5: Examen micros t1_06_solucion](https://reader038.fdocuments.co/reader038/viewer/2022100605/559b4fea1a28ab2c448b459c/html5/thumbnails/5.jpg)
MOVWF DELAYLOOP0 _MOVLW_ __.61___ ; defina semilla de 20 mseg
MOVWF TMR0BCF INTCON, T0IF
LOOP1 __BTFSS_ _INTCON,TOIF_ ; Se ha desbordado el TMR0?GOTO LOOP1 ; Han transcurrido los 20 mseg?DECFSZ DELAY, F ; SiGOTO LOOP0 ; Ha transcurrido los 2 segRETURN ; Si
**********************************************************************
Tema 9 (8 PUNTOS)
Al ingresar al lazo infinito fin el valor de la variable VAR1 es:a) 40H b) C3H c) 49H d) C1H
**********************************************************************Tema 10 (8 PUNTOS)Considere el siguiente programa:
INICIO BSF STATUS, RP0CLRF TRISBMOVLW 0x1FMOVWF TRISABCF STATUS, RP0MOVF PORTA, WANDLW 0x07,WADDLW 0x02,WCALL TABLAMOVWF PORTB
AQUI GOTO AQUITABLA ADDWF PCL, F
DT 0x0A, 0x09, 0x23, 0x0F, 0x20, 0x07, 0x17, 0x3FEND
Si RA2 RA1 RA0 = 010 el contenido del latch PORTB es:
a) 0x23 b) 0x20 c) 0x3F d) 0x07
***********************************************************************FORMULA TEMPORIZACION=4TOSC(256-VALOR)(PREESCALADOR)
TABLA ADDWF PCL, 1NOPGOTO SUB1GOTO SUB2
SUB2 RRF VAR1, 1RRF VAR1, 1RETLW 1
SUB1 RLF VAR1, 1RETURN
Considere el siguiente segmento de programa:
MOVLW 0x80MOVWF VAR1BSF STATUS, 0MOVLW 2CALL TABLABSF STATUS,0CALL TABLA
FIN GOTO FIN
![Page 6: Examen micros t1_06_solucion](https://reader038.fdocuments.co/reader038/viewer/2022100605/559b4fea1a28ab2c448b459c/html5/thumbnails/6.jpg)
MOVWF DELAYLOOP0 _MOVLW_ __.61___ ; defina semilla de 20 mseg
MOVWF TMR0BCF INTCON, T0IF
LOOP1 __BTFSS_ _INTCON,TOIF_ ; Se ha desbordado el TMR0?GOTO LOOP1 ; Han transcurrido los 20 mseg?DECFSZ DELAY, F ; SiGOTO LOOP0 ; Ha transcurrido los 2 segRETURN ; Si
**********************************************************************
Tema 9 (8 PUNTOS)
Al ingresar al lazo infinito fin el valor de la variable VAR1 es:a) 40H b) C3H c) 49H d) C1H
**********************************************************************Tema 10 (8 PUNTOS)Considere el siguiente programa:
INICIO BSF STATUS, RP0CLRF TRISBMOVLW 0x1FMOVWF TRISABCF STATUS, RP0MOVF PORTA, WANDLW 0x07,WADDLW 0x02,WCALL TABLAMOVWF PORTB
AQUI GOTO AQUITABLA ADDWF PCL, F
DT 0x0A, 0x09, 0x23, 0x0F, 0x20, 0x07, 0x17, 0x3FEND
Si RA2 RA1 RA0 = 010 el contenido del latch PORTB es:
a) 0x23 b) 0x20 c) 0x3F d) 0x07
***********************************************************************FORMULA TEMPORIZACION=4TOSC(256-VALOR)(PREESCALADOR)
TABLA ADDWF PCL, 1NOPGOTO SUB1GOTO SUB2
SUB2 RRF VAR1, 1RRF VAR1, 1RETLW 1
SUB1 RLF VAR1, 1RETURN
Considere el siguiente segmento de programa:
MOVLW 0x80MOVWF VAR1BSF STATUS, 0MOVLW 2CALL TABLABSF STATUS,0CALL TABLA
FIN GOTO FIN