tec. electricista

Páginas: 11 (2511 palabras) Publicado: 23 de julio de 2013
Prácticas de Sistemas Electrónicos Digitales
Curso 3º Ingeniería de Telecomunicación

Práctica 8 – Microcontroladores PIC: Interface con driver de LCD
Subprogramas para interface a 8 bits y 4 bits con LCD
Se trata de realizar el diseño del programa encargado de gestionar una
pantalla de cristal líquido matricial de puntos con driver HD44780 o
compatible para implementar un cronómetrodigital que dispone de
pulsadores de MARCHA (RC1) y PARADA (RC0). El crono tiene capacidad de
representar Horas:Minutos:Segundos.Décimas de Segundo en pantalla y
hasta completar 24 horas

E
R/W
RS

HH:MM:SS.D

LCD HD44780

4MHz

RB7 RB6 ....................... RB0

PIC16C65B
RC1

RA0
RA1
RA2
RC0
+5V

MARCHA

PARADA

El diseño se basa en el empleo de un microcontroladorPIC16C65B con un
oscilador de 4MHz
Aunque las 8 líneas de datos del LCD están conectadas a las 8 líneas de
datos del PORTB, resulta posible utilizar únicamente las 4 más altas si así
se define el interface.

E.P.S. de Ingenieros de Gijón
Curso 2002-2003

Prácticas de Sistemas Electrónicos Digitales
Curso 3º Ingeniería de Telecomunicación

Esquema de la placa de circuito impreso con elLCD:

J1

R1
10K

LCD
1
2
3
4
5
6
7
8
9
10

7
8
9
10
11
12
13
14

D0
D1
D2
D3
D4
D5
D6
D7

03:45:56.4

DATOS

PORT B

VSS
VCC
VEE

VCC

1
2
3
J3

RS
R/#W
E

4
5
6

RS
R/#W
E

PORTA

1
2
3
4
5
6
7
8
9
10

CONTROL

Planteamiento:
Se utiliza el TMR1 para realizar una temporización de 0,1 s que generará unainterrupción, en esa interrupción se modifican las posiciones que almacenan
Décimas, Segundos, Minutos y Horas y se envían al LCD como caracteres a
representar. Al LCD sólo se envían los caracteres cuando se necesita
cambiarlos y se envían todos, también podría ser posible ubicar puntero de
direcciones de la DDRAM del LCD y enviar sólo los que cambian.
El programa principal es un bucle donde se exploranpermanentemente el
estado de los pulsadores de MARCHA y de PARADA, si alguno de ellos está
activado, se para el TMR1 ó se pone en marcha
El TMR1 debe precargarse con un valor tal que:
0,1s = 4/4MHz * 8 * (65536-Precarga)
de donde Precarga=53036 (0xCF2C)
Para el envío de caracteres y comandos al LCD se utilizan los subprogramas
presentes en el fichero S_LCD8B.ASM si el interface se realizacon 8 bits
o bien S_LCD4B.ASM si es de 4 bits. Estos ficheros se deben incluir en el
fichero del código fuente.

E.P.S. de Ingenieros de Gijón
Curso 2002-2003

Prácticas de Sistemas Electrónicos Digitales
Curso 3º Ingeniería de Telecomunicación

Algoritmo utilizado:
INICIALIZACIÓN













Puertos: PORTB inicialmente de salida para enviar datos y
comandos alLCD, pero serán de entrada en algunos intervalos para
leer estado del LCD
PORTA será de salida en sus 3 bits más bajos para líneas de
control del LCD (RS,R/W y E) y son salidas permanentemente
PORTC de entrada en sus 2 líneas más bajas, el resto no se usa
Inicializamos el LCD: tras esperar el arranque (15ms de
temporización software) definimos interface de 8 bits (ó 4) y 2
líneas depantalla, desactivamos pantalla
TMR1: modo temporizador, prescaler de 8 y parado
Precargar TMR1H y TMR1L para que, tras ponerlo en marcha,
desborde al cabo de 0,1s
INTERRUPCIONES: habilitar las de TMR1
Variables del algoritmo a cero: DECIMAS, SEGUNDOS,
MINUTOS Y HORAS
Activamos interrupciones globales y de periféricos (GIE y PEIE)
Llamamos al subprograma encargado de enviar los caracteres
ASCIIde lo que queremos sacar en el LCD (SACATIEMPO) al
principio

BUCLE PRINCIPAL




Si RC0 está a 1 (pulsada) entonces paramos TMR1
Si RC1 está a 1 (pulsada) entonces ponemos en marcha TMR1
Volvemos al principio del bucle principal

PROGRAMA DE TRATAMIENTO DE LA INTERRUPCIÓN DE TMR1









Se comprueba que el flag TMR1IF está a 1
Salvaguarda del contexto (W y...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • tec. electricista
  • Tec . Electricista
  • TEC. ELECTRICISTA
  • Tec. Electricista
  • Tec. Mecanico Electricista
  • Electricista
  • El Electricista
  • electric

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS