|
Вывод некоторого числа по нажатию кнопки
Программные примеры для микроконтроллеров AVR - AVRStudio
(Вывод некоторого числа по нажатию кнопки)
При использовании примеров, представленных в этой части, может потребоваться
изменить значения временных задержек перед записью программы в конечное
устройство. Не забывайте также указывать корректный тип микроконтроллера
в параметре MCU файла makefile.
К порту А подключены кнопочные переключатели, к порту В — светодиоды.
Пока не нажата какая-либо кнопка, светоиндикаторы загораются по очереди, создавая
как бы "бегущую точку". В то же время подсчитывается некоторое число,
которое при нажатии любой кнопки отображается в двоичной форме с помощью
светоиндикаторов, а также выводится в символьном виде через приемопередатчик
UART.
Примечание: при компиляции проекта требуется добавить в проект следующие библиотеки: "avr/io.h", "avr/delay.h", "stdio.h".
char n;
char c;
int main (void)
{
UBRR = 25;
UCR = 0x18;
DDRA = 0x00;
PORTA = 0xFF;
DDRB = 0xFF;
while (1)
{
c = 1;
while(PINA == 0xFF)
{
if (c == 0) c = 1;
PORTB = ~c;
_delay_loop_2(100);
n++;
c = c << 1;
}
printf("%d", n);
PORTB = ~n;
_delay_loop_2(1000);
PORTB = 0xFF;
}
}
|
Файлы проекта можно скачать здесь:
|
|
|