Обсуждаем цифровые устройства...
Ответить

Tiny13 (АЦП) + Протеус = ?

Пт дек 25, 2009 12:48:15

Всем :o привет!

помогите разобраться с АЦП
код писал в CodeVision смотрю в протеусе и ничего не вижу.

где глюк?

Вложения
DD.rar
(57.9 KiB) Скачиваний: 280

Пт дек 25, 2009 15:27:16

В программе обработки прерывания от ADC нужно опросить все слово данных преобразования, а не только старший байт. Причем первым считывать ADCL. И уберите cli и sei, они генерируются компилятором.

Пт дек 25, 2009 15:52:44

pyzh_man писал(а):В программе обработки прерывания от ADC нужно опросить все слово данных преобразования, а не только старший байт. Причем первым считывать ADCL. И уберите cli и sei, они генерируются компилятором.


нет, похоже дело не в этом.

в книге (см вложение) написано, что можно считывать и только старший байт.


навсякий случай попробывал

interrupt [ADC_INT] void adc_isr(void)
{
unsigned char adc_data;
// Read the 8 most significant bits
// of the AD conversion result
adc_data=ADCL;
adc_data=ADCH;
if(adc_data!=0){ PORTB.0=0; delay_ms(500); }
ADCSRA|=0x40;
}

cli и sei убрал, но ничего не изменилось.

У кого нибудь есть ли примеры в протеусе с АЦП на Tiny13
хотя бы быть уверенным, что модель рабочая.
Вложения
.GIF
(55.56 KiB) Скачиваний: 607

Пт дек 25, 2009 16:37:23

заработало!!!

поправил конфигурацию АЦП.


буду дальше мучить :)))

Пт дек 25, 2009 16:58:44

Наверно опоздал. Но лучше поздно... В конфигурации ADC забито измерение с порта PB5, а это вход сброса.
Ответить