You are on page 1of 8

U N I V E R S I D A D

D E
USMP - FIA

SAN MARTIN DE PORRES


EVALUACIN CURSO PROFESOR (ES) ESCUELA (S)

EXAMEN PARCIAL ARQUITECTURA DE COMPUTADORAS II SERGIO SALAS ARRIARN

SEM. ACADE. SECCIN DURACIN CICLO

2012 I 39H 120 min VIII

INGENIERA ELECTRNICA

Puede hacer uso de su cuaderno de clases, libros y apuntes. Apague su telfono celular. Cualquier intento de copia ser sancionado con la evaluacin de cero (0). Se permite el uso de calculadoras no programables. Pregunta 1.- Analice el siguiente programa:
var EQU 0x10 org 0x00 goto MAIN org 0x200 MAIN: clrf TRISD INICIO: movlw .12 movwf var incf var call ES_PAR_O_IMPAR nop goto FIN ES_PAR_O_IMPAR: btfss var,0 goto PAR goto IMPAR PAR: movlw 0x0F movwf LATD return IMPAR: movlw 0x01 movwf LATD return FIN: goto FIN END

Responda lo siguiente: a) Cunto es el tiempo total de duracin del programa desde la instruccin goto MAIN hasta goto FIN? (Asuma un cristal externo de 4MHz.) (1 punto) b) En qu direccin de la memoria de programa se encuentra almacenada la 1

instruccin goto FIN?

(1 punto)

Pregunta 2.- Indique cul es la funcin de los siguientes elementos en el mdulo LCD alfanumrico: (1 punto /0.25 puntos c/u) a) Memoria DDRAM: b) HD44780: c) Memoria CGRAM: d) Memoria CGROM:

Pregunta 3.- Indique dos diferencias entre el Timer 0 y el Timer 1 del microcontrolador PIC18F4550 (1 punto)

Pregunta 4.- Un sensor de dixido de carbono tiene una precisin de 10 ppm (partes por milln) y arroja 2mV por cada 10 ppm. Usted va a conectar el sensor a la entrada del convertidor analgico digital del PIC18F4550 que utiliza tensiones de referencia para su ADC de 5V y 0V. Es sumamente importante que el sistema digital a implementar mantenga la precisin de 10 ppm. Podr el ADC del PIC18F4550 ser usado para esta aplicacin? Obtenga la mnima resolucin necesaria del ADC y justifique su respuesta. (1 punto)

Pregunta 5.- Analice el siguiente programa basado en las interrupciones del TMR0 y del cambio de estado del Puerto B. Observe que la direccin de cada instruccin aparece comentada despus de la etiqueta INICIO.
org 0x00 goto MAIN org 0x08 goto RUT_PUERTOB

org 0x018 goto RUT_TMR0 org 0x20 MAIN: bsf RCON,IPEN ;PC= 0x20 bcf INTCON2,TMR0IP ;PC= 0x22 bsf INTCON2,RBIP ;PC= 0x24 bsf INTCON,RBIE;PC= 0x26 bsf INTCON,TMR0IE ;PC= 0x28 bsf INTCON,GIEL ;PC= 0x2A bsf INTCON,GIEH ;PC= 0x2C INICIO: movlw '0' ;PC=0x2E movwf 0x30,0 ;PC=0x30 addlw 0x04 ;PC=0x32 movwf 0x30,0 ;PC=0x34 incf 0x30,f,0 ;PC=0x36 goto INICIO ;PC=0x38 RUT_TMR0: btfss INTCON,TMR0IF ;PC=0x3C retfie ;PC=0x3E movlw .4 ;PC=0x40 nop ;PC=0x42 nop ;PC=0x44 bcf INTCON,TMR0IF ;PC=0x46 retfie ;PC=0x48 RUT_PUERTOB: btfss INTCON,RBIF ;PC=0x4A retfie ;PC=0x4C movlw .5 ;PC=0x4E nop ;PC=0x50 nop ;PC=0x52 bcf INTCON,RBIF ;PC=0x54 retfie ;PC=0x56 END

Responda las siguientes preguntas: a) Si el PC contiene el valor 0x34 y tanto las banderas TMR0IF como RBIF se ponen a nivel 1 lgico en simultneo Qu nuevo valor tomara el PC? Justifique (1 punto)

b) Si el PC se encuentra con el valor 0x24 y la bandera RBIF se pone a nivel 1 lgico Qu nuevo valor tomara el PC? Justifique (1 punto)

Pregunta 6.- Explique. Cul es la funcin de la pila del microcontrolador PIC18F4550? Cul es su ancho en bits y de cuntas direcciones se encuentra conformado? (1 punto) 3

Pregunta 7.- En la figura inferior se observa un pulso cuadrado conectado al pin de interrupcin externa RB0/INT0. Se ha diseado un programa que tiene como objetivo hallar el tiempo de duracin del pulso en nivel alto. Para esto, se habilita la interrupcin externa 0, de tal manera que sea sensible al flanco de subida y luego al de bajada. El programa sincroniza los eventos de interrupcin con el Timer 0. De esta forma, en la primera interrupcin se detect el valor de 10 y en la segunda el valor de 80 en el registro TMR0.

Se sabe que el PIC18F4550 se encuentra conectado a un cristal externo de 4MHz, El Timer 0 utiliza como reloj de entrada la seal generada por el cristal y su Prescaler se ha configurado en 256. Determine el tiempo de duracin del pulso (2 puntos)

Pregunta 8.- Analice el siguiente programa:


var EQU 0x10 cont EQU 0x11 aux EQU 0x12

org 0x00 goto MAIN org 0x20 ALFABETO: da "ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789@" org 0x100 INDICE: db 19,.25,.18,.9,.18,.4,.10,.5,.14,.31,.7,.6,.19,.5,.22,.23,.28,.3,.4,.25 org 0x700 MAIN: movlw HIGH MAIN movwf PCLATH lfsr FSR0,0x20 movlw UPPER INDICE movwf TBLPTRU movlw HIGH INDICE movwf TBLPTRH movlw LOW INDICE movwf TBLPTRL clrf cont INICIO: TBLRD*+; movf TABLAT,W movwf var movlw 0xFF subwf var,W btfsc STATUS,Z goto INICIO2 movf cont,W call TABLA subwf var,W movwf INDF0 incf FSR0L incf cont incf cont incf aux goto INICIO INICIO2: lfsr FSR0,0x40 lfsr FSR1,0x20 movlw HIGH ALFABETO movwf TBLPTRH MENSAJE: movlw LOW ALFABETO movwf TBLPTRL movf INDF1,W addwf TBLPTRL,f TBLRD* movf TABLAT,W movwf INDF0 incf FSR0L incf FSR1L decf aux,f btfsc STATUS,Z goto FIN goto MENSAJE FIN:

goto FIN TABLA: addwf PCL,F retlw 0x04 retlw 0x08 retlw 0x04 retlw 0x02 retlw 0x0A retlw 0x03 retlw 0x02 retlw 0x02 retlw 0x00 retlw 0x05 retlw 0x04 retlw 0x02 retlw 0x01 retlw 0x05 retlw 0x07 retlw 0x06 retlw 0x0E retlw 0x02 retlw 0x04 retlw 0x08 END

Responda las siguientes preguntas: a) Por qu es necesario hacer uso de estas dos instrucciones al inicio del programa?: 1. movlw HIGH MAIN 2. movwf PCLATH Qu pasara con el programa si no estuvieran estas instrucciones? (1 punto)

b) Cul es la secuencia de valores almacenados entre las direcciones 0x20 y 0x31 de la memoria de datos? (1 punto)

c) Cul es el mensaje en cdigo ASCII almacenado entre las direcciones 0x40 y 0x51 de la memoria de datos? (2 puntos)

Pregunta 9.- En el siguiente programa se tiene la rutina de conversin analgica digital justificada a la izquierda. Complete la rutina ANALIZA para que se active una alarma conectada al pin RB0 (con el nivel 1 lgico) si el valor de la muestra es mayor a .680 (valor decimal). En caso contrario el pin RB0 se debe mantener en nivel 0 lgico, de tal manera que se desactive la alarma. (4 puntos)
parte_alta EQU 0x10

parte_baja EQU 0x20 org 0x00 goto MAIN org 0x08 retfie org 0x18 retfie MAIN: clrf LATD clrf TRISD clrf TRISB movlw 0xFF movwf TRISA movlw 0x0E movwf ADCON1 ;Solo AN0 opera como entrada analgica movlw .0 movwf ADCON0 ;Se selecciona AN0 como entrada analgica movlw 0x14 ;Tiempo de adquisicin = 4TAD. FOSC/4 movwf ADCON2 bsf ADCON0,ADON MUESTREO: bsf ADCON0,GO ESPERA: btfsc ADCON0,GO goto ESPERA movf ADRESH,W movwf LATD movwf parte_alta movf ADRESL,W movwf LATB movwf parte_baja movlw 0xC0 andwf parte_baja,f call ANALIZA goto MUESTREO ANALIZA: ;Complete su cdigo aqu

Pregunta 10.- Analice el siguiente programa:


positivo EQU 0x20 negativo EQU 0x21 org 0x00 goto MAIN org 0x20 MAIN: movlw 0xFD movwf negativo

movlw .10 addwf negativo,W movwf positivo FIN: goto FIN END

Responda las siguientes preguntas: a) Qu valor toma la direccin 0x20 o positivo al finalizar el programa? (1 punto)

b) Qu bits del registro STATUS se ven afectados?

(1 punto)

La molina, mircoles 2 de mayo del 2012

You might also like