You are on page 1of 2

#include "C:\Users\marco_000\Desktop\Proyectos PIC C\Servo\Servo.

h"

void main()
{

setup_adc_ports(NO_ANALOGS);
setup_adc(ADC_CLOCK_DIV_2);
setup_psp(PSP_DISABLED);
setup_spi(SPI_SS_DISABLED);
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);

// TODO: USER CODE!!

WHILE (TRUE) {

IF (input (pin_a0)) {

output_high(pin_e0);

//Inicia delay de 1ms (0 grados)

delay_us(980);

//Delay PWM

output_low(pin_e0);

//Termina delay de 1ms (0 grados)

delay_ms(1);
}
IF (input (pin_a1)) {

//Delay PWM

output_high(pin_e0);

//Inicia delay de 1.5ms (90 grados)

delay_us(1486);

//Delay PWM

output_low(pin_e0);

//Termina delay de 0.5ms (90 grados)

delay_us(500);

//Delay PWM

}
IF (input (pin_a2)) {

output_high(pin_e0);

//Inicia delay de 2ms (180 grados)

delay_us(2000);

//Delay PWM

output_low(pin_e0);

//Termina delay de 0.1ms (180 grados)

delay_us(100);

//Delay PWM

}
}
}

+5V

0G

90G

180G

16
2
7
1

+88.8

9
10
15

IN1
IN2
EN1
EN2
IN3
IN4

VSS

GND

8
VS OUT1
OUT2

OUT3
GND OUT4

U1
13
14
2
3
4
5
6
7

U2
3
6

11
14

8
9
10

OSC1/CLKIN
OSC2/CLKOUT

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

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
RD0/PSP0
RD1/PSP1
RD2/PSP2
RD3/PSP3
RD4/PSP4
RD5/PSP5
RD6/PSP6
RD7/PSP7

L293D

PIC16F877A

33
34
35
36
37
38
39
40
15
16
17
18
23
24
25
26
19
20
21
22
27
28
29
30

You might also like