ESCUELA POLITÉCNICA NACIONAL ESCUELA DE FORMACIÓN DE TECNÓLOGOS TECNOLOGÍA EN ELECTRONICA Y TELECOMUNICACIONES Laborato
Views 186 Downloads 4 File size 658KB
ESCUELA POLITÉCNICA NACIONAL ESCUELA DE FORMACIÓN DE TECNÓLOGOS TECNOLOGÍA EN ELECTRONICA Y TELECOMUNICACIONES
Laboratorio de Microprocesadores TRABAJO PREPARATORIO Práctica No: 3 Tema: Implementación del manejo de dispositivos de entrada/salida con el PIC 16f870
Realizado por: Estudiante:
Bryan Tipantiza
Grupo:
G3
(Espacio Reservado) Fecha de entrega: 2018 / 05 / Año
mes
14
f. _________________________
día
Recibido por:
Sanción: ____________________________________________________
PERÍODO 2018 – A
ESCUELA POLITÉCNICA NACIONAL
ESFOT
TET424L - LABORATORIO DE MICROPROCESADORES
PREPARATORIO - PRÁCTICA 3 1. Objetivos:
Familiarizar al estudiante con la programación del microcontrolador PIC 16F870 utilizando el lenguaje de bajo nivel Ensamblador mediante el entorno MPLAB IDE. Implementar circuitos utilizando el microcontrolador PIC 16F870 para el manejo de dispositivos de entrada/salida.
2. Trabajo preparatorio 2.1 Diseño Permita presentar en un display ánodo común, cada uno de los números de manera ascendente del 1 al 13 en dígitos hexadecimales de manera indefinida en el puerto B. LIST P=16F870 ; Tipo de PIC que se usa en el ensamblador #INCLUDE “P16F870.INC” ; Incluye librerías del PIC CONT EQU 0X20 ; Declaración de variable R1 EQU 0X21 R2 EQU 0X22 R3 EQU 0X23 ORG 0X00 ; Inicia el programa en 0x00 GOTO INICIO RETARDO MOVLW .200 ; Retardo de 500uS MOVWF R1 S3 MOVLW .40 MOVWF R2 S2 MOVLW .19 MOVWF R3 S1 DECFSZ R3 GOTO S1 DECFSZ R2 GOTO S2 DECFSZ R1 GOTO S3 RETURN TABLA ADDWF PCL,f RETLW B'11111001' ; Retorna a B'11111001' RETLW B'10100100' ; Retorna a B'10100100' RETLW B'10110000' ; Retorna a B'10110000' RETLW B'10011001' ; Retorna a B'10011001' RETLW B'10010010' ; Retorna a B'10010010' RETLW B'10000010' ; Retorna a B'10000010' RETLW B'11111000' ; Retorna a B'11111000' RETLW B'10000000' ; Retorna a B'10000000' RETLW B'10010000' ; Retorna a B'10010000' RETLW B'10001000' ; Retorna a B'10001000'
Laboratorio de Microprocesadores
Práctica 3
ESCUELA POLITÉCNICA NACIONAL
INICIO
LAZO1 LAZO2
ESFOT
RETLW B'10000011' ; Retorna a B'10000011' RETLW B'11000110' ; Retorna a B'11000110' RETLW B'10100001' ; Retorna a B'10100001' BCF STATUS,RP1 ; Selecciona banco 1 BSF STATUS,RP0 ;Selecciona banco 1 CLRF TRISB ; Configura como salida pórtico b BCF STATUS,RP0 ; Selecciona banco 0 CLRF PORTB ; Limpia el pórtico B CLRF CONT ; Limpio el contenido del registro CONT MOVF CONT,0 ; Muevo el contenido del contador a W CALL TABLA ; Llamo a la subrutina Tabla MOVWF PORTB ; Escribo en el puerto del display de 7 segmentos CALL RETARDO ; Llamo a la subrutina de retraso INCF CONT,f ; Incremento el contador MOVF CONT,0 XORLW .10 ; Comparo para limita el contador BTFSS STATUS,2 ;Si la comparación anterior era cero el bit 2 Z se ponía en uno en Registro
Status
GOTO GOTO END
LAZO2 LAZO1
; Regresar a LAZO2 ; Regresar a LAZO1 ; Termina el programa
Permita presentar en un display ánodo común conectado al pórtico B, el resultado en hexadecimal de la suma de dos números de tres bits. El primero formado por los valores ingresados por los pines C3, C4, C5 del puerto C y el segundo número formado los valores ingresados por los pines A0, A1, A2 del puerto A. LIST P=16F870 ;Avisa al ensamblador el PIC a usar #INCLUDE "P16F870.INC" ;Incluye las librerías del PIC ORG 0X00 GOTO INICIO TABLA ADDWF PCL,f RETLW B'1100000' ; Retorna a B'1100000' RETLW B'11111001' ; Retorna a B'11111001' RETLW B'10100100' ; Retorna a B'10100100' RETLW B'10110000' ; Retorna a B'10110000' RETLW B'10011001' ; Retorna a B'10011001' RETLW B'10010010' ; Retorna a B'10010010' RETLW B'10000010' ; Retorna a B'10000010' RETLW B'11111000' ; Retorna a B'11111000' RETLW B'10000000' ; Retorna a B'10000000' RETLW B'10010000' ; Retorna a B'10010000' RETLW B'10001000' ; Retorna a B'10001000' RETLW B'10000011' ; Retorna a B'10000011' RETLW B'11000110' ; Retorna a B'11000110' RETLW B'10100001' ; Retorna a B'10100001' RETLW B'10000110' ; Retorna a B'10000110' RETLW B'10001110' ; Retorna a B'10001110'
Laboratorio de Microprocesadores
Práctica 3
ESCUELA POLITÉCNICA NACIONAL
S1 ADDLW .1 GOTO D1 S2 ADDLW .2 GOTO D2 S3 ADDLW .4 GOTO D3 S4 ADDLW .8 GOTO D4 INICIO BCF STATUS,RP1 BSF STATUS,RP0 MOVLW 0X06 MOVWF ADCON1 MOVLW 0X3F MOVWF TRISA MOVLW 0X3F MOVWF TRISC CLRF TRISB BCF STATUS,RP0 CLRF PORTB
ESFOT
;Escribe 0 en el bit RP1 ;Escribe 1 en el bit RP0 ;Cargo 0110 en W ;Digitaliza PORTA
;Declara al Pórtico C como entrada ; Configura como salida pórtico b ; Selecciona banco 0 ; Limpia el pórtico B
BCF STATUS,RP0 ;Escribe O en el bit RP0 CLRF PORTA ;Escribe la constante de W al pórtico A CLRF PORTC ;Escribe la constante de W al pórtico C CLRF PORTB ; Limpia el pórtico B LAZO1 MOVF PORTA,0 MOVWF 0X21 BCF 0X21,3 RLF PORTC,0 MOVWF 0X22 SWAPF 0X22,0 ADDWF 0X21,1 CLRW BTFSC 0X21,0 GOTO S1 D1 BTFSC 0X21,1 GOTO S2 D2 BTFSC 0X21,2 GOTO S3 D3 BTFSC 0X21,3 GOTO S4 D4 CALL TABLA MOVWF PORTB CLRF 0X21 GOTO LAZO1 END ;Finaliza el programa
Laboratorio de Microprocesadores
Práctica 3
ESCUELA POLITÉCNICA NACIONAL
ESFOT
2.2 Diagrama esquemático
Imagen 1: Contador de 1 a 13
Imagen 2: Sumador
Laboratorio de Microprocesadores
Práctica 3
ESCUELA POLITÉCNICA NACIONAL
ESFOT
2.3 Diagramas de flujo
Imagen 3: Diagrama de flujo de contador de 1 a 13.
Laboratorio de Microprocesadores
Práctica 3