Easyelectronics.ru

Электроника для всех
Текущее время: 22 янв 2021, 20:28

Часовой пояс: UTC + 5 часов



JLCPCB – Прототипы печатных плат за $2/5шт. два слоя. $5/5шт. четыре слоя
Крупнейший производитель печатных плат и прототипов. Более 600000 клиентов и свыше 10000 заказов в день!
Получите скидку на почтовую отправку при первом заказе в JLCPCB!

Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Симулятор avr studio и proteus для attiny13a
СообщениеДобавлено: 12 дек 2019, 11:03 
Старожил
Аватара пользователя

Зарегистрирован: 20 мар 2011, 16:52
Сообщения: 307
Откуда: Новосибирск
Attiny13a . При напряжении на PB3 выше 3В установить PB4 в 0. Иначе в 1.
Не пойму в чем проблема- в коде или в программе?
Запускаю симуляцию в студии, устанавливаю в ADC Data register аналог входного сигнала, все работает.
В протеус отказывается работать. Симуляция идет, а вывод PB4 не изменяет свое состояние.
Можно ли в студии как то задать внешний сигнал, чтоб проверить ацп?
Show

Архив с проектом студии и протеуса прилагаю.
Вложение:
p1.zip [95.48 Кб]
Скачиваний: 97


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор avr studio и proteus для attiny13a
СообщениеДобавлено: 12 дек 2019, 11:30 
Старожил
Аватара пользователя

Зарегистрирован: 11 авг 2016, 20:52
Сообщения: 786
Откуда: GMT+6
Проблемы в коде:
1. Вы переключаете PB4 между вход/выход, а не состояние выхода.
2. Объявить переменные, изменяемые в прерывании, а читаемые в main, с ключевым словом volatile. Иначе компилятор может их оптимизировать и читать не саму переменную, а кешированное значение из регистра.
Рекомендации:
3. Отключать цифровой буфер на входе АЦП для снижения потребления энергии.
4. Не читать ADCW в прерывании таймера, а читать в прерывании АЦП.
Следующие советы помогут уменьшить размер кода (прошивки) и ускорить его выполнение:
5. Не использовать арифметику с плавающей точкой в рантайме, если можно обойтись без нее.
6. Не использовать в рантайме умножение, деление, взятие остатка на микроконтроллерах без аппаратного умножителя, если можно обойтись без этого.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор avr studio и proteus для attiny13a
СообщениеДобавлено: 12 дек 2019, 12:17 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 3051
Цитата:
Архив с проектом студии и протеуса прилагаю.

В проекте протеуса у вас пустой исходник main.asm.

Приведенный код C для CVAVR, а компилируете его в студии...

Код с float в принципе не влезет в тиньку 13.

ADSC почему в 0 выставляете? Вы АЦП тупо не запускаете даже. При этом включен ADATE, а сами триггеры выключены. Такое впечатление, что настройки АЦП от балды натыканы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор avr studio и proteus для attiny13a
СообщениеДобавлено: 12 дек 2019, 13:10 
Старожил

Зарегистрирован: 08 авг 2013, 09:43
Сообщения: 3051
Не уверен, что "автор именно это хотел сказать". Т.к. код разнится со словесным описанием. Но вот так будет мигать когда сойдутся звёзды таймера и АЦП, как и было (наверное) задуманно в исходном коде:
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Симулятор avr studio и proteus для attiny13a
СообщениеДобавлено: 12 дек 2019, 14:05 
Старожил
Аватара пользователя

Зарегистрирован: 20 мар 2011, 16:52
Сообщения: 307
Откуда: Новосибирск
Спасибо за ценные замечания.
Последний код от NStorm заработал в протеусе.
Короче code wizard не особо мне помог. Надеялся что ацп настроить тупо выставляя галочки получится.

Появился вопрос.
А как вызывается этот участок кода
Show

Я так понимаю, что контроллер крутится в цикле while(1) и в прерывании по таймеру.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 


Часовой пояс: UTC + 5 часов


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB