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

Приглашаем на вебинар «Умный и безопасный дом от STMicroelectronics – строим вмеSTе!» (23.06.2021)

Приглашаем 23/06/2021 всех желающих принять участие в вебинаре, посвященном проектированию и разработке систем умного дома на базе компонентов STMicroelectronics. Экосистема продукции STMicroelectronics включает в себя как электронные компоненты, так и средства разработки, готовые стеки протоколов и законченные примеры кода. Предлагаемые ресурсы позволят разработчику легко построить каркас системы и быстро создать прототип своего приложения. На вебинаре также расскажем о беспроводных интерфейсах – ведь благодаря поддержке стандартов BLE и ZigBee разработчики смогут при необходимости интегрировать устройства сторонних производителей и создавать открытые системы.
Подробнее

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

Share this post


Link to post
Share on other sites

Тактовые кнопки Panasonic - высококачественная коммутация в миниатюрном исполнении

Panasonic, один из мировых лидеров по производству высококачественных электромеханических компонентов, и Компэл представляют масштабное расширение складской программы. В настоящее время на складе Компэл доступны ведущие серии SMD-тактовых переключателей Panasonic в миниатюрных корпусах. Линейка тактовых кнопок Panasonic отличается многообразием компактных переключателей различных типоразмеров, форм штока и выводов. Переключатели отвечают важнейшим требованиям в ответственных применениях.

Подробнее

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

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

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

Share this post


Link to post
Share on other sites

Решения TE Connectivity для 112 Gbps архитектуры и серверов. Соединители STRADA Whisper

Данная статья является первой из публикаций, описывающих решения компании TE Connectivity для высокоскоростных соединений. Она посвящена соединителям и кабельным сборкам серии STRADA Whisper, главная особенность которых – поддержка работы с технологией PAM-4 и скорости передачи до 112 Гбит/с.
Подробнее

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

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...

×
×
  • Create New...