Upload
andres-felipe-garcia
View
591
Download
34
Embed Size (px)
Citation preview
ACTIVIDAD CENTRAL UNIDAD 3Diseño de productos electrónicos con microcontroladores
Nombre de la actividad: Manejo de salidas en un microcontrolador: LED y Display de 7 segmentosObjetivo
Identificar las instrucciones en un código ASM para el manejo de salidas a un LED y a un Display.
Situación
La empresa requiere que la llegada de camiones a la empresa sea anunciada con una señal luminosa que parpadee y en un display de 7 segmentos aparezca el número de la puerta donde se ha activado el sensor de presencia instalado. Se ha adquirido un sistema automatizado con microcontroladores y usted debe revisar si el código cumple con las características solicitadas.
Procedimiento:
1. Revise los contenidos del curso asociados al Manejo de salidas a un LED y a un Display de 7 segmentos.
2. Consulte información para profundizar sobre el funcionamiento y programación de leds y display.
Temas asociados
Configuración de un display de 7 segmentos Lenguaje ASM
EntregasPara este análisis, puede utilizar la guía que aparece a continuación para desarrollar los siguientes productos:
1. Comentarios de las líneas de programación del código suministrado por el proveedor de servicios.
2. Descripción de los pines de entrada y salida utilizados para el sistema automatizado
3. Diagrama de flujo del programa de automatización.
Una vez finalizada, comprima el archivo en formato .zip o .rar, dando clic derecho al archivo, Enviar a, Carpeta comprimida. Luego envíela a su facilitador a través del medio utilizado para tal fin en el curso.
1
2
DOCUMENTO GUÍADiseño de productos electrónicos con microcontroladores
1. Comentarios de líneas de código
COMENTARIOSList p=16F628A define el micro a utilizar radix Hex Usaremos la numeración
Hexadecimal w equ 0 Se crea variable w con valor 0 f equ 1 Se crea variable f con valor 1 PCL equ 0x02 Dirección registro PCL, contador de
programa. Estado equ 0x03 Cargar la variable Estado en equ
0x03 PuertaA equ 0x05 Asignar posición 5 como PuertaA PuertaB equ 0x06 Asignar posición 6 como PuertaB VALOR equ 0x0C Cargar la variable equ en 0x0C org 0 Ir a la posición 0 goto Empiezo Salta a Empiezo org 5 Ir a la posicion5 si hay interrupciónEmpiezo bsf Estado,5 Colocar en uno Banco de memoria
1 clrw Coloca en cero el registro w movwf PuertaB Coloca los pines del puertaB como
salidas. movlw 0xff Escribe FF en el registro w movwf PuertaA Coloca los pines del puertoA como
entradas. bcf Estado,5 Vuelve al Banco oExplora movf PuertaA,w Movemos el contenido de puertaA a
w movwf VALOR Mover el valor de w a VALOR comf VALOR,f Invierte los valores de f y los
coloca en VALOR clrw Coloca el registro w a cero Btfss VALOR,0 Comprueba que EL pin 0 de VALOR
este en 1, sino vaya a la sgte línea goto bit_1 Salta a bit_1 addlw 0x01 Sumamos 01h a w y lo deposita en
wbit_1 btfss VALOR,1 Comprueba el bit 1 VALOR esté e
uno goto bit_2 Salta a bit_2 addlw 0x02 Sumamos 02h a w y lo deposita en
w
3
bit_2 btfss VALOR,2 Comprueba que el bit 2 de VALOReste en 1
goto bit_3 Salta a bit_3 addlw 0x04 Sumamos 04h a w y lo deposita en
wbit_3 btfss VALOR,3 Comprueba que el bit 3 de VALOR
este en 1 goto visual Salta a visual addlw 0x08 Sumamos 08h a w y lo deposita en
wvisual call display Salta y llama a Display movwf PuertaB Mover el valor de w a PuertaB goto Explora Salta a Explora display addwf PCL,f Acumulador retlw 0x3f Retorne el valor de w retlw 0x06 1 retlw 0x5b 2 retlw 0x4f 3 retlw 0x66 4 retlw 0x6d 5 retlw 0x7d 6 retlw 0x07 7 retlw 0x7F 8 retlw 0x6F 9 retlw 0x77 A retlw 0x7C B retlw 0x39 C retlw 0x5E D retlw 0x79 E retlw 0x71 FEND Fin
2. Descripción de pines de entrada y salida
ESQUEMA DEL PIC PINES DE ENTRADA PINES DE SALIDA2 RA0/AN0 - Puerto A3 RA1/AN1 - Puerto A4 RA2/AN2/Vref/CVref- Puerto A5 RA3/AN3/Vref -Puerto A6 RA4/TOCK1/C1OUT- Puerto A7 RA5/AN4/SS/C2OUT
21 RB0/INT -Port B22 RB1 - Port B23 RB2 - Port B24 RB3/PGM -Port B25 RB4 - Port B26 RB5 - Port B27 RB6/PGC -
4
- Puerto A Port B28 RB7/PGD -Port B
3. Diagrama de flujo del programa de automatización (código .asm del punto 1)
5
Declaración de variables
Configura puerto A como entrada y puerto B como salida
Valor Bit_1=1?
VISUAL
PCL=PCL+W
W=PUERTAB
No W=W+01
Si
INICIO
Valor Bit_2=1?
No W=W+01
Valor Bit_3=1?
No W=W+01
Visualizacion en el
displayFin