Написать программы для Atmega 32а на С/C++ в Atmel Studio

Цена договорная
07 декабря 2022, 09:43 • 10 откликов • 54 просмотра
Необходимо написать программы для Atmega 32A в Atmel Studio и смоделировать в Proteus.
Задания в комментариях к коду.
Пример:
/*
* lesson0.c
* По нажатию кнопки зажигается синий светодиод, а зеленый гаснет
* Author: 1
*/
#include <avr/io.h>
//Основная программа
int main(void)
{
DDRC|=(1<<2);//Вывод PC2 на выход (зеленый светодиод)
DDRD|=(1<<4);//Вывод PD4 на выход (синий светодиод)
DDRB&=~(1<<2);//Вывод PB2 на вход (кнопка K1)
PORTB|=(1<<2);//Подтягивающий резистор на PB2
//
while (1)
{
if(~PINB&(1<<2))//Если кнопка K1 нажата
{
PORTD|=(1<<4);//Зажечь синий светодиод
PORTC&=~(1<<2);//Погасить зелёный светодиод
}
else//Если кнопка K1 отжата
{
PORTD&=~(1<<4);//Погасить синий светодиод
PORTC|=(1<<2);//Зажечь зелёный светодиод
}
}
}
//ЗАДАЧА 1: Добавить кнопку на PA4 и светодиод на PB6.
// По нажатию кнопки K2 светодиод на PB6 должен гаснуть
//ЗАДАЧА 2: По нажатию кнопки K1 все светодиоды должны зажигаться,
// по нажатию кнопки K2 - тухнуть.
//ЗАДАЧА 3: По нажатию кнопки K2 все светодиоды должны зажигаться,
// по её отжатию - тухнуть. Такой алгоритм должен работать,
// если K1 нажата
//Смоделировать в Proteus