ACTIVIDAD CENTRAL UNIDAD 3 Diseño de productos electrónicos con microcontroladores Nombre de la actividad: Manejo de sal
Views 104 Downloads 2 File size 392KB
ACTIVIDAD CENTRAL UNIDAD 3 Diseño de productos electrónicos con microcontroladores Nombre de la actividad: Manejo de salidas en un microcontrolador: LED y Display de 7 segmentos Objetivo 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
programación de leds y display. Temas asociados
Configuración de un display de 7 segmentos
Lenguaje ASM
1
el funcionamiento y
Entregas Para 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. DOCUMENTO GUÍA Diseño de productos electrónicos con microcontroladores 1. Comentarios de líneas de código Los comentaros están en la siguiente página.
2
COMENTARIOS List p=16F628A
Pic que se va utilizar
radix Hex
Usaremos la numeración Hexadecimal
w
equ 0
Identifica W con el valor 0
f
equ 1
Identifica f con el valor 1
PCL
equ 0x02
Dirección registro PCL, contador de programa.
Estado
equ 0x03
Dirección de Estado
PuertaA
equ 0x05
Dirección puerto A
PuertaB
equ 0x06
Dirección puerto B
VALOR
equ 0x0C
Dirección de VALOR
org 0
El PIC comienza aquí cuando se encienda o haya un reset.
goto Empiezo
Vaya a Empiezo
org 5
El PIC vendrá aquí si hay una interrupción
Empiezo
bsf
Estado,5
Vaya al Banco 1
clrw movwf
Coloca en cero el registro w PuertaB
Coloca los pines del puertaB como salidas.
movlw movwf
0xff
Escribe FF en el registro w
PuertaA
Coloca los pines del puertoA como entradas.
Explora
bcf
Estado,5
Vuelve al Banco o
movf
PuertaA,w
Movemos el contenido de puertaA a w
3
movwf
VALOR
Movemos el contenido del w a VALOR
comf
VALOR,f
Invierte los valores de Valor 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
bit_1
bit_2
goto
bit_1
Vaya bit_1
addlw
0x01
Sumamos 01h a w y lo deposita en w
btfss
VALOR,1
Comprueba el bit 1 VALOR esté e uno
goto
bit_2
Vaya a bit_2
addlw 0x02
Sumamos 02h a w y lo deposita en w
btfss
Comprueba que el bit 2 de VALOR
VALOR,2
este en 1 goto
bit_3
bit_3
Vaya a bit_3
addlw 0x04
Sumamos 04h a w y lo deposita en w
btfss
Comprueba el bit 3 de VALOR este en
VALOR,3
1, sino vaya a la sgte línea goto
visual
visual
Vaya a visual
addlw 0x08
Sumamos 08 a w y lo deposita en w
call
Llamar Tabla del display siete
display
segmentos movwf
PuertaB
Carga los contenidos de w a puertaB
goto
Explora
Vaya a explora
display addwf PCL,f
Añade los contenidos de w al contador del programa, esto produce que el PCL se mueva tres líneas hacia abajo.
4
retlw 0x3f
Carga 3f (representación del nº 0)y retorna
retlw 0x06
Carga 06 (representación del nº 1)y retorna
retlw 0x5b
Carga 5b (representación del nº 2)y retorna
retlw 0x4f
Carga 4f (representación del nº 3)y retorna
retlw 0x66
Carga 66 (representación del nº4 )y retorna
retlw 0x6d
Carga 6d (representación del nº5 )y retorna
retlw 0x7d
Carga 7d (representación del nº 6)y retorna
retlw 0x07
Carga 07(representación del nº7 )y retorna
retlw 0x7F
Carga 7f (representación del nº 8)y retorna
retlw 0x6F
Carga 6f (representación del nº9 )y retorna
retlw 0x77
Carga 77(representación de la letra A ) y retorna
retlw 0x7C
Carga 7c (representación de la letra B ) y retorna
retlw 0x39
Carga 39 (representación de la letra C ) y retorna
5
retlw 0x5E
Carga 5E (representación de la letra D ) y retorna
retlw 0x79
Carga 79 (representación de la letra E ) y retorna
retlw 0x71
Carga 71 (representación de la letra F ) y retorna
END
Fin del programa
6
2. Descripción de pines de entrada y salida ESQUEMA DEL PIC
PINES DE ENTRADA
PINES DE SALIDA
2 RA0/AN0 - Puerto A
21
RB0/INT Port B
22
RB1 - Port B
3 RA1/AN1 - Puerto A RA2/AN2/Vref/CVref 4 - Puerto A
3.
5
RA3/AN3/Vref Puerto A
23
RB2 - Port B
6
RA4/TOCK1/C1OUT - Puerto A
24
RB3/PGM Port B
7
RA5/AN4/SS/C2OUT - Puerto A
25
RB4 - Port B
26
RB5 - Port B
27
RB6/PGC Port B
28
RB7/PGD Port B
Diagrama de flujo del programa de automatización (código .asm del punto 1)
EL DIAGRAMA DE FLUJO EN LA SIGUIENTE PAGINA
7
INICIO
TIPO DE PIC
VECTOR RESET Y VECTOR INT
PUERTA A ENTRADAS
PUERTA B SALIDAS
EXPLORA W=PA
VALOR=W
COM VALOR
8
CLRW W=0
VALOR= 1
W=W+01
?
VALOR BIT_1= 1
W=W+02
?
VALOR W=W+04 BIT_2= 1 ?
9
VALOR W=W+8 BIT_3= 1 ?
VISUAL PCL=PCL+W
W=PUERTAB
VISUALIZACION EN EL DISPLAY
10
FIN
11