#include <LiquidCrystal.h>
LiquidCrystal lcd(13,12,11,10,9,8);
#define set1(r,b) r |= 1<<b //funkcie na nastavoanie 1 alebo 0
#define set0(r,b) r&= ~(1<<b)
void setup() {
lcd.begin(16,2);
Serial.begin(9600);
DDRD &= ~(1<<2); //btns
PORTD |= 1<<2;
DDRD &= ~(1<<3);
PORTD |= 1<<3;
//attachPinToInterrupt cez registre pre INT0
EIMSK |= 1<<INT0; //povedanie ze ktory interrupt
SREG |= 1<<7; //zapnutie globalneho istica
EICRA |= 1<<ISC01; //nastavenie ci falling alebo rising
EICRA &= ~(1<<ISC00);
//pre INT1
EIMSK |= 1<<INT1;
SREG |= 1<<7;
EICRA |= 1<<ISC11;
EICRA &= ~(1<<ISC10);
}
//global int
int a = 0;
void loop() {
// put your main code here, to run repeatedly:
}
ISR(INT0_vect) //funckia priradena k interrupt 0
{
if(a<10)
{
a++;
lcd.clear();
lcd.print(a);
}
}
ISR(INT1_vect) //funnkcia priradena k interrupt 1
{
if(a>0)
{
a--;
lcd.clear();
lcd.print(a);
}
}