Act Central u4

14
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. 1

Transcript of Act Central u4

Page 1: Act Central u4

ACTIVIDAD CENTRAL UNIDAD 4Diseño de productos electrónicos con microcontroladores

Nombre de la actividad: Manejo de salidas en un microcontrolador: Display de Cristal Líquido (LCD).ObjetivoIdentificar 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

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

Page 2: Act Central u4

2

Page 3: Act Central u4

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>

CBLOCK0X20R0C,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_SAVEENDC

E EQU 2H ;constante ERS EQU 1H ;constante RS

ORG 0X00 ;origen de programaGOTO INICIO ;salto a inicio

; Bloque de código de configuración inicial del microcontrolador

; bloque que genera una pausa muy pequeña de tiempo. Para la utilización de espera de configuacion de la lcd.

RETARDOCLRWDT ; limpia el watchdog timer

MOVLW D'15' ;mueve 15 a w MOVWF loops ;mueve w a loopstop2_1

MOVLW D'25' ; mueve 25 a w MOVWF loops2 ;mueve w a loops2top_1 CLRWDT ;limpia watchdog timer NOP ;ejecucion nula NOP NOP NOP NOP NOP DECFSZ loops2,1 ; decrementa en 1 loops2 y pregunta si es cero y salta, sino continua GOTO top_1 ;salta a top_1 DECFSZ loops,1 ; decrementa en 1 loops y pregunta si es cero y salta, sino continua GOTO top2_1 ; salta top2_1

3

Page 4: Act Central u4

RETLW 0 ; retorna con w = 0

; bloque que genera una pausa de tiempo mayor que la anterior. Para la utilización de espera de configuración y escritura de la lcd.

RETARDO_1CLRWDT

MOVLW D'100' MOVWF loops top2_2

MOVLW D'200' MOVWF loops2 top_2 CLRWDT NOP NOP NOP NOP NOP NOP DECFSZ loops2,1 GOTO top_2 DECFSZ loops,1 GOTO top2_2 RETLW 0

; bloque que ejecuta las instrucciones para el control de la lcd, en congfiguraciones y escritura de datos.

CONTROLCLRWDT ;limpia el watchdog timer BCF PORTB,RS ;coloca el bit rs del portb en cero para configuracionGOTO DATO2 ;salto a dato 2

DATOCLRWDTBSF PORTB,RS ;coloca el bit rs del portb en 1 para escritura en la lcd

DATO2BSF PORTB,E ; coloca el bit E del portb en 1 para habilitar la lcdMOVWF R0E ;mueve el registro w a R0EMOVLW 0FH ;mueve el nuemro 0x0F a wANDWFPORTB,1 ;realiza la operación AND w con el puerto b y guarda en

; portb

4

Page 5: Act Central u4

MOVF R0E,W ;mueve ROE a wANDLW0F0H ;realiza la operación AND de w con 0xF0 IORWF PORTB,1 ;realiza la operación OR de w con portb y guarda en

; portbCALL RETARDO ; realiza una pausa o retardo en el ejecucionBCF PORTB,E ; desabilita la lcd colocando creo en el bit E del portbCALL RETARDO ; realiza una pausa o retardo en el ejecucionBSF PORTB,E ; habilita la lcd colocando creo en el bit E del portbMOVLW 0FH ; mueve 0xF0 a wANDWFPORTB,1 ;realiza la operación AND w con el puerto b y guarda en

; portbSWAPF R0E,W ; realiza el cabio de bit o nibble de la variable R0E y

;guarda en wANDLW0F0H ; realiza la operación AND 0x0F con wIORWF PORTB,1 ;realiza la operación OR de w con portb y guarda en

; portbCALL RETARDO ; genera una pausa BCF PORTB,E ; deshabilita la lcdCALL RETARDO ; llama retardoRETLW 0 ; retorna con w en 0

; bloque de configuraciones iniciales de trabajo del micro, entradas, salidas y configuaracion inicial de la lcd

INICIOBSF STATUS,5 ; cambia de bancoCLRF TRISB ;configura TRISB todo como salidaMOVLW .255 ;mover 255 a wMOVWF TRISA ;mover w a trisaBCF STATUS,5 ;cambiar de banco

CONFI_LCD

MOVLW 02H ;mueve 0x02 a WCALL CONTROL ;envia el dato a la lcd en modo de configuracionMOVLW 28HCALL CONTROLMOVLW 0CHCALL CONTROLMOVLW 06HCALL CONTROL

5

Page 6: Act Central u4

ENTRADASBTFSC PORTA,0 ; pregunta si el bit 0 del puerto a esta en 0 y saltaGOTO MENSAJE_1BTFSC PORTA,1 ; pregunta si el bit 1 del puerto a esta en 0 y saltaGOTO MENSAJE_2BTFSC PORTA,2 ; pregunta si el bit 2 del puerto a esta en 0 y saltaGOTO MENSAJE_3GOTO BORRA_LCD ; borra lcd;

;bloque que escribe el mensaje 1 a visualizar en la lcd

MENSAJE_1MOVLW 01HCALL CONTROLCALL RETARDOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW "N"CALL DATOMOVLW "A"CALL DATOMOVLW "T"CALL DATOMOVLW "U"CALL DATOMOVLW "R"CALL DATOMOVLW "A"CALL DATOMOVLW "L"CALL DATOMOVLW " "

6

Page 7: Act Central u4

CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATO

;LED INTERMITENTEBSF PORTB,0CALL RETARDO_1BCF PORTB,0CALL RETARDO_1GOTO ENTRADAS

;bloque que escribe el mensaje 1 a visualizar en la lcd

MENSAJE_2MOVLW 01HCALL CONTROLCALL RETARDOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW "L"CALL DATOMOVLW "I"

7

Page 8: Act Central u4

CALL DATOMOVLW "M"CALL DATOMOVLW "O"CALL DATOMOVLW "N"CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATO

;LED INTERMITENTEBSF PORTB,0CALL RETARDO_1BCF PORTB,0CALL RETARDO_1GOTO ENTRADAS

;bloque que escribe el mensaje 1 a visualizar en la lcd

MENSAJE_3MOVLW 01HCALL CONTROLCALL RETARDOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "

8

Page 9: Act Central u4

CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW "B"CALL DATOMOVLW "B"CALL DATOMOVLW "Q"CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATOMOVLW " "CALL DATO

;LED INTERMITENTEBSF PORTB,0CALL RETARDO_1BCF PORTB,0CALL RETARDO_1GOTO ENTRADAS

;Bloque que limpia, es decir borra la lcd

BORRA_LCDMOVLW 01H

9

Page 10: Act Central u4

CALL CONTROLCALL RETARDOGOTO ENTRADASEND

2. Descripción de pines de entrada y salida

ESQUEMA DEL PIC PINES DE ENTRADA PINES DE SALIDAEntrada es el puerto APORTA0 sensor 1PORTA1 sensor 2PORTA2 sensor 3

Salida el puerto BPORTB2-7 LCDPORTB0 LED

3. 3. Diagrama de flujo del programa de automatización (código .asm del punto 1)

En la siguiente pagina

10

Page 11: Act Central u4

11

Inicio

Page 12: Act Central u4

12