Proteus: вопросы и ответы

Обсуждаем цифровые устройства...
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Proteus: вопросы и ответы

Сообщение Engineer_Keen »

SabitofF писал(а):А как правильно использовать кнопку "Авто размещение", а то оно мне говорит задать параметры платы((

Контур платы в слое board задан?

Иринка, задам вопрос по-другому. Как вы будете демонстрировать то, что программа именно по нажатию кнопки именно один раз читает именно АЦП, и результат получается точно правильный? Как на экране будет отображаться результат функционирования программы? Это будет вывод на индикатор или в порт или по какому-либо интерфейсу или через лог диагностики или просто точка останова и просмотр регистров и памяти?
Реклама
Иринка
Встал на лапы
Сообщения: 85
Зарегистрирован: Вт мар 27, 2012 16:07:25

Re: Proteus: вопросы и ответы

Сообщение Иринка »

Engineer_Keen, знакома только с точкой останова и просмотром регистров и памяти, значит мне такой вариант подойдет, но я не знаю как доработать для этого программу?
Реклама
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Proteus: вопросы и ответы

Сообщение Engineer_Keen »

Ну раз так, пусть точка и остается.
Итак..
1) заменить

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

LDI R16,0b00100000 
OUT ADMUX, R16 ; Задание входа АЦП и опорного напряжения

на

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

LDI R16,(1<<ADLAR)|(1<<MUX0) ;ADLAR, как и было, но в более читабельной форме. MUX0 - т.к. канал 0 занят кнопкой, с него читать смысла нет, по таблице 75 (стр 206) берем следующий канал
OUT ADMUX, R16 ; Задание входа АЦП и опорного напряжения

2)

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

LDI R16,0b11111111 ; 
OUT ADCSRA, R16 ; Режим работы и запуск (вкл)

на

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

LDI R16,(1<<ADEN)|(1<<ADIE) ;включаем АЦП, и его прерывание, т.к. прога учебная, прескалером пренебрегаем.
OUT ADCSRA, R16 ; Режим работы и запуск (вкл)

3) в главный цикл втыкаем:

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

SBIS PINC,PC0 ;проверяем пин PC0, если не нажата (=1) пропуск
SBI ADCSRA,ADSC ;иначе, запускаем преобразование

4)В ISIS загружается не HEX, а OBJ, иначе не будет видно исходника.
5)Запускаем симуляцию сразу на паузу и в в меню по правой кнопке AVR-source code (если сразу не вылезло)
6) ищем строку "in R17, ADCH" и на ней ставим точку останова
7) запускаем симуляцию, жмем на кнопку, через мгновение программа остановится на точке.
Иринка
Встал на лапы
Сообщения: 85
Зарегистрирован: Вт мар 27, 2012 16:07:25

Re: Proteus: вопросы и ответы

Сообщение Иринка »

Engineer_Keen, проделала все по пунктам, но что в протеусе-то продемонстрировалось? По-моему ничего, нужно чтобы при нажатии на кнопку в схеме, которую не получалось подключить что-то происходило, а так в чем демонстрация работы в протеусе? Или это я не догоняю что-то? "запуск преобразования по нажатию кнопки" что это и где это? Какое такое преобразование и по нажатию какой кнопки происходит? Я этого не вижу.
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Proteus: вопросы и ответы

Сообщение Engineer_Keen »

Надеюсь вы догадались исправленную программу скомпилировать?
Если после нажатия на кнопку симуляция остановилась, тогда все сделано правильно и можно объяснять дальше, если нет, значит нужно искать на каком этапе ошибка.
Реклама
Иринка
Встал на лапы
Сообщения: 85
Зарегистрирован: Вт мар 27, 2012 16:07:25

Re: Proteus: вопросы и ответы

Сообщение Иринка »

Engineer_Keen, скомпилировала конечно, да, появилась красная стрелочка на строчке in R17, ADCH, красная точка, это точка останова, а появилась еще красная стрелочка, так дальше-то что делать? Что протеусе-то демонстрировать?
Реклама
Orion33
Друг Кота
Сообщения: 4753
Зарегистрирован: Сб апр 21, 2012 19:21:43

Re: Proteus: вопросы и ответы

Сообщение Orion33 »

Иринка
Неужели у вас в группе нет симпотишшного мальчика, которого можно пригласить домой помочь решить задания? :love:
Сорри за оффтоп :)
Иринка
Встал на лапы
Сообщения: 85
Зарегистрирован: Вт мар 27, 2012 16:07:25

Re: Proteus: вопросы и ответы

Сообщение Иринка »

Orion33, печалька, но нет, у нас 7 человек в группе и никто ниче не понимает как и я, все друг у друга только и спрашивают, а результатов никаких, поэтому я пытаюсь что-то сделать с помощью знающих и шарящих в этом людей. Для тех кто в этом понимает и работал с этим я думаю не очень сложно, а когда я все это первый раз в глаза вижу это уму не постижимо.
Orion33
Друг Кота
Сообщения: 4753
Зарегистрирован: Сб апр 21, 2012 19:21:43

Re: Proteus: вопросы и ответы

Сообщение Orion33 »

Иринка
А зачем было такой ВУЗ выбирать? :)
Иринка
Встал на лапы
Сообщения: 85
Зарегистрирован: Вт мар 27, 2012 16:07:25

Re: Proteus: вопросы и ответы

Сообщение Иринка »

Orion33, ну так вышло, еще бы сказали зачем такую специальность, здесь так вообще случайно вышло, долго рассказывать, да и не в тему.
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Proteus: вопросы и ответы

Сообщение Engineer_Keen »

Иринка писал(а):Engineer_Keen, скомпилировала конечно, да, появилась красная стрелочка на строчке in R17, ADCH, красная точка, это точка останова, а появилась еще красная стрелочка, так дальше-то что делать? Что протеусе-то демонстрировать?

Если после нажатия кнопки, подключенной в контроллеру, красная стрелочка остановилась напротив красной точки, значит контроллер отреагировал на нажатие кнопки и запустил преобразование, а когда оно закончилось скопировал из регистра ADCH в R17 (на этой строке и остановился, т.к. там стоит точка останова). Если сделать один шаг (в окне исходника сверху справа кнопки), то R17 скорее всего обнулится, т.к. на входе ничего нет. Если подать на этот вход например 5В, то в R17 попадет число 0xFF. Лучше всего подключить к нему переменный резистор средней точкой на вход, а крайними на + и землю. Вот и вся демонстрация.
Minor/2
Вымогатель припоя
Сообщения: 536
Зарегистрирован: Пт ноя 05, 2010 12:53:36
Откуда: Беларусь Витебск
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Minor/2 »

2 Иринка
Может так понятнее будет? Если чего нужно будет подправить отпиши, подправлю, только, мне кажется, препод, все равно, не пропустит, он же в курсе Ваших знаний :)
Вложения
mega8_ADC.rar
(81.13 КБ) 214 скачиваний
Иринка
Встал на лапы
Сообщения: 85
Зарегистрирован: Вт мар 27, 2012 16:07:25

Re: Proteus: вопросы и ответы

Сообщение Иринка »

Minor/2, честно говоря ничего не ясно, схема должна выглядеть вот таким образом, а там что-то другое на схеме. Вы поставили индикатор а он не нужен наверно, хотя может и нужен, но нет пробников, вот которые синие, на верхнем вольты должны бежать. И программы в AVR студио я вообще не наблюдаю? Вот наверно вот эта программа подойдет, можете дописать в ней еще что-нибудь, если нужно.
А по заданию вообще нужно доработать программу для запуска преобразования по нажатию кнопки (режим однократного преобразования) и продемонстрировать работу в Proteus ISIS. Т.е как я поняла смысл задания, чтобы там где пробники синие стоят, вольты бежали при нажатии, а что индикатор показывает я не понимаю? Поподробнее, пожалуйста, и hex файл-то есть, а aps файл с самой программой из AVR тоже, пожалуйста, посмотрите мою программу, так-то она должна подходить, если только в ней что-нибудь еще дописать потребуется.
Вложения
11.ZIP
(6.63 КБ) 199 скачиваний
Схема.doc
(28 КБ) 223 скачивания
Иринка
Встал на лапы
Сообщения: 85
Зарегистрирован: Вт мар 27, 2012 16:07:25

Re: Proteus: вопросы и ответы

Сообщение Иринка »

Engineer_Keen, что куда подключить вот ей Богу ничего не понятно, дайте файл, пожалуйста.
Minor/2
Вымогатель припоя
Сообщения: 536
Зарегистрирован: Пт ноя 05, 2010 12:53:36
Откуда: Беларусь Витебск
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Minor/2 »

Вы поставили индикатор а он не нужен наверно

А как тогда наглядно продемонстрировать? И слово наверное уверенности не добавляет :tea:
но нет пробников, вот которые синие, на верхнем вольты должны бежать

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

Естессссственно. Я пишу в КодВижн (у меня нет AVR studio), но т.к. все равно Си, я приложил Вам исходники... будет желание обязательно разберетесь, а мы поможем, чем сможем.
А по заданию вообще нужно доработать программу для запуска преобразования по нажатию кнопки (режим однократного преобразования) и продемонстрировать работу в Proteus ISIS

Я так и понял... При запуске симуляции на дисплее засвечивается предложение нажать кнопку для запуска АналогоЦифровогоПреобразования, по нажатию кнопки происходит прерывание, в обработчике которого устанавливается (становится еденичкой) бит №6 в регистре ADCSRA, т.о. мы запускаем АЦПреобразование, по завершению которого происходит другое прерывание и на дисплей выводится надпись "Иринкин АЦП", а строкой ниже значение виртуального регистра ADCW, в котором и хранится результат АЦПреобразования. Вот и все. Однократное преобразование завершено, результат на дисплее и будет там пока Вы будете держать кнопку, а как только отпустите контроллер опять выведет на дисплей предложение нажать кнопь для старта АЦПреобразования.
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Proteus: вопросы и ответы

Сообщение Engineer_Keen »

Мда... Похоже вы вообще не в теме...
Ладно объясняю еще раз.
1) Задание было - "запуск преобразования по нажатию кнопки", так? Значит нужно написать такую программу и так соединить детали, чтобы после нажатия на кнопку запускалось преобразование в аналогово-цифровом преобразователе контроллера, так?
2) программа написана, схема собрана (заканчивайте выкладывать схему в doc, нафига это надо если можно схему выложить сразу картинкой да еще и в текст вставить!)
mega8_adc.PNG
(20.25 КБ) 397 скачиваний

Почему кнопка на PC0, а АЦП читаем с PC1 я выше объяснил.
3) Точку останова вы поставили, программа при нажатии на кнопку в этом месте остановилась, значит все, преобразование запускалось и результат его есть. Все, задание выполнено, чего вам еще не хватает? "синие стрелочки"? А зачем они вам? Если и имеет смысл ставить, то только на вход PC1, чтобы было видно как связаны значение АЦП, напряжение и положение среднего вывода резистора.


Minor/2 конечно молодец, что сделал все так подробно и наглядно, хотя в условии вроде был ассемблер...
Иринка
Встал на лапы
Сообщения: 85
Зарегистрирован: Вт мар 27, 2012 16:07:25

Re: Proteus: вопросы и ответы

Сообщение Иринка »

Minor/2, а что мне без программы в ассемблере-то делать? Такое преподаватель точно не пропустит.
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3872
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

Re: Proteus: вопросы и ответы

Сообщение Engineer_Keen »

Если вам все-таки нужна индикация (ага, я так и думал что до этого дойдет), можно занять два свободных порта под пару семисегментных индикаторов. Путем дописания небольшой подпрограмки на них можно выводить результат измерения (в HEX-виде)...
Minor/2
Вымогатель припоя
Сообщения: 536
Зарегистрирован: Пт ноя 05, 2010 12:53:36
Откуда: Беларусь Витебск
Контактная информация:

Re: Proteus: вопросы и ответы

Сообщение Minor/2 »

сделал все так подробно и наглядно, хотя в условии вроде был ассемблер...

А это я чет где-то продинамил.... сорри .
Иринка
Встал на лапы
Сообщения: 85
Зарегистрирован: Вт мар 27, 2012 16:07:25

Re: Proteus: вопросы и ответы

Сообщение Иринка »

Engineer_Keen, опять не ясно, ну поставила я пробник, но там вольты не бегают, "преобразование в аналогово-цифровом преобразователе контроллера" где я могу это посмотреть? Я все равно не понимаю.
Вот исправленная программа, как Вы мне вчера сказали и правильная схема в протеусе, в эту схему obj вообще нельзя загрузить, только hex. Так вот мне надо, чтобы где пробник стоит вольты бегали. Объясните, пожалуйста, еще раз с начала.
Вложения
АЦП.ZIP
(20.17 КБ) 188 скачиваний
Ответить

Вернуться в «Цифровая техника»