You are on page 1of 2

VCC

R3
72k P1 VCC

U2

8
3 4
Q R

VCC
R2 R1
10k 7 R4 50
DC
220
5
CV

C3 U11
100uf 6 2 D1 7 13
TH TR Q1 A QA

GND
C4 LED-BIRG 1 12
Q2 B QB
100uf 2 11
Q3 C QC

1
555 6 10
Q4 D QD
4 9
BI/RBO QE
5 15
RBI QF
3 14
LT QG
7447

U3 RN1
13 33 1 16
OSC1/CLKIN RB0/INT
14 34 2 15
OSC2/CLKOUT RB1
35 3 14
RB2
X1 2 36 4 13
Q1 RA0/AN0 RB3/PGM
3 37 5 12
Q2 RA1/AN1 RB4
1 2 4 38 6 11
Q3 RA2/AN2/VREF-/CVREF RB5

0
0
0
0
5 39 7 10
Q4 RA3/AN3/VREF+ RB6/PGC
6 40 8 9
CRYSTAL RA4/T0CKI/C1OUT RB7/PGD
7
RA5/AN4/SS/C2OUT
15 200
U10 RC0/T1OSO/T1CKI
C2 C1 8 16
RE0/AN5/RD RC1/T1OSI/CCP2
15 3 22p 22p 9 17
D0 Q0 Q1 RE1/AN6/WR RC2/CCP1
1 2 10 18
D1 Q1 Q2 RE2/AN7/CS RC3/SCK/SCL
10 6 23
D2 Q2 Q3 RC4/SDI/SDA
9 7 1 24
D3 Q3 Q4 P1 MCLR/Vpp/THV RC5/SDO
13 25
RCO RC6/TX/CK
14 26
P1 CLK RC7/RX/DT
4
E
5 19
D/U RD0/PSP0
11 20
1L PL RD1/PSP1
12 21
TC RD2/PSP2
22
RD3/PSP3
74191 27
RD4/PSP4

0
0
28
RD5/PSP5
29
RD6/PSP6
30
RD7/PSP7
PIC16F877A

U1:A
1 2
Q1 U12:A
1
7404
3
U1:B 2
U12:C U1:D
3 4 7408 9
Q2
8 13 12
1L
10
7404 U12:B
7404
4 7408
Q3
6
U1:C 5

5 6 7408
Q4

7404
///#DEVICEPIC16F877A

#INCLUDE <16F877A.H>//DECLARO EL MICROCONTROLADOR A USAR

#USE DELAY (CLOCK=4000000)//DECLARO EL CRISTAL

#FUSES XT,NOWDT,PUT,NOLVP,NOBROWNOUT,NOWRT,NOPROTECT

#BYTE TRISA = 0X85 DELAY_MS(250);

#BYTE PORTA = 0X05 }

#BYTE TRISB = 0X86 else

#BYTE PORTB = 0X06 IF(PORTA==0b000011)//pULSADOR

VOID main() {

{ bit_set(PORTB,0);

TRISA=0X0F; DELAY_MS(250);// 250 MILISEGUNDOS

TRISB=0X00; bit_set(PORTB,1);

PORTB = 0X00; DELAY_MS(250);

PORTA = 0X00; bit_set(PORTB,2);

WHILE(TRUE){ DELAY_MS(250);

IF(PORTA==0b000001)//pULSADOR bit_set(PORTB,3);

{ DELAY_MS(250);

bit_set(PORTB,0); DELAY_MS(250);

DELAY_MS(250);// 250 MILISEGUNDOS bit_set(PORTB,4);

bit_set(PORTB,1); DELAY_MS(250);// 250 MILISEGUNDOS

DELAY_MS(250); bit_set(PORTB,5);

bit_set(PORTB,2); DELAY_MS(250);

DELAY_MS(250); bit_set(PORTB,6);

bit_set(PORTB,3); DELAY_MS(250);

DELAY_MS(250); bit_set(PORTB,7);

DELAY_MS(250); DELAY_MS(250);

bit_set(PORTB,4); PORTB=0X00;

DELAY_MS(250);// 250 MILISEGUNDOS DELAY_MS(250);

bit_set(PORTB,5); }

DELAY_MS(250);

bit_set(PORTB,6);

DELAY_MS(250); }

bit_set(PORTB,7);

DELAY_MS(250); }

PORTB=0X00;

You might also like