Easyelectronics.ru

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

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



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

Начать новую тему Ответить на тему  [ Сообщений: 13 ] 
Автор Сообщение
 Заголовок сообщения: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 09:39 
Только пришел
Аватара пользователя

Зарегистрирован: 27 янв 2010, 12:20
Сообщения: 8
Откуда: Тюмень
Вот такой возник вопрос, у кого-нибудь работает АЦП на ATMEGA8 в протеусе?
Код:
#include <avr/io.h>
#include <avr/interrupt.h>

ISR( ADC_vect )
{
   PORTD   = 0;
}

void main()
{
   DDRD  = 1;
   PORTD = 0;

   DDRC  = 0;
   PORTC = 0;

   DDRB  = 0xff;
   PORTB = 0;

   // AREF, Internal Vref turned off
   // Input ADC0
   ADMUX  = 0;
   
   // ADEN, ADSC, ADFR, ADIE, ADPS = 111 (/128)
   ADCSRA = 0b11101111;

   for(;;)
   {
   }
}

В этом коде прерывание никогда не вызывается, в Simulation Log:


Вложения:
adc-mega8.png
adc-mega8.png [ 39.15 Кб | Просмотров: 9950 ]
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 09:47 
Только пришел
Аватара пользователя

Зарегистрирован: 27 янв 2010, 12:20
Сообщения: 8
Откуда: Тюмень
Proteus 7.6 SP4
по схеме AREF=AVCC=VCC, на вход ADC0 подключен движок переменного резистора который между VCC и GND.
Кстати если взять модель меги 16, то все работает.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 14:15 
Старожил
Аватара пользователя

Зарегистрирован: 26 янв 2010, 23:30
Сообщения: 2785
sei() забыл


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 14:34 
Только пришел
Аватара пользователя

Зарегистрирован: 27 янв 2010, 12:20
Сообщения: 8
Откуда: Тюмень
Да, sei() забыл, однако ситуация не меняется; изначально он там был ;)
Код:
#include <avr/io.h>
#include <avr/interrupt.h>

ISR( ADC_vect )
{
   // we never get here in proteus...
   PORTD   = 0;
}

void main()
{
   DDRC  = 0;
   PORTC = 0;

   // AREF, Internal Vref turned off
   // Input ADC0
   ADMUX  = 0;
   
   // ADEN, ADSC, ADFR, ADIE, ADPS = 111 (/128)
   ADCSRA = 0b11101111;

   sei();
   for(;;)
   {
   }
}

прерывание не вызывается

p.s. И очень смущает строчка из Simulation log: Can not start because in Power Reduction mode.
как раз в момент установки регистра ADCSRA


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 14:56 
Супермодератор
Аватара пользователя

Зарегистрирован: 28 янв 2010, 05:47
Сообщения: 1027
Откуда: Винница
Выложи весь проект. У меня все работает. Единственное что я добавил в исходник: DDRD=0xFF и в прерывание АЦП PORTD^=1; Чисто чтобы было видно когда оно заходит в прерывание.

С вот такой схемой
Изображение

_________________
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 15:29 
Только пришел
Аватара пользователя

Зарегистрирован: 27 янв 2010, 12:20
Сообщения: 8
Откуда: Тюмень
Все в архиве, мистика....


Вложения:
adc-mega8.zip [14.54 Кб]
Скачиваний: 412
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 15:55 
Супермодератор
Аватара пользователя

Зарегистрирован: 28 янв 2010, 05:47
Сообщения: 1027
Откуда: Винница
Работает...
Show

_________________
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 16:09 
Только пришел
Аватара пользователя

Зарегистрирован: 27 янв 2010, 12:20
Сообщения: 8
Откуда: Тюмень
xrayman, спасибо что проверили, а протеус какой версии у вас?
я так и подозревал, что у меня с ним что-то неладное....


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 16:17 
Супермодератор
Аватара пользователя

Зарегистрирован: 28 янв 2010, 05:47
Сообщения: 1027
Откуда: Винница
7.6 sp4, build 8741

_________________
Show


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 16:24 
Только пришел
Аватара пользователя

Зарегистрирован: 27 янв 2010, 12:20
Сообщения: 8
Откуда: Тюмень
хм, точно такой же...
попробую переставить может поможет


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 16:44 
Только пришел
Аватара пользователя

Зарегистрирован: 27 янв 2010, 12:20
Сообщения: 8
Откуда: Тюмень
Переустановка протеуса не решила проблему, ну хоть понятно что дело в нем.
Из всего можно сделать вывод, что АЦП на 8 меге работает (только не у меня ;) )
Всем спасибо!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 16:58 
Супермодератор
Аватара пользователя

Зарегистрирован: 26 янв 2010, 22:19
Сообщения: 6783
Откуда: Из тех... Из бывших...
В протеусе могут остаться настройки МК от старых проектов. Правой кнопкой по МК, ищем свойства, открываем, смотрим, тот ли файл залит в контроллер, проверяем фузы и настройки. По ходу, он крепко спит...
Вложение:
Безымянный.JPG
Безымянный.JPG [ 189.94 Кб | Просмотров: 9878 ]


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: ADC mega8 Proteus
СообщениеДобавлено: 25 мар 2010, 17:06 
Только пришел
Аватара пользователя

Зарегистрирован: 27 янв 2010, 12:20
Сообщения: 8
Откуда: Тюмень
Только что установил 7.6 SP0 (Build 8304) - в нем работает.
Вот такие пироги.


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


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


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

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


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

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

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