ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Diseño De Productos Electrónicos Con Microcontroladores ACT CENTRAL 4


Enviado por   •  29 de Septiembre de 2013  •  2.642 Palabras (11 Páginas)  •  1.691 Visitas

Página 1 de 11

ACTIVIDAD CENTRAL UNIDAD 4

Diseño de productos electrónicos con microcontroladores

Nombre de la actividad: Manejo de salidas en un microcontrolador: Display de Cristal Líquido (LCD).

Objetivo

Identificar las instrucciones en un código ASM para el manejo de salidas a una LCD.

Situación

Para diferenciar el tipo de producto que llega a la empresa (distribución y venta), se requiere que la llegada de camiones sea anunciada con una señal luminosa que parpadee y en una LCD aparezca el tipo de producto que acaba de llegar, según se haya activado el sensor de presencia instalado. Las posibilidades de productos son NATURAL, LIMÓN y BAR BQ. 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 una LCD.

2. Consulte información para profundizar sobre el funcionamiento y programación de las LCD.

Temas asociados

• Configuración de un Display de Cristal Líquido (LCD)

• Lenguaje ASM

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. Escriba los comentarios relacionados con cada bloque de código.

INCLUDE <P16F628A.INC>

CBLOCK 0X20

R0C,R0D,R0E,R13,loops,loops2,REG_RX,CONTE,MEMORIA,RX_COMP,RX_ID1,RX_ID2,RX_PRO1,MENS_CONT,CON_USER,DATA_IN,CONT_USER,

CONT_INTS,MEM_STATUS,DATA_RUP,DATA_COMP,ID1_SAVE,ID2_SAVE,ID3_SAVE

ENDC

;definición de constantes

E EQU 2H ; dirección de E=B’10’

RS EQU 1H ; dirección de RS= B‘01’

ORG 0X00 ;vector reset

GOTO INICIO; Saltar a INICIO

;Bloque de configuración de inicio del microcontrolador

RETARDO

CLRWDT ; Limpia el watch dog timer (WDT)

MOVLW D'15' ; hace w=15 (decimal) =

MOVWF loops ; hace ‘loops’=w=15 (decimal) ó 00001111 (binario)

top2_1 ; define la etiqueta top2_1

MOVLW D'25';hace w=25 (dec) ó 00011001 (bin)

MOVWF loops2 ;hace ‘loops2’=25(dec)=00011001 (bin)

top_1 ;define la etiqueta ‘top_1’

CLRWDT ;limpia el WDT

NOP ; no se realiza instrucción (Nop usados como pequeños retardos)

NOP ; no se realiza instrucción

NOP ; no se realiza instrucción

NOP ; no se realiza instrucción

NOP ; no se realiza instrucción

NOP ; no se realiza instrucción

DECFSZ loops2,1 ;disminuye loops2 en 1, salta la siguiente instrucción si da 0

GOTO top_1 ;salta a top_1

DECFSZ loops,1 ; disminuye loops2, el resultado va al bit 1, salta la siguiente instrucción si da 0

GOTO top2_1 ;salta a top2_1

RETLW 0 ;retorna de la subrutina con w=0

;Bloque de espera de configuración del LCD

RETARDO_1

CLRWDT ;limpia el WDT

MOVLW D'100' ;hace w=100 (dec) ó 01100100 (bin)

MOVWF loops ;hace loops=w=100 (dec)

top2_2 ;define la etiqueta top2_2

MOVLW D'200' ;hace w=200(dec) ó 11001000 (bin)

MOVWF loops2 ;hace loops2=w

top_2 ;define la etiqueta top_2

CLRWDT ;limpia WDT

NOP ; no se realiza instrucción (Nop usados como pequeños retardos)

NOP ; no se realiza instrucción

NOP ; no se realiza instrucción

NOP ; no se realiza instrucción

NOP ; no se realiza instrucción

NOP ; no se realiza instrucción

DECFSZ loops2,1 ;disminuye loops2 en 1, salta la siguiente instrucción si da 0

GOTO top_2 ;salta a top2

DECFSZ loops,1 ; disminuye loops en 1, salta la siguiente instrucción si da 0

GOTO top2_2 ;salta a top2_2

RETLW 0 ;retorna de la subrutina con w=0

;Bloque de espera para escritura del LCD

CONTROL ;define la etiqueta CONTROL

CLRWDT ;limpia WDT

BCF PORTB,RS ; pone en cero RS

GOTO DATOS ; salta a DATOS (AQUI HAY UN ERROR, NO EXISTE LA ETIQUETA ‘DATOS’ debe ser DATO)

DATO ;define la etiqueta DATO

CLRWDT ;limpia el WDT

BSF PORTB,RS ;pone en 1 a RS

DATO2 ;define la etiqueta DATO2

BSF PORTB,E ;pone en 1 a E

MOVWF R0E ;copia w en R0E

MOVLW 0FH ;hace w=0Fhex =1111bin=15dec

ANDWF PORTB,1 ; aplica el AND lógico entre w y PORTB, lo guarda en PORTB

MOVF R0E,W ; copia el contenido a w

ANDLW 0F0H ; aplica el AND lógico entre w y 0F0H (wx0F0H), lo guarda en 0F0H

IORWF PORTB,1 ; aplica el OR lógico entre w y PORTB (w+PORTB), lo guarda en PORTB

CALL RETARDO ; llama a RETARDO

BCF PORTB,E ; pone en 0 el bit ‘E’ (bit 2) de PORTB

CALL RETARDO ;llama a RETARDO

BSF PORTB,E ; pone en 1

...

Descargar como (para miembros actualizados) txt (11 Kb)
Leer 10 páginas más »
Disponible sólo en Clubensayos.com