Está en la página 1de 49

TECNOLOGIA ELECTRONICA

UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

ndice
Introduccin -----------------------------------------------------------------------Descripcin -----------------------------------------------------------------------3 4 8 23 24 25 27 28 30 32 34 36

Programa en assembler -------------------------------------------------------Diagrama de flujo ------------------------------------------------------------------Diagrama del circuito -----------------------------------------------------------Presentacin del proyecto terminado -------------------------------------Problemas en la realizacin del proyecto -------------------------------Apndice A Apndice B Apndice C Apndice D Conclusin -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Cingolani Ariel Jorge

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.

Cingolani Ariel Jorge

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

Cingolani Ariel Jorge

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

SEAL 01

FILA01

SEAL 02

FILA02

SEAL 03

FILA03

SEAL 04

FILA04

SEAL 05

FILA05

SEAL 06

FILA06

SEAL 07

FILA07

COL 01

COL 02

COL 03

COL 04

COL 05

COL 06

COL 37

COL 38

COL 39

15 14 13 12 11 10 9 7

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

74ALS138

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

U1

15 14 13 12 11 10 9 7

U2
74ALS138

E1 E2 E3

1 2 3

6 4 5

1 2 3

SEAL 08 SEAL 09 SEAL 10


15 14 13 12 11 10 9 7

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

U3
74HC238

1 2 3

SEAL 11 SEAL 12 SEAL 13

FIGURA 1

Cingolani Ariel Jorge

6 4 5

E1 E2 E3

A B C

6 4 5

E1 E2 E3

A B C

A B C

COL 40

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

COL 01

COL 02

COL 03

COL 04

COL 05

COL 06

COL 37

COL 38

COL 39
FILA01 FILA02 FILA03 FILA04 FILA05 FILA06 FILA07

9 16 15 14 13 12 11 10

COM 1C 2C 3C 4C 5C 6C 7C

ULN2003A

COM 1C 2C 3C 4C 5C 6C 7C

U1

9 16 15 14 13 12 11 10

U2
ULN2003A

1B 2B 3B 4B 5B 6B 7B

1 2 3 4 5 6 7

15 14 13 12 11 10 9 7

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

74HC238

Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7

U3

15 14 13 12 11 10 9 7

E1 E2 E3

1 2 3

6 4 5

1 2 3

FIGURA 2

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 1 19 1A0 1A1 1A2 1A3 2A0 2A1 2A2 2A3 1OE 2OE 74ALS241 1Y0 1Y1 1Y2 1Y3 2Y0 2Y1 2Y2 2Y3 18 16 14 12 9 7 5 3

PIC16F873

6 4 5

E1 E2 E3

A B C

A B C

1 2 3 4 5 6 7

1B 2B 3B 4B 5B 6B 7B

U4
74HC238

FIGURA 3

Cingolani Ariel Jorge

COL 01

COL 40

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

Cingolani Ariel Jorge

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

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
RETLW RETLW RETLW RETLW RETLW 0 0 0 0 0x08 ;borrar

Tabla

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

Cingolani Ariel Jorge

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

Cingolani Ariel Jorge

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 00h 63h 14h 08h 14h 63h 00h 70h 08h 07h 08h 70h 00h 43h 45h 49h 51h 61h 00h

;X

;Y

;Z

TABLA1

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

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW RETLW 0 0 0x3d ;K 0x31 ;I 0x55 ;O 0 0 0 0 0 0 0x43 ;L 0 0x5b ;P

Tabla1

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

Cingolani Ariel Jorge

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

Cingolani Ariel Jorge

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 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 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

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
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

borrar

mal decf fila decf Direccion decf Direccion CLRF KeyRtn CLRF ASCII CLRF Nbytes goto Ru12

Cambiar clrf RESTADOR Cambiar1 incf RESTADOR movlw 0x02 subwf cont,1 btfsc STATUS,Z goto Cam btfsc STATUS,C goto Cambiar1 Cam movf RESTADOR,0 sublw 0x14 btfss STATUS,C goto mal btfsc STATUS,Z goto LIMPIAR movwf RESTADOR

Cambiar2 call ROTO1 clrf 0x4E decfsz RESTADOR goto Cambiar2 goto LIMPIAR

Cingolani Ariel Jorge

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

;W contains table data - put it in 15h

STATUS,RP1 ;Pasamos al banco 2 EEADR,0 ;Siguiente direccin EEPROM STATUS,RP1 cuanto 0x4E FSR 0x28 RESTADOR INDF FSR,F RESTADOR Aor1

Cingolani Ariel Jorge

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 CLRF KeyRtn CLRF ASCII CLRF Nbytes movlw 0xFF bsf STATUS,RP1 movwf EEDATA

escribir2

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

Cingolani Ariel Jorge

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

;W contains table data - put it in 15h

INTCON,GIE

Cingolani Ariel Jorge

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 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

escr

escr1

Cingolani Ariel Jorge

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 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 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

Ais4

Ais3

Ais2

Ais1

Cingolani Ariel Jorge

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 movlw 0x03 movwf GIRAR movlw 0x00 movwf memoria bsf STATUS,RP1 clrf EEADR bcf STATUS,RP1 goto A12 movlw 0x03 movwf GIRAR movlw 0x02 movwf memoria movlw 0x08 bsf STATUS,RP1 movwf EEADR bcf STATUS,RP1 goto A12 movlw 0x03 movwf GIRAR movlw 0x04 movwf memoria movlw 0x10 bsf STATUS,RP1 movwf EEADR bcf STATUS,RP1 goto A12 movlw 0x03 movwf GIRAR movlw 0x06 movwf memoria movlw 0x18 bsf STATUS,RP1 movwf EEADR bcf STATUS,RP1 goto A12 DECFSZ Nbytes,W goto fase2 MOVF KeyRtn,W xorlw 0x76 btfsc STATUS,Z goto INICIO

fase11

fase12

fase13

fase14

fase2 fase20

Cingolani Ariel Jorge

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 fase21 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

movlw 0x04 movwf GIRAR movlw 0x08 movwf memoria movlw 0x20 bsf STATUS,RP1 movwf EEADR bcf STATUS,RP1 goto A12 movlw 0x04 movwf GIRAR movlw 0x0A movwf memoria movlw 0x28 bsf STATUS,RP1 movwf EEADR bcf STATUS,RP1 goto A12 movlw 0x04 movwf GIRAR movlw 0x0C movwf memoria movlw 0x30 bsf STATUS,RP1 movwf EEADR bcf STATUS,RP1 goto A12 movlw 0x04 movwf GIRAR movlw 0x0E movwf memoria movlw 0x38 bsf STATUS,RP1 movwf EEADR bcf STATUS,RP1 goto A12

fase22

fase23

fase24

LAZO_LECTURA Vis 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

Vis4

Vis3

Cingolani Ariel Jorge

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 movlw 0x09 addwf KeyRtn,1 return movlw 0x0C addwf KeyRtn,1 return movlw 0x65 subwf KeyRtn,1 return

F1

F2

F3

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

Cingolani Ariel Jorge

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 INICIO

goto

NOP CLRF KeyRtn CLRF ASCII CLRF Nbytes

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
bsf decf goto ejecutar1 INTCON,GIE GIRAR fase1

NOP CLRF KeyRtn CLRF ASCII CLRF Nbytes bsf INTCON,GIE clrf GIRAR goto fase2 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

repro

repro1 clrf Direccion goto R12 DECFSZ Nbytes,W goto viss31 goto esc1 movlw 0x05 movwf retardo movlw 0xFF movwf RESTADOR1 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

Viss3

viss31

Viss2

Viss1

V1

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA
goto esc1 repro1

MOVF KeyRtn,W xorlw 0x76 btfsc STATUS,Z goto INICIO goto viss31

Cambia incf Direccion clrf RESTADOR Cambia1 incf RESTADOR movlw 0x02 subwf cont,1 btfsc STATUS,Z goto Ca btfsc STATUS,C goto Cambia1 Ca movf RESTADOR,0 sublw 0x14 btfss STATUS,C goto Viss3 btfsc STATUS,Z goto Viss3 movwf RESTADOR

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 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

R32

;W contains table data - put it in 15h

R112

incf Direccion

Cingolani Ariel Jorge

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

;W contains table data - put it in 15h

ENTER NOP CLRF CLRF CLRF bsf movlw movwf call call movf xorlw btfsc goto movf xorlw btfsc goto goto ENTER1 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 KeyRtn ASCII Nbytes INTCON,GIE 0xFF Dato Enviar_Byte retardo1 GIRAR,0 0x00 STATUS,Z GIRATORIO1 GIRAR,0 0x01 STATUS,Z ENTER1 LIMPIAR

borr1

BOR

borr

BORRAR movf GIRAR,0 xorlw 0x01 btfsc STATUS,Z goto BOR

Cingolani Ariel Jorge

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

;W contains table data - put it in 15h

Cingolani Ariel Jorge

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

;W contains table data - put it in 15h

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

;W contains table data - put it in 15h

movf xorlw btfsc goto Run31

GIRAR,0 0x01 STATUS,Z Ru12

call ROTO1 movf CUENTAS,0 call Tabla movwf CARACTER movwf 0x4E incf CUENTAS,1 movf CARACTER,0

;W contains table data - put it in 15h

Cingolani Ariel Jorge

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

Cingolani Ariel Jorge

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 CLRF KeyRtn CLRF ASCII CLRF Nbytes incf fila goto gira 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

sumar

esc

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

Cingolani Ariel Jorge

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 DECFSZ Nbytes,W goto gira goto esc movlw 0x05 movwf retardo movf fila,0 movwf RESTADOR1

gira

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

Cingolani Ariel Jorge

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

Cingolani Ariel Jorge

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

Cingolani Ariel Jorge

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

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Diagrama de flujo
Inicializacin de variables

(Frase instantnea) F1 =1
Selecc. Memoria Tecla 1,2,3,4 Visualiza nombre Memoria selecc.

Presionar F1 o F2

F2=1 (Mensaje giratorio) Selecc. Memoria Tecla 1,2,3,4 Visualiza nombre Memoria selecc.

Presionar F3 o F4

F3=1 (Ejecuta mensaje guardado) F3=1 Presionar F3 o F4 F4=1(grabar nuevo mensaje) Grabar nombre memoria selecc. Presionar F4 para finalizar Escribir mensaje

F4=1 (grabar nuevo mensaje) Grabar nombre memoria selecc. Presionar F4 para finalizar Escribir rengln

Enter =0 F3=0 Presionar Enter o F3

Enter=0 F3=1

Presionar F3 F3=1

F3=0

Enter=1 F3=0 Siguiente rengln Visualizar mensaje

Incrementar velocidad del mensaje

F5=1

Presionar F5 o F6

F6=1

Decrementar velocidad del mensaje

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Diagrama del Circuito


U21
10 11 12 13 14 15 16 9 10 11 12 13 14 15 16 9 10 11 12 13 14 15 16 9 10 11 12 13 14 15 16 9 10 11 12 13 14 15 16 9 10 11 12 13 14 15 16 9 7C 6C 5C 4C 3C 2C 1C COM 7B 6B 5B 4B 3B 2B 1B 7 6 5 4 3 2 1

U13

U7
7B 6B 5B 4B 3B 2B 1B 7 6 5 4 3 2 1 7 9 10 11 12 13 14 15 7 9 10 11 12 13 14 15 7 9 10 11 12 13 14 15 7 9 10 11 12 13 14 15 7 9 10 11 12 13 14 15 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 E3 E2 E1 5 4 6

ULN2003A 7C 6C 5C 4C 3C 2C 1C COM

U11

U6

C B A E3 E2 E1

3 2 1 5 4 6

ULN2003A 7C 6C 5C 4C 3C 2C 1C COM

7B 6B 5B 4B 3B 2B 1B

7 6 5 4 3 2 1

U10

74HC238 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

U5

C B A E3 E2 E1

3 2 1 5 4 6

ULN2003A 7C 6C 5C 4C 3C 2C 1C COM

7B 6B 5B 4B 3B 2B 1B

7 6 5 4 3 2 1

U9

74HC238 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

U12
7 9 10 11 12 13 14 15 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 74HC238 E3 E2 E1 5 4 6

U4

C B A E3 E2 E1

3 2 1 5 4 6

ULN2003A 7C 6C 5C 4C 3C 2C 1C COM

7B 6B 5B 4B 3B 2B 1B

7 6 5 4 3 2 1

U8

74HC238 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0

C B A

3 2 1

U3

C B A E3 E2 E1

3 2 1 5 4 6

ULN2003A 7C 6C 5C 4C 3C 2C 1C COM ULN2003A

7B 6B 5B 4B 3B 2B 1B

7 6 5 4 3 2 1

74HC238 Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 74HC238

C B A

3 2 1

U14
2OE 1OE 3 5 7 9 12 14 16 18 2Y3 2Y2 2Y1 2Y0 1Y3 1Y2 1Y1 1Y0 74HC241 2A3 2A2 2A1 2A0 1A3 1A2 1A1 1A0 19 1 17 15 13 11 8 6 4 2

U1
24LC16B
SCK SDA WP

R1
10k

R2
10k

1 3 5

R5
10k
21 22 23 24 25 26 27 28 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

Conector PC-A T

RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD

U2
PIC16F873

3 1 4 5 2

RA0/AN0 RA1/AN1 RA2/AN2/VREFRA3/AN3/VREF+ RA4/T 0CKI RA5/AN4/SS

OSC1/CLKIN OSC2/CLKOUT MCLR/Vpp/T HV

R4
10k

9 10 1

C2
13pF

X1 C1
13pF CRYSTAL

2 3 4 5 6 7

R3
10k

C3
1uF

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Presentacin del proyecto terminado


En la siguiente fotografa se ve como quedo terminado el trabajo:

Manejo del cartel electrnico: Una vez conectado a la alimentacin, aparecer el ultimo mensaje que se ejecuto antes de cortar la alimentacin. Luego se debe presionar F1 si se desea ejecutar el modo frase instantnea o F2 si desea mensaje giratorio: Si selecciono F1: 1. Seleccionar memoria mediante las teclas 1,2,3,4. 2. Elegir si se va a ejecutar frase guardada con F3, o grabar nueva frase mediante F4. 3. Si se eligi F3 se ejecutara la frase guardada, en cambio si se eligi F4, lo primero que hay que hacer es darle un nombre al lugar de memoria y finalizar con la tecla F4. 4. Una vez elegido el nombre se debe empezar a escribir la frase, una vez que se termino de escribir el primer rengln, si desea pasar al siguiente rengln presionar ENTER y as sucesivamente, pero si desea finalizar presione F3 y comenzara a reproducir la frase. Si selecciono F2: 1. Seleccionar memoria mediante las teclas 1,2,3,4. 2. Elegir si se va a ejecutar frase guardada con F3, o grabar nueva frase mediante F4.

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

3. Si se eligi F3 se ejecutara la frase guardada, en cambio si se eligi F4, lo primero que hay que hacer es darle un nombre al lugar de memoria y finalizar con la tecla F4. 4. Una vez elegido el nombre se debe empezar a escribir el mensaje, cuando se termino de escribir, para finalizar presionar F3 y comenzara a reproducir el mensaje. 5. Si se desea variar la velocidad de reproduccin del mensaje, si presiona la tecla F5 aumentara la velocidad, y si se presiona F6 disminuir la velocidad.

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Problemas en la realizacin del proyecto


Los problemas que se me presentaron al realizar el proyecto no han sido muchos pero es importante mencionarlos, en primer lugar puedo mencionar que se me hizo un poco complicado poder desarrollar el ``software que gobierna al microcontrolador pic. Otro de los problemas que se me ha presentado fue el problema de la corriente de la que entregaba la fuente, al principio vea que no se iluminaban mucho las matrices, despus de hacer varias pruebas, lo solucione cambiando la fuente de alimentacin por una mas grande. Al realizar otra prueba las matrices iluminaban poco, era porque las matrices necesitan un pico de corriente de 140mA, ya que el puerto B del PIC no puede entregar esa corriente, tuve que poner un amplificador de corriente. Estos problemitas surgen por no leer antes las hojas de datos de los componentes.

Cingolani Ariel Jorge

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

El teclado no cambia necesariamente el dato en la lnea en el flanco de subida del reloj como se muestra aqu, pero el dato en la lnea debe ser siempre valido en el flanco de bajada del reloj. As, cada bit debe ser ledo en el flanco de bajada de reloj. Teniendo en cuenta que el bit menos significativo siempre es enviado primero. El teclado genera la seal de reloj que por lo general esta entre 20Khz y 30Khz. Comunicacin con el Microcontrolador PIC: El programa en este caso se debe encargar de detectar las interrupciones generados por el teclado, determinar la tecla pulsada y hallar su valor equivalente ASCII. Este programa se limitara a recibir los cdigos de las teclas pulsadas. Para ello se debe leer el cdigo binario producido en los flancos de bajado del reloj, se debe colocar el reloj del teclado como la entrada de interrupcin RB0, y cada vez que esta se activa se lee en RC0 un bit del dato. Como la lnea de reloj y de dato del teclado son a colector abierto, hay que configurar la entrada RB0 como pull up, y a la entrada RC0 hay que colocarle una resistencia a Vcc.

Cingolani Ariel Jorge

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 Potencia disipada Corriente continua Voltaje Temperatura de Uso/almacenaje Temperatura de soldadura Valor 105 mW 30 mA 5V -400C hasta +85C 260C durante 5 segundos

Pico de corriente(1/10 Duty Cycle, 0,1ms) 140 mA

La siguiente imagen muestra las dimensiones de la matriz as como las dos posibles disposiciones internas de sus leds.

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Cingolani Ariel Jorge

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)

La descripcin funcional de los conectores: 1. Lneas de Direccin (A2 A1 A0): Indican el cdigo de identificacin del circuito integrado, dentro de una red I2C. Un maestro puede comunicarse con 7 esclavos dentro de esta red. Con la ayuda de hubs, repetidores y buffers, pueden conectarse varias redes. 2. Lneas de Polarizacin (Vcc y Vss): Los dispositivos I2C, trabajan con voltajes de alimentacin (Vcc) entre 2.3 a 5.5VDC. El conector Vss conecta la tierra del circuito. Existen circuitos convertidores de voltaje, para permitir la conexin de redes y dispositivos que se polarizan con diferentes niveles de voltaje.

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

3. Lnea de Proteccin de Cdigo (WP): Permite no la modificacin del contenido de la memoria. Es la nica opcin de seguridad que tiene la memoria. 4. Lnea de Datos (SDA): A travs de ella se transmite y se recibe la informacin que intercambia la memoria con otros dispositivos de la red. Es una salida de colector / drenador abierto, lo cual requiere una resistencia de polarizacin pull -up, para conectarla a una fuente de voltaje. La conexin de varias salidas de este tipo, originan la conexin AND alambrada, en la cual el nivel lgico resultante es el producto lgico de los niveles presentes en las salidas conectadas en ese nodo. 5. Lnea de Reloj (SCL): Fija la sincronizacin de los datos que viajan entre maestro y esclavos. Al igual que SDA, esta lnea tambin es de colector / drenador abierto, lo que tambin se debe conectar entre ella y la fuente de polarizacin la resistencia pull-up. La frecuencias de operacin que soporta el protocolo son: estndar (100KHz), rpida (400KHz) y de alta velocidad (1MHz). El procedimiento bsico para la transmisin y recepcin de datos entre el microcontrolador y una memoria EEPROM I2C, depende de la operacin a realizar sobre ella, si es lectura escritura: 1. El maestro (microcontrolador) genera una condicin de inicio (Start) al esclavo (memoria), definida en el protocolo I2C as: SCL=1 y SDA=flanco descendente. 2. El maestro genera un byte de reconocimiento de direccin de esclavo, que tiene la siguiente estructura: 1010 A2 A1 A0 [R/W]. Los primeros 4 bits corresponden a la identificacin que utiliza el protocolo de comunicacin. Los bits A2 A1 A0 corresponden a la direccin del esclavo y el bit [R/W] indica el tipo de operacin que se va a realizar en la memoria. Si es 1, se realiza lectura y si es 0 escritura. Los esclavos conectados en la misma red del maestro reciben esta trama, comparan la direccin que reciben del maestro con la que tienen definida en sus lneas de direccin y el esclavo seleccionado coloca un nivel BAJO (si se realiza la operacin de escritura) en la lnea SDA. Esta accin se define en ingls con la palabra Acknowledge (ACK). Si se realiza la operacin de lectura, el esclavo coloca la lnea SDA en BAJO y espera a que el maestro genere el bit ACK, que en este caso es ALTO. 3. El maestro genera el los bytes de la direccin de la celda. Al igual que el paso anterior, los niveles de ACK para las operaciones de lectura y escritura se comportan de la misma forma. 4. En escritura, el maestro enva el byte de datos a la celda seleccionada; en lectura la memoria enva este byte al maestro. Luego de esto se genera el bit ACK correspondiente. 5. Si se van a transmitir ms datos entre el microcontrolador y la memoria, se repiten los pasos 2 a 4. 6. El maestro genera la condicin de parada (Stop) al esclavo, colocando un flanco ascendente en SDA, cuando SCL=1. Se termina el enlace entre el microcontrolador y la memoria. Cingolani Ariel Jorge

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.

Cingolani Ariel Jorge

TECNOLOGIA ELECTRONICA
UNIVERSIDAD TECNOLOGICA NACIONAL FACULTAD REGIONAL VILLA MARIA

Distribucin de puertos en el PIC16F873 El PIC16F873 posee 22 puertos de E / S disponibles: RA0_ RA5 (configurados como salidas), RB0 (conf. Como entrada), RB1_RB7 (conf. como salidas), RC0_ RC7 (configurados como entradas). Pero para este proyecto son necesarios 17 puertos distribuidos de la siguiente manera: 2672Control del teclado PC-AT Control de los decodificadores. Manejo de la pantalla de leds Memoria EEPROM

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.

Cingolani Ariel Jorge

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.

Cingolani Ariel Jorge

También podría gustarte