Anda di halaman 1dari 12

ACTIVIDAD CENTRAL UNIDAD 4 Diseo de productos electrnicos con microcontroladores Nombre de la actividad: Manejo de salidas en un microcontrolador: Display de Cristal

Lquido (LCD). Objetivo Identificar las instrucciones en un cdigo ASM para el manejo de salidas a una LCD. Situacin Para diferenciar el tipo de producto que llega a la empresa (distribucin y venta), se requiere que la llegada de camiones sea anunciada con una seal luminosa que parpadee y en una LCD aparezca el tipo de producto que acaba de llegar, segn se haya activado el sensor de presencia instalado. Las posibilidades de productos son NATURAL, LIMN y BAR BQ. Se ha adquirido un sistema automatizado con microcontroladores y usted debe revisar si el cdigo cumple con las caractersticas solicitadas. Procedimiento: 1. Revise los contenidos del curso asociados al Manejo de salidas a una LCD. 2. Consulte informacin para profundizar programacin de las LCD. Temas asociados Configuracin de un Display de Cristal Lquido (LCD) Lenguaje ASM sobre el funcionamiento y

Entregas Para este anlisis, puede utilizar la gua que aparece a continuacin para desarrollar los siguientes productos: 1. Comentarios de las lneas de programacin del cdigo suministrado por el proveedor de servicios. 2. Descripcin de los pines de entrada y salida utilizados para el sistema automatizado 3. Diagrama de flujo del programa de automatizacin. Una vez finalizada, comprima el archivo en formato .zip o .rar, dando clic derecho al archivo, Enviar a, Carpeta comprimida. Luego envela a su facilitador a travs del medio utilizado para tal fin en el curso.

DOCUMENTO GUA Diseo de productos electrnicos con microcontroladores 1. Comentarios de lneas de cdigo. Escriba los comentarios relacionados con cada bloque de cdigo. INCLUDE <P16F628A.INC> CBLOCK 0X20 R0C,R0D,R0E,R13,loops,loops2,REG_RX,CONTE,MEMORIA,RX_COMP,RX_ID1,RX_I D2,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 E RS EQU 2H ;constante E EQU 1H ;constante RS ORG 0X00 ;origen de programa GOTO INICIO ;salto a inicio

; Bloque de cdigo de configuracin inicial del microcontrolador ; bloque que genera una pausa muy pequea de tiempo. Para la utilizacin de espera de configuacion de la lcd. RETARDO CLRWDT MOVLW D'15' MOVWF loops top2_1 MOVLW D'25' MOVWF loops2 top_1 CLRWDT NOP NOP NOP NOP NOP NOP DECFSZ loops2,1 salta, sino continua GOTO top_1 DECFSZ loops,1 salta, sino continua GOTO top2_1 RETLW 0 ; limpia el watchdog timer ;mueve 15 a w ;mueve w a loops ; mueve 25 a w ;mueve w a loops2 ;limpia watchdog timer ;ejecucion nula

; decrementa en 1 loops2 y pregunta si es cero y ;salta a top_1 ; decrementa en 1 loops y pregunta si es cero y ; salta top2_1 ; retorna con w = 0 3

; bloque que genera una pausa de tiempo mayor que la anterior. Para la utilizacin de espera de configuracin y escritura de la lcd. RETARDO_1 CLRWDT 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. CONTROL CLRWDT BCF PORTB,RS configuracion GOTO DATO2 DATO CLRWDT BSF PORTB,RS la lcd DATO2 BSF PORTB,E lcd MOVWF R0E MOVLW 0FH ANDWF PORTB,1 guarda en ;limpia el watchdog timer ;coloca el bit rs del portb en cero para ;salto a dato 2 ;coloca el bit rs del portb en 1 para escritura en ; coloca el bit E del portb en 1 para habilitar la ;mueve el registro w a R0E ;mueve el nuemro 0x0F a w ;realiza la operacin AND w con el puerto b y ; portb 4

MOVF R0E,W ANDLW 0xF0 IORWF guarda en PORTB,1

;mueve ROE a w 0F0H ;realiza la operacin AND de w con ;realiza la operacin OR de w con portb y ; portb ; realiza una pausa o retardo en el ejecucion ; desabilita la lcd colocando creo en el bit E ; realiza una pausa o retardo en el ejecucion ; habilita la lcd colocando creo en el bit E del ; mueve 0xF0 a w ;realiza la operacin AND w con el puerto b y ; portb ; realiza el cabio de bit o nibble de la 0F0H ;guarda en w ; realiza la operacin AND 0x0F

CALL RETARDO BCF PORTB,E del portb CALL RETARDO BSF PORTB,E portb MOVLW 0FH ANDWF PORTB,1 guarda en SWAPF variable R0E y ANDLW con w IORWF guarda en PORTB,1 R0E,W

;realiza la operacin OR de w con portb y ; portb ; genera una pausa ; deshabilita la lcd ; llama retardo 0 ; retorna con w en 0

CALL RETARDO BCF PORTB,E CALL RETARDO RETLW

; bloque de configuraciones iniciales de trabajo del micro, entradas, salidas y configuaracion inicial de la lcd INICIO BSF CLRF TRISB MOVLW MOVWF BCF CONFI_LCD MOVLW 02H CALL CONTROL configuracion MOVLW 28H CALL CONTROL ;mueve 0x02 a W ;envia el dato a la lcd en modo de STATUS,5 .255 TRISA STATUS,5 ; cambia de banco ;configura TRISB todo como salida ;mover 255 a w ;mover w a trisa ;cambiar de banco

MOVLW 0CH CALL CONTROL MOVLW 06H CALL CONTROL ENTRADAS BTFSCPORTA,0 0 y salta GOTO MENSAJE_1 BTFSCPORTA,1 salta GOTO MENSAJE_2 BTFSCPORTA,2 salta GOTO MENSAJE_3 GOTO BORRA_LCD

; pregunta si el bit 0 del puerto a esta en ; pregunta si el bit 1 del puerto a esta en 0 y ; pregunta si el bit 2 del puerto a esta en 0 y ; borra lcd;

;bloque que escribe el mensaje 1 a visualizar en la lcd MENSAJE_1 MOVLW 01H CALL CONTROL CALL RETARDO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "N" CALL DATO MOVLW "A" CALL DATO MOVLW "T" CALL DATO MOVLW "U" CALL DATO MOVLW "R" 6

CALL DATO MOVLW "A" CALL DATO MOVLW "L" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO ;LED INTERMITENTE BSF PORTB,0 CALL RETARDO_1 BCF PORTB,0 CALL RETARDO_1 GOTO ENTRADAS ;bloque que escribe el mensaje 1 a visualizar en la lcd MENSAJE_2 MOVLW 01H CALL CONTROL CALL RETARDO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO 7

MOVLW "L" CALL DATO MOVLW "I" CALL DATO MOVLW "M" CALL DATO MOVLW "O" CALL DATO MOVLW "N" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO ;LED INTERMITENTE BSF PORTB,0 CALL RETARDO_1 BCF PORTB,0 CALL RETARDO_1 GOTO ENTRADAS ;bloque que escribe el mensaje 1 a visualizar en la lcd MENSAJE_3 MOVLW 01H CALL CONTROL CALL RETARDO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" 8

CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "B" CALL DATO MOVLW "B" CALL DATO MOVLW "Q" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO MOVLW "" CALL DATO ;LED INTERMITENTE BSF PORTB,0 CALL RETARDO_1 BCF PORTB,0 CALL RETARDO_1 GOTO ENTRADAS ;Bloque que limpia, es decir borra la lcd BORRA_LCD MOVLW 01H CALL CONTROL CALL RETARDO GOTO ENTRADAS 9

END 2. Descripcin de pines de entrada y salida ESQUEMA DEL PIC PINES DE ENTRADA Entrada es el puerto A PORTA0 sensor 1 PORTA1 sensor 2 PORTA2 sensor 3 PINES DE SALIDA Salida el puerto B PORTB2-7 LCD PORTB0 LED

3. 3. Diagrama de flujo del programa de automatizacin (cdigo .asm del punto 1) En la siguiente pagina

10

Inicio Configuraci inicial Configuraci puertos y lcd Configurar lcd ONTROL? Escribe dato y nibble Escrbir DATO no Bit 0 DE PORTA = 0? si Salto a Mensaje 1 return Bit 1 DE PORTA = 0? Salto a Mensaje 2

retardos

no

Bit 2 DE PORTA = 0? si Salto a Mensaje 3

Salto a borrar lcd

fin 11

12