Está en la página 1de 4

UNIVERSIDAD NACIONAL DE SAN AGUSTIN

Escuela Profesional de Ingeniería Electrónica


Asignatura: Microcontroladores y Microprogramación
EC1- 05 - Actividades Teóricas y Prácticas
Tema: Pantalla LCD

Prof. Wildor Ferrel S.

2020/05/18

Objetivos:

Conocer y comprender el funcionamiento de la pantalla LCD de texto

Conocer y comprender la conexión de la pantalla LCD con el microcontrolador

Escribir el programa de gestión de la pantalla LCD en lenguaje ensamblador.

Escribir el programa de gestión de la pantalla LCD en lenguaje C haciendo uso de librería.

Simular el funcionamiento de la pantalla LCD en el software Proteus.

Actividades:

1. Ver el video 11 acerca de la pantalla LCD de texto y su conexión con el microcontrolador


PIC18F4550.

2. Replicar en su PC el ejemplo del video usando MPLAB y Proteus (El programa se adjunta
en la siguiente página).

3. En el libro [2] de la bibliografía leer acerca de la programación en C de la pantalla LCD


usando librería (Páginas 65-70 del libro).

4. Desarrollar el ejemplo 3 del libro [2] de la bibliografía (Página 68 del libro) usando pro-
gramación en lenguaje C y en base al microcontrolador PIC 18F4550.

5. Llenar el Informe del Trabajo Práctico EC1-05 en el documento WordOnLine.

1
Asignatura: Microcontroladores y Microprogramación

Programa 1 58 MOVWF PORTC ,0


1 # INCLUDE < P18F4550 . INC > 59 CALL RETRASO1
2 RS EQU 0 60 CALL LCD_E
3 RW EQU 1 61 RETURN
62
4 E EQU 2
5 FILA EQU 0 X21 63 INITLCD
6 COLU EQU 0 X22 64 MOVLW B ’00110011 ’
7 WAUX EQU 0 X23 65 CALL LCD_REG
8 MOVLW 0 X00 66 MOVLW B ’00110010 ’
9 MOVWF BSR ,0 67 CALL LCD_REG
10 CALL INITB 68 MOVLW B ’00101000 ’ ; Function set
11 CALL INITC 69 CALL LCD_REG
12 CALL INITD 70 MOVLW B ’00000001 ’ ; Clear display
13 CALL INITLCD 71 CALL LCD_REG
14 BUCLE 72 MOVLW B ’00000110 ’ ; Set entry mode
15 CALL DETECTAR 73 CALL LCD_REG
16 ANDLW 0 XFF 74 MOVLW B ’00001110 ’ ; Display control
17 BTFSS STATUS , Z 75 CALL LCD_REG
18 GOTO HAY_TECLA 76 MOVLW D ’16 ’ ; INICIAR COL
19 GOTO BUCLE 77 MOVWF COLU ,1
20 HAY_TECLA 78 CLRF FILA ,1 ; INICIAR FILA
21 CALL RETRASO2 79 RETURN
80
22 CALL CODIFICAR
23 CALL CHAR_PRINT 81 CHAR_PRINT
24 VERIFICAR 82 CALL LCD_DATO
25 CALL DETECTAR 83 DECFSZ COLU ,F ,1
26 ANDLW 0 XFF 84 GOTO SALIR
27 BTFSS STATUS , Z 85 MOVLW 0 X10
28 GOTO VERIFICAR 86 MOVWF COLU ,1
29 CALL RETRASO2 87 BTFSC FILA ,0 ,1
30 GOTO BUCLE 88 GOTO ES_FILA_1
31
89 MOVLW B ’11000000 ’
32 LCD_E 90 CALL LCD_REG
33 BSF PORTD ,E ,0 91 MOVLW 0 X01
34 BCF PORTD ,E ,0 92 MOVWF FILA ,1
35 RETURN 93 GOTO SALIR
36
94 ES_FILA_1
37 LCD_REG 95 MOVLW B ’00000010 ’
38 MOVWF WAUX ,1 96 CALL LCD_REG
39 BCF PORTD , RS ,0 97 MOVLW 0 X00
40 BCF PORTD , RW ,0 98 MOVWF FILA
41 MOVWF PORTC ,0 99 SALIR
42 CALL RETRASO1 100 RETURN
101
43 CALL LCD_E
44 SWAPF WAUX ,W ,1 102 CODIFICAR
45 MOVWF PORTC ,0 103 ; Si hay tecla presionada
46 CALL RETRASO1 104 ; devuelve en W el codigo
47 CALL LCD_E 105 ; ASCII de la tecla
48 RETURN 106 ; caso contrario devuelve W =0 x00
49
107 MOVLW 0 XF7
50 LCD_DATO 108 MOVWF PORTB ,0
51 MOVWF WAUX ,1 109 BTFSS PORTB ,7 ,0
52 BSF PORTD , RS ,0 110 RETLW "1"
53 BCF PORTD , RW ,0 111 BTFSS PORTB ,6 ,0
54 MOVWF PORTC ,0 112 RETLW "4"
55 CALL RETRASO1 113 BTFSS PORTB ,5 ,0
56 CALL LCD_E 114 RETLW "7"
57 SWAPF WAUX ,W ,1 115 BTFSS PORTB ,4 ,0

Page 2 of 4
Asignatura: Microcontroladores y Microprogramación

116 RETLW "*" 174 MOVLW M2


117 MOVLW 0 XFB 175 MOVWF CONT22
118 MOVWF PORTB 176 REP22
119 BTFSS PORTB ,7 177 DECFSZ CONT22 ,1
120 RETLW "2" 178 GOTO REP22
121 BTFSS PORTB ,6 179 DECFSZ CONT21 ,1
122 RETLW "5" 180 GOTO REP21
123 BTFSS PORTB ,5 181 RETURN
124 RETLW "8" 182
125 BTFSS PORTB ,4 183 INITB
126 RETLW "0" 184 MOVLW 0 x0F
127 MOVLW 0 XFD 185 MOVWF ADCON1
128 MOVWF PORTB 186 CLRF PORTB ,0
129 BTFSS PORTB ,7 187 MOVLW 0 XF0
130 RETLW "3" 188 MOVWF TRISB ,0
131 BTFSS PORTB ,6 189 RETURN
132 RETLW "6" 190 INITC
133 BTFSS PORTB ,5 191 MOVLW 0 X00
134 RETLW "9" 192 MOVWF TRISC ,0
135 BTFSS PORTB ,4 193 MOVLW 0 X00
136 RETLW "#" 194 MOVWF PORTC ,0
137 RETLW 0 X00 195 RETURN
138 196 INITD
139 DETECTAR 197 MOVLW 0 X00
140 ; Si hay tecla presionada 198 MOVWF TRISD ,0
141 ; devuelve W =0 xFF 199 MOVLW 0 X00
142 ; caso contrario devuelve W =0 x00 200 MOVWF PORTD ,0
143 CLRF PORTB 201 RETURN
144 BTFSS PORTB ,7 202 END
145 RETLW 0 XFF
146 BTFSS PORTB ,6
147 RETLW 0 XFF
148 BTFSS PORTB ,5
149 RETLW 0 XFF
150 BTFSS PORTB ,4
151 RETLW 0 XFF
152 RETLW 0 x00
153

154 N1 EQU 0 XA5


155 CONT1 EQU 0 x30
156
157 RETRASO1
158 MOVLW N1
159 MOVWF CONT1 ,1
160 REP1
161 DECFSZ CONT1 ,1 ,1
162 GOTO REP1
163 RETURN
164
165 N2 EQU 0 X1A
166 M2 EQU 0 X0
167 CONT21 EQU 0 X40
168 CONT22 EQU 0 X41
169
170 RETRASO2
171 MOVLW N2
172 MOVWF CONT21
173 REP21

Page 3 of 4
Asignatura: Microcontroladores y Microprogramación

El desarrollo de estas actividades es una preparación para la Evaluación Continua EC1-05 (4


puntos) que se realizará el día viernes 22 de mayo. En cada programa el alumno debe entender
la función de cada línea.

Bibliografía:
[1] Sixto Reinoso V, Marco Pilatasig, Luis Mena y Jorge Sánchez. Programación de micro-
controladores PIC con Lenguaje C, Tomo I. 2018
[2] Eduardo García Breijo. Compilador C CCS y Simulador Proteus para Microcontroladores
PIC. Alfaomega. 2009.

Page 4 of 4

También podría gustarte