/**************************************************************
   Schemat podłączeń programowanego układu

                 +----v----+
           MCLR [| 1     40|] 
                [| 2     39|] 
                [| 3     38|] 
                [| 4     37|] 
                [| 5     36|] 
                [| 6     35|] 
                [| 7     34|] 
                [| 8     33|] 
                [| 9     32|] VDD
                [|10     31|] VSS
            VDD [|11     30|] 
            VSS [|12     29|] 
(20 MHz) / OSC1 [|13     28|]
         \ OSC2 [|14     27|]
                [|15     26|] 
                [|16     25|] 
                [|17     24|]
                [|18     23|] 
                [|19     22|] 
   serwo <- RD1 [|20     21|] 
                 +---------+
                 PIC16F877A
***************************************************************/

#include <htc.h>
//definiujemy szybkość oscylatora dla funkcji __delay_
#define _XTAL_FREQ 20000000

//oscylator szybszy od 10 MHz (FOSC_HS)
//watchdog wyłączony (WDTE_OFF)
//wyłączone LVP (Low-Voltage ICSP Programming) (LVP_OFF)
__CONFIG(FOSC_HS & WDTE_OFF & LVP_OFF);

void main()
{
	ADCON1 = 0x06;			//wyłączenie linii analogowych 
                    		//(wszystkie linie cyfrowe)
	TRISDbits.TRISD1 = 0;	//linia RD1 wyjściowa

	for(;;)					//pętla nieskończona
	{
		PORTDbits.RD1 = 1;	//impuls na linii RD1
		__delay_us(1500);	//czekaj 1,5 ms
		PORTDbits.RD1 = 0;	//wyłącz linię RD1
		__delay_ms(18);		//czekaj 18 ms

	}
}
