Блок-схема

Отменен
Заказ
7131336
Раздел
Программирование
Тип работы
Антиплагиат
Не указан
Срок сдачи
2 Апр в 13:00
Цена
Договорная цена
Блокировка
10 дней
Размещен
2 Апр в 11:30
Просмотров
30
Описание работы

Нужно составить блок схему в ворде по программе


#include

#include


// Определение пинов

#define LED_RED PB0

#define LED_YELLOW PB1

#define LED_GREEN PB2


// Напряжение питания системы (задокументировано)

#define SYSTEM_VOLTAGE 5.0 // Вольт


int main(void)

{

// 1. Настройка портов: PB0, PB1, PB2 как выходы (для светодиодов)

DDRB = (1 << LED_RED) | (1 << LED_YELLOW) | (1 << LED_GREEN); // PB0–PB2 — выходы


// Проверка напряжения питания (опционально, если есть АЦП и делитель напряжения на входе ADC)

// Например, если напряжение мониторится на ADC0:

// ADCSRA |= (1 << ADEN); // Включаем АЦП

// ADMUX = (1 << REFS0) | (1 << MUX0); // Настройка опорного напряже-ния и канала

// uint16_t adc_value = ADC; // Считываем значение АЦП

// float voltage = (adc_value * 5.0) / 1023.0; // Переводим в вольты (для 10-битного АЦП)

// if (voltage 5.5) {

// // Обработка ошибки питания (например, мигание всех светодиодов)

// while(1) {

// PORTB = 0xFF; _delay_ms(100);

// PORTB = 0x00; _delay_ms(100);

// }

// }


while (1) // Бесконечный цикл

{

// Этап 1: Красный (D1) — 3 секунды

PORTB |= (1 << LED_RED); // Включаем D1 (красный)

PORTB &= ~(1 << LED_YELLOW); // Выключаем D2 (жёлтый)

PORTB &= ~(1 << LED_GREEN); // Выключаем D3 (зелёный)

_delay_ms(300); // Задержка 3000 мс (3 сек) при питании 5 В


// Этап 2: Красный + жёлтый (D1+D2) — 1 секунда

PORTB |= (1 << LED_RED) | (1 << LED_YELLOW); // Включаем D1 и D2

PORTB &= ~(1 << LED_GREEN); // Выключаем D3

_delay_ms(100); // Задержка 1000 мс (1 сек) при пита-нии 5 В


// Этап 3: Жёлтый (D2) — 1 секунда

PORTB &= ~(1 << LED_RED); // Выключаем D1

PORTB |= (1 << LED_YELLOW); // Включаем D2

PORTB &= ~(1 << LED_GREEN); // Выключаем D3

_delay_ms(100); // Задержка 1000 мс (1 сек) при пита-нии 5 В


// Этап 4: Зелёный (D3) — 3 секунды

PORTB &= ~(1 << LED_RED); // Выключаем D1

PORTB &= ~(1 << LED_YELLOW); // Выключаем D2

PORTB |= (1 << LED_GREEN); // Включаем D3

_delay_ms(300); // Задержка 3000 мс (3 сек) при пита-нии 5 В


// Этап 5: Жёлтый + зелёный (D2+D3) — 1 секунда

PORTB &= ~(1 << LED_RED); // Выключаем D1

PORTB |= (1 << LED_YELLOW) | (1 << LED_GREEN); // Включаем D2 и D3

_delay_ms(100); // Задержка 1000 мс (1 сек) при пита-нии 5 В

}

}

Нужна такая же работа?
  • Разместите заказ
  • Выберите исполнителя
  • Получите результат
Гарантия на работу1 год
Средний балл4.52
СтоимостьНазначаете сами
ЭкспертВыбираете сами
Уникальность работыот 70%
Нужна аналогичная работа?
Оформи быстрый заказ и узнай стоимость
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Прямой эфир