Добавил:
Upload
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:
#include <avr/io.h> //Подключаем библиотеку ввода/вывода
#include <avr/delay.h>//Подключаем библиотеку задержки
unsigned int a=0, K_in=0, K_out=0, K_st=0;
int main (void);
int Keys (void);
int Keys (void)
{
PORTB = 0b00011111;
_delay_loop_2(10000);
K_st=PINB;
PORTB = 0x00;
switch(K_st){
case 0b00111111:
K_st=0;
break;
case 0b01011111:
K_st=1;
break;
case 0b10011111:
K_st=2;
break;
default:
a=0;
};
PORTB = 0b11100000;
_delay_loop_2(10000);
K_in=PINB;
PORTB = 0x00;
switch(K_in){
case 0b11100001:
K_out=1+K_st;
break;
case 0b11100010:
K_out=4+K_st;
break;
case 0b11100100:
K_out=7+K_st;
break;
case 0b11101000:
K_out=10+K_st;
break;
default:
a=0;
};
if (K_out==11){
K_out=0;
}
return K_out;
}
int main (void){
DDRA=0b11111111; //
DDRB=0b00000000; //
DDRC=0b11111111; //
DDRD=0b11111111; //
while(1)
{
PORTD=0b11111010; //
PORTC=Keys(); //
}
}