Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ATmega AVR
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 25.02.2021
Сообщений: 8
1

[Atmega16] Загорание светодиодов в зависимости от напряжения микроконтроллера

12.05.2021, 16:08. Показов 807. Ответов 6
Метки нет (Все метки)

Здравствуйте, помогите пожалуйста написать код.

Задание: Создайте схематическую диаграмму и программу с комментариями на C++ для 8-битного микроконтроллера Atmel AVR ATmega16, который реализует следующий алгоритм:
1) MCU тактируется от встроенного генератора, тактовая частота равна 4 MHz.
2) Потенциометр 10 кОм подключается к входу АЦП (ADC3), работающего в 8-битном режиме, питающегося от напряжения микроконтроллера Vcc (5 В).
3) При прерывании от таймера T0 с тем же периодом времени результат преобразования АЦП считывается и отображается на полосе из 8 светодиодов, подключенных к портам C.(период времени 0.2 секунды)
4) При однократном нажатии кнопки(подключена к PD3) отображается последнее измеренное значение в USART со скоростью 9600 бод без проверки четности.

То есть, количество загорающих светодиодов зависит от напряжения, чем больше напряжение тем больше светодиодов загорается, если напряжение 0 то светодиоды не горят, если 5 - горят все светодиоды. На подобии эквалайзера должно получится.

Схему я сделал(прикреплю ниже), вроде должна быть правильная, но вот код не знаю как написать, помогите плиз(желательно с комментариями).

Небольшое уточнение, может это важно, пишу в Atmel studio проект "GCC C++ Executable Project"

Спасибо
0
Миниатюры
[Atmega16] Загорание светодиодов в зависимости от напряжения микроконтроллера  
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
12.05.2021, 16:08
Ответы с готовыми решениями:

Управление блоком мощных светодиодов с микроконтроллера.
Нужно моргать мощьными светодиодами, запитанными от отдельного драйвера, с помощью сигнала с...

Равномерное свечения, равномерного угасания светодиодов в Proteus Atmega16
Помогите разобраться с угасанием и свечением светодиодов, брал коды с форума, но в программе...

измерение напряжения с помощью АЦП микроконтроллера!
Добрый вечер уважаемые форумчане. Есть одна схема в некоторой точке которой напряжение...

Зависимости напряжения и тока
Чем отличается зависимость напряжения на последовательном соединении R и L при питании от источника...

6
2593 / 1869 / 406
Регистрация: 11.09.2009
Сообщений: 6,937
12.05.2021, 22:10 2
Цитата Сообщение от Artemix_x Посмотреть сообщение
код не знаю как написать
То есть вообще, в принципе, не знаете как пишут код для микроконтроллеров?
Тогда название темы надо изменить на "Напишите мне код по заданному алгоритму", и разместить тему в соответствующем разделе.

А если имеете в виду, что не знаете, каким алгоритмом перевести код с АЦП в код для управления линейкой светодиодов, то напишите сначала тупо "в лоб":
Если код с АЦП < 1Сh, то порт С = 0 (светодиоды все погашены), иначе
если код с АЦП < 39h, то порт С = 1 (горит один светодиод), иначе
если код с АЦП < 55h, то порт С = 3 (горят два светодиода), иначе
если код с АЦП < 72h, то порт С = 7 (горят три светодиода), иначе
если код с АЦП < 8Eh, то порт С = 0Fh (горят четыре светодиода), иначе
если код с АЦП < ABh, то порт С = 1Fh (горят пять светодиодов), иначе
если код с АЦП < C7h, то порт С = 3Fh (горят шесть светодиодов), иначе
если код с АЦП < E4h, то порт С = 7Fh (горят семь светодиодов), иначе
порт С = FFh (горят все восемь светодиодов).
Выбранные пороговые значения кода с АЦП получаются, если поделить всю шкалу восьмиразрядного АЦП на 9 равных частей.
Когда поймёте, как это работает, займётесь дальнейшим улучшением-оптимизацией кода.
0
964 / 591 / 97
Регистрация: 15.05.2012
Сообщений: 3,482
13.05.2021, 07:11 3
Правый по схеме вывод резистора RV1 нужно подключить к общему проводу. Тогда получится потенциометр. Сейчас же на схеме реостат.
0
2978 / 1786 / 357
Регистрация: 09.09.2017
Сообщений: 7,402
19.05.2021, 12:04 4
Да и питание на контроллер подать не помешает. Ну и на переменник тоже.
0
10 / 10 / 4
Регистрация: 09.12.2017
Сообщений: 296
24.05.2021, 23:24 5
Цитата Сообщение от COKPOWEHEU Посмотреть сообщение
питание на контроллер подать не помешает
В Proteus это не обязательно.
0
1895 / 1213 / 121
Регистрация: 04.01.2010
Сообщений: 4,339
25.05.2021, 13:58 6
Цитата Сообщение от gogaze Посмотреть сообщение
В Proteus это не обязательно.
ну, исходя из схемы, RV1 ни на что не влияет. Так что тут... хоть что-то надо бы добавить )
0
10 / 10 / 4
Регистрация: 09.12.2017
Сообщений: 296
26.05.2021, 02:36 7
Цитата Сообщение от Voland_ Посмотреть сообщение
исходя из схемы, RV1 ни на что не влияет. Так что тут... хоть что-то надо бы добавить
Об этом pyzhman, написал.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
26.05.2021, 02:36

График зависимости напряжения на катушке
RLC цепь, колебательный режим. График зависимости напряжения на катушке. Почему график выглядит...

График зависимости силы тока от напряжения
Объясните как построить график зависимости силы тока от напряжения по выходным данным. U= 294 В...

График зависимости силы тока от напряжения
рассчитать электрическую цепь и построить график зависимости силы тока от напряжения

Расчет зависимости напряжения от времени, переходной процесс
Здравствуйте. У меня возникает какая-то путаница со следующей схемой: Мне нужно найти U_R_4(t)...

График зависимости выходного напряжения от входного в Мультисим
Нужно построить график зависимости выходного напряжения стабилизатора от входного в мультисим 13.0...

Построить графики зависимости напряжения и тока в диапазоне от 0 до 10πи
Построить графики зависимости напряжения и тока в диапазоне от 0 до 10π. Тип диаграммы:...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.