Sunteți pe pagina 1din 3

Nivel

Nombre

INTERRUPCION EXTERNA R4
1k

LCD1

LM016L

RECEPTOR
U2
OSC1/CLKIN OSC2/CLKOUT 13 14 13 14 OSC1/CLKIN OSC2/CLKOUT

TRANSMISOR
U1

VSS VDD VEE

RS RW E

1 2 3

4 5 6

D0 D1 D2 D3 D4 D5 D6 D7

7 8 9 10 11 12 13 14

33 34 35 36 37 38 39 40 RB0/INT RB1 RB2 RB3/PGM RB4 RB5 RB6/PGC RB7/PGD 2 3 4 5 6 7 2 3 4 5 6 7

33 34 35 36 37 38 39 40

TECLADO 3X3

8 9 10 1 1

15 16 17 18 23 24 25 26 19 20 21 22 27 28 29 30 RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 19 20 21 22 27 28 29 30

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO MCLR/Vpp/THV RC6/TX/CK RC7/RX/DT 8 9 10 15 16 17 18 23 24 25 26

RB0/INT RB1 RB2 RA0/AN0 RB3/PGM RA1/AN1 RB4 RA2/AN2/VREF-/CVREF RB5 RA3/AN3/VREF+ RB6/PGC RA4/T0CKI/C1OUT RB7/PGD RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT

R1
1k

R2
1k

R3
1k

: Jenny Paola Calvopia Osorio Estefania Monserrath Serna Villarreal : Quinto A Carrera

PIC16F877A

INTERRUPCION EXTERNA R4
1k

INTERRUPCION EXTERNA R4
1k

LCD1
LCD1
LM016L RECEPTOR

: Electrnica

LM016L

TRANSMISOR
U1
OSC1/CLKIN OSC2/CLKOUT 13 14 13 14 OSC1/CLKIN OSC2/CLKOUT

RECEPTOR
U233

TRANSMISOR
U1
13 14 OSC1/CLKIN OSC2/CLKOUT

U2
RS RW E D0 D1 D2 D3 D4 D5 D6 D7
VSS VDD VEE RS RW E

VSS VDD VEE

D0 D1 D2 D3 D4 D5 D6 D7

OSC1/CLKIN OSC2/CLKOUT

13 14

RA0/AN0
1 2 3 4 5 6 7 8 9 10 11 12 13 14

2 3

1 2 3

4 5 6

7 8 9 10 11 12 13 14

33 34 35 36 37 38 39 40

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

2 3 4 5 6 7

2 3 4 5 6 7

RB0/INT 33 RB1 34 RB2 35 RB3/PGM 36 RB4 37 RB5 38 RB6/PGC 39 RB7/PGD 40 8 9 10 8 9 10 1 1

34 RB0/INT 35 RB1 36 RB2 37 RB3/PGM 38 RB4 39 RB5 40 RB6/PGC

RA1/AN1 TECLADO 3X3 4

2 3 4 5 6 7

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

33 34 35 36 37 38 39 40

TECLADO 3X3

Realizar una comunicacin serie entre dos PIC16F877A. Donde el transmisor consta de un teclado 3x3, y enva un dato por cada tecla. El receptor posee un LCD donde refleja el dato de la tecla enviada por el transmisor, adems consta de una interrupcin externa, que refleja el nombre de los autores.
1 RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RE0/AN5/RD RC1/T1OSI/CCP2 RE1/AN6/WR RC2/CCP1 RE2/AN7/CS RC3/SCK/SCL RC4/SDI/SDA MCLR/Vpp/THV RC5/SDO RC6/TX/CK RC7/RX/DT 15 16 17 18 23 24 25 26

15 16 17 18 23 24 25 26

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI RC1/T1OSI/CCP2 RE0/AN5/RD RC2/CCP1 RE1/AN6/WR RC3/SCK/SCL RE2/AN7/CS RC4/SDI/SDA RC5/SDO MCLR/Vpp/THV RC6/TX/CK RC7/RX/DT

RA0/AN0 RA1/AN1 RA2/AN2/VREF-/CVREF RA3/AN3/VREF+ RA4/T0CKI/C1OUT RA5/AN4/SS/C2OUT RC0/T1OSO/T1CKI 15 RE0/AN5/RD RC1/T1OSI/CCP2 16 RE1/AN6/WR RC2/CCP1 17 RE2/AN7/CS RC3/SCK/SCL 18 RC4/SDI/SDA 23 MCLR/Vpp/THV RC5/SDO 24 RC6/TX/CK 25 RC7/RX/DT 26 RD0/PSP0 19 RD1/PSP1 20 RD2/PSP2 21 RD3/PSP3 22 RD4/PSP4 27 RD5/PSP5 28 RD6/PSP6 29 RD7/PSP7 30 19 20 21 22 27 28 29 30 RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7 PIC16F877A PIC16F877A

RA2/AN2/VREF-/CVREF 5 RA3/AN3/VREF+ 6 RB7/PGD RA4/T0CKI/C1OUT 7 15 RA5/AN4/SS/C2OUT 16 RC0/T1OSO/T1CKI 8 17 RC1/T1OSI/CCP2 RE0/AN5/RD 9 18 RC2/CCP1 RE1/AN6/WR 10 23 RC3/SCK/SCL RE2/AN7/CS 24 RC4/SDI/SDA 1 25 RC5/SDO MCLR/Vpp/THV 26 RC6/TX/CK RC7/RX/DT 19 20 RD0/PSP0 21 RD1/PSP1 22 RD2/PSP2 27 RD3/PSP3 28 RD4/PSP4 29 RD5/PSP5 30 RD6/PSP6 RD7/PSP7 R1 PIC16F877A

RD0/PSP0 RD1/PSP1 RD2/PSP2 RD3/PSP3 RD4/PSP4 RD5/PSP5 RD6/PSP6 RD7/PSP7

19 20 21 22 27 28 29 30

R3
1k 1k

R1

R2

R3

R2 PIC16F877A 1k

1k

1k

1k

TRANSMISOR
INCLUDE "modedefs.bas" portd=$FF A var portd.0 B var portd.1 C var portd.2 pc var portC portb=0 envio var byte Trisd=$FF Trisc=0 FILA_2: If A=1 then SEROUT portb.1,N2400,["4"] Goto FILA_2 Endif If B=1 then SEROUT portb.1,N2400,["5"] Goto FILA_2 Endif If C=1 then SEROUT portb.1,N2400,["6"] Goto FILA_2 Endif pauseUS 100 Pc=%00000100 FILA_3: If A=1 then SEROUT portb.1,N2400,["7"] Goto FILA_3 Endif If B=1 then SEROUT portb.1,N2400,["8"] Goto FILA_3 Endif If C=1 then SEROUT portb.1,N2400,["9"] Goto FILA_3 Endif Goto BARRIDO End

BARRIDO: pauseUS 100 Pc=%00000001 FILA_1: If A=1 then SEROUT portb.1,N2400,["1"] Goto FILA_1 Endif If b=1 then SEROUT portb.1,N2400,["2"] Goto FILA_1 endif If C=1 then SEROUT portb.1,N2400,["3"] Goto FILA_1 Endif pauseUS 100 Pc=%00000010

RECEPTOR
INCLUDE "modedefs.bas" DATO_RECIBIDO var byte DATO var byte DEFINE LCD_DREG PORTB DEFINE LCD_DBIT 4 DEFINE LCD_EREG PORTB DEFINE LCD_EBIT 3 DEFINE LCD_RSREG PORTB DEFINE LCD_RSBIT 2 PAUSE 200 AUX var byte ON INTERRUPT GOTO INTERRUPCION INTCON=%10010000 PORTC=0 LCDOUT $FE,1,"RECIBIENDO...",$fe,$c0,"DATO=" INICIO: serin portb.1,N2400,DATO_RECIBIDO if DATO_RECIBIDO ="1" then dato=1 endif if DATO_RECIBIDO ="2" then dato=2 endif if DATO_RECIBIDO ="3" then dato=3 endif if DATO_RECIBIDO ="4" then dato=4 endif if DATO_RECIBIDO ="5" then dato=5 endif if DATO_RECIBIDO ="6" then dato=6 endif if DATO_RECIBIDO ="7" then dato=7 endif if DATO_RECIBIDO ="8" then dato=8 endif if DATO_RECIBIDO ="9" then dato=9 endif LCDOUT $FE,$c0,"DATO=",#DATO goto inicio

DISABLE INTERRUPT INTERRUPCION: AUX=DATO LCDOUT $FE,1,"INTERRUPCION..",$fe,$c0,"ESPERE XFAVOR.." pause 1000 LCDOUT $FE,1,"PAOLA CALVOPI~A",$fe,$c0,"ESTEFANIA SERNA" pause 1000 LCDOUT $FE,1,"EL DATO ANTERIOR...",$fe,$c0,"DATO=",#AUX pause 2000 LCDOUT $FE,1,"RECIBIENDO...",$fe,$c0,"DATO=" INTCON.1=0 clearwdt RESUME ENABLE INTERRUPT END

S-ar putea să vă placă și