#define LED_ON PORTB |= 0b00000001 #define BUTTON_ON PORTB |= 0b11100000 #define ON_OFF 0x1B //Kod prijaty pri stlaceni ON/OFF #define MUTE 0x2D //2D Kod prijaty pri stlaceni Mute #define CHANNELS_2 0x4E //Kod prijaty pri stlaceni 2ch Channels #define CHANNELS_4 0x3E //Kod prijaty pri stlaceni 4ch Channels #define CHANNELS_6 0x2E //Kod prijaty pri stlaceni 6ch Channels #define VOLUME_UP 0x87 //Kod prijaty pri stlaceni Volume UP #define VOLUME_DOWN 0x9C //Kod prijaty pri stlaceni Volume DOWN unsigned char receiveBTN(); unsigned char STANDBY(); unsigned char rcvd; unsigned char statusNEW; int VOLUME_STATE; int Count=0; unsigned char oktet1; unsigned char oktet2; unsigned char oktet3; unsigned char getch(); main() { OSCCON = 0b11101001; //Interny oscilator 4Mhz OSCSTAT = 0b11000110; //Inicializacia oscilatora OPTION_REG = 0b00000111; //PORTA register PORTA = 0b00000000; //Pociatocny stav 0 TRISA = 0b00000000; //RA1,RA2 vstup //RA0,RA3-RA7 vystupy ANSELA = 0b00000000; //RA0 set as analog input, RA1-RA7 set as digital I/O pins LATA = 0b00000000; WPUA = 0b00000000; //Weak pull-up vypnute //PORTB register PORTB = 0b11100000; //Pociatocny stav 0 TRISB = 0b11100010; //RB0,RB5,RB6,RB7 vstupy //RB1,RB2,RB3,RB4 vystupy ANSELB = 0b00000000; //RA0-RA7 digitalne I/O piny LATB = 0b00000000; WPUB = 0b11100000; //Weak pull-up zapnute pre RB5,RB6,RB7 //Periferie //APFCON0 RXDTSEL_bit = 0; //RX/DT funkcia na RB1 /*PIE1 = 0b00100000; PIE2 = 0b00000000; PIE3 = 0x00; PIE4 = 0x00;*/ T1CON = 0xC0; CM1CON0 = 0x00; CM1CON1 = 0x00; CM2CON0 = 0x00; CM2CON1 = 0x00; //CM1CON0 = 0b11000100; //C1OUT interny //ak Vn1000)return 0; } return RCREG; } unsigned char receiveBTN() { unsigned char oktet1; unsigned char oktet2; unsigned char oktet3; oktet1 = getch(); // caka na odpoved od uzivatela oktet2 = getch(); oktet3 = getch(); if((oktet1==oktet2)||(oktet2==oktet3)||(oktet1==oktet3)) { if(oktet1==oktet2)return oktet1; if(oktet2==oktet3)return oktet2; if(oktet1==oktet3)return oktet3; } return 0; } /* unsigned char STANDBY() { rcvd=0xff; delay_ms(10); RCREG=0; delay_ms(10); while(rcvd!=ON_OFF) { //rcvd=receiveBTN(); } }*/