Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Проблемы с внешним АЦП
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
lucvad
Добрый день честной народ!
Помогите с проблемой.
Изначально делаю пиковый детектор.
В рамках решения этой задачи использую АЦП MCP 3201. АЦП считываю Mega 48. Программа простейшая:
По внешнему импульсу запускается счетчик. Обработчики прерываний счетчика и SPI такие:
Код
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
// Place your code here
TCCR0B=0x00;
SPDR=0xAA;  
i=1;
}

// SPI interrupt service routine
interrupt [SPI_STC] void spi_isr(void)
{
unsigned char data;
switch (i) {
    case 1 :    data=SPDR;
                PORTC=data;
                SPDR=0xAA;
                i=2;
   break;
    case 2 :    data=SPDR;
                i=3;
   break;
   default :  break;
   };

На 1 ногу АЦП подаю опору,
2-сигнал,
3,4 –земля,
5 соединил с выходом SS SPI (на ней в рабочем режиме земля),
6- данные,
7-sck.
После прошивки контроллера на выходе SCK вижу 16 красивых импульсов.
Выход data АЦП подключил к ноге MISO контроллера. Но на этой ноге ничего нету в этом вся проблема.
Палыч
Цитата(lucvad @ Jul 9 2009, 14:00) *
5 соединил с выходом SS SPI (на ней в рабочем режиме земля)

Уровнем на этой ноге АЦП должен "рулить" микроконтроллер. Из Вашего фрагмента кода не видно: опускается ли уровень на этой ноге перед считыванием кода и поднимается ли после.

Цитата(lucvad @ Jul 9 2009, 14:00) *
После прошивки контроллера на выходе SCK вижу 16 красивых импульсов.
Период следования импульсов - какой? Соответствует ли цифрам из документации на АЦП?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.