View
222
Download
2
Category
Preview:
DESCRIPTION
Trabajo del sena de introduccion a los microcontroladores actividad 4
Citation preview
ACTIVIDAD CENTRAL UNIDAD 4Diseo 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
CBLOCK0X20
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
EEQU2H;constante ERSEQU1H ;constante RS
ORG0X00 ;origen de programa
GOTOINICIO ;salto a inicio
Bloque de cdigo de configuracin inicial del microcontroladorRETARDO
CLRWDT ; 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 RETLW 0 ; retorna con w = 0Bloque que genera una pausa muy pequea de tiempo. Para la utilizacin de espera de configuracin 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 genera una pausa de tiempo mayor que la anterior. Para la utilizacin de espera de configuracin y escritura de la lcd.CONTROL
CONTROL
CLRWDT;limpia el watchdog timer
BCFPORTB,RS
;coloca el bit rs del portb en cero para configuracion
GOTODATO2
;salto a dato 2DATO
CLRWDT
BSFPORTB,RS
;coloca el bit rs del portb en 1 para escritura en la lcdDATO2
BSFPORTB,E
; coloca el bit E del portb en 1 para habilitar la lcd
MOVWFR0E;mueve el registro w a R0E
MOVLW0FH ;mueve el nuemro 0x0F a w
ANDWFPORTB,1;realiza la operacin AND w con el puerto b y guarda en
; portb
MOVFR0E,W
;mueve ROE a w
ANDLW0F0H;realiza la operacin AND de w con 0xF0
IORWFPORTB,1;realiza la operacin OR de w con portb y guarda en
; portb
CALLRETARDO; realiza una pausa o retardo en el ejecucion
BCF
PORTB,E; desabilita la lcd colocando creo en el bit E del portb
CALLRETARDO; realiza una pausa o retardo en el ejecucion
BSF
PORTB,E; habilita la lcd colocando creo en el bit E del portb
MOVLW0FH; mueve 0xF0 a w
ANDWFPORTB,1;realiza la operacin AND w con el puerto b y guarda en
; portb
SWAPFR0E,W
; realiza el cabio de bit o nibble de la variable R0E y
;guarda en w
ANDLW0F0H; realiza la operacin AND 0x0F con w
IORWFPORTB,1;realiza la operacin OR de w con portb y guarda en
; portb
CALLRETARDO; genera una pausa
BCF
PORTB,E; deshabilita la lcd
CALLRETARDO; llama retardo
RETLW0; retorna con w en 0
Bloque que ejecuta las instrucciones para el control de la lcd, en configuraciones y escritura de datos.INICIO
BSF
STATUS,5; cambia de banco
CLRFTRISB;configura TRISB todo como salida
MOVLW.255;mover 255 a w
MOVWFTRISA;mover w a trisa
BCF
STATUS,5;cambiar de bancoCONFI_LCD
MOVLW02H
;mueve 0x02 a W
CALLCONTROL
;envia el dato a la lcd en modo de configuracion
MOVLW28H
CALLCONTROL
MOVLW0CH
CALLCONTROL
MOVLW06H
CALLCONTROL
ENTRADAS
BTFSCPORTA,0 ; pregunta si el bit 0 del puerto a esta en 0 y salta
GOTOMENSAJE_1
BTFSCPORTA,1; pregunta si el bit 1 del puerto a esta en 0 y salta
GOTOMENSAJE_2
BTFSCPORTA,2; pregunta si el bit 2 del puerto a esta en 0 y salta
GOTOMENSAJE_3
GOTOBORRA_LCD; borra lcd;
bloque de configuraciones iniciales de trabajo del micro, entradas, salidas y configuracin inicial de la lcdMENSAJE_1
MOVLW01H
CALLCONTROL
CALL RETARDO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW"N"
CALLDATO
MOVLW"A"
CALLDATO
MOVLW"T"
CALLDATO
MOVLW"U"
CALLDATO
MOVLW"R"
CALLDATO
MOVLW"A"
CALLDATO
MOVLW"L"
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
;LED INTERMITENTE
BSF
PORTB,0
CALLRETARDO_1
BCF
PORTB,0
CALL RETARDO_1
GOTOENTRADASBloque que escribe el mensaje 1 a visualizar en la lcdMENSAJE_2
MOVLW01H
CALLCONTROL
CALL RETARDO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW"L"
CALLDATO
MOVLW"I"
CALLDATO
MOVLW"M"
CALLDATO
MOVLW"O"
CALLDATO
MOVLW"N"
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
;LED INTERMITENTE
BSF
PORTB,0
CALLRETARDO_1
BCF
PORTB,0
CALL RETARDO_1
GOTOENTRADASBloque que escribe el mensaje 2 a visualizar en la lcdMENSAJE_3
MOVLW01H
CALLCONTROL
CALL RETARDO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW"B"
CALLDATO
MOVLW"B"
CALLDATO
MOVLW"Q"
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
MOVLW" "
CALLDATO
;LED INTERMITENTE
BSF
PORTB,0
CALLRETARDO_1
BCF
PORTB,0
CALL RETARDO_1
GOTOENTRADASBloque que escribe el mensaje 3 a visualizar en la lcdBORRA_LCD
MOVLW01H
CALLCONTROL
CALL RETARDO
GOTOENTRADAS
END
Bloque que limpia, es decir borra la lcd
2. Descripcin de pines de entrada y salida
ESQUEMA DEL PIC
PINES DE ENTRADA
PINES DE SALIDA
La ubicacin de los pines est mal, es de la siguiente manera y a partir de esta se ubicaron los pines requeridos:
Puerto A: Bidireccional que puede ser usado como salida para seal luminosa. RA0/AN0 (Pin 2)
RA1/AN1 (Pin 3)
RA2/AN2 Vref (Pin 4)
RA3/AN3 Vref + (Pin 5)
RA4/T0CKI (Pin 6)
RA5/SS/AN5 (Pin 7)
Puerto B: Se puede configurar como entrada o salida, para que funcione como entrada debemos poner en alto los bits del registro TRISB.RB0/INT (Pin 21)
RB1 (Pin 22)
RB2 (Pin 23)
RB3 (Pin 24)
RB4 (Pin 25)
RB5 (Pin 26)
RB6 (Pin 27)
RB7 (Pin 28)
3. 3. Diagrama de flujo del programa de automatizacin (cdigo .asm del punto 1)
SHAPE \* MERGEFORMAT
Inicio
Configuracin inicial
Bit 0 DE
PORTA = 0?
Escribir DATO
Retardos
Salto a Mensaje 1
No
Salto a Mensaje 2
Salto a borrar lcd
Si
Configurar lcd CONTROL
Escribe dato y nibble
return
Configuracin puertos y lcd
Bit 1 DE
PORTA = 0?
Bit 2 DE
PORTA = 0?
Salto a Mensaje 3
No
Si
Fin
12
Recommended