Está en la página 1de 11

Microcontroladores

P.G.F.

PUNTAJE MAXIMO 100 PUNTOS

Microcontroladores Seccin__ PAUTA Certamen Terico - Prctico N 2


2008

ESCALA AL 60% = 60 PUNTOS = NOTA 40


Lea atentamente las instrucciones. Se descontara puntos no decimales bajo las siguientes condiciones: Orden y limpieza del documento entregado al terminar la evaluacin. No se aceptaran hojas con flecos. Borrones y ambigedad de sus respuestas. Se calificara con nota 1.0 e informacin a Docencia, al alumno que sea sorprendido cometiendo un ilcito en su certamen (copia o derivado). Este punto no tiene derecho a apelacin. Fecha:_________

Nombre:________________________ Rut:__________-__

1.- Leer el Puerto C y transferirlo al Puerto B (20 puntos.) Desarrolle de acuerdo a formato establecido. list p=16f877 include <p16f877.inc> __config (_WDT_OFF & _XT_OSC & _BODEN_OFF) errorlevel -302 ;ignorar errores al almacenar en banco 1 Definicin de variables Vector de Reset Configuracin de Puertos Programa Principal Subrutina o Rutina de interrupcin segn sea el caso

;******* " Leer el Puerto C y transferirlo al Puerto B " ********* ;***************** Autor: Paul Glvez F. ************************ ;Programa para PIC 16F877.

Escuela de Ingeniera
Pgina 1 de 11

Microcontroladores
P.G.F.
;Velocidad del Reloj:4 MHz. ;Reloj instruccin: 1 MHz = 1 uS. ;Perro Guardin deshabilitado. ;Tipo de Reloj XT. ;Proteccin de Cdigo: OFF. ;************ Elegimos PIC ***************************************** list p=16f877, f=inhx32 ;** Eliminar los mensajes de error cuando se almacenan valores en el banco 1*** errorlevel -302 ;ignorar errores al almacenar en banco 1

;** Asignacin de nombres de Registros de Funciones especiales a direcciones ** #include <p16f877.inc> ;Este fichero contiene los nombres y direcciones de los ; registros de funciones especiales. ; Este fichero esta localizado en el directorio ; con el nombre MPASM. ;*********** Igualdades ********************************************* ;*********** Registros ********************************************** ;******** Seccin Cdigo de Reset *********************************** ORG GOTO 0x00 COMIENZO ;Direccin del Vector Reset ;Comienzo del Programa

;**************************** Seccin de Configuracin ************** COMIENZO ORG BSF MOVLW MOVWF CLRF BCF 0x05 STATUS,RP0 B'11111111' TRISC TRISB STATUS,RP0 ; Inicio de Programa ; Poner el Puerto C como entrada de datos. ; Poner el Puerto B como salida de datos.

;**************************** Principal ************************************ SEG1 MOVF MOVWF GOTO END PORTC,W PORTB SEG1 ; Leer el Puerto C y llevarlo al Acumulador. ; Transferir el dato de W al Puerto B

2.- Leer el Puerto C, complementarlo y transferirlo al Puerto B, interprete el diagrama de flujo presentado y tradzcalo en lenguaje de maquina. Desarrolle de acuerdo a formato establecido. (20 puntos.)

Escuela de Ingeniera
Pgina 2 de 11

Microcontroladores
P.G.F.
Leer el Puerto C Complementarlo Y transferirlo al Puerto B

Elegimos PIC List p = 16f877, f=inhx32

Asignacin de Nombres de SFR a direcciones #include <p 16f877.inc>

;Igualdades

;Registros

Seccin de cdigo de reset ORG 00h Goto Comienzo ; Direccin de vector de Reset ; Comienzo del Programa

Seccin de Configuracin Comienzo RP0 TRISC TRISB RP0 ORG 0x05 1 11111111 B 00000000 B 0 ;Inicio de programa ; Ir al Banco 1 ; Poner el puerto C como entrada de datos ; Poner el Puerto B como salida de datos ; Ir al Banco 0

;Principal PORTB PORTC

;********* " Leer el Puerto C, complementarlo y transferirlo al Puerto B " ***** ;********* Autor: Paul Glvez F. ********************************************** ;Programa para PIC 16F877. ;Velocidad del Reloj:4 MHz. ;Reloj instruccin: 1 MHz = 1 uS.

Escuela de Ingeniera
Pgina 3 de 11

Microcontroladores
P.G.F.
;Perro Guardin deshabilitado. ;Tipo de Reloj XT. ;Proteccin de Cdigo: OFF. ;***** Elegimos PIC ************************************************************ list p=16f877, f=inhx32 ;* Eliminar los mensajes de error cuando se almacenan valores en el banco 1 ***** errorlevel -302 ;ignorar errores al almacenar en banco 1 ;** Asignacin de Registros de Funciones especiales a direcciones *************** #include <p16f877.inc> ;Este fichero contiene los nombres y direcciones de los ; registros de funciones especiales. ; Este fichero esta localizado en el directorio ; con el nombre MPASM. ;**************************** Igualdades ***************************************** ;**************************** Registros ****************************************** ;**************************** Seccin Cdigo de Reset **************************** ORG GOTO 0x00 COMIENZO ;Direccin del Vector Reset ;Comienzo del Programa

;**************************** Seccin de Configuracin *************************** COMIENZO ORG BSF MOVLW MOVWF CLRF BCF 0x05 STATUS,RP0 B'11111111' TRISC TRISB STATUS,RP0 ; Inicio de Programa ; Poner el Puerto C como entrada de datos. ; Poner el Puerto B como salida de datos.

;**************************** Inicio ********************************************** INICIO COMF MOVWF GOTO END PORTC,W PORTB INICIO ; Complementar el Puerto C y llevarlo a W ; Transferir el dato de W al Puerto B

3.- Inserte comentario lnea a lnea e indique como funciona el programa (cabe destacar que el Programa en rigor es efectuar el parpadeo de un Led), usted debe indicar como se logra este objetivo. NOTA La Temporizacion efectuada en la Subrutina no la considere para su anlisis lnea a lnea. (20 puntos.)

Escuela de Ingeniera
Pgina 4 de 11

Microcontroladores
P.G.F.
;***************************** " Parpadeo de un Led " *************************** ;****************************** Autor: Paul Glvez F. *************************** ; ; ; ; ; ; Programa para PIC 16F877. Velocidad del Reloj:4 MHz. Reloj instruccin: 1 MHz = 1 uS. Perro Guardin deshabilitado. Tipo de Reloj XT. Proteccin de Cdigo: OFF.

;******************* Elegimos PIC ********************************************* list p=16f877, f=inhx32 ;** Eliminar los mensajes de error cuando se almacenan valores en el banco 1 ************ errorlevel -302 ;ignorar errores al almacenar en banco 1 ;***** Asignacin ******************* de los de Registros de Funciones especiales a direcciones

#include <p16f877.inc>

; Este fichero contiene los nombres y direcciones

; registros de funciones especiales. ; Este fichero esta localizado en el directorio ; con el nombre MPASM.

;*************** Igualdades *************************************************** DATO1 DATO2 DATO3 EQU EQU EQU 0X10 0X64 0X64

;**************** Registros **************************************************** REG1 REG2 REG3 EQU EQU EQU 0X22 0X23 0X24

;************ Seccin Cdigo de Reset ******************************************** ORG GOTO 0x00 COMIENZO ; Direccin del Vector Reset ; Comienzo del Programa

;*********** Seccin de Configuracin ******************************************** COMIENZO ORG BSF BSF CLRF 0x05 STATUS,RP1 STATUS,RP0 TRISB ; Inicio de Programa ; Configuramos el Puerto B como salidas

Escuela de Ingeniera
Pgina 5 de 11

Microcontroladores
P.G.F.
BCF CLRF STATUS,RP0 PORTB

;*********** Inicio ************************************************************ SEGUIR BSF CALL BCF CALL GOTO PORTB,0 SEGUNDO PORTB,0 SEGUNDO SEGUIR

;******** Subrutina de perdida de tiempo de 1 Segundo **************************** SEGUNDO SEG7 SEG6 SEG5 MOVLW MOVWF MOVLW MOVWF MOVLW MOVWF DECFSZ GOTO DECFSZ GOTO DECFSZ GOTO RETURN END DATO3 REG3 DATO2 REG2 DATO1 REG1 REG1,F REG2,F REG3,F

SEG5 SEG6 SEG7

4.- Indique que hace el programa. (20 puntos.) ;******************************* " Sumar Nibles " **************** ;******************************** Autor : Paul Glvez F. ************************* ;Programa para PIC 16F877. ;Velocidad del Reloj:4 MHz. ;Reloj instruccin: 1 MHz = 1 uS. ;Perro Guardin deshabilitado.

Escuela de Ingeniera
Pgina 6 de 11

Microcontroladores
P.G.F.
;Tipo de Reloj XT. ;Proteccin de Cdigo: OFF. ;**************************** Elegimos PIC **************************************** list p=16f877, f=inhx32 ;*** Eliminar los mensajes de error cuando se almacenan valores en el banco1 *************** errorlevel -302 ;ignorar errores al almacenar en banco 1 ;*** Asignacin de etiquetas de Registros de Funciones especiales a direcciones ************** de los #include <p16f877.inc> ; Este fichero contiene los nombres y direcciones

; registros de funciones especiales. ; Este fichero esta localizado en el directorio ; con el nombre MPASM. ;********* Igualdades ************************************************************* ;********* Registros ************************************************************** CBLOCK ENDC 0X20 Numero_bajo Numero_alto

;****** Seccin Cdigo de Reset *********9****************************************** ORG GOTO 0x00 COMIENZO ; Direccin del Vector Reset ; Comienzo del Programa

;****** Seccin de Configuracin *************************************************** COMIENZO ORG BSF CLRF MOVLW MOVWF BCF 0x05 STATUS,RP0 TRISB B'11111111' TRISC STATUS,RP0 ; Inicio de Programa ; Selecciono el banco 1 de la memoria ; Configuro el Puerto B como salida ; Selecciono el banco 0 de la memoria

;******* Inicio ******************************************************************** SEG1 COMF ANDLW MOVWF COMF ANDLW MOVWF SWAPF MOVF PORTC,W B'00001111' Numero_bajo PORTC,W B'11110000' Numero_alto Numero_alto,F Numero_alto,W

Escuela de Ingeniera
Pgina 7 de 11

Microcontroladores
P.G.F.
ADDWF MOVWF GOTO END Numero_bajo,W PORTB SEG1

5.- De acuerdo al esquema presentado describa que efecta el programa, insertado comentarios en las lneas relevantes del programa. (20 puntos.)

Escuela de Ingeniera
Pgina 8 de 11

Microcontroladores
P.G.F.

;*************** " Encender displays dependiendo de PC0 " ********************* ;***************** Autor: Paul Glvez F. ************************************ ;Programa para PIC 16F877. ;Velocidad del Reloj:4 MHz. ;Reloj instruccin: 1 MHz = 1 uS. ;Perro Guardin deshabilitado. ;Tipo de Reloj XT.

Escuela de Ingeniera
Pgina 9 de 11

Microcontroladores
P.G.F.
;Proteccin de Cdigo: OFF. ;************** Elegimos PIC *************************************************** list p=16f877, f=inhx32 ;** Eliminar los mensajes de error cuando se almacenan valores en el banco1 ***** errorlevel -302 ; ignorar errores al almacenar en banco 1

;** Asignacin de etiquetas de Registros de Funciones especiales a direcciones ** #include <p16f877.inc> de los ; Este fichero contiene los nombres y direcciones

; registros de funciones especiales. ; Este fichero esta localizado en el directorio ; con el nombre MPASM.

;************* Igualdades ******************************************************* ;************* Registros ******************************************************** ;************ Seccin Cdigo de Reset ******************************************* ORG GOTO 0x00 COMIENZO ;Direccin del Vector Reset ;Comienzo del Programa

;********** Seccin de Configuracin ******************************************** COMIENZO ORG BCF BSF MOVLW MOVWF BSF CLRF BCF 0x05 STATUS,RP1 STATUS,RP0 B'00000000' TRISD TRISC,0 PORTE STATUS,RP0 ; Inicio de Programa ; Selecciono la pagina 1 de la memoria ; Configuro el PD como salidas. ; Configuro el PE como salidas. ; Selecciono la pagina 0 de la memoria

;*************** Principal ******************************************************* SEGUIR SEG1 UNIDADES DECENAS MOVLW B'11111111' MOVWF PORTD BTFSS PORTC,0 GOTO DECENAS MOVLW B'00000001' MOVWF PORTE GOTO SEG1 MOVLW B'00000010' MOVWF PORTE GOTO SEG1 END

Escuela de Ingeniera
Pgina 10 de 11

Microcontroladores
P.G.F.

Buena Suerte

Escuela de Ingeniera
Pgina 11 de 11