Rev Author Line No. Line
700 cizelu 1 #include "C:\Cizelu\Documents\MLAB\projekty\cizelu\Maturitni_prace\Program\PIC\main.h"
2  
3 //univerzalni LED diody
4 #define LED1 PIN_D0
5 #define LED2 PIN_D1
6  
7 //piezo pipak
8 #DEFINE SOUND_HI PIN_B1
9 #DEFINE SOUND_LO PIN_B2
10  
11 //naraznik
12 #define BUMPL !input(PIN_D2)
13 #define BUMPR !input(PIN_D3)
14  
15 //nouzove senzory
16 #define LINEL !input(PIN_A1)
17 #define LINER !input(PIN_A2)
18 int line_l;
19 int line_r;
20  
21 // motory
22  
23  
24 //PODPROGRAMY
25 //SENZORY
26 void cti_bocni_senzory()
27 {
28 set_adc_channel(LINEL); //cti levy nouzovy senzor
29 delay_us(10);
30 line_l=read_adc();
31 set_adc_channel(LINER); //cti pravy nouzovy senzor
32 delay_us(10);
33 line_r=read_adc();
34 }
35  
36 //PIPAK
37 void beep(unsigned int16 period, unsigned int16 length)
38 {
39 unsigned int16 bp; //promenna pro nastaveni delky
40  
41 for(bp=length;bp>0;bp--)
42 {
43 output_high(SOUND_HI);output_low(SOUND_LO);
44 delay_us(period);
45 output_high(SOUND_LO);output_low(SOUND_HI);
46 delay_us(period);
47 }
48 }
49  
50 // HLAVNI SMYCKA
51 void main()
52 {
53 // NASTAVENI > provede se pouze pri zapnuti
54 setup_adc_ports(ALL_ANALOG); // vsechny ADC porty > analogove vstupy
55 setup_adc(ADC_CLOCK_INTERNAL);
56 setup_spi(SPI_SS_DISABLED);
57 setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
58 setup_timer_1(T1_DISABLED);
59 setup_timer_2(T2_DIV_BY_16,255,1); //casovac pro PWM
60 setup_ccp1(CCP_PWM); // povoli PWM na pinu RC2
61 setup_ccp2(CCP_PWM); // povolĂ­ PWM na pinu RC1
62 setup_comparator(NC_NC_NC_NC);
701 cizelu 63 output_high(LED1); // zhasne LED1
64 output_high(LED2); // zhasne LED2
65  
700 cizelu 66 while(true)
67 {
68 if(BUMPL==1)
69 {
701 cizelu 70 output_low(LED1);
700 cizelu 71 }
72 if(BUMPR==1)
73 {
701 cizelu 74 output_low(LED2);
75 }
700 cizelu 76 }
77  
78 }