/*
 * File:   vezerlo1.c
 * Author: Otthon
 *
 * Created on 2016. február 20., 12:01
 */

#include "config.h"
#include <stdlib.h>

#define SW1     LATCbits.LATC0  //SWITCH 1 RC0 INPUT
#define SW2     LATCbits.LATC1  //SWITCH 2 RC1
#define SW3     LATCbits.LATC2  //SWITCH 3 RC2
#define SW4     LATCbits.LATC3  //SWITCH 4 RC3

#define LED1    LATdbits.LATD0  //LED 1 RD0 OUTPUT
#define LED2    LATdbits.LATD1  //LED 2 RD1
#define LED3    LATdbits.LATD2  //LED 3 RD2
#define LED4    LATdbits.LATD3  //LED 4 RD3

#define TROUT1  LATdbits.LATD4  //TRANZISTOR OUTPUT1 RD4
#define TROUT2  LATdbits.LATD5  //TRANZISTOR OUTPUT2 RD5

void ADC_Setup(void){
    
    //ADC INITIAL
    PORTA = 0;
    ANSEL0 = 0B0000011; //AN0, AN1 ANALOG OTHERS DIGITAL
    ANSEL1 = 0X00;
    ADCON0 = 0X00;  //SINGLE CHANNEL
    ADCON1 = 0X00
    ADCON2 = 0B00110010;    //32Tosc 6TAD
    ADCON3 = 0x30;      //ADC INTERRUPT DISABLED
}

void PORTS_Setup(void){
    
    //PORTA INITIAL
    TRISA = 0X00;   //RA2-RA7 DIGITAL OUTPUT

    //PORTB INITIAL
    PORTB = 0;      //PORTB OUTPUT DELETED
    TRISB = 0X00;   //RB0-RB7 OUTPUT
    
    //PORTC INITIAL
    PORTC = 0;      //PORTC OUTPUT DELETED
    TRISC = 0X0F;   //RC0-RC3 INPUT, RC4-RC7 OUTPUT
    
    //PORTD INITIAL
    PORTD = 0;      //PORTD OUTPUT DELETED
    TRISD = 0X00;   //RD0-RD7 OUTPUT
    
    //PORTE INITIAL
    PORTE = 0;      //PORTE OUTPUT DELETED
    TRISE = 0X00;   //RE0-RE2 OUTPUT
}
  

 void main(void) {
     
    unsigned int POT1=0;
    unsigned int POT2=0;
     

    if(SW1==0){
        ADCHS = 0b11111100; //AN0 SELECTED
        ADCON0bits.ADON = 1;  //ADC ENEABLE
        Nop();
        Nop();
        Nop();
        ADCON0bits.GODONE = 1;     //ADC START
        while(ADCON0bits.GODONE);
        POT1 = ADRESH;
        ADCON0bits.ADON = 0;
        ADCHS = 0b11110011;    //AN1 SELECTED
        ADCON0bits.ADON = 1;
        Nop();
        Nop();
        Nop();
        ADCON0bits.GODONE = 1;
        while(ADCON0bits.GODONE);
        POT2 = ADRESH;
        ADCON0bits.ADON = 0;
    } 
    return;
}
