Jump to content
Deadloop

(Atmega16) Помогите написать код для загорания светодиодов в зависимости от напряжения микроконтроллера

Recommended Posts

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

Задание: Создайте схематическую диаграмму и программу с комментариями на 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"

Спасибо

Atmega16.png

Share this post


Link to post
Share on other sites
5 часов назад, Deadloop сказал:

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

Нет, схема неправильная.
Вы третий конец резистора RV1 должны посадить на землю.

Share this post


Link to post
Share on other sites
6 hours ago, Deadloop said:

вот код не знаю как написать, ...  может это важно, пишу в Atmel studio

Где же ваш код к этому заданию, который вы "пишете в Atmel Studio"?

Вас, похоже, программированию МК не учили, а задание дали... Вот свиньи!

 

Share this post


Link to post
Share on other sites

Популярные пружинные клеммники Degson со склада Компэл

Пружинные разъемные клеммники Degson с технологией Push-In обеспечивают надежное и безопасное электрическое соединение. При их использовании исключается возможность короткого замыкания в точке контакта, что гарантирует надежное соединение. Электрическая безопасность клеммных блоков подтверждается соответствием мировым стандартам UL, IEC и VDE.
Подробнее

прошивка 100уе
исходный код 500уе
исходный код с комментариями 1000уе

Share this post


Link to post
Share on other sites

Приглашаем на вебинар "Как сделать эффективную антенну для устройств IoT. Решения Quectel" (29.07.2021)

Вебинар посвящен проектированию и интеграции встроенных и внешних антенн Quectel для сотовых модемов, устройств навигации и передачи данных 2,4 ГГц. На вебинаре вы познакомитесь с продуктовой линейкой и способами решения проблем проектирования. В программе: выбор типа антенны; ключевые проблемы, влияющие на эффективность работы антенны; требования к сертификации ОТА; практическое измерение параметров антенн.

Подробнее

15.05.2021 в 20:01, IMXO сказал:

прошивка 100уе....

Уважаемый, вы еще про "правильная схема - 100 уе" забыли

Share this post


Link to post
Share on other sites

Решения TE Connectivity для 112 Gbps архитектуры и серверов. Перспективные решения для серверов и дата-центров

В статье дается полный обзор серий высокоскоростных разъемов IMPACT и Z-PACK, соединителей SFP- QSFP и Mini-SAS, а также разъемов и кабельных сборок для организации питания. Раскрываются преимущества и отличительные особенности данных серий высокоскоростных разъемов и области их применения.
Подробнее

ТС правильную схему не просил.

Share this post


Link to post
Share on other sites
2 часа назад, IMXO сказал:

ТС правильную схему не просил.

Так с этой схемой ни одна прошивка работать не сможет.

У него даже питание на камень не подано )))

Share this post


Link to post
Share on other sites

а в Протеусе необязательно питание подавать. и так работает.


Мудрость приходит вместе с импотенцией...

Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.

Share this post


Link to post
Share on other sites

Так скажем - оно подключено уже в модели.


Я не раздаю удочки. Я продаю рыбу.

Share this post


Link to post
Share on other sites
Posted (edited)

А что, эта аврка может аж 150мА выдавать по ногам GPIO? И не сгорит даже? Ничего себе…

P.S. Жаль, что нет возможности найти преподавателя этого горе-студента и показать ему эту тему!

P.P.S. И непонятно, зачем кнопку сажать на вход с прерыванием. Это же — не концевик, который нужно срочно обработать, иначе движок за сотню микросекунд может куда-нибудь не туда уехать.

Edited by Eddy_Em

Share this post


Link to post
Share on other sites
Posted (edited)
24 минуты назад, Eddy_Em сказал:

А что, эта аврка может аж 150мА выдавать по ногам GPIO? И не сгорит даже? Ничего себе…

Шта?

5В/270Ом = 18мА

А там и 5 вольт не будет, т.к. на светодиоде падение от 1,2 до 1,5 будет, в зависимости от цвета светодиода.

Или вы имели в виду суммарный ток?

Edited by LiVit

Share this post


Link to post
Share on other sites
47 минут назад, Eddy_Em сказал:

может

Господа хорошие! Не путаем симулятор с железом.


Я не раздаю удочки. Я продаю рыбу.

Share this post


Link to post
Share on other sites
15.05.2021 в 20:01, IMXO сказал:

прошивка 100уе
исходный код 500уе
исходный код с комментариями 1000уе

Сильно  круто.Исходный код 400уе

7 часов назад, Starichok сказал:

а в Протеусе необязательно питание подавать. и так работает.

Протеус не всегда прав.

 

Только что, Ivan Rusev сказал:

Сильно  круто.Исходный код 400уе

Протеус не всегда прав.

 

Можно и за 300

Share this post


Link to post
Share on other sites
Posted (edited)
19 hours ago, LiVit said:

Или вы имели в виду суммарный ток?

Конечно, суммарный. Скажем, STM32 однозначно загнется где-то на 100мА (по даташиту предельный суммарный ток на GPIO — 80мА)…

Да и вообще, непонятно, зачем насиловать МК для управления светодиодным столбиком, если для этого есть недорогие контроллеры на компараторах… Эта задача нужна только в рамках "как бы занять студента". А студенту явно не хватает знаний, чтобы между ногами МК и светодиодами воткнуть обычный буфер (у буферов-то и 100мА на ногу подчас запросто).

P.S. А если сделать динамическую индикацию, то достатчно задействовать 3 ноги МК: данные, такт и EN (LCK). Подключить к сдвиговому регистру, им и пинать светодиоды (у дешевых сдвиговых регистров мощей хватит, чтобы и 16 светодиодов одновременно включать). Если в МК нет DMA, то работать в прерываниях. Отправили посылку, зафиксировали EN, подождали; измерили напругу на АЦП, если изменилась — отпустили EN, отправили следующую посылку. И так далее...

Edited by Eddy_Em

Share this post


Link to post
Share on other sites
13 часов назад, Ivan Rusev сказал:

Протеус не всегда прав

Стоит выпрямить руки юзеру и всё становится на места.


Я не раздаю удочки. Я продаю рыбу.

Share this post


Link to post
Share on other sites
40 минут назад, Eddy_Em сказал:

Конечно, суммарный.

Не поленился, полез в даташит:

Скрытый текст

image.png.1303b4bada0369e830349de0e9e1118f.png

Теоретически, не загнется.
Но с вами согласен.

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Конечные автоматы. Состояния: KBD_INIT. Инициализация. KBD_WAIT_DOWN. Следим за нажатием. Если не нажато, выход. Если нажато, установка программного таймера на 20-40 мс, выход. Установка состояния KBD_DOWN. KBD_DOWN. Если время не вышло, выход. Если вышло, проверка нажатия. Если не нажато, то помеха, установка состояния KBD_WAIT_DOWN. Если нажато, установка флага, события, что короткое нажатие. Установка таймера длительного нажатия и состояния KBD_HOLD_REPEAT. Ну и так далее, смысл понятен.
    • Чет я давно ничего не выкидывал   Прислушайтесь к тесту, парни! Постоянно слышу, что все металлисты служат Сатане. Мы во всех текстах отрицаем этот культ, или вообще его не касаемся
    • На авито Вам надо. С готовым комплектом
    • Могу предложить поискать, что такое искусственная аппертура, а это тема о простом радиотелескопе для начинающих   
    • Спасибо. Для меня дороговато, да и 48 квадратов, по габаритам это двушка(скорее всего однушка - крупногабаритная), да и Люкс мне не нужен, мне бюджетной, или средненькой квартиры хватит. Думал может кто сдает, или есть знакомые кто сдает. Да и с этим сайтом и объявлениями не понятно, может тоже риелторы, или еще кто-то. Хотя за сайт спасибо присмотрюсь
    • Обязательно условие - это разнос антенн на максимально возможное расстояние и направленные в одну точку.  Кстати, недавний пример тому, это "фотография" черной дыры. Поищи в интернете, каким образом её получили и какими телескопами.
×
×
  • Create New...