Act Central u4
-
Upload
jose-david-medina-martinez -
Category
Documents
-
view
3.518 -
download
65
Transcript of 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
2
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
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
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
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
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
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
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
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
11
Inicio
12