You are on page 1of 10

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 sobre el funcionamiento y
programacin de las LCD.
Temas asociados

Configuracin de un Display de Cristal Lquido (LCD)


Lenguaje ASM

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
_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
E
RS

EQU 2H ; constante E
EQU 1H ;constante RS
ORG
0X00 ;origen del programa
GOTO INICIO ;salto a inicio
1- Bloque de cdigo de configuracin del micro controlador
2- Bloque que genera una pausa muy pequea de tiempo para la
utilizacin de espera de configuracin de la lcd

RETARDO
CLRWDT : limpia el watchdong timer
MOVLW
D'15'
: mueve 15 a w
MOVWF
loops :mueve w a loops
top2_1
MOVLW
D'25':mueve 25 a w
MOVWF
loops2 : mueve w a loops2
top_1
CLRWDT limpia watchdog timer
NOP: : ejecucion nula
NOP :
NOP
NOP
NOP
NOP
DECFSZ loops2,1 :decrementa en 1 loops 2 y pregunta que si es cero
y salta , sino continuara
GOTO
top_1: salta a top :_1
DECFSZ loops,1 :decrement en 1 loops y pregunta si es cero y salta
sino continua
3

GOTO
RETLW

top2_1:salta top2_1
0: retorna con w =0

: bloque que genera una pausa de tiempo mayor que la anterios .


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 ejecutas las instruciones para el control de la lcd, en
configuracion y escritura de datos
CONTROL
CLRWDT : limpia el watchdog timer
BCF PORTB,RS : coloca el bit rs del portb en cero para configuracion
GOTO DATO2
: salto a dato 2
DATO
CLRWDT
BSF PORTB,RS : coloca el bit rs del portd en 1 para la escritura en la
lcd
DATO2
BSF PORTB,E : coloca el bit E del portd en 1 para habilitar la lcd
MOVWF
R0E : mueve el registro w a ROE
MOVLW
0FH: mueve el numero 0x0f a w
ANDWF
PORTB,1:realiza la operacion AND w con el Puerto b y
guerda en ,
MOVF R0E,W:: mueve ROE w
ANDLW
0F0H : realiza la operacion AND de w con 0xf0
4

IORWF
PORTB,1: realiza la operacion OR de w con portb y guarda
en portb
CALL RETARDO:realiza un retardo en la ejecucion
BCF
PORTB,E: desabilita el lcd colocando creo en el bit E del
portb
CALL RETARDO: realiza un retardo en la ejecucion
BSF
PORTB,E: desabilita el lcd colocando creo en el bit E del
portb
MOVLW
0FH : mueve 0xf0 a w
ANDWF
PORTB,1:realiza la operacion AND w con le Puerto b y y
guarda el portb
SWAPF
R0E,W: realiza el cambio de bit a nibble de la variable ROE
y guarda en w
ANDLW
0F0H: realizar la operacion AND 0x0f
IORWF
PORTB,1: realiza la operacion OR de w con portb y guarda
en portb
CALL RETARDO: genera un retardo
BCF
PORTB,E: desabilita la lcd
CALL RETARDO: llama retardo
RETLW
0 : retorna con w en 0
Bloque de configuracin de iniciales de trabajo del micro , entradas
salidas y configuracin inicial de la lcd
INICIO
BSF
STATUS,5 : cambia de banco
CLRF TRISB: configuracin TRISB todo como salida
MOVLW
.255: mover 255 a w
MOVWF
TRISA:mover w a trisa
BCF
STATUS,5: cambiar a banco
CONFI_LCD
MOVLW
02H: mueve 0x02 a w
CALL CONTROL: envia el dato a la lcd en modo de configuracion
MOVLW
28H
CALL CONTROL
MOVLW
0CH
CALL CONTROL
MOVLW
06H
CALL CONTROL
ENTRADAS
BTFSCPORTA,0 : pregunta si el bit 0 del puerto a esta en 0 y salta
GOTO MENSAJE_1
5

BTFSCPORTA,1 : pregunta si el bit 1 del puerto a esta en 0 y lo salta


GOTO MENSAJE_2:
BTFSCPORTA,2 : pregunta si el bit 2 del puerto a esta en 0 y lo salta
GOTO MENSAJE_3
GOTO 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"
CALL DATO
MOVLW
"A"
CALL DATO
MOVLW
"L"
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
MOVLW
""
CALL DATO
6

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 escribir 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
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
7

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
""
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
8

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
END
2. Descripcin de pines de entrada y salida
ESQUEMA DEL PIC

PINES DE ENTRADA

PINES DE SALIDA

Entrada es el puerto
A
PORTA0 sensor 1
PORTA1 sensor 2
PORTA2 sensor 3

Salida el puerto B
PORTB2 7 LCD
PORTB0 LED

3. 3. Diagrama de flujo del programa de automatizacin (cdigo .asm del punto 1)

10

You might also like