Top Banner
PANEL ELECTRONICO DE LED´S MATERIA: CIRCUITOS DIGITALES I PRESENTADO POR: MENDOZA YARESI ESTER C. RODRIGUEZ PINO VICTOR H. 063817 QUISPE HUGO J. SEMESTRE IV
22

Sistema Digital

Dec 05, 2015

Download

Documents

Nigma Rodriguez

Elaboracion de un proyecto de logica digital
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Sistema Digital

PANEL ELECTRONICO DE LED´S

MATERIA: CIRCUITOS DIGITALES I

PRESENTADO POR:

MENDOZA YARESI ESTER C.RODRIGUEZ PINO VICTOR H. 063817QUISPE HUGO J.

SEMESTRE IV

PUNO - PERU

2009

Page 2: Sistema Digital

2

INTRODUCCION

El presente trabajo es el resultado de la colaboración de todos los miembros del grupo que contribuyeron con dicho proyecto en forma continua.

Los resultados del proyecto serán analizados en este informe de forma matemática y practica

Page 3: Sistema Digital

INDICE

Objetivos…………………………………………………………………..4

Materiales………………………………………………………………….4

Circuito Electrónico………….……….……………………………………5

Análisis del Circuito...……………………………………………………..9

1.- PIC……………………..……………………………………...9

2.- MAX 232…………..…………..………………………….……..16

3.- ULN2803….…………………………..……………….……..16

4.-Registros y transistores.……….………………………………..17

Conclusiones………………………………………………………………13Bibliografía……………………………………………..…………………13

3

Page 4: Sistema Digital

I.- OBJETIVOS

Crear un panel de leds de 64x7 .

Realizar el análisis de dicho panel

II.- MATERIALES

4

Page 5: Sistema Digital

III.- CIRCUITO ELECTRONICO

Construcción Del esquema de la matriz.Colocando los cátodos y ánodos en serie según su polarización el esquema queda de la siguiente manera:

5

Page 6: Sistema Digital

ETAPA DE CONTROL:

6

Page 7: Sistema Digital

ETAPA DE POTENCIA:

7

Page 8: Sistema Digital

CIRCUITO DEL PANEL CONECTADO CON LAS FORMAS BASICAS DE LA ETAPA DE POTENCIA Y DE CONTROL

CLK

D81

D88

D82

D83

D84

D85

D87

D86

D81

D82

D83

D84

D85

D86

D87

D88

CLK

DATA D11

D12

D13

D14

D15

D16

D17

D18

CLK

D18

CLK

D21

D22

D23

D24

D25

D26

D27

D28

CLK

D28 D31

D32

D33

D34

D35

D36

D38

D37

CLK CLK CLK CLK

D71

D72

D73

D74

D75

D76

D77

D78

D78D61

D62

D63

D64

D65

D66

D67

D68

D68D58D48D38 D41

D42

D43

D44

D45

D46

D47

D48

D51

D52

D53

D54

D55

D56

57

D58

D11

D12

D13

D14

D15

D16

D17

D18

D21

D22

D23

D26

D27

D28

D24

D25

D78

D77

D76

D75

D74

D73

D72

D71

D68

D67

D66

D65

D64

D63

D62

D61

D57

D56

D55

D54

D53

D52

D51

D48

D47

D46

D45

D43

D42

D41

D44

D38

D37

D36

D35

D34

D33

D32

D31

D58

DATA

SRG8R

C1/->

& 1D1 32

4

5

6

10

8

11

12

9

13

U2

74LS164

SRG8R

C1/->

& 1D1 32

4

5

6

10

8

11

12

9

13

U3

74LS164

SRG8R

C1/->

& 1D1 32

4

5

6

10

8

11

12

9

13

U4

74LS164

SRG8R

C1/->

& 1D1 32

4

5

6

10

8

11

12

9

13

U5

74LS164

RA7/OSC1/CLKIN16

RB0/INT6

RB1/RX/DT7

RB2/TX/CK8

RB3/CCP19

RB410

RB511

RB6/T1OSO/T1CKI12

RB7/T1OSI13

RA0/AN017

RA1/AN118

RA2/AN2/VREF1

RA3/AN3/CMP12

RA4/T0CKI/CMP23

RA6/OSC2/CLKOUT15

RA5/MCLR4

U1

PIC16F628A

SRG8R

C1/->

& 1D1 32

4

5

6

10

8

11

12

9

13

U8

74LS164

SRG8R

C1/->

& 1D1 32

4

5

6

10

8

11

12

9

13

U9

74LS164

SRG8R

C1/->

& 1D1 32

4

5

6

10

8

11

12

9

13

U7

74LS164

SRG8R

C1/->

& 1D1 32

4

5

6

10

8

11

12

9

13

U10

74LS164

RXD

RTS

TXD

CTS

VT1

U11NOT

U12NOT

U13NOT

U15NOT

U16NOT

U17NOT

U18NOT

U6NOT

8

Page 9: Sistema Digital

IV.- ANALISIS DEL CIRCUITO

Por orden de conexión el siguiente circuito presenta el siguiente análisis:

1.- PIC:

Para nuestro caso se uso el PIC16F628A teniendo las siguientes Características:

Usando a la vez para propósitos del panel el siguiente lenguaje de programación en lenguaje C

#include <18F452.h> #include letrero.h> #fuses NOWDT,WDT128,HS, NOPROTECT, NOOSCSEN, BROWNOUT, BORV20, NOPUT, STVREN, NODEBUG, NOLVP, NOWRT, NOWRTD, NOWRTB, NOWRTC, NOCPD, NOCPB, NOEBTR, NOEBTRB#use delay(clock=20000000) #use rs232(baud=57600,xmit=PIN_C6,rcv=PIN_C7)//Defines------------------------------------------#BYTE port_a = 0x0f80#BYTE port_b = 0x0f81#BYTE port_c = 0x0f82#BYTE port_d = 0x0f83#BYTE port_e = 0x0f84

9

Page 10: Sistema Digital

#BYTE tris_a = 0x0f92#BYTE tris_b = 0x0f93#BYTE tris_c = 0x0f94#BYTE tris_d = 0x0f95#BYTE tris_e = 0x0f96

#DEFINE CLOCK PIN_E0#DEFINE DATA PIN_E1#DEFINE CLR PIN_E2

//Definicion de funcionesvoid fConfigurar_puertos(void);void fdata(void);void fclock(void);void freset(void);unsigned int8 virtualwindow(int8,int8);void Barrido(void);int8 i,longitud = 128, posicion=0,tempo,ApuntaCaracter=0,IndiceByte=0,Indice;//letra mayuscula de grosor simpleunsigned int8 letramay[26][5]={ {0b10000000, 0b01110111, 0b01110111, 0b01110111, 0b10000000},//A {0b00000000, 0b01101110, 0b01101110, 0b01101110, 0b10010001},//B {0b10000001, 0b01111110, 0b01111110, 0b01111110, 0b10111101},//C {0b00000000, 0b01111110, 0b01111110, 0b01111110, 0b10000001},//D {0b00000000, 0b01101110, 0b01101110, 0b01101110, 0b01101110},//E {0b00000000, 0b01110111, 0b01110111, 0b01110111, 0b01110111},//f

{0b10000001, 0b01111110, 0b01000010, 0b01101110, 0b10110001},//G {0b00000000, 0b11101111, 0b11101111, 0b11101111, 0b00000000},//H {0b01111110, 0b01111110, 0b00000000, 0b01111110, 0b01111110},//I {0b01111111, 0b01111111, 0b00000000, 0b01111110, 0b01110001},//J {0b00000000, 0b11101111, 0b11101111, 0b11010011, 0b00111100},//K {0b00000000, 0b11111110, 0b11111110, 0b11111110, 0b11111100},//L

{0b00000000, 0b10111111, 0b11011111, 0b10111111, 0b00000000},//M {0b00000000, 0b10011111, 0b11100111, 0b11111001, 0b00000000},//N {0b10000001, 0b01111110, 0b01111110, 0b01111110, 0b10000001},//O {0b00000000, 0b01110111, 0b01110111, 0b01110111, 0b10001111},//P {0b10000001, 0b01111110, 0b01111010, 0b01111101, 0b10000010},//Q {0b00000000, 0b01110111, 0b01110111, 0b01110011, 0b10001100},//R

10

Page 11: Sistema Digital

{0b10011101, 0b01101110, 0b01101110, 0b01101110, 0b10110001},//S {0b01111111, 0b01111111, 0b00000000, 0b01111111, 0b01111111},//T {0b00000001, 0b11111110, 0b11111110, 0b11111110,

0b00000001},//U {0b00000011, 0b11111101, 0b11111110, 0b11111101, 0b00000011},//V {0b00000000, 0b11111101, 0b11110011, 0b11111101, 0b10000000},//W {0b00111100, 0b11011011, 0b11000111,

0b11011011, 0b00111100},//X {0b00111111, 0b11011111, 0b11100000, 0b11011111, 0b00111111},//Y {0b00111000, 0b01110110, 0b01101110, 0b01011110, 0b00111100}//Z };

//letra minuscula en realidad muestra Letra mayuscula de doble grosorunsigned int8 letramin[26][5]={ {0b10000000, 0b00000000, 0b00110011, 0b00000000, 0b10000000},//A {0b00000000, 0b00000000, 0b00101100, 0b00000000, 0b10010001},//B {0b10000001, 0b00000000, 0b00111100, 0b00111100, 0b10011001},//C {0b00000000, 0b00000000, 0b00111100, 0b00000000, 0b10000001},//D {0b00000000, 0b00000000, 0b00100100, 0b00100100, 0b00100100},//E {0b00000000, 0b00000000, 0b00110011, 0b00110011, 0b00110011},//f {0b10000001, 0b00000000, 0b00100100, 0b00101100,

0b10010001},//G {0b00000000, 0b00000000, 0b11100111, 0b00000000, 0b00000000},//H {0b00111100, 0b00000000, 0b00000000, 0b00111100, 0b00111100},//I {0b00111111, 0b00000000, 0b00000000, 0b00111100, 0b00110001},//J {0b00000000, 0b00000000, 0b11000111, 0b10010011, 0b00111100},//K {0b00000000, 0b00000000, 0b11111100, 0b11111100, 0b11111100},//L {0b00000000, 0b10000000, 0b11001111, 0b10000000, 0b00000000},//M {0b00000000, 0b10000000, 0b11100111,

0b00000001, 0b00000000},//N {0b10000001, 0b00000000, 0b00111100, 0b00000000, 0b10000001},//O {0b00000000, 0b00000000, 0b01110011, 0b00000111, 0b10001111},//P {0b10000001, 0b00000000, 0b01111010, 0b00000001, 0b10000010},//Q {0b00000000, 0b00000000, 0b01110111, 0b00000000, 0b10001100},//R {0b10011101, 0b00001100, 0b00100100, 0b00100000, 0b10110001},//S {0b00111111, 0b00000000, 0b00000000, 0b00111111, 0b00111111},//T {0b00000001, 0b00000000,

11

Page 12: Sistema Digital

0b11111100, 0b00000000, 0b00000001},//U {0b00000011, 0b00000001, 0b11111100, 0b00000001, 0b00000011},//V {0b00000000, 0b00000001,

0b11100111, 0b00000001, 0b10000000},//W {0b00111100, 0b10011001, 0b11000011, 0b10011001, 0b00111100},//X {0b00011111, 0b11000000,

0b11100000, 0b11001111, 0b00111111},//Y {0b00111000, 0b00110000, 0b01100110, 0b00001100, 0b00011100}//Z };

unsigned int8 simbolos[17][5]={ {0b10000001, 0b01110110, 0b01101110, 0b01011110, 0b10000001},//0 {0b11011110, 0b10111110, 0b01111110, 0b00000000, 0b11111110},//1 {0b10110000, 0b01100000, 0b01101100, 0b00011100, 0b10011100},//2 {0b10111101, 0b01101110, 0b01101110, 0b00000000, 0b10011001},//3 {0b11000111, 0b10110111, 0b01110111, 0b00000000, 0b00000000},//4 {0b00001101, 0b00001100, 0b01101110, 0b01100000,

0b01110001},//5 {0b10000001, 0b00000000, 0b01101110, 0b00100000, 0b10110001},//6 {0b00111111, 0b01111111, 0b01110000, 0b00000000, 0b00011111},//7 {0b10010001, 0b01101110, 0b01101110, 0b01101110, 0b10010001},//8 {0b10011101, 0b01101110, 0b01101110, 0b01101110, 0b10000001},//9 {0b00000000, 0b11101111, 0b11101111, 0b11010011, 0b00111100},//K {0b00000000, 0b11111110, 0b11111110,

0b11111110, 0b11111100}//L {0b00000000, 0b11101111, 0b11101111, 0b11010011, 0b00111100},//K {0b00000000, 0b11111110, 0b11111110, 0b11111110, 0b11111100}//L {0b00000000, 0b11101111, 0b11101111, 0b11010011, 0b00111100},//K {0b00000000, 0b11111110, 0b11111110, 0b11111110, 0b11111100}//L {0b00000000, 0b11101111, 0b11101111, 0b11010011, 0b00111100}//K };

#INT_RDA //aquí llega cuando el flanco es izquierdo void inter_rxserial() {char caracter; do{ caracter=getchar(); //espera un caracter write_eeprom(posicion,caracter); printf("%C %U",read_eeprom(posicion), posicion);

12

Page 13: Sistema Digital

if(caracter==13) { tempo++; write_eeprom(posicion,'\0'); printf("%C%Cfin de mensaje %U",13,10,tempo); } posicion++; if(posicion==255) { write_eeprom(posicion,'\0'); printf("%C%Cla memoria ha sido excedida",13,10); } }while(caracter!=13&&posicion<255); /*enciende un LED de fin de escritura si es q se retorno de lainterrupcion*/ printf("%C%Cfin de escritura de datos",13,10); } //--------------------------------------------------//Main----------------------------------------------//--------------------------------------------------void main() { int8 j; fConfigurar_puertos(); output_high(CLOCK); //pin RELOJ = alto output_low(DATA); //pin dataDATA bajo output_high(CLR); //se prohibe reset en los registros /*habilita la interrupcion externa y luego las globales*/ enable_interrupts(INT_RDA); enable_interrupts(global); barrido(); } //--------------------------------------------------//-BARRIDO ESTATICO-//--------------------------------------------------/*La siguiente duncion configura los puertos de acuerdo a lo requerido*/void Barrido(void){ freset(); //se resetea los registros borrando antes los puertos //condiciones de inicio de barrido ApuntaCaracter=0; IndiceByte=0; tempo=virtualwindow(ApuntaCaracter,Indice); if(tempo==255)//ve si es fin de linea return ;

for(i=1;i<longitud;i++)//empieza en 1 por que ya se encuentra en la posicion 1 { port_b=tempo; port_d=tempo; delay_ms(1000);// hace que se pueda ver el barrido se debe calibrar tempo=virtualwindow(ApuntaCaracter,Indice); if(tempo==255)

13

Page 14: Sistema Digital

return ; if(Indice==0) {//espacio port_b=255; port_d=255; fclock(); fclock(); fclock(); } port_b=255;//con esto evito que se mande un dato port_d=255; fclock();}

//--------------------------------------------------//- FUNCIONES-//--------------------------------------------------/*La siguiente duncion configura los puertos de acuerdo a lo requerido*/void fConfigurar_puertos(void){ tris_a = 0b11000000; //PORTA salida tris_b = 0b00000000; //PORTB salida //tris_c se dfine en el progrrama tris_d = 0b00000000; //PORTD salida // tris_e = 0b11111000; //PORTE se configura cada vez que se usa

}

//--------------------------------------------------/*carga el primer registro con un 1*///--------------------------------------------------void fdata(void)

{ output_high(DATA); //se pone data a alto output_low(CLOCK); //estas dos lineas hacen un clock output_high(CLOCK); output_low(DATA); //aseguramos cargar los reg con un pulso }//--------------------------------------------------/*manda un pulso de reloj a los registros*///--------------------------------------------------void fclock(void)

{ output_low (CLOCK); output_high(CLOCK); } //--------------------------------------------------

14

Page 15: Sistema Digital

/*produce reseteo en los registros de desplazamiento (toda sus salidas ceros) y carga la primera salida con un 1*///--------------------------------------------------void freset(void)

{ port_b = 255;//con estos valores se borran los puertos port_d = 255;//aunque no es muy necesario output_low (CLR); output_high(CLR); fdata(); } //--------------------------------------------------//**********************VirtualWindow********************************************************// FUNCION: lee un byte correspondiente a la ventana virtual ,si se vuelve a llamar lee el sig byte// puede desplazarse la ventana sobre el mensaje, empezando en cualquier parte de la eeprom// como punteros, es optima, no importa la longitud del mensaje.// PRECOND: ApuntaCaracter(a)= indice del caracter dentro de la eeprom(se incrementa automaticamente)// IndiceByte(b)= [0,4](se incrementa automaticamente)// POSCOND: retorna el byte correspondiente a un caracter, si es fin de linea retorna 0//--------------------------------------------------unsigned int8 virtualwindow(int8 a, int8 b){tempo=read_eeprom(a); //si es fin de linea retorna 0 if(tempo=='\0') return 255;Indice=IndiceByte; //si el indice de byte es 4 a la siguiente accion sera 0 si es menor se incrementara if(IndiceByte<4) IndiceByte++; else{ ApuntaCaracter++; IndiceByte=0;}

if(tempo>='A'&&tempo<='Z')return letramay[tempo-'A'][Indice];if(tempo>='a'&&tempo<='z')return letramin[tempo-'a'][Indice];//if()falta deducir para los simbolos}

15

Page 16: Sistema Digital

EL MAX 232

El MAX232 es un circuito integrado que convierte los niveles de las líneas de un puerto serie RS232 a niveles TTL y viceversa. Lo interesante es que sólo necesita una alimentación de 5V, ya que genera internamente algunas tensiones que son necesarias para el estándar RS232. Otros integrados que manejan las líneas RS232 requieren dos voltajes, +12V y -12V.

EL ULN2803:

Dentro del ULN2803 se encuentran 8 transistores NPN Darlington. Es un circuito integrado ideal para ser empleado como interfaz entre las salidas de un PIC o cualquier integrante de las familias TTL o CMOS y dispositivos que necesiten una corriente más elevada para funcionar.

Todas sus salidas son a colector abierto y se dispone de un diodo para evitar las corrientes inversas. El modelo ULN2803 esta especialmente diseñado para ser compatible con entradas TTL, mientras que el modelo ULN2804 está optimizado para voltajes entre 6 y 15 volt, típicos de la familia CMOS.

En la construcción del panel hemos utilizado este integrado en el panel, como Módulo Reles x 8 que forma parte del PIC16F628A.

16

Page 17: Sistema Digital

LOS TRANSISTORES:

Hemos utilizado los TIP para propósitos de amplificación de señal

17

Page 18: Sistema Digital

V.- CONCLUSIONES

Se ha visto la construcción del panel en su forma esquemática y los resultados en su forma práctica vistos en su exposición

VI.- BIBLIGRAFIA

www.foroselectronica.com

www.electronicafacil.com

18