Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ndice
Introduccin ------------------------------------------------------------------------
Descripcin
------------------------------------------------------------------------
23
24
25
27
Apndice A
-------------------------------------------------------------------------
28
Apndice B
-------------------------------------------------------------------------
30
Apndice C
-------------------------------------------------------------------------
32
Apndice D
-------------------------------------------------------------------------
34
Conclusin
-------------------------------------------------------------------------
36
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Introduccin
El proyecto consiste en un cartel electrnico programable de matrices de leds.
Mediante un teclado de PC-AT se podrn ir ingresando los distintos caracteres, el
cual se podrn ir visualizando en la pantalla.
Esta compuesta de ocho matrices de leds 7x5 ctodo comn, lo cual formara una
matriz de 7 filas por 80 columnas.
El tamao mximo de caracteres del mensaje es de 128, que pueden ser desde
nmeros del 0-9, y letras desde A-Z minsculas y maysculas.
Dispondr de un microcontrolador PIC 16F873, el cual posee 4K de memoria de
programa, 192 bytes de memoria de datos, 128 bytes de memoria RAM, adems de
puertos de entrada/salida, etc. Este se utilizara para manejar todos los componentes
del proyecto como la memoria, las matrices, los codificadores, etc.
Se pueden visualizar dos tipos de mensajes, uno mensaje giratorio y otro de a frases
instantneas.
Se utilizara una memoria EEPROM de 2K byte, en ella se irn guardando los
distintos mensajes ingresados.
Posee 8 lugares de memoria, 4 para cada modo. Una vez apagado se volver a
mostrar el ultimo mensaje ingresado.
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Descripcin
El objetivo del trabajo es poder visualizar dos tipos de mensajes, un mensaje
giratorio y otro que va aparecer de a frases instantneas. Los mensajes se
guardaran en la memoria I2C EEPROM (24C16), para poder ser utilizados
nuevamente, la conexin y funcionamiento se describe en el Apndice C. La
cantidad mxima de caracteres que se pueden escribir es de 128. El control del
cartel se har mediante un teclado de PC-AT, la descripcin de este es detallado en
el Apndice A. Los caracteres que se pueden visualizar son maysculas de la (A) a
la (Z), minsculas de la (a) a la (z) y los nmeros del (0) al (9). El control se va a
realizar mediante el microcontrolador PIC 16F873, (Apndice D), que ser el
encargado de manejar la memoria I2C EEPROM, el teclado, los decodificadores y
las matrices de leds.
Diseo Hardware
En el presente se describe el proceso que se ha llevado a cabo en el diseo lgico,
elctrico de la placa que contiene el Display objeto del trabajo.
El hardware que se quiere construir es un Cartel luminoso. Su tamao vendr
impuesto por el de las matrices de leds que se van a usar en su construccin. Una
descripcin detallada de estas matrices puede encontrarse en el Apndice B de este
trabajo. Para el diseo inicial se utilizo 8 matrices, no se utilizo mas matrices por
razn de costo, de forma que se tendr el control sobre 280 leds (7 x 5 x 8) por lo
que quedaran 13 seales digitales que son controladas por el microcontrolador PIC
16F873. El montaje final queda por tanto con 40 columnas y 7 filas.
El control de las matrices es multiplexado, de forma que las matrices se controlan
por filas y por columnas. Adems se debe tener en cuenta la conexin de los leds
en la matriz, que es de ctodo comn.
El diseo debe ser seguro. Esto quiere decir que ante una manipulacin incorrecta el
estado de los componentes no se vea alterado, ni destruido.
Diseo lgico y elctrico
Diseo lgico
Teniendo en cuenta las restricciones anteriores se comienza el diseo lgico del
circuito de control. En primer lugar se debe escoger la forma en que se va a realizar
el control sobre las matrices, teniendo en cuenta que se va a crear un display
lineal. Lo ideal sera poder controlar individualmente cada uno de los 280 leds, pero
para ello seran necesarias 47 seales de control, una por cada columna (40) y uno
por cada fila (7). El nmero es excesivo, as que se tendr que plantear otro
esquema de control. Se plantearon dos soluciones, codificar las columnas o las filas,
de forma que en un momento dado slo por una columna o por una fila pudiera
pasar corriente, permitiendo eso s el control individual de los leds de la fila o
columna por la que pasar corriente. De las dos opciones se ha escogido la
codificacin de las 40 columnas, con lo que en un instante determinado, slo en 1
columna de las 40, se puede iluminar alguno de los 7 leds que la componen. A
continuacin se procede a la codificacin de todas las seales de control necesarias.
Para codificar las 40 columnas se necesitan 6 seales de control. Lo normal sera
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
usar un decodificador de 6 a 48, pero al hacer el diseo fsico con una herramienta
beta, se usarn componentes ms sencillos que seguro estarn disponibles. En vez
de decodificadores 6 a 48, se usarn decodificadores 3 a 8, y en vez de un slo
decodificador se necesitarn 5 para codificar las 40 columnas. Esto no es suficiente
para mantener una sola columna activa, as que es necesario introducir un segundo
nivel de codificacin, en este caso, lo que se codifica son las seales enable de los
decodificadores anteriores para que slo 1 de los 5 anteriores este activo en un
momento dado. Con un decodificador 3 a 8 es suficiente para controlar los 5. Para el
primer nivel de codificacin introducido se necesitan 3 seales de control que se
conectaran a las entradas A, B y C de los 5 decodificadores. Los 5 comparten las
mismas seales. Para el segundo nivel de codificacin se necesitarn 3 seales,
para las entradas A, B y C del decodificador. Las salidas de este decodificador se
conectan con las entradas enable de los 5 decodificadores anteriores. El resto de
entradas se conectan a GND. Por otro lado se necesitan 7 seales, una por cada fila
del Display.
Una vez que se conoce el nmero de seales necesarias para el diseo se debe
realizar la conexin con los componentes, para ello se debe tener en cuenta el nivel
lgico de las seales. En primer lugar recordar que para iluminar un led es
necesario introducir una seal lgica alta (1) por el nodo y tener una seal lgica
baja (0) por el ctodo. Por tanto, dado que los ctodos estn unidos por las
columnas y son estas las que se han codificado, se situar la salida de cada
decodificador conectado a la columna de la matriz.
La salida ser activa a nivel bajo as que ser el decodificador 74138. Para el
decodificador de las seales enable al ser sta activa a nivel alto, se usar el
decodificador 74238. El resultado de las conexiones entre componentes y el diseo
lgico inicial se puede ver en la figura 1.
Diseo elctrico
Con la solucin anterior se ha resuelto el problema lgico de control usando un total
de 13 seales, si bien, ahora se debe resolver el problema elctrico, es decir el tema
de corrientes, resistencias y voltajes. Para ello, en primer lugar se elige la tecnologa
de los componentes auxiliares (decodificadores, ...) que se necesitarn, en este caso
se uso tecnologa TTL.
La forma que se ha escogido de control es por columnas y cada una esta conectada
a la salida de un decodificador. Cada decodificador debe manejar como mximo 7
leds por lo que se ha decidido introducir entre los ctodos y el codificador un par
darlington que es capaz de manejar hasta 550 mA. El circuito integrado que
proporciona estos darlington es el ULN2003.
El uso del par darlington provoca que se cambie el nivel de la seal lgica de
control. Antes, para que el led se encendiera deba entrar un 0 y este era
proporcionado directamente por el decodificador, en cambio, ahora es el darlington
el que se lo proporciona pero ste requiere de un 1 a su entrada por lo que se
deben de cambiar los 5 decodificadores con salidas a nivel bajo por decodificadores
con salida a nivel alto (74238). En la figura 2 se ve el conexionado.
Por otro lado las seales que controlan las filas como mximo alimentan a un led,
por lo que fue necesario colocar entre las filas y el puerto B del PIC un 74HC241 que
es un amplificador de corriente. En la figura 3 se muestra el puerto B del PIC
conecto con el 74HC241 y las filas de los leds.
Cingolani Ariel Jorge
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
U2
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
15
14
13
12
11
10
9
7
SEAL 08
SEAL 09
SEAL 10
U3
SEAL 11
SEAL 12
SEAL 13
FIGURA 1
E1
E2
E3
6
4
5
1
2
3
A
B
C
74HC238
E1
E2
E3
6
4
5
1
2
3
A
B
C
E1
E2
E3
74ALS138
6
4
5
A
B
C
1
2
3
COL 40
COL 39
COL 37
15
14
13
12
11
10
9
7
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
U1
74ALS138
COL 38
FILA07
COL 01
SEAL 07
FILA06
15
14
13
12
11
10
9
7
SEAL 06
FILA05
COL 06
SEAL 05
FILA04
COL 05
SEAL 04
FILA03
COL 04
SEAL 03
FILA02
COL 03
SEAL 02
FILA01
COL 02
SEAL 01
TECNOLOGIA ELECTRONICA
COM
1C
2C
3C
4C
5C
6C
7C
COL 40
COL 39
ULN2003A
1
2
3
4
5
6
7
15
14
13
12
11
10
9
7
U3
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
Y0
Y1
Y2
Y3
Y4
Y5
Y6
Y7
15
14
13
12
11
10
9
7
1
2
3
4
5
6
7
U4
E1
E2
E3
6
4
5
1
2
3
A
B
C
E1
E2
E3
74HC238
6
4
5
A
B
C
U2
1B
2B
3B
4B
5B
6B
7B
ULN2003A
74HC238
1
2
3
COL 38
9
16
15
14
13
12
11
10
COL 37
COL 06
COL 04
COL 03
COL 02
COL 05
U1
1B
2B
3B
4B
5B
6B
7B
COM
1C
2C
3C
4C
5C
6C
7C
9
16
15
14
13
12
11
10
COL 01
FIGURA 2
FILA01
FILA02
U2
9
10
1
2
3
4
5
6
7
OSC1/CLKIN
OSC2/CLKOUT
MCLR/Vpp/THV
RA0/AN0
RA1/AN1
RA2/AN2/VREFRA3/AN3/VREF+
RA4/T0CKI
RA5/AN4/SS
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
RC0/T1OSO/T1CKI
RC1/T1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/TX/CK
RC7/RX/DT
21
22
23
24
25
26
27
28
11
12
13
14
15
16
17
18
U1
SEAL 01
SEAL 02
SEAL 03
SEAL 04
SEAL 05
SEAL 06
SEAL 07
2
4
6
8
11
13
15
17
1A0
1A1
1A2
1A3
2A0
2A1
2A2
2A3
1
19
1OE
2OE
1Y0
1Y1
1Y2
1Y3
2Y0
2Y1
2Y2
2Y3
18
16
14
12
9
7
5
3
FILA03
FILA04
FILA05
74ALS241
FILA06
PIC16F873
COL 01
FILA07
FIGURA 3
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Programa en assembler
List p=16F873
INCLUDE "P16F873.INC" ;Definiciones de registros internos
errorlevel -302
Doble_DATAIN EQU
0x20
ASCII
EQU
0x21
BANDERAS
EQU
0x22
SALTO
EQU
0x23
GIRAR
EQU
0x24
CONTADOR2
EQU
0x25
#DEFINE
BANDERAS_CAPS BANDERAS,0
Nbits
EQU
0x26
Nbytes
EQU
0x27
NO_ROTAR
EQU
0x28
KeyRtn
EQU
0x29
DATAIN
EQU
0x2a
#DEFINE
KBD_CLK PORTB,0
#DEFINE
KBD_DATO PORTC,0
#DEFINE
BIT_ACTUAL DATAIN,7
STATUS_TEMP EQU
0x2b
W_TEMP
EQU
0x2c
CUENTAS
EQU
0x2d
CARACTER
EQU
0x2e
RESTADOR
EQU
0x2f
RESTADOR1
EQU
0x30
TIEMPO
EQU
0x31
SAL
EQU
0x32
saltar
EQU
0x33
Delay_Cont EQU
0x34
#DEFINE banco_0 bcf STATUS,5 ; Banco 1 de RAM
#DEFINE banco_1 bsf STATUS,5 ; Banco 0 de RAM
cblock 0x35
Direccion,Dato,Banderas,Copia,restador,retardo,valor,cont,fila,fila1,GIRAR1,cuanto,memoria,comp
endc
org
0x00
goto
INICIO
org
0x04
MOVWF W_TEMP
SWAPF STATUS,W
MOVwf STATUS_TEMP
CALL
LEER_TECLADO
bcf
INTCON,INTF
SWAPF STATUS_TEMP,W
MOVWF STATUS
SWAPF W_TEMP,F
SWAPF W_TEMP,W
RETFIE
TABLA0
addwf 02h,1
RETLW 0xFE
RETLW 0xFF
RETLW 0xFD
RETLW 0xFC
RETLW 0xA9
RETLW 0
RETLW 0
RETLW 0x50 ;q
RETLW 0x86 ;1
RETLW 0
RETLW 0
RETLW 0
RETLW 0x7e ;z
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
0x59 ;s
0x01 ;a
0x6d ;w
0x8A ;2
0
0
0X0b ;c
0x73 ;x
0x10 ;d
0x15 ;e
0X94 ;4
0X8F ;3
0
0
0x83 ;ESPACIO
0x67 ;v
0x1a ;f
0x5e ;t
0x55 ;r
0X9A ;5
0
0
0x40 ;n
0x06 ;b
0x23 ;h
0x1e ;g
0x79 ;y
0XA0 ;6
0
0
0
0x3a ;m
0x2c ;j
0x62 ;u
0XA6 ;7
0XAB ;8
0
0
0
0x31 ;k
0x28 ;i
0x45 ;o
0XB7 ;0
0XB1 ;9
0
0
0
0
0x36 ;l
0
0x4b ;p
0
0
0
0
0
0
0
0
0
0
0
0
0X0A
0
0
0x08
0
0
0
0
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
RETLW
RETLW
RETLW
RETLW
RETLW
Tabla
0
0
0
0
0x08 ;borrar
addwf 02h,1
nop
RETLW 3Fh
RETLW 48h
RETLW 48h
RETLW 48h
RETLW 3Fh
RETLW 00h
RETLW 7Fh
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 3Eh
RETLW 00h
RETLW 3Eh
RETLW 41h
RETLW 41h
RETLW 41h
RETLW 22h
RETLW 00h
RETLW 7Fh
RETLW 41h
RETLW 41h
RETLW 41h
RETLW 3Eh
RETLW 00h
RETLW 7Fh
RETLW 49h
RETLW 49h
RETLW 49h
RETLW 41h
RETLW 00h
RETLW 7Fh
RETLW 48h
RETLW 48h
RETLW 48h
RETLW 40h
RETLW 00h
RETLW 3Eh
RETLW 41h
RETLW 49h
RETLW 49h
RETLW 2Eh
RETLW 00h
RETLW 7Fh
RETLW 08h
RETLW 08h
RETLW 08h
RETLW 7Fh
RETLW 00h
RETLW 41h
RETLW 41h
RETLW 7Fh
RETLW 41h
RETLW 41h
RETLW 00h
RETLW 02h
RETLW 01h
RETLW 41h
RETLW 7Eh
RETLW 40h
RETLW 00h
RETLW 7Fh
RETLW 08h
RETLW 14h
RETLW 22h
;A
;B
;C
;D
;E
;F
;G
;H
;I
;J
;K
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
41h
00h
7Fh
01h
01h
01h
01h
00h
7Fh
20h
18h
20h
7Fh
00h
7Fh
10h
08h
04h
7Fh
00h
3Eh
41h
41h
41h
3Eh
00h
7Fh
48h
48h
48h
30h
00h
3Eh
41h
45h
42h
3Dh
00h
7Fh
48h
4Ch
4Ah
31h
00h
32h
49h
49h
49h
26h
00h
40h
40h
7Fh
40h
40h
00h
7Eh
01h
01h
01h
7Eh
00h
7Ch
02h
01h
02h
7Ch
00h
7Eh
01h
0Eh
01h
7Eh
;L
;M
;N
;O
;P
;Q
;R
;S
;T
;U
;V
;W
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
NOP
TABLA1
00h
63h
14h
08h
14h
63h
00h
70h
08h
07h
08h
70h
00h
43h
45h
49h
51h
61h
00h
;X
;Y
;Z
addwf 02h,1
RETLW 0
RETLW 0
RETLW 0
RETLW 0
RETLW 0xA9
RETLW 0
RETLW 0
RETLW 0x61 ;Q
RETLW '1'
RETLW 0
RETLW 0
RETLW 0
RETLW 0x97 ;Z
RETLW 0x6d ;S
RETLW 0x01 ;A
RETLW 0x85 ;W
RETLW '2'
RETLW 0
RETLW 0
RETLW 0X0d ;C
RETLW 0x8b ;X
RETLW 0x13 ;D
RETLW 0x19 ;E
RETLW '4'
RETLW '3'
RETLW 0
RETLW 0
RETLW 0x9d ;espacio
RETLW 0x7f ;V
RETLW 0x1f ;F
RETLW 0x73 ;T
RETLW 0x67 ;R
RETLW '5'
RETLW 0
RETLW 0
RETLW 0x4f ;N
RETLW 0x07 ;B
RETLW 0x2b ;H
RETLW 0x25 ;G
RETLW 0x91 ;Y
RETLW '&'
RETLW 0
RETLW 0
RETLW 0
RETLW 0x49 ;M
RETLW 0x37 ;J
RETLW 0x79 ;U
RETLW '7'
RETLW '8'
RETLW 0
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
Tabla1
0
0
0x3d ;K
0x31 ;I
0x55 ;O
0
0
0
0
0
0
0x43 ;L
0
0x5b ;P
addwf 02h,1
nop
RETLW 02h
RETLW 15h
RETLW 15h
RETLW 0Eh
RETLW 00h
RETLW 7Fh
RETLW 11h
RETLW 11h
RETLW 0Eh
RETLW 00h
RETLW 0Eh
RETLW 11h
RETLW 11h
RETLW 11h
RETLW 00h
RETLW 0Eh
RETLW 11h
RETLW 11h
RETLW 7Fh
RETLW 00h
RETLW 0Eh
RETLW 15h
RETLW 15h
RETLW 0Ch
RETLW 00h
RETLW 08h
RETLW 3Fh
RETLW 48h
RETLW 00h
RETLW 18h
RETLW 25h
RETLW 25h
RETLW 1Eh
RETLW 00h
RETLW 7Fh
RETLW 10h
RETLW 10h
RETLW 0Fh
RETLW 00h
RETLW 11h
RETLW 5Fh
RETLW 01h
RETLW 00h
RETLW 02h
RETLW 01h
RETLW 11h
RETLW 5Eh
RETLW 00h
RETLW 7Fh
RETLW 04h
RETLW 0Ah
RETLW 11h
RETLW 00h
RETLW 41h
RETLW 7Fh
;a
;b
;c
;d
;e
;f
;g
;h
;i
;j
;k
;l
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
01h
00h
1Fh
10h
0Ch
10h
0Fh
00h
1Fh
08h
10h
0Fh
00h
0Eh
11h
11h
11h
0Eh
00h
1Fh
14h
14h
08h
00h
08h
14h
14h
1Fh
00h
1Fh
08h
10h
00h
09h
15h
15h
12h
00h
10h
7Eh
11h
00h
1Eh
01h
01h
1Fh
00h
1Ch
02h
01h
02h
1Ch
00h
1Eh
01h
06h
01h
1Eh
00h
11h
0Ah
04h
0Ah
11h
00h
1Dh
05h
05h
1Eh
00h
11h
13h
15h
;m
;n
;o
;p
;q
;r
;s
;t
;u
;v
;w
;x
;y
;z
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
RETLW
19h
00h
80h
80h
00h
21h
7Fh
01h
00h
23h
45h
49h
31h
00h
41h
51h
69h
46h
00h
0Ch
14h
24h
7Fh
04h
00h
72h
51h
51h
51h
4Eh
00h
1Eh
29h
49h
49h
06h
00h
40h
47h
48h
70h
00h
36h
49h
49h
49h
36h
00h
30h
49h
49h
4Ah
3Ch
00h
3Eh
45h
49h
51h
3Eh
00h
;espacio
;1
;2
;3
;4
;5
;6
;7
;8
;9
;0
INICIO
clrf
PORTB
clrf
PORTA
bsf
STATUS,RP0
MOVLW b'00000001'
MOVWF TRISB
movlw b'00000110'
movwf ADCON1
MOVLW b'00000000'
MOVWF TRISA
MOVLW b'11111111'
MOVWF TRISC
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
borrar
MOVLW b'10000111'
MOVWF OPTION_REG
movlw b'10000000' ; La velocidad para la EEPROM sera de 100 Kc.
movwf SSPSTAT
movlw .9
movwf SSPADD
bcf
STATUS,RP0
movlw b'00101000'
movwf SSPCON
clrf
BANDERAS
clrf
cuanto
clrf
PCLATH
clrf
Nbits
clrf
Nbytes
clrf
fila
clrf
GIRAR1
clrf
fila1
clrf
DATAIN
clrf
NO_ROTAR
clrf
saltar
clrf
SALTO
movlw 0x02
movwf GIRAR
clrf
Direccion
clrf
valor
MOVLW b'10010000'
MOVWF INTCON
movlw 0x4E
movwf FSR
movlw 0x28
movwf RESTADOR
clrf
INDF
incf
FSR,F
decfsz RESTADOR
goto
borrar
GOTO
LAZO_LECTURA
mal
decf fila
decf Direccion
decf Direccion
CLRF KeyRtn
CLRF ASCII
CLRF Nbytes
goto Ru12
Cambiar2
call ROTO1
clrf 0x4E
decfsz RESTADOR
goto Cambiar2
goto LIMPIAR
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Ru12
movlw 0x4E
movwf FSR
movlw 0x28
movwf RESTADOR
bor
clrf
INDF
incf
FSR,F
decfsz RESTADOR
goto
bor
clrf PCLATH
movf fila,0
movwf fila1
clrf cont
clrf Direccion
movf GIRAR1,0
addwf Direccion,1
Ru121
call Recibir_Byte
movf Dato,0
movwf saltar
xorlw 0x01
btfss STATUS,Z
goto Ru112
incf PCLATH
incf Direccion
call Recibir_Byte
incf Direccion
Ru32
incf cont
call ROTO1
movf Dato,0
call Tabla1
movwf CARACTER
;W contains table data - put it in 15h
movwf 0x4E
incf Dato,1
movf CARACTER,0
xorlw 0x00
btfss STATUS,Z
goto Ru32
clrf PCLATH
decfsz fila1
goto Ru121
goto Cambiar
Ru112
incf Direccion
call Recibir_Byte
incf Direccion
movf Dato,0
xorlw 0x97
btfsc STATUS,Z
incf PCLATH
Ru312
incf cont
call ROTO1
movf Dato,0
call Tabla
movwf CARACTER
movwf 0x4E
incf Dato,1
movf CARACTER,0
clrf PCLATH
decfsz fila1,1
goto Ru121
goto Cambiar
A12
bsf
movf
bcf
movwf
movlw
movwf
movlw
movwf
Aor1
clrf
incf
decfsz
goto
STATUS,RP1
;Pasamos al banco 2
EEADR,0
;Siguiente direccin EEPROM
STATUS,RP1
cuanto
0x4E
FSR
0x28
RESTADOR
INDF
FSR,F
RESTADOR
Aor1
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
bsf
INTCON,GIE
clrf
PCLATH
clrf
cont
A121
bsf STATUS,RP1
call
EE_Read
bsf STATUS,RP1
movf EEDATA,0
bcf STATUS,RP1
xorlw 0xFF
,RP1
movf EEDATA,0
bcf STATUS,RP1
movwf CUENTAS
A32
call ROTO1
movf CUENTAS,0
call Tabla1
movwf CARACTER
;W contains table data - put it in 15h
movwf 0x4E
incf CUENTAS
movf CARACTER,0
xorlw 0x00
btfss STATUS,Z
goto A32
bsf STATUS,RP1
;Pasamos al banco 2
incf
EEADR,F ;Siguiente direccin EEPROM
bcf STATUS,RP1
clrf PCLATH
goto A121
escribir1
movf
GIRAR1,0
xorlw 0x00
btfsc STATUS,Z
goto
LIMPIAR2
movf
fila1,0
xorlw 0x07
btfsc STATUS,Z
goto
LIMPIAR2
incf
fila1
goto
SIGUE
escribir2
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
movlw 0xFF
bsf STATUS,RP1
movwf EEDATA
Z
goto
escribir3
movf
GIRAR,0
xorlw 0x04
btfsc STATUS,Z
clrf
GIRAR
clrf
GIRAR
clrf
GIRAR1
movlw 0x4E
movwf FSR
movlw 0x28
movwf RESTADOR
Aor123
clrf
INDF
incf
FSR,F
decfsz RESTADOR
goto
Aor123
goto
LIMPIAR
escribir3
movlw 0x01
movwf GIRAR
clrf
GIRAR1
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
movlw 0x4E
movwf FSR
movlw 0x28
movwf RESTADOR
Aor124
clrf
INDF
incf
FSR,F
decfsz RESTADOR
goto
Aor124
goto
LIMPIAR
lim1
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
clrf
comp
bsf
INTCON,GIE
goto
muestra
escribir
bcf
INTCON,GIE
MOVF
KeyRtn,W
xorwf comp
btfsc STATUS,Z
goto
lim1
MOVF
KeyRtn,W
movwf comp
MOVF
KeyRtn,W
xorlw 0x76
btfsc STATUS,Z
goto
INICIO
movf
GIRAR1,0
xorlw 0x00
btfss STATUS,Z
goto
escribir2
incf
GIRAR1
movf
cuanto,0
bsf
STATUS,RP1
;Pasamos al banco 2
movwf EEADR
;Siguiente direccin EEPROM
bcf
STATUS,RP1
movlw 0x4E
movwf FSR
movlw 0x28
movwf RESTADOR
Aor12
clrf
INDF
incf
FSR,F
decfsz RESTADOR
goto
Aor12
goto
LIMPIAR2
Rn1
incf PCLATH
movf CUENTAS,0
bsf STATUS,RP1
movwf EEDATA
bcf STATUS,RP1
call EE_Write
bsf
STATUS,RP1
;Pasamos al banco 2
incf
EEADR,F
;Siguiente direccin EEPROM
bcf
STATUS,RP1
Rn3
call ROTO1
movf CUENTAS,0
call Tabla1
movwf CARACTER
movwf 0x4E
incf CUENTAS,1
movf CARACTER,0
xorlw 0x00
btfss STATUS,Z
goto Rn3
clrf PCLATH
goto LIMPIAR2
escribir21
bsf
INTCON,GIE
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
movf
xorlw
btfsc
goto
movf
xorlw
btfsc
clrf
clrf
CLRF
CLRF
CLRF
goto
GIRAR,0
0x03
STATUS,Z
escribir31
GIRAR,0
0x04
STATUS,Z
GIRAR
GIRAR
KeyRtn
ASCII
Nbytes
GIRATORIO1
escribir31 CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
movlw 0x01
movwf GIRAR
goto
repro1
lim
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
clrf
comp
bsf
INTCON,GIE
goto
muestra1
escr
bcf
INTCON,GIE
MOVF
KeyRtn,W
xorwf comp
btfsc STATUS,Z
goto
lim
MOVF
KeyRtn,W
movf
comp
MOVF
KeyRtn,W
xorlw 0x76
btfsc STATUS,Z
goto
INICIO
MOVF
KeyRtn,W
xorlw 0x04
btfsc STATUS,Z
goto
escribir21
MOVF
KeyRtn,W
xorlw 0x0C
btfsc STATUS,Z
goto
escribir
MOVF
KeyRtn,W
xorlw 0x16
btfsc STATUS,Z
goto
escr1
MOVF
KeyRtn,W
xorlw 0x1E
btfsc STATUS,Z
goto
escr1
MOVF
KeyRtn,W
xorlw 0x26
btfsc STATUS,Z
goto
escr1
MOVF
KeyRtn,W
xorlw 0x25
btfsc STATUS,Z
goto
escr1
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
goto
muestra1
movf
GIRAR,0
xorlw 0x03
btfsc STATUS,Z
goto
fase10
goto
fase20
escr1
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
muestra1
CLRWDT
clrf
fila1
DECFSZ Nbytes,W
goto
Bis4
goto
escr
Bis4
clrf
comp
movf
GIRAR,0
xorlw 0x02
btfsc STATUS,Z
goto
LAZO_LECTURA
movf
GIRAR,0
xorlw 0x01
btfsc STATUS,Z
goto
fase1
movf
GIRAR,0
xorlw 0x00
btfsc STATUS,Z
goto
fase2
Bis3
movlw 0x05
movwf retardo
movlw 0x10
movwf RESTADOR1
Bis2
movlw 0x23
movwf PORTA
movlw 0x28
movwf RESTADOR
movlw 0x75
movwf FSR
Bis1
rlf INDF,0
movwf PORTB
call RETARDO
decf FSR,F
decfsz RESTADOR,1
goto Bis1
decfsz RESTADOR1,1
goto Bis2
goto muestra1
muestra
Ais4
Ais3
CLRWDT
DECFSZ Nbytes,W
goto
Ais4
goto
escribir
movf
GIRAR,0
xorlw 0x02
btfsc STATUS,Z
goto
LAZO_LECTURA
movf
GIRAR,0
xorlw 0x01
btfsc STATUS,Z
goto
fase1
movf
GIRAR,0
xorlw 0x00
btfsc STATUS,Z
goto
fase2
movlw 0x05
movwf retardo
movlw 0x10
movwf RESTADOR1
Ais2
Ais1
movlw 0x23
movwf PORTA
movlw 0x28
movwf RESTADOR
movlw 0x75
movwf FSR
rlf INDF,0
movwf PORTB
call RETARDO
decf FSR,F
decfsz RESTADOR,1
goto Ais1
decfsz RESTADOR1,1
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
goto Ais2
goto muestra
fase1
fase10
DECFSZ Nbytes,W
goto
fase1
MOVF
KeyRtn,W
xorlw 0x76
btfsc STATUS,Z
goto
INICIO
MOVF
KeyRtn,W
xorlw 0x16
btfsc STATUS,Z
goto
fase11
MOVF
KeyRtn,W
xorlw 0x1E
btfsc STATUS,Z
goto
fase12
MOVF
KeyRtn,W
xorlw 0x26
btfsc STATUS,Z
goto
fase13
MOVF
KeyRtn,W
xorlw 0x25
btfsc STATUS,Z
goto
fase14
goto
fase1
fase11
movlw 0x03
movwf GIRAR
movlw 0x00
movwf memoria
bsf
STATUS,RP1
clrf
EEADR
bcf
STATUS,RP1
goto
A12
fase12
movlw 0x03
movwf GIRAR
movlw 0x02
movwf memoria
movlw 0x08
bsf
STATUS,RP1
movwf EEADR
bcf
STATUS,RP1
goto
A12
fase13
movlw 0x03
movwf GIRAR
movlw 0x04
movwf memoria
movlw 0x10
bsf
STATUS,RP1
movwf EEADR
bcf
STATUS,RP1
goto
A12
fase14
movlw 0x03
movwf GIRAR
movlw 0x06
movwf memoria
movlw 0x18
bsf
STATUS,RP1
movwf EEADR
bcf
STATUS,RP1
goto
A12
fase2
DECFSZ Nbytes,W
goto
fase2
MOVF
KeyRtn,W
xorlw 0x76
btfsc STATUS,Z
goto
INICIO
fase20
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
MOVF
xorlw
btfsc
goto
MOVF
xorlw
btfsc
goto
MOVF
xorlw
btfsc
goto
MOVF
xorlw
btfsc
goto
goto
KeyRtn,W
0x16
STATUS,Z
fase21
KeyRtn,W
0x1E
STATUS,Z
fase22
KeyRtn,W
0x26
STATUS,Z
fase23
KeyRtn,W
0x25
STATUS,Z
fase24
fase2
fase21
movlw 0x04
movwf GIRAR
movlw 0x08
movwf memoria
movlw 0x20
bsf
STATUS,RP1
movwf EEADR
bcf
STATUS,RP1
goto
A12
fase22
movlw 0x04
movwf GIRAR
movlw 0x0A
movwf memoria
movlw 0x28
bsf
STATUS,RP1
movwf EEADR
bcf
STATUS,RP1
goto
A12
fase23
movlw 0x04
movwf GIRAR
movlw 0x0C
movwf memoria
movlw 0x30
bsf
STATUS,RP1
movwf EEADR
bcf
STATUS,RP1
goto
A12
fase24
movlw 0x04
movwf GIRAR
movlw 0x0E
movwf memoria
movlw 0x38
bsf
STATUS,RP1
movwf EEADR
bcf
STATUS,RP1
goto
A12
LAZO_LECTURA
Vis
Vis4
Vis3
CLRWDT
DECFSZ Nbytes,W
goto
Vis4
goto
SIGUE1
movf
GIRAR,0
xorlw 0x02
btfsc STATUS,Z
goto
LAZO_LECTURA
movlw 0x05
movwf retardo
movlw 0x10
movwf RESTADOR1
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Vis1
rlf INDF,0
movwf PORTB
call RETARDO
decf FSR,F
decfsz RESTADOR,1
goto Vis1
decfsz RESTADOR1,1
goto Vis2
goto Vis
F1
movlw 0x09
addwf KeyRtn,1
return
F2
movlw 0x0C
addwf KeyRtn,1
return
F3
movlw 0x65
subwf KeyRtn,1
return
SIGUE1
bcf
INTCON,GIE
MOVF
KeyRtn,W
xorlw 0x04
btfsc STATUS,Z
call
F2
MOVF
KeyRtn,W
xorlw 0x76
btfsc STATUS,Z
call
F3
MOVF
KeyRtn,W
xorlw 0x05
btfsc STATUS,Z
call
F1
MOVF
KeyRtn,W
xorlw 0x06
btfsc STATUS,Z
call
F1
MOVF
KeyRtn,W
subwf SALTO
btfsc STATUS,Z
goto
LIMPIAR1
MOVF
KeyRtn,W
movwf SALTO
SUBLW 0x0d
BTFSC STATUS,C
goto
LIMPIAR
MOVF
KeyRtn,W
SUBLW 0x67
BTFSC STATUS,C
goto
SIGUE
goto
LIMPIAR
SIGUE
MOVLW 0x0e
subwf KeyRtn,0
BTFSC BANDERAS_CAPS
goto
TBL_MAY
TBL_MIN
CALL
movwf
xorlw
btfsc
xorlw
btfsc
goto
movf
xorlw
btfsc
TABLA0
CUENTAS
0xB7
STATUS,Z
0x03
STATUS,Z
Rn1
GIRAR,0
0x04
STATUS,Z
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
goto
Rn1
goto
FIN_TABLA
TBL_MAY
incf
PCLATH
clrf
BANDERAS
CALL
TABLA1
movwf CUENTAS
xorlw 0x97
btfss STATUS,Z
clrf
PCLATH
clrf
saltar
movf
CUENTAS,0
goto
FIN_TABLA
retardo2 movlw 0xff
movwf Delay_Cont
call Delay_var ;Temporiza 1 segundo
return
retardo1
movlw 0x10
movwf Delay_Cont
call Delay_var ;Temporiza 1 segundo
return
Delay_var: bcf INTCON,T0IF ;Desconecta el flag de rebosamiento
movlw d'248'
;Complemento hex. de 195
movwf TMR0
;carga el TMR0
Intervalo
btfss INTCON,T0IF ;Rebasamiento del TMR0 ??
goto Intervalo ;Todava no
decfsz Delay_Cont,F ;Decrementa contador de intervalos
goto Delay_var ;Repite el intervalo de 50 mS
return
FIN_TABLA
movf
xorlw
btfsc
goto
movf
xorlw
btfsc
goto
movf
xorlw
btfsc
goto
xorlw
btfsc
goto
movf
xorlw
btfsc
goto
goto
FIN_TABLA1
comf
andlw
movwf
btfsc
nop
btfsc
goto
nop
goto
ESCAPE
ejecutar
CUENTAS,0
0xA9
STATUS,Z
FIN_TABLA1
CUENTAS,0
0x0A
STATUS,Z
ENTER
CUENTAS,0
0xFC
STATUS,Z
ESCAPE
0xFE
STATUS,Z
ejecutar
CUENTAS,0
0xFF
STATUS,Z
ejecutar1
CARACTER_ASCII
BANDERAS,W
0x01
BANDERAS
BANDERAS_CAPS
BANDERAS_CAPS
LIMPIAR
LIMPIAR
goto
INICIO
NOP
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
bsf
decf
goto
INTCON,GIE
GIRAR
fase1
ejecutar1
NOP
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
bsf
INTCON,GIE
clrf
GIRAR
goto
fase2
repro
bsf
CLRF
CLRF
CLRF
movf
xorlw
btfsc
goto
movf
xorlw
btfsc
goto
movf
xorlw
btfsc
goto
movlw
movwf
call
call
incf
movlw
movwf
call
call
INTCON,GIE
KeyRtn
ASCII
Nbytes
GIRAR,0
0x00
STATUS,Z
ENTER
GIRAR,0
0x04
STATUS,Z
GIRATORIO1
GIRAR,0
0x03
STATUS,Z
repro1
0xFF
Dato
Enviar_Byte
retardo1
Direccion
0xFF
Dato
Enviar_Byte
retardo1
repro1
Viss3
viss31
clrf
Direccion
goto
R12
DECFSZ Nbytes,W
goto
viss31
goto
esc1
movlw 0x05
movwf retardo
movlw 0xFF
movwf RESTADOR1
Viss2
Viss1
V1
movlw 0x23
movwf PORTA
movlw 0x28
movwf RESTADOR
movlw 0x75
movwf FSR
rlf
INDF,0
movwf PORTB
call
RETARDO
decf
FSR,F
decfsz RESTADOR,1
goto
Viss1
decfsz RESTADOR1,1
goto
Viss2
call
Recibir_Byte
movf
Dato,0
xorlw 0xFF
btfss STATUS,Z
goto
R12
movlw 0x03
movwf RESTADOR1
call
retardo2
decfsz RESTADOR1
goto
V1
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
goto
esc1
repro1
MOVF
KeyRtn,W
xorlw 0x76
btfsc STATUS,Z
goto
INICIO
goto
viss31
Cambia2
call ROTO1
clrf 0x4E
decfsz RESTADOR
goto Cambia2
goto Viss3
R12
movlw 0x4E
movwf FSR
movlw 0x28
movwf RESTADOR
bor1
clrf
INDF
incf
FSR,F
decfsz RESTADOR
goto
bor1
clrf PCLATH
clrf cont
R121
call Recibir_Byte
movf Dato,0
xorlw 0xFF
btfsc STATUS,Z
goto Cambia
,Z
R32
R112
goto R112
incf PCLATH
incf Direccion
call Recibir_Byte
incf Direccion
incf cont
call ROTO1
movf Dato,0
call Tabla1
movwf CARACTER
movwf 0x4E
incf Dato,1
movf CARACTER,0
xorlw 0x00
btfss STATUS,Z
goto R32
clrf PCLATH
goto R121
incf Direccion
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
call Recibir_Byte
incf Direccion
movf Dato,0
xorlw 0x97
btfsc STATUS,Z
incf PCLATH
R312
incf cont
call ROTO1
movf Dato,0
call Tabla
movwf CARACTER
movwf 0x4E
incf Dato,1
movf CARACTER,0
xorlw 0x00
btfss STATUS,Z
goto R312
clrf PCLATH
decfsz fila1,1
goto R121
ENTER
NOP
CLRF
CLRF
CLRF
bsf
movlw
movwf
call
call
movf
xorlw
btfsc
goto
movf
xorlw
btfsc
goto
goto
KeyRtn
ASCII
Nbytes
INTCON,GIE
0xFF
Dato
Enviar_Byte
retardo1
GIRAR,0
0x00
STATUS,Z
GIRATORIO1
GIRAR,0
0x01
STATUS,Z
ENTER1
LIMPIAR
ENTER1
borr1
BOR
borr
incf
Direccion
movf
Direccion,0
movwf GIRAR1
movlw 0x4E
movwf FSR
movlw 0x28
movwf RESTADOR
clrf
INDF
incf
FSR,F
decfsz RESTADOR
goto
borr1
clrf
fila
goto
LIMPIAR
movf
fila,0
xorlw 0x00
btfsc STATUS,Z
movlw 0x28
movwf RESTADOR
clrf
INDF
incf
FSR,F
decfsz RESTADOR
goto
borr
clrf
Direccion
goto
LIMPIAR
BORRAR
movf
GIRAR,0
xorlw 0x01
btfsc STATUS,Z
goto
BOR
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
movlw 0x09
movwf RESTADOR
clrf
cont
movf
Direccion,0
movwf valor
xorlw 0x02
btfsc STATUS,Z
goto
BORRAR1
movf
Direccion,0
movwf valor
xorlw 0x00
btfsc STATUS,Z
goto
BORRAR1
BORRAR2
movlw 0x02
subwf valor,1
incf
cont
movf
valor,0
xorlw 0x00
btfsc STATUS,Z
goto
BORRAR3
decfsz RESTADOR,1
goto
BORRAR2
goto
BORRAR3
BORRAR1
movlw 0x4E
movwf FSR
movlw 0x28
movwf RESTADOR
borrar1
clrf
INDF
incf
FSR,F
decfsz RESTADOR
goto
borrar1
clrf
Direccion
goto
LIMPIAR
BORRAR3
decf
cont,1
movlw 0x4E
movwf FSR
movlw 0x28
movwf RESTADOR
borrar3
clrf
INDF
incf
FSR,F
decfsz RESTADOR
goto
borrar3
movf
valor,0
movwf Direccion
Ru1
Ru3
call Recibir_Byte
movf Dato,0
movwf saltar
xorlw 0x01
btfss STATUS,Z
goto Ru11
incf PCLATH
incf Direccion
call Recibir_Byte
incf Direccion
call ROTO1
movf Dato,0
call Tabla1
movwf CARACTER
movwf 0x4E
incf Dato,1
movf CARACTER,0
xorlw 0x00
btfss STATUS,Z
goto Ru3
clrf PCLATH
decfsz cont,1
goto Ru1
goto LIMPIAR
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Ru11
incf Direccion
call Recibir_Byte
incf Direccion
movf Dato,0
xorlw 0x97
btfsc STATUS,Z
incf PCLATH
Ru31
call ROTO1
movf Dato,0
call Tabla
movwf CARACTER
movwf 0x4E
incf Dato,1
movf CARACTER,0
xorlw 0x00
btfss STATUS,Z
goto Ru31
clrf PCLATH
decfsz cont,1
goto Ru1
goto LIMPIAR
CARACTER_ASCII
Run1
movf
GIRAR,0
xorlw 0x04
btfsc STATUS,Z
goto
LIMPIAR2
movf
GIRAR,0
xorlw 0x03
btfsc STATUS,Z
goto
LIMPIAR2
incf fila
movf saltar,0
call retardo1
incf Direccion
movf CUENTAS,0
movwf Dato
call Enviar_Byte
call retardo1
incf Direccion
movf GIRAR,0
xorlw 0x01
btfsc STATUS,Z
goto Ru12
Run3
call ROTO1
movf CUENTAS,0
call Tabla1
movwf CARACTER
movwf 0x4E
incf CUENTAS,1
movf CARACTER,0
xorlw 0x00
btfss STATUS,Z
goto Run3
clrf PCLATH
goto LIMPIAR
movf
xorlw
btfsc
goto
GIRAR,0
0x01
STATUS,Z
Ru12
Run31
call ROTO1
movf CUENTAS,0
call Tabla
movwf CARACTER
movwf 0x4E
incf CUENTAS,1
movf CARACTER,0
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
xorlw
btfss
goto
goto
0x00
STATUS,Z
Run31
LIMPIAR
ROTO1
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
movf
movwf
return
grabar
74h,0
75h
73h,0
74h
72h,0
73h
71h,0
72h
70h,0
66h,0
67h
65h,0
66h
64h,0
65h
63h,0
64h
62h,0
63h
61h,0
62h
60h,0
61h
5Fh,0
60h
5Eh,0
5Fh
5Dh,0
5Eh
5Ch,0
5Dh
5Bh,0
5Ch
5Ah,0
5Bh
59h,0
5Ah
58h,0
59h
57h,0
58h
56h,0
57h
55h,0
56h
54h,0
55h
53h,0
54h
52h,0
53h
51h,0
52h
50h,0
51h
4Fh,0
50h
4Eh,0
4Fh
movf 50h,0
movwf 51h
movf 4Fh,0
movwf 50h
movf 4Eh,0
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
movwf 4Fh
movf 4Dh,0
movwf 4Eh
return
restar
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
decf
fila
goto
gira
sumar
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
incf
fila
goto
gira
esc
MOVF
KeyRtn,W
xorlw 0x03
btfsc STATUS,Z
goto
restar
MOVF
KeyRtn,W
xorlw 0x0B
btfsc STATUS,Z
goto
sumar
MOVF
KeyRtn,W
xorlw 0x76
btfsc STATUS,Z
goto
escapar
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
goto
gira
escapar CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
goto
INICIO
GIRATORIO
goto LAZO_LECTURA
GIRATORIO1 movlw 0x020
movwf fila
movlw 0x05
movwf retardo
movlw 0x4E
movwf FSR
movlw 0x28
movwf RESTADOR
borrar2 clrf INDF
incf FSR,F
decfsz RESTADOR
goto borrar2
GIRATORIO3
clrf Direccion
GIRATORIO2
call Recibir_Byte
movf Dato,0
movwf saltar
xorlw 0xFF
btfsc STATUS,Z
goto fin
incf Direccion
call Recibir_Byte
movf saltar,0
xorlw 0x01
btfsc STATUS,Z
goto MIN
goto MAY
fin
movlw 0x28
movwf saltar
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
fin1
call ROTO1
clrf 0x4E
call Cartel
decfsz saltar
goto fin1
goto GIRATORIO3
MIN
incf PCLATH
movf Dato,0
xorlw 0xB7
btfsc STATUS,Z
incf PCLATH
MIN1
call ROTO1
movf Dato,0
call Tabla1
movwf CARACTER
movwf 0x4E
incf Dato
call Cartel
movf CARACTER,0
xorlw 0x00
btfss STATUS,Z
goto MIN1
clrf PCLATH
incf Direccion
goto GIRATORIO2
MAY
movf Dato,0
xorlw 0x97
btfsc STATUS,Z
incf PCLATH
MAY1
call ROTO1
movf Dato,0
call Tabla
movwf CARACTER
movwf 0x4E
incf Dato
call Cartel
movf CARACTER,0
xorlw 0x00
btfss STATUS,Z
goto MAY1
clrf PCLATH
incf Direccion
goto GIRATORIO2
Cartel
gira
DECFSZ Nbytes,W
goto
gira
goto
esc
movlw 0x05
movwf retardo
movf fila,0
movwf RESTADOR1
Cartel2
movlw 0x23
movwf PORTA
movlw 0x28
movwf RESTADOR
movlw 0x75
movwf FSR
Cartel3
rlf INDF,0
movwf PORTB
call RETARDO
decf FSR,F
decfsz RESTADOR,1
goto Cartel3
decfsz RESTADOR1,1
goto Cartel2
return
RETARDO movlw 0x5F
movwf TIEMPO
RET
decfsz TIEMPO,1
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
goto RET
decfsz retardo
goto RET2
call RET1
RET2
clrf PORTB
incf PORTA
return
RET1
clrf PORTB
movlw 0x0A
subwf PORTA
movlw 0x05
movwf retardo
return
LIMPIAR
NOP
clrf
PCLATH
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
bsf
INTCON,GIE
GOTO
LAZO_LECTURA
LIMPIAR1
NOP
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
clrf
SALTO
bsf
INTCON,GIE
GOTO
LAZO_LECTURA
LIMPIAR2
NOP
CLRF
KeyRtn
CLRF
ASCII
CLRF
Nbytes
clrf
SALTO
bsf
INTCON,GIE
GOTO
muestra
LEER_TECLADO
BTFSC KBD_DATO
GOTO
KBD_ES1
BCF
BIT_ACTUAL
GOTO
SEGUIR
KBD_ES1
BSF
BIT_ACTUAL
SEGUIR
INCF
Nbits,F
DECFSZ Nbits,W
GOTO
BIT_REAL
BTFSS BIT_ACTUAL
RETURN
GOTO
CLEANUP
BIT_REAL
MOVF
Nbits,W
XORLW 0x09
BTFSC STATUS,Z
goto
ES_9NO_BIT
NO_ES_9NO_BIT
DECFSZ NO_ROTAR,W
RRF
DATAIN,1
MOVF
Nbits,W
XORLW 0x0B
BTFSC STATUS,Z
GOTO
aceptar_byte
RETURN
ES_9NO_BIT
BTFSC BIT_ACTUAL
GOTO
CLEANUP
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
MOVF
DATAIN,W
BTFSC STATUS,Z
GOTO
CLEANUP
MOVWF KeyRtn
MOVLW 0x01
MOVWF NO_ROTAR
RETURN
aceptar_byte
MOVLW 0x01
MOVWF Nbytes
CLRF
NO_ROTAR
CLEANUP
CLRF
Nbits
CLRF
DATAIN
RETURN
;*************************************************************************
Recibir_Byte
clrf PIR1
call Send_Start ; Pone la condicin de Inicio
movlw b'10100000' ; Prepara el Byte de control para la EEPROM
addwf memoria,0
call Send_Byte ; Enva el byte de control a la memoria serial
movf Direccion,w ; Enva la direccin donde se leer la EEPROM
call Send_Byte
call Send_Stop
call Send_Start ; Pone la condicin de re-inicio
movlw b'10100001' ; Se enva el byte de control indicando una lectura
addwf memoria,0
call Send_Byte
call Leer_Byte ; Se lee lo enviado por la EPROM
call Send_Stop ; Se enva la condicin de STOP
return
;**********************************************************************
Enviar_Byte
clrf PIR1
call Send_Start ; Se pone la condicin de inicio
movlw b'10100000' ; Se enva el byte de control
addwf memoria,0
call Send_Byte
movf Direccion,w ; Se enva la Direccin donde guardar el dato
call Send_Byte
movf Dato,w ; Se enva el Dato
call Send_Byte
call Send_Stop ; Condicin de STOP
return
;**********************************************************************
Send_Start2
banco_1 ; Selecciona banco 1 de RAM
bsf SSPCON2,RSEN ; Activa secuencia RE-INICIO
banco_0 ; Regresa al banco cero de RAM
btfss PIR1,SSPIF ; Fin de secuencia de re-inicio ??
goto $-1 ; No, seguir esperar
bcf PIR1,SSPIF
return
;**********************************************************************
Send_Start
banco_1 ; Selecciona el banco 1 de RAM
bsf SSPCON2,SEN ; Activa secuencia de inicio
banco_0 ; Regresa al banco 0 de RAM
btfss PIR1,SSPIF ; Fin de secuencia de inicio ??
goto $-1 ; No, seguir esperar
bcf PIR1,SSPIF
return
;**********************************************************************
Send_Stop
banco_1 ; Pasa al banco 1
bsf SSPCON2,PEN ; Activa secuencia de stop
banco_0 ; Regresa al banco 0
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
btfss PIR1,SSPIF ; Fin de secuencia de Stop ??
goto $-1 ; No, seguir esperado
bcf PIR1,SSPIF
return
;**********************************************************************
Send_Byte
movwf SSPBUF ; Byte a transmitir pasa al buffer de salida
btfss PIR1,SSPIF ; Termino de Transmitir??
goto $-1 ; No, seguir esperando
bcf PIR1,SSPIF
banco_1 ; Selecciona el banco 0
btfsc SSPCON2,ACKSTAT ; Mira el estado del bit ACK
goto ERROR_I2C
banco_0 ; Regresa al banco 0
return
;**********************************************************************
Leer_Byte
banco_1 ; Selecciona pgina 1
bsf SSPCON2,RCEN ; Activa el modo receptor
banco_0 ; Selecciona pgina 0
btfss PIR1,SSPIF ; Recibidos los 8 bits ??
goto $-1 ; No, seguir esperado
bcf PIR1,SSPIF ; Borra la bandera del mdulo MSSP
movf SSPBUF,w ; Mover los datos recibido
movwf Dato ; al registro Datos para usarlos luego
return
;**********************************************************************
ERROR_I2C
; Un ERROR grave ha ocurrido
banco_0 ; Abortar todo y colocar el bit 7 del puerto B
call Send_Stop ; en "1" para indicar el error.
nop
; PROGRAMA DETENIDO POR UN ERROR!!!!
EE_Write bsf STATUS,RP1
bsf STATUS,RP0
;Pasamos al banco 3
bcf EECON1,EEPGD ;Seleccionamos la EEPROM de datos
bsf EECON1,WREN ;Permitimos la escritura de sta
movlw 0x55
movwf EECON2
movlw 0xaa
movwf EECON2
;Secuencia obligatoria
bsf EECON1,WR
;Empezamos la escritura
bcf STATUS,RP0
bcf STATUS,RP1
;Volvemos al banco 0
ESPERA btfss PIR2,EEIF
;esperamos a que acabe la escritura
goto ESPERA
bcf PIR2,EEIF
;Reseteamos el flag de la EEPROM
return
;**************************************************************************************
;EE_Read: Leer un byte de la EEPROM. Se supone al registro EEADR cargado con la direc;cin a leer. En EEDATA aparecer el dato ledo.
EE_Read bsf STATUS,RP0
bsf STATUS,RP1
;Pasamos al banco 3
bcf EECON1,EEPGD ;Seleccionamos la EEPROM de datos
bsf EECON1,RD
;Permitimos la lectura de sta
bcf STATUS,RP1
bcf STATUS,RP0 ;Seleccin de banco 0
return
END
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Diagrama de flujo
Inicializacin de
variables
(Frase instantnea) F1 =1
Presionar
F1 o F2
Selecc. Memoria
Tecla 1,2,3,4
Selecc. Memoria
Tecla 1,2,3,4
Visualiza nombre
Memoria selecc.
Visualiza nombre
Memoria selecc.
Presionar
F3 o F4
F4=1(grabar nuevo
mensaje)
Grabar nombre
memoria selecc.
Presionar F4 para
finalizar
Presionar F4 para
finalizar
Escribir rengln
Escribir mensaje
Enter =0
F3=0
Presionar
Enter o F3
Enter=0
F3=1
Presionar
F3
Enter=1
F3=0
Siguiente
rengln
F3=1
Visualizar
mensaje
Incrementar
velocidad del
mensaje
F5=1
Presionar
F5 o F6
F6=1
Decrementar
velocidad del
mensaje
F3=0
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
7C
6C
5C
4C
3C
2C
1C
COM
7
6
5
4
3
2
1
7B
6B
5B
4B
3B
2B
1B
U13
U7
10
11
12
13
14
15
16
9
ULN2003A
7C
6C
5C
4C
3C
2C
1C
COM
7B
6B
5B
4B
3B
2B
1B
10
11
12
13
14
15
16
9
ULN2003A
7C
6C
5C
4C
3C
2C
1C
COM
7B
6B
5B
4B
3B
2B
1B
10
11
12
13
14
15
16
9
ULN2003A
7C
6C
5C
4C
3C
2C
1C
COM
10
11
12
13
14
15
16
9
ULN2003A
7C
6C
5C
4C
3C
2C
1C
COM
7B
6B
5B
4B
3B
2B
1B
10
11
12
13
14
15
16
9
ULN2003A
7C
6C
5C
4C
3C
2C
1C
COM
7B
6B
5B
4B
3B
2B
1B
7
6
5
4
3
2
1
7
9
10
11
12
13
14
15
7
6
5
4
3
2
1
7
9
10
11
12
13
14
15
74HC238
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
7
6
5
4
3
2
1
7
9
10
11
12
13
14
15
74HC238
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
7
6
5
4
3
2
1
7
9
10
11
12
13
14
15
74HC238
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
7
6
5
4
3
2
1
7
9
10
11
12
13
14
15
74HC238
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
U11
U10
7B
6B
5B
4B
3B
2B
1B
U9
U8
ULN2003A
2A3
2A2
2A1
2A0
1A3
1A2
1A1
1A0
U4
U3
24LC16B
17
15
13
11
8
6
4
2
SCK
SDA
WP
2Y3
2Y2
2Y1
2Y0
1Y3
1Y2
1Y1
1Y0
U5
U1
19
1
R1
10k
R2
10k
1
3
5
3
5
7
9
12
14
16
18
U6
74HC238
U14
2OE
1OE
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
74HC241
R5
11
12
13
14
15
16
17
18
RC0/T 1OSO/T 1CKI
RC1/T 1OSI/CCP2
RC2/CCP1
RC3/SCK/SCL
RC4/SDI/SDA
RC5/SDO
RC6/T X/CK
RC7/RX/DT
2
3
4
5
6
7
OSC1/CLKIN
OSC2/CLKOUT
MCLR/Vpp/T HV
9
10
1
13pF
X1
CRYSTAL
13pF
R3
10k
PIC16F873
10k
C2
C1
U2
R4
RA0/AN0
RA1/AN1
RA2/AN2/VREFRA3/AN3/VREF+
RA4/T 0CKI
RA5/AN4/SS
RB0/INT
RB1
RB2
RB3/PGM
RB4
RB5
RB6/PGC
RB7/PGD
3
4 5
2
1
Conector PC-AT
21
22
23
24
25
26
27
28
10k
C3
1uF
E3
E2
E1
C
B
A
E3
E2
E1
C
B
A
E3
E2
E1
C
B
A
E3
E2
E1
C
B
A
E3
E2
E1
C
B
A
5
4
6
3
2
1
5
4
6
3
2
1
5
4
6
3
2
1
5
4
6
3
2
1
5
4
6
3
2
1
U12
7
9
10
11
12
13
14
15
Y7
Y6
Y5
Y4
Y3
Y2
Y1
Y0
74HC238
E3
E2
E1
C
B
A
5
4
6
3
2
1
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Apndice A
Teora del teclado PC-AT
El teclado es un perifrico bidireccional que se conecta al ordenador por medio de
un cable que contiene 4 hilos tiles: uno de alimentacin, uno de tierra, uno para
datos y otro para reloj. Los conectores externos mas conocidos se muestran a
continuacin:
Donde las lneas del reloj y de datos son bidireccionales de E/S con colector abierto
capaces de manejar una corriente de hasta de 300mA.
Identificacin de la tecla pulsada:
Al pulsar una tecla se genera un nico cdigo, denominado tambin cdigo de
rastreo, el cual identifica la tecla pulsada y la enva a travs de su lnea de data
serial. Al soltar la tecla, los teclados de AT generan dos cdigos que se envan
consecutivamente (0F0h y despus el mismo cdigo que al pulsarla). Por ejemplo, si
se pulsa la tecla A aparecer en la lnea de dato serial del teclado el byte 1Ch, y al
soltar la A se genera un cdigo F0h y luego 1Ch. La figura siguiente muestra el
teclado bsico del PC-AT de 83/84 teclas y sus cdigos de escaneo:
El teclado es libre de transmitir hacia el host mientras ambas lneas del reloj del
teclado y datos permanezcan en alto. En este momento la transmisin de datos
hacia el host se realiza a travs de un protocolo de comunicacin en serie que en
el AT consta de un marco de 11 bits, el primer bit de inicio, los 8 siguientes de datos
(el LSB primero), 1 bit de paridad impar y el ltimo de fin o parada. En el siguiente
diagrama se representa un byte de datos transmitidos desde el teclado:
Cingolani Ariel Jorge
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Apndice B
Matriz de 5x7 LEDs
El modelo de matriz de leds elegido para el proyecto es el 5x7 Dot Matrix Display
(red) del fabricante Para Light.
La identificacin del elemento es: Part Number: C-5570E
Algunas de las caractersticas [20] generales que presenta son las siguientes:
Disposicin interna de los leds de Ctodo Columna.
Tamao del punto de 5mm.
2 pulgadas de altura (50 mm).
Baja corriente de operacin.
Alto contraste de luz.
Compatibles con cdigos EBCDIC y ASCII.
Horizontalmente escalable.
Fcil montaje en placas o sockets.
Punto de color blanco y carcasa de color gris.
Otras caractersticas pueden verse en la siguiente tabla y para ms informacin ver
su datasheet.
La siguiente tabla muestra los rangos de valores absolutos.
Parmetro
Valor
Potencia disipada
105 mW
Corriente continua
30 mA
5V
Temperatura de Uso/almacenaje
Temperatura de soldadura
La siguiente imagen muestra las dimensiones de la matriz as como las dos posibles
disposiciones internas de sus leds.
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Apndice C
MEMORIA I2C EEPROM 24C16
Estos dispositivos se caracterizan por su tamao reducido, normalmente
implementados en encapsulados de 8 pines, sin importar la capacidad de
almacenamiento. Los encapsulados tpicos van desde montaje superficial hasta los
clsicos PDIP, tiles stos para los prototipos en protoboards, apreciados por los
aficionados y estudiantes de electrnica. La etiqueta que las identifican comienza
con el nmero 24, acompaada del nmero que indica la capacidad de
almacenamiento en Kbits y el tipo de encapsulado.
La capacidad de almacenamiento implementada por los fabricantes de estos
dispositivos oscila desde 1Kbit hasta 1024Kbit, permitiendo una conexin en
cascada entre ellos; un dispositivo maestro como un microcontrolador de gama
media, puede manejar hasta 7 dispositivos de este tipo mediante el protocolo,
permitiendo un potencial de acceso de 8192Kbits de informacin (1MByte). Las
memorias EEPROM basadas en el protocolo SPI tienen una capacidad tope de
256Kbits en la actualidad, pero no permiten la posibilidad de conectarse en cascada,
al igual que las basadas en Microwire, las cuales solo tienen una capacidad mxima
de almacenamiento de 16Kbits.
Caractersticas:
Voltaje de operacin bajo y estndar
5.0 (VCC = 4.5V to 5.5V)
2.7 (VCC = 2.7V to 5.5V)
2.5 (VCC = 2.5V to 5.5V)
1.8 (VCC = 1.8V to 5.5V)
Organizado internamente 2048 x 8 (16K)
Bus de interfaz serial, compatible con I2C
Transferencia de datos bidireccional
100 KHz (1.8V, 2.5V, 2.7V) y 400 KHz (5V)
Ciclo de escritura (10ms mximo)
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Apndice D
Microcontrolador PIC 16F873
El PIC16F873 es un microcontrolador FLASH de alto rendimiento que provee a
ingenieros con la ms alta flexibilidad de diseo posible. Adems de (4k) palabras de
memoria de programa FLASH, 192 bytes de memoria de datos, y 128 bytes de uso
RAM.
El PIC16F873 tambin tiene integrado un conversor Analgico-digital de 5-canales
de 10-bit. Incluye dos temporizadores de 8-bit, uno de 16-bit, un temporizador del
Perro guardin, Brown-Out-Reset o proteccin en para voltajes bajos (BOR),
Programming En-circuito-de serie, RS-485 tipo UART para las aplicaciones de
adquisicin datos por goteo, y I2C o SPI que brinda capacidad para la
expansin perifrica.
Se ha mejorado la precisin que controla interfaces a travs de dos mdulos de CCP
y dos mdulos de PWM (modulacin por ancho de pulsos). Los PIC16F873 tambin
gozan de un voltaje bajo de programacin (Low voltage program), permitindole al
usuario programar en el circuito el dispositivo mientras esta operando bajo el voltaje
de funcionamiento. Las aplicaciones van de controles de mquinas programables,
mantenimiento de red, telefona, automatizacin, informtica, etc.
Este posee 22 I/O (puertos de entrada / salida) y est disponible en encapsulados
28 DIP (SP), y 28 SOIC (SO) para montaje en placa o superficial.
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Para el manejo del teclado se utiliza el puerto RB0 configurado como una
interrupcin conectada al reloj, y el puerto RC0 conectado al de datos.
Se utilizan para la pantalla de leds los bits RB1 a RB7 para las filas.
Para controlar de los decodificadores se utilizo puerta A del PIC.
Para la memoria EEPROM se utilizo el puerto RC3 (SCL) y RC4 (SDA) que son I2C.
TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
Conclusin
De este proyecto se pueden formular muchas conclusiones que en su totalidad son
productivas.
La propuesta de realizar un proyecto a libre eleccin fomenta el desarrollo de
proyectos ingeniosos y tal vez, por que no, tiles. Realmente cubre con todos los
aspectos de un trabajo de ingeniera.
Aprender a manejar un microcontrolador no es tan difcil como parece. Vale la pena
conocer a un dispositivo tan verstil, completo y eficiente.
Otra ventaja de este desafo es su carcter integrador. Para este proyecto se
utilizaron todos los conocimientos adquiridos tanto en el mbito universitario como
en el mbito personal. Es decir la experiencia de proyectos anteriores.
Muchos problemas y contratiempos se hicieron presentes pero todos ellos fueron
subsanados utilizando el ingenio y los conocimientos.