Страница 1 из 1

Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 19:15:31
Родион@22
Возникла проблема с симуляцией в Proteus 7.7SP2 схемы. Задумано, что будут загораться светодиоды по трем подпрограммам, однако они вообще не горят(. :cry: Микроконтроллер: (ATtiny26 в Proteus - tiny261). Думаю дело в прошивке, но AVR Studio 4 говорит, что код скомпилировался, правда с 4 предупреждениями.
Кто сталкивался или знает помогите). Файлы прикреплены.

Re: Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 20:03:00
Engineer_Keen
26 и 261 серьезно отличаются по регистрам, так что не факт, что должно работать...

Re: Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 20:06:34
Родион@22
что же тогда делать в этом случае?

Re: Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 20:11:18
Engineer_Keen
а) Перекомпилировать под 261
б) Проверять на 26 в железе

а какие предупреждения?

Re: Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 20:22:31
Родион@22
предупреждения в коде(программе) AVR Studio, но либо я не знаю как их просмотреть либо их нельзя просмотреть :))
Изображение

Re: Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 20:33:22
Родион@22
Неужели tiny26 и tiny261 так сильно отличаются вроде такие же ножки....а в Протеусе почему-то только 261...

Re: Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 20:42:31
Engineer_Keen
Родион@22 писал(а):либо я не знаю как их просмотреть либо их нельзя просмотреть :))
Скролл же есть сбоку...

Re: Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 20:51:49
Родион@22
простите :)
Изображение
это получается что регистрам 26 и 29(аналогично 30 и 31) - дать одно название???

Re: Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 21:19:59
Engineer_Keen
Это значит что регистрам уже даны обозначения, это регистровые пары XH:XL, YH:YL и ZH:ZL. Они используются для адресации в командах LD/ST, LPM/SPM, так что если какие-то из этих регистров используются глобально и для адресации как XYZ и для других целей как R26-R27-R28-R298-R30-R31, то их содержимое может попортиться.

Косяки сходу:
1) регистр ADCSR - в 261 его нет, он называется ADCSRA и ADCSRB
2)

Код: Выделить всё

out	ADCSR, tmp2		;запуск АЦП на преобразование
;Сохранение данных АЦП
in	tmp2, ADCL
in	tmp3, ADCH
Нельзя сразу читать АЦП, для преобразования нужно минимум 13 тактов, а если еще и прескалер настроен не на 1 (1 это слишком быстро, будет плохая точность), так и еще больше. Раз у вас не используются прерывания, нужно проверять флаг окончания преобразования.

Re: Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 21:33:22
Родион@22
так что же делать с этими регистрами(по подробнее)?

Re: Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 21:47:59
Engineer_Keen
Так решите по какому варианту дальше идти, переделывать под 261 или оставить 26. Читайте даташит, смотрите как настраивать АЦП, для 26 же как-то сделали.

Re: Измеритель солнечной энергии

Добавлено: Ср апр 16, 2014 21:51:06
Родион@22
оставить 26 - ничего не будет, искать под 261 подскажите адрес)