Display Lcd1
Transcript of Display Lcd1
![Page 1: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/1.jpg)
DISPLAY LCD
Descripción: La pantalla de cristal liquido o LCD (Liquid Crystal Display) es un dispositivo µControlado de visualización grafico para la presentación de caracteres, símbolos o incluso dibujos (en algunos modelos), es este caso
dispone de 2 filas de 16 caracteres cada una y cada carácter dispone de una matriz de 5x7 puntos (pixels), aunque los hay de otro número de filas y caracteres. Este dispositivo está gobernado internamente por un microcontrolador Hitachi 44780 y regula todos los parámetros de presentación, este modelo es el más comúnmente usado y esta información se basará en el manejo de este u otro LCD compatible.
Características principales:
-Pantalla de caracteres ASCII, además de los caracteres Kanji y Griegos.-Desplazamiento de los caracteres hacia la izquierda o la derecha.-Proporciona la dirección de la posición absoluta o relativa del caracter.-Memoria de 40 caracteres por línea de pantalla.-Movimiento del cursor y cambio de su aspecto.-Permite que el usuario pueda programar 8 caracteres.-Conexión a un procesador usando un interfaz de 4 u 8 bits
.
Descripción de pines:
![Page 2: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/2.jpg)
RUTINA
Descripción: La siguiente librería básica de rutinas es para controlar un LCD Hitachi 44780 o compatible.
Los datos o comandos a enviar al LCD los meteremos en el acumulador W antes de hacer la llamada a cualquiera de las rutinas siguientes.
LCD_EGenera un pulso de 1µS por PORTB,2 patita 6 (Enable) del LCD. Si se usa una velocidad de micro diferente de 4MHz habrá que ajustar este tiempo.
LCD_BUSYChequea si el LCD está ocupado (BUSY) y retorna de la rutina cuando ya no lo esté.
LCD_REGPone al LCD en modo de recibir comandos , espera a que no esté ocupado y va a LCD_E.
LCD_DATOSPone el LCD en modo datos y manda el byte presente en W que será mostrado en pantalla.
LCD_INIInicialización del modulo LCD según los tiempo marcados por el fabricante. Bus de 8 bits, 2 líneas de visualización y caracteres de 5 x 7 puntos.
LCD_PORTConfigura los puertos del PIC para ser usados con el LCD.
![Page 3: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/3.jpg)
CIRCUITO EN LCD
Diseñar un programa usando el PIC 16F84A de tal modo que en el Display LCD se visualice la palabra “SISTEMAS DIGITALES”.
1.- Diagrama de flujo
RA2→0
LCD_CARACTER
W→PORTB
RA0→1
RETORNAR
RA0→0
RA2→1
RETORNAR
RA2→0
RA2→1
LCD_DATO→WW→PORTB
CONFIGURA PORTB
W+K→WK←00001111
WxLCD_DATO→LCD_DATO
LEE INFORMACION RB4-RB7DE PORTB
W←PORTB
W+K→WK←11110000LCD_DATO←
W
LCD_ESCRIBE
RETORNAR
DELAY_20MS
LCD_ESCRIBE
PORTB←00100000
DELAY_5MS
LCD_ESCRIBE
PORTB←00110000
DELAY_5MS
LCD_ESCRIBE
PORTB←00110000
DELAY_5MS
LCD_ESCRIBE
PORTB←00110000
RA0,RA1,RA2←0
LCD_INICIALIZA
END
FREEZE
LCD_CARACTER
W←B
LCD_CARACTER
W←B
LCD_CARACTER
W←B
LCD_INICIALIZA
DELAY_20MS
CONFIGURA PUERTOS DE
SALIDAS
INICIO
![Page 4: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/4.jpg)
2.- programa en mplab
list P=16F84Ainclude "P16F84A.INC"cblock 0x0C
REG1REG2
endcorg 0x00call LCD_PORTcall LCD_INI
movlw '"'
call LCD_DATAmovlw 'B'call LCD_DATAmovlw 'I'call LCD_DATAmovlw 'E'call LCD_DATAmovlw 'N'call LCD_DATAmovlw 'V'
call LCD_DATAmovlw 'E'
call LCD_DATAmovlw 'N'
call LCD_DATAmovlw 'I'
call LCD_DATAmovlw 'D'
call LCD_DATAmovlw '0'
call LCD_DATAmovlw '"'call LCD_DATA
call DELAY_5MSgoto $-1include <DELAY.INC>include <LCD_CONFIG.INC>end
![Page 5: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/5.jpg)
DELAY_5MSmovlw.42movwfREG1
otro2 movlw.42movwfREG2
otro1 decfszREG2,Fgoto otro1decfszREG1,Fgoto otro2return
DELAY_40US movlw.5movwfREG1
otro3 movlw.5movwfREG2
otro4 decfszREG2,Fgoto otro4decfszREG1,Fgoto otro3return
LCD_PORT bsf STATUS,5clrf TRISBclrf TRISAbcf STATUS,5bsf PORTA,3return
;********************************LCD_INI movlwb'00111000'
call LCD_REGcall DELAY_5MSmovlwb'00111000'call LCD_REGcall DELAY_5MSmovlwb'00111000'call LCD_REGcall DELAY_5MSmovlwb'00000001'call LCD_REGcall DELAY_5MSmovlwb'00001100'call LCD_REGreturn
;********************************LCD_REG bcf PORTA,0
movwfPORTBcall LCD_BUSYcall LCD_Ereturn
;********************************
![Page 6: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/6.jpg)
OSC1/CLKIN16
RB0/INT6
RB17
RB28
RB39
RB410
RB511
RB612
RB713
RA017
RA118
RA21
RA32
RA4/T0CKI3
OSC2/CLKOUT15
MCLR4
U1
PIC16F84A
R110k
D7
14D
613
D5
12D
411
D3
10D
29
D1
8D
07
E6
RW
5R
S4
VS
S1
VD
D2
VE
E3
LCD1LM032L
R1(1)
LCD_BUSY bsf PORTA,1bsf STATUS,5movlwb'11111111'movwfTRISBbcf STATUS,5bsf PORTA,2btfsc PORTB,7goto $-1bcf PORTA,2bsf STATUS,5clrf TRISBbcf STATUS,5bcf PORTA,1return
;********************************LCD_DATA bcf PORTA,0
movwfPORTBcall LCD_BUSYbsf PORTA,0call LCD_Ereturn
;********************************LCD_E bcf PORTA,2
bsf PORTA,2call DELAY_5MSbcf PORTA,2call DELAY_40USreturn
3.- simulación en proteus
![Page 7: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/7.jpg)
Cuestionario:
1.-Diseñe un programa que muestre en el Display LCD la tecla pulsada y simule en Proteus y compruebe el resultado PIC16F84A
Programaprocessor 16F84A #include <P16F84A.INC> __config _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ; 0x3FF1
; RAM-VariableLRAM_0x0C equ 0x0CLRAM_0x0D equ 0x0DLRAM_0x0E equ 0x0ELRAM_0x0F equ 0x0FLRAM_0x10 equ 0x10LRAM_0x11 equ 0x11LRAM_0x12 equ 0x12LRAM_0x13 equ 0x13LRAM_0x14 equ 0x14LRAM_0x15 equ 0x15LRAM_0x16 equ 0x16LRAM_0x17 equ 0x17
; Program
Org 0x0000
; Reset-Vector GOTO LADR_0x0005
Org 0x0004
![Page 8: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/8.jpg)
; Interrupt-Vector GOTO LADR_0x000BLADR_0x0005 CALL LADR_0x0057 CALL LADR_0x002E MOVLW 0x88 ; b'10001000' d'136' MOVWF INTCONLADR_0x0009 SLEEP GOTO LADR_0x0009LADR_0x000B CALL LADR_0x0017 CALL LADR_0x00D6 CALL LADR_0x0033 BCF INTCON,RBIF RETFIELADR_0x0010 ADDWF PCL,F ; !!Program-Counter-Modification RETLW 0x50 ; b'01010000' d'080' "P" RETLW 0x75 ; b'01110101' d'117' "u" RETLW 0x6C ; b'01101100' d'108' "l" RETLW 0x73 ; b'01110011' d'115' "s" RETLW 0x6F ; b'01101111' d'111' "o" RETLW 0x00 ; b'00000000' d'000'LADR_0x0017 CALL LADR_0x003B BTFSS STATUS,C GOTO LADR_0x001C CALL LADR_0x001D BSF STATUS,CLADR_0x001C RETURNLADR_0x001D ADDWF PCL,F ; !!Program-Counter-Modification RETLW 0x01 ; b'00000001' d'001' RETLW 0x02 ; b'00000010' d'002' RETLW 0x03 ; b'00000011' d'003'
![Page 9: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/9.jpg)
RETLW 0x0F ; b'00001111' d'015' RETLW 0x04 ; b'00000100' d'004' RETLW 0x05 ; b'00000101' d'005' RETLW 0x06 ; b'00000110' d'006' RETLW 0x0E ; b'00001110' d'014' RETLW 0x07 ; b'00000111' d'007' RETLW 0x08 ; b'00001000' d'008' RETLW 0x09 ; b'00001001' d'009' RETLW 0x0D ; b'00001101' d'013' RETLW 0x0A ; b'00001010' d'010' RETLW 0x00 ; b'00000000' d'000' RETLW 0x0B ; b'00001011' d'011' RETLW 0x0C ; b'00001100' d'012'LADR_0x002E BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select MOVLW 0xF0 ; b'11110000' d'240' MOVWF PORTB ; !!Bank!! PORTB - TRISB BSF TMR0,7 ; !!Bank!! TMR0 - OPTION_REG BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-SelectLADR_0x0033 MOVLW 0xF0 ; b'11110000' d'240' MOVWF PORTB ; !!Bank!! PORTB - TRISBLADR_0x0035 CALL LADR_0x0126 MOVF PORTB,W ; !!Bank!! PORTB - TRISB SUBLW 0xF0 ; b'11110000' d'240' BTFSS STATUS,Z GOTO LADR_0x0035 RETURNLADR_0x003B CLRF LRAM_0x0C MOVLW 0xFE ; b'11111110' d'254'LADR_0x003D MOVWF PORTB ; !!Bank!! PORTB - TRISB CALL LADR_0x012E BTFSS PORTB,4 ; !!Bank!! PORTB - TRISB GOTO LADR_0x0054
![Page 10: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/10.jpg)
INCF LRAM_0x0C,F BTFSS PORTB,5 ; !!Bank!! PORTB - TRISB GOTO LADR_0x0054 INCF LRAM_0x0C,F BTFSS PORTB,6 ; !!Bank!! PORTB - TRISB GOTO LADR_0x0054 INCF LRAM_0x0C,F BTFSS PORTB,7 ; !!Bank!! PORTB - TRISB GOTO LADR_0x0054 INCF LRAM_0x0C,F MOVLW 0x0F ; b'00001111' d'015' SUBWF LRAM_0x0C,W BTFSC STATUS,C GOTO LADR_0x0052 BSF STATUS,C RLF PORTB,W ; !!Bank!! PORTB - TRISB GOTO LADR_0x003DLADR_0x0052 BCF STATUS,C GOTO LADR_0x0056LADR_0x0054 MOVF LRAM_0x0C,W BSF STATUS,CLADR_0x0056 RETURNLADR_0x0057 BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select BCF PORTA,0 ; !!Bank!! PORTA - TRISA BCF PORTA,2 ; !!Bank!! PORTA - TRISA BCF PORTA,1 ; !!Bank!! PORTA - TRISA BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select BCF PORTA,1 ; !!Bank!! PORTA - TRISA BCF PORTA,2 ; !!Bank!! PORTA - TRISA BCF PORTA,0 ; !!Bank!! PORTA - TRISA CALL LADR_0x0126 MOVLW 0x30 ; b'00110000' d'048' "0" CALL LADR_0x006F
![Page 11: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/11.jpg)
CALL LADR_0x012A MOVLW 0x30 ; b'00110000' d'048' "0" CALL LADR_0x006F CALL LADR_0x0113 MOVLW 0x30 ; b'00110000' d'048' "0" CALL LADR_0x006F MOVLW 0x20 ; b'00100000' d'032' " " CALL LADR_0x006F CALL LADR_0x009B CALL LADR_0x0099 CALL LADR_0x0097 CALL LADR_0x0085 RETURNLADR_0x006F ANDLW 0xF0 ; b'11110000' d'240' MOVWF LRAM_0x0D MOVF PORTB,W ; !!Bank!! PORTB - TRISB ANDLW 0x0F ; b'00001111' d'015' IORWF LRAM_0x0D,F BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select MOVF PORTB,W ; !!Bank!! PORTB - TRISB MOVWF LRAM_0x0F MOVLW 0x0F ; b'00001111' d'015' ANDWF PORTB,F ; !!Bank!! PORTB - TRISB BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select BSF PORTA,2 ; !!Bank!! PORTA - TRISA MOVF LRAM_0x0D,W MOVWF PORTB ; !!Bank!! PORTB - TRISB NOP BCF PORTA,2 ; !!Bank!! PORTA - TRISA BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select MOVF LRAM_0x0F,W MOVWF PORTB ; !!Bank!! PORTB - TRISB BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select CALL LADR_0x012C RETURNLADR_0x0085
![Page 12: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/12.jpg)
MOVLW 0x06 ; b'00000110' d'006' GOTO LADR_0x009C MOVLW 0x80 ; b'10000000' d'128' GOTO LADR_0x009C MOVLW 0xC0 ; b'11000000' d'192' GOTO LADR_0x009C MOVLW 0x94 ; b'10010100' d'148' GOTO LADR_0x009C MOVLW 0xD4 ; b'11010100' d'212' GOTO LADR_0x009C IORLW 0x80 ; b'10000000' d'128' GOTO LADR_0x009C IORLW 0xC0 ; b'11000000' d'192' GOTO LADR_0x009C MOVLW 0x08 ; b'00001000' d'008' GOTO LADR_0x009C MOVLW 0x0E ; b'00001110' d'014' GOTO LADR_0x009CLADR_0x0097 MOVLW 0x0C ; b'00001100' d'012' GOTO LADR_0x009CLADR_0x0099 MOVLW 0x01 ; b'00000001' d'001' GOTO LADR_0x009CLADR_0x009B MOVLW 0x28 ; b'00101000' d'040' "("LADR_0x009C BCF PORTA,0 ; !!Bank!! PORTA - TRISA GOTO LADR_0x00A0LADR_0x009E BSF PORTA,0 ; !!Bank!! PORTA - TRISA CALL LADR_0x00A8LADR_0x00A0 MOVWF LRAM_0x0E CALL LADR_0x006F SWAPF LRAM_0x0E,W CALL LADR_0x006F
![Page 13: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/13.jpg)
BTFSS PORTA,0 ; !!Bank!! PORTA - TRISA CALL LADR_0x012C CALL LADR_0x0118 RETURNLADR_0x00A8 MOVWF LRAM_0x0D SUBLW 0xF1 ; b'11110001' d'241' BTFSS STATUS,Z GOTO LADR_0x00AF MOVLW 0xEE ; b'11101110' d'238' MOVWF LRAM_0x0D GOTO LADR_0x00BCLADR_0x00AF MOVF LRAM_0x0D,W SUBLW 0xD1 ; b'11010001' d'209' BTFSS STATUS,Z GOTO LADR_0x00B6 MOVLW 0xEE ; b'11101110' d'238' MOVWF LRAM_0x0D GOTO LADR_0x00BCLADR_0x00B6 MOVF LRAM_0x0D,W SUBLW 0xBA ; b'10111010' d'186' BTFSS STATUS,Z GOTO LADR_0x00BC MOVLW 0xDF ; b'11011111' d'223' MOVWF LRAM_0x0DLADR_0x00BC MOVF LRAM_0x0D,W RETURN MOVLW 0x10 ; b'00010000' d'016' GOTO LADR_0x00C5 MOVLW 0x01 ; b'00000001' d'001' GOTO LADR_0x00C5 MOVLW 0x02 ; b'00000010' d'002' GOTO LADR_0x00C5 MOVLW 0x03 ; b'00000011' d'003'
![Page 14: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/14.jpg)
LADR_0x00C5 MOVWF LRAM_0x10LADR_0x00C6 MOVLW 0x20 ; b'00100000' d'032' " " CALL LADR_0x009E DECFSZ LRAM_0x10,F GOTO LADR_0x00C6 RETURN MOVWF LRAM_0x11 ANDLW 0xF0 ; b'11110000' d'240' BTFSS STATUS,Z GOTO LADR_0x00D3 MOVLW 0x20 ; b'00100000' d'032' " " CALL LADR_0x009E GOTO LADR_0x00D5 MOVWF LRAM_0x11LADR_0x00D3 SWAPF LRAM_0x11,W CALL LADR_0x00D6LADR_0x00D5 MOVF LRAM_0x11,WLADR_0x00D6 ANDLW 0x0F ; b'00001111' d'015' MOVWF LRAM_0x10 SUBLW 0x09 ; b'00001001' d'009' BTFSS STATUS,C GOTO LADR_0x00DE MOVF LRAM_0x10,W ADDLW 0x30 ; b'00110000' d'048' "0" GOTO LADR_0x00E0LADR_0x00DE MOVF LRAM_0x10,W ADDLW 0x37 ; b'00110111' d'055' "7"LADR_0x00E0 GOTO LADR_0x009E MOVWF LRAM_0x12 MOVLW 0x10 ; b'00010000' d'016'
![Page 15: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/15.jpg)
SUBWF LRAM_0x12,F DECF LRAM_0x12,FLADR_0x00E5 MOVF LRAM_0x12,W CALL LADR_0x0010 MOVWF LRAM_0x13 MOVF LRAM_0x13,F BTFSC STATUS,Z GOTO LADR_0x00EE CALL LADR_0x009E INCF LRAM_0x12,F GOTO LADR_0x00E5LADR_0x00EE RETURN MOVWF LRAM_0x12 MOVLW 0x10 ; b'00010000' d'016' SUBWF LRAM_0x12,F DECF LRAM_0x12,FLADR_0x00F3 CLRF LRAM_0x14 CALL LADR_0x0099LADR_0x00F5 MOVLW 0x10 ; b'00010000' d'016' SUBWF LRAM_0x14,W BTFSS STATUS,Z GOTO LADR_0x00FE CALL LADR_0x0120 CALL LADR_0x0120 MOVLW 0x0F ; b'00001111' d'015' SUBWF LRAM_0x12,F GOTO LADR_0x00F3LADR_0x00FE MOVF LRAM_0x12,W CALL LADR_0x0010 MOVWF LRAM_0x13 MOVF LRAM_0x13,F BTFSC STATUS,Z
![Page 16: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/16.jpg)
GOTO LADR_0x0108 CALL LADR_0x009E INCF LRAM_0x14,F INCF LRAM_0x12,F GOTO LADR_0x00F5LADR_0x0108 RETURN NOP NOP NOP NOP NOP NOP RETURN NOP MOVLW 0xA4 ; b'10100100' d'164' GOTO LADR_0x011CLADR_0x0113 NOP MOVLW 0x40 ; b'01000000' d'064' "@" GOTO LADR_0x011C MOVLW 0x1F ; b'00011111' d'031' GOTO LADR_0x011CLADR_0x0118 NOP MOVLW 0x0E ; b'00001110' d'014' GOTO LADR_0x011C MOVLW 0x05 ; b'00000101' d'005'LADR_0x011C MOVWF LRAM_0x15LADR_0x011D DECFSZ LRAM_0x15,F GOTO LADR_0x011D RETURNLADR_0x0120 MOVLW 0xC8 ; b'11001000' d'200' GOTO LADR_0x012F
![Page 17: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/17.jpg)
MOVLW 0x64 ; b'01100100' d'100' "d"
End
2.-Diseñe un programa que maneje un Display LCD con 4 Bits de datos, mostrando el mismo mensaje de la práctica, presente el algoritmo y simule en PROTEUS
![Page 18: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/18.jpg)
Programa processor 16F84A #include <P16F84A.INC> __config _CP_OFF & _PWRTE_ON & _WDT_OFF & _XT_OSC ; 0x3FF1
; RAM-VariableLRAM_0x0C equ 0x0CLRAM_0x0D equ 0x0DLRAM_0x0E equ 0x0ELRAM_0x0F equ 0x0FLRAM_0x10 equ 0x10LRAM_0x11 equ 0x11LRAM_0x12 equ 0x12LRAM_0x13 equ 0x13
; Program
![Page 19: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/19.jpg)
Org 0x0000
; Reset-Vector CALL LADR_0x000A MOVLW 0x42 ; b'01001000' d'072' "B" CALL LADR_0x0051 MOVLW 0x49 ; b'01101111' d'111' "I"; Interrupt-Vector CALL LADR_0x0051 MOVLW 0x45 ; b'01101100' d'108' "E" CALL LADR_0x0051 MOVLW 0x4E ; b'01100001' d'097' "N" CALL LADR_0x0051 MOVLW 0x56 ; b'01100001' d'097' "V" CALL LADR_0x0051 MOVLW 0x45 ; b'01100001' d'097' "E" CALL LADR_0x0051 MOVLW 0x4E ; b'01100001' d'097' "N" CALL LADR_0x0051 MOVLW 0x49 ; b'01100001' d'097' "I" CALL LADR_0x0051 MOVLW 0x44 ; b'01100001' d'097' "D" CALL LADR_0x0051 MOVLW 0x4F ; b'01100001' d'097' "O" CALL LADR_0x0051 SLEEPLADR_0x000A BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select BCF PORTA,0 ; !!Bank!! PORTA - TRISA BCF PORTA,2 ; !!Bank!! PORTA - TRISA BCF PORTA,1 ; !!Bank!! PORTA - TRISA BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select BCF PORTA,1 ; !!Bank!! PORTA - TRISA BCF PORTA,2 ; !!Bank!! PORTA - TRISA BCF PORTA,0 ; !!Bank!! PORTA - TRISA
![Page 20: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/20.jpg)
CALL LADR_0x00B1 MOVLW 0x30 ; b'00110000' d'048' "0" CALL LADR_0x0022 CALL LADR_0x00B5 MOVLW 0x30 ; b'00110000' d'048' "0" CALL LADR_0x0022 CALL LADR_0x009E MOVLW 0x30 ; b'00110000' d'048' "0" CALL LADR_0x0022 MOVLW 0x20 ; b'00100000' d'032' " " CALL LADR_0x0022 CALL LADR_0x004E CALL LADR_0x004C CALL LADR_0x004A CALL LADR_0x0038 RETURNLADR_0x0022 ANDLW 0xF0 ; b'11110000' d'240' MOVWF LRAM_0x0C MOVF PORTB,W ; !!Bank!! PORTB - TRISB ANDLW 0x0F ; b'00001111' d'015' IORWF LRAM_0x0C,F BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select MOVF PORTB,W ; !!Bank!! PORTB - TRISB MOVWF LRAM_0x0E MOVLW 0x0F ; b'00001111' d'015' ANDWF PORTB,F ; !!Bank!! PORTB - TRISB BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select BSF PORTA,2 ; !!Bank!! PORTA - TRISA MOVF LRAM_0x0C,W MOVWF PORTB ; !!Bank!! PORTB - TRISB NOP BCF PORTA,2 ; !!Bank!! PORTA - TRISA BSF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select MOVF LRAM_0x0E,W MOVWF PORTB ; !!Bank!! PORTB - TRISB BCF STATUS,RP0 ; !!Bank Register-Bank(0/1)-Select
![Page 21: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/21.jpg)
CALL LADR_0x00B7 RETURNLADR_0x0038 MOVLW 0x06 ; b'00000110' d'006' GOTO LADR_0x004F MOVLW 0x80 ; b'10000000' d'128' GOTO LADR_0x004F MOVLW 0xC0 ; b'11000000' d'192' GOTO LADR_0x004F MOVLW 0x94 ; b'10010100' d'148' GOTO LADR_0x004F MOVLW 0xD4 ; b'11010100' d'212' GOTO LADR_0x004F IORLW 0x80 ; b'10000000' d'128' GOTO LADR_0x004F IORLW 0xC0 ; b'11000000' d'192' GOTO LADR_0x004F MOVLW 0x08 ; b'00001000' d'008' GOTO LADR_0x004F MOVLW 0x0E ; b'00001110' d'014' GOTO LADR_0x004FLADR_0x004A MOVLW 0x0C ; b'00001100' d'012' GOTO LADR_0x004FLADR_0x004C MOVLW 0x01 ; b'00000001' d'001' GOTO LADR_0x004FLADR_0x004E MOVLW 0x28 ; b'00101000' d'040' "("LADR_0x004F BCF PORTA,0 ; !!Bank!! PORTA - TRISA GOTO LADR_0x0053LADR_0x0051 BSF PORTA,0 ; !!Bank!! PORTA - TRISA CALL LADR_0x005BLADR_0x0053 MOVWF LRAM_0x0D
![Page 22: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/22.jpg)
CALL LADR_0x0022 SWAPF LRAM_0x0D,W CALL LADR_0x0022 BTFSS PORTA,0 ; !!Bank!! PORTA - TRISA CALL LADR_0x00B7 CALL LADR_0x00A3 RETURNLADR_0x005B MOVWF LRAM_0x0C SUBLW 0xF1 ; b'11110001' d'241' BTFSS STATUS,Z GOTO LADR_0x0062 MOVLW 0xEE ; b'11101110' d'238' MOVWF LRAM_0x0C GOTO LADR_0x006FLADR_0x0062 MOVF LRAM_0x0C,W SUBLW 0xD1 ; b'11010001' d'209' BTFSS STATUS,Z GOTO LADR_0x0069 MOVLW 0xEE ; b'11101110' d'238' MOVWF LRAM_0x0C GOTO LADR_0x006FLADR_0x0069 MOVF LRAM_0x0C,W SUBLW 0xBA ; b'10111010' d'186' BTFSS STATUS,Z GOTO LADR_0x006F MOVLW 0xDF ; b'11011111' d'223' MOVWF LRAM_0x0CLADR_0x006F MOVF LRAM_0x0C,W RETURN MOVLW 0x10 ; b'00010000' d'016' GOTO LADR_0x0078 MOVLW 0x01 ; b'00000001' d'001' GOTO LADR_0x0078
![Page 23: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/23.jpg)
MOVLW 0x02 ; b'00000010' d'002' GOTO LADR_0x0078 MOVLW 0x03 ; b'00000011' d'003'LADR_0x0078 MOVWF LRAM_0x0FLADR_0x0079 MOVLW 0x20 ; b'00100000' d'032' " " CALL LADR_0x0051 DECFSZ LRAM_0x0F,F GOTO LADR_0x0079 RETURN MOVWF LRAM_0x10 ANDLW 0xF0 ; b'11110000' d'240' BTFSS STATUS,Z GOTO LADR_0x0086 MOVLW 0x20 ; b'00100000' d'032' " " CALL LADR_0x0051 GOTO LADR_0x0088 MOVWF LRAM_0x10LADR_0x0086 SWAPF LRAM_0x10,W CALL LADR_0x0089LADR_0x0088 MOVF LRAM_0x10,WLADR_0x0089 ANDLW 0x0F ; b'00001111' d'015' MOVWF LRAM_0x0F SUBLW 0x09 ; b'00001001' d'009' BTFSS STATUS,C GOTO LADR_0x0091 MOVF LRAM_0x0F,W ADDLW 0x30 ; b'00110000' d'048' "0" GOTO LADR_0x0093LADR_0x0091 MOVF LRAM_0x0F,W ADDLW 0x37 ; b'00110111' d'055' "7"LADR_0x0093
![Page 24: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/24.jpg)
GOTO LADR_0x0051 NOP NOP NOP NOP NOP NOP RETURN NOP MOVLW 0xA4 ; b'10100100' d'164' GOTO LADR_0x00A7LADR_0x009E NOP MOVLW 0x40 ; b'01000000' d'064' "@" GOTO LADR_0x00A7 MOVLW 0x1F ; b'00011111' d'031' GOTO LADR_0x00A7LADR_0x00A3 NOP MOVLW 0x0E ; b'00001110' d'014' GOTO LADR_0x00A7 MOVLW 0x05 ; b'00000101' d'005'LADR_0x00A7 MOVWF LRAM_0x11LADR_0x00A8 DECFSZ LRAM_0x11,F GOTO LADR_0x00A8 RETURN MOVLW 0xC8 ; b'11001000' d'200' GOTO LADR_0x00BA MOVLW 0x64 ; b'01100100' d'100' "d" GOTO LADR_0x00BA MOVLW 0x32 ; b'00110010' d'050' "2" GOTO LADR_0x00BALADR_0x00B1 MOVLW 0x14 ; b'00010100' d'020' GOTO LADR_0x00BA
![Page 25: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/25.jpg)
MOVLW 0x0A ; b'00001010' d'010' GOTO LADR_0x00BALADR_0x00B5 MOVLW 0x05 ; b'00000101' d'005' GOTO LADR_0x00BALADR_0x00B7 MOVLW 0x02 ; b'00000010' d'002' GOTO LADR_0x00BA MOVLW 0x01 ; b'00000001' d'001'LADR_0x00BA MOVWF LRAM_0x12LADR_0x00BB MOVLW 0xF9 ; b'11111001' d'249' MOVWF LRAM_0x11LADR_0x00BD NOP DECFSZ LRAM_0x11,F GOTO LADR_0x00BD DECFSZ LRAM_0x12,F GOTO LADR_0x00BB RETURN MOVLW 0xC8 ; b'11001000' d'200' GOTO LADR_0x00CE MOVLW 0x64 ; b'01100100' d'100' "d" GOTO LADR_0x00CE MOVLW 0x32 ; b'00110010' d'050' "2" GOTO LADR_0x00CE MOVLW 0x14 ; b'00010100' d'020' GOTO LADR_0x00CE MOVLW 0x0A ; b'00001010' d'010' GOTO LADR_0x00CE MOVLW 0x05 ; b'00000101' d'005'LADR_0x00CE MOVWF LRAM_0x13LADR_0x00CF MOVLW 0x64 ; b'01100100' d'100' "d" MOVWF LRAM_0x12
![Page 26: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/26.jpg)
LADR_0x00D1 MOVLW 0xF9 ; b'11111001' d'249' MOVWF LRAM_0x11LADR_0x00D3 NOP DECFSZ LRAM_0x11,F GOTO LADR_0x00D3 DECFSZ LRAM_0x12,F GOTO LADR_0x00D1 DECFSZ LRAM_0x13,F GOTO LADR_0x00CF RETURN
End
3.-Presente un Diagrama electrónico que use un Display Backlight e indique que significa y el porqué de su uso.
list P=16F84Ainclude "P16F84A.INC"cblock 0x0C
REG1REG2
endcorg 0x00call LCD_PORTcall LCD_INI
movlw '"'
call LCD_DATAmovlw 'B'call LCD_DATAmovlw 'I'call LCD_DATAmovlw 'E'call LCD_DATAmovlw 'N'call LCD_DATAmovlw 'V'
![Page 27: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/27.jpg)
![Page 28: Display Lcd1](https://reader034.fdocument.pub/reader034/viewer/2022052204/55349bbb4a7959824c8b4c0f/html5/thumbnails/28.jpg)
4.-Presente Hoja de Datos (Data Sheets) de diferentes tipos de Display LCD que usan el microcontrolador Hitachi 44780 o equivalente