Está en la página 1de 7

OBJETIVO

Mediante una matriz de leds de 5x7, una memoria EEPROM y el PIC16F877A, mostrar los
caracteres de los nombres y primer apellido de los integrantes del equipo.

INTRODUCCION
En esta prctica se program el PIC para que muestre el nombre y primer apellido de cada
integrante del equipo, donde el primer carcter del nombre y apellido estn en mayscula y
lo dems en minsculas y dejando un espacio entre el nombre y el apellido utilizando una
memoria EEPROM que tiene grabados los caracteres del alfabeto en maysculas y
minsculas.
El PIC16F877A cuenta con 5 puertos (RA, RB, RC, RD y RE) que pueden ser utilizados
como entrada o salida de datos, como se muestra en el siguiente diagrama:

DESARROLLO
El diagrama genereal de esta practica queda como se muestra en el siguiente diagrama:

Mediante tres push button conectados a los pines RB0, RB1 Y RB2 nos permitirn activar
los pines ejecutando el programa previamente cargado al PIC para visualizar el nombre y
apellido de cada integrante en la matriz de leds.
Entre los pines 13 y 14 se conect un cristal de 4MHz que permitir realizar la oscilacin
de la seal puesto el microcontrolador no cuenta con un oscilador interno para para realizar
la funcin de seleccin de frecuencia.

Por otra parte, se colocaron flip-flops tipo JK para un conteo rpido de ciclos de reloj, la salida de
este conteo se colocaron en las entradas del decoder, esto se realiz con el fin de hacer que cada
entrada de datos dieran un corrimiento para el encendido de los leds.

En lo que respecta al timer, se configuro para que diera una frecuencia de reloj mayor a 60 Hz.

Direcciones de las letras en la memoria EEPROM


DIRECCION
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

CARACTER
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q

17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34

R
S
T
U
V
W
X
Y
Z
a
b
c
d
e
f
g
h
i

35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51

j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z

Se program el microcontrolador en el programa MICROBASIC PRO con el siguiente


cdigo.
main:
trisa = 255
trisb = 0
trisc = 0
trisd = 0
while (true)
portb = 255
portc = 0
portd = 0

portb = 0x23
delay_ms(200)
portb = 0x1A
delay_ms(200)
portb = 0x27
delay_ms(200)
portb = 0x1D
delay_ms(200)
portb = 0x2B
delay_ms(200)
portb = 0x28
delay_ms(200)

if porta = 1 then
portb = 255
portb = 0x00
delay_ms(200)
portb = 0x25
delay_ms(200)
portb = 0x1E
delay_ms(200)

delay_ms(200)
portb = 0x11
delay_ms(200)
portb = 0x2E
delay_ms(200)

portb = 0x22
delay_ms(200)
portb = 0x33
delay_ms(200)
end if
if porta = 2 then
portb = 0x03
delay_ms(200)
portb = 0x1A
delay_ms(200)
portb = 0x27
delay_ms(200)
portb = 0x22
delay_ms(200)
portb = 0x1E
delay_ms(200)
portb = 0x25
delay_ms(200)

if porta = 4 then

portb = 0x2B
delay_ms(200)
portb = 0x27
delay_ms(200)
portb = 0x1A
delay_ms(200)
portb = 0x27
delay_ms(200)
portb = 0x1D
delay_ms(200)
portb = 0x1E
delay_ms(200)
portb = 0x33
delay_ms(200)

portb = 255
delay_ms(200)
portb = 0x0C
delay_ms(200)
portb = 0x1A
delay_ms(200)
portb = 0x2B
delay_ms(200)
portb = 0x2D
delay_ms(200)
portb = 0x22
delay_ms(200)
portb = 0x27
delay_ms(200)
portb = 0x1E
delay_ms(200)
portb = 0x33
delay_ms(200)
end if

portb = 0x0E
delay_ms(200)
portb = 0x2C
delay_ms(200)
portb = 0x22
delay_ms(200)
portb = 0x2B
delay_ms(200)
portb = 0x22
delay_ms(200)
portb = 0x2C
delay_ms(200)
portb = 255
delay_ms(200)
portb = 0x07
delay_ms(200)
portb = 0x1E
delay_ms(200)

end if
wend
end.

CONCLUSIONES
Es necesario saber en qu direccin de memoria est grabado cada carcter para que al momento de
programar el microcontrolador muestre correctamente y en orden los nombres de los integrantes.
Como el PIC16F877A no cuenta con un oscilador interno es necesario un cristal externo entre los
pines 13 y 14.
Para grabar los nmeros hexadecimales correspondientes a cada carcter, se deben de colocar de
manera correcta en las direcciones de memoria al momento de programarlos, de otra manera,
aunque el circuito este bien construido, no se mostraran de manera correcta los caracteres en la
matriz de leds.
Se debe tener en cuenta que la memoria tiene una configuracin para la lectura de datos y otra para
la escritura, por lo que se debe configurar de manera correcta para que los datos no se modifiquen o
se pierdan y se tengan que volver a grabar los datos nuevamente en la memoria.
La configuracin de los push button en el PIC indica que cada que se presionen se activara en alto y
como consecuente iniciara el programa cargado en la pic dependiendo que botn se presione.
En el momento en que se program el PIC se escribieron los valores de las direcciones en
hexadecimal para que se muestren los caracteres, sin embargo cuando no se realiza el
direccionamiento adecuado puede surgir el problema de que se muestre un carcter que no es.

El PIC cuenta con unos pines de activacin (chip enable), escritura (Write enable) y lectura de
datos (Read data) deben ir conectados a voltaje o tierra (activos en bajo) esta configuracin se
realizara dependiendo de cmo se usara el PIC ya que en estos pines se verifica la activacin del
PIC como tal.
Al momento de programar el PIC se debe de asignar que pines se utilizaran como entrada de datos y
cules sern utilizados como salida de datos.

REFERENCIAS

M. MORRIS MANO, LOGICA DIGITAL Y DISEO DE COMPUTADORES, ED.


Prentice Hall (1989).
MICROCHIP 16F877A, Datasheet, 2003, MICROCHIP TECHONOLOGY INC.

También podría gustarte