Регистрация | Вход

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
  • Страница 1 из 1
  • 1
Модератор форума: demanik, ivan_fd  
Не работает АЦП
Bengun Дата: Пт, 06.03.2009, 18:27  |                                                                                                                Сообщение # 1
Группа: Проверенные
Ранг:  Новенький
Сообщений: 5
Репутация: 0   ±
Замечания:   ±
На сайте с 09.10.2008

Статус: Offline

вылечил я протон методом замены компилятора,
компилится все нормально уже.
как включить в работу АЦП
командой Adin ни один АЦП не опрашивается,
регистры ADCON0 и ADCON1 не переключаются

Declare ADIN_RES = 10 ' 10-bit result
Declare ADIN_TAD = FRC ' RC OSC chosen
Declare ADIN_STIME = 50 ' Allow 50us sample

ANSEL = %00000000 ' ADC0 - ADC7 disabled
ANSELH = %00000110 ' ADC9 & ADC10 enabled

TMP = ADIn 9 ' Результат 0
TMP = ADIn 10 ' Результат 0

Сообщение отредактировал Bengun - Пт, 06.03.2009, 18:33
ЯНДЕКС Дата: 06.03.2009
Bengun Дата: Вс, 08.03.2009, 17:02  |                                                                                                                Сообщение # 2
Группа: Проверенные
Ранг:  Новенький
Сообщений: 5
Репутация: 0   ±
Замечания:   ±
На сайте с 09.10.2008

Статус: Offline

А почему АЦП не работает, кто знает.
demanik Дата: Пт, 22.05.2009, 18:56  |                                                                                                                Сообщение # 3
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (Bengun)
А почему АЦП не работает, кто знает

Ваше зообщение затерялось в другой теме и я его вынес отдельно.

Сейчас по сути для начала какой у вас пик?
У меня такие проблеммы возникли с 16Ф886, протоновскими операторами неправильно выбирался канал АЦП увидел я это в протеусе. Вышел из положения управляя АЦП напрямую его регистрами все Declare от АЦП повыбрасывал.


Попробуй всё и вся... может быть пол...

Dmitry Дата: Пн, 26.10.2009, 22:18  |                                                                                                                Сообщение # 4
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 157
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

Никто не знает, в новых версиях компилятора не поправили этот глюк?
Сегодня час убил на ADin именно на 16F886, плюнул и сделал через регистры.
Компилятор версии 3.2.5.5
demanik Дата: Вт, 27.10.2009, 19:27  |                                                                                                                Сообщение # 5
Группа: Проверенные
Ранг:  Помогаю всем
Сообщений: 448
Репутация: 10   ±
Замечания:   ±
На сайте с 11.12.2007

Статус: Offline

Quote (Dmitry)
Никто не знает, в новых версиях компилятора не поправили этот глюк

В новом компиляторе размещенном в разделе файлы написано, что данная проблема решена. Попробуйте установить его, Я сам еще не пробовал.


Попробуй всё и вся... может быть пол...

ADMIN Дата: Ср, 28.10.2009, 05:47  |                                                                                                                Сообщение # 6
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Пользуйтесь программой ProtonHeaderMaker
Dmitry Дата: Ср, 28.10.2009, 21:19  |                                                                                                                Сообщение # 7
Группа: Пользователи
Ранг:  Могу и подсказать
Сообщений: 157
Репутация: 6   ±
Замечания:   ±
На сайте с 12.05.2009

Статус: Offline

Спасибо, пользуюсь. Для русских буковок на LCD. smile
А ADin наврядли от нее заработает.
Володимир Дата: Ср, 22.07.2015, 12:05  |                                                                                                                Сообщение # 8
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 69
Репутация: 3   ±
Замечания:   ±
На сайте с 22.04.2010

Статус: Offline

Чтобы не создавать свежую тему спрошу тут.

Device 18F4620
Xtal 20         '20 мГц
ADCON0 = %00000001
ADCON1 = %00001011
ADCON2 = %10011101

CCP2CON=0
CCP2CON.3=1
CCP2CON.2=0
CCP2CON.1=1
CCP2CON.0=1
CCPR2H=$01 'Период 0,1 мс
CCPR2L=$F4 'Период 0,1 мс
T1CON.0=1 'TMR1ON: Включение модуля TMR1

start:
If ADIF=1 Then
   If  NumAdPort=0 Then Ad0Rez=ADRES
   If  NumAdPort=1 Then
       Ad1Rez.Byte1 =ADRESH
       Ad1Rez.Byte0 =ADRESL
   EndIf    
   If  NumAdPort=2 Then Ad2Rez=ADRES
   If  NumAdPort=3 Then Ad3Rez=ADRES
   
   Inc NumAdPort
   If NumAdPort=4 Then NumAdPort=0
   ADCON0.3=NumAdPort.1
   ADCON0.2=NumAdPort.0
   ADIF=0
EndIf

goto start

end

Запуск АЦП осуществляется таймером TMR1 каждые 500 цыклов, в протэусе все работает но в simulation log периодически добавляется сообщение:

ADC conversion started before 'wait' time has expired following previous conversion or canel change

Это не критично, или нужно что то поправить?
ADMIN Дата: Ср, 22.07.2015, 17:51  |                                                                                                                Сообщение # 9
Администратор
Группа: Администраторы
Ранг:  Специалист
Сообщений: 1086
Репутация: 32   ±
Замечания:   ±
На сайте с 20.08.2007

Статус: Offline

Думаю, ничего страшного. Это информационное сообщение, которое протеус выдает на всякий случай. Он посчитал, что преобразование, возможно, еще не окончено. smile
atc Дата: Ср, 22.07.2015, 19:57  |                                                                                                                Сообщение # 10
Группа: Проверенные
Ранг:  Новенький
Сообщений: 11
Репутация: 0   ±
Замечания:   ±
На сайте с 18.06.2015

Статус: Offline

В Протеусе , в редактировании компонента ,расширенные свойства ,параметр ADC Minimum  Acquisition Time , измените.
Володимир Дата: Чт, 23.07.2015, 15:58  |                                                                                                                Сообщение # 11
Группа: Проверенные
Ранг:  Понимаю
Сообщений: 69
Репутация: 3   ±
Замечания:   ±
На сайте с 22.04.2010

Статус: Offline

Цитата ADMIN ()
Думаю, ничего страшного. Это информационное сообщение, которое протеус выдает на всякий случай. Он посчитал, что преобразование, возможно, еще не окончено. smile
Скорей всего таймер включает АЦП до того как поменялся номер порта, в протеусе видно по нагрузке, пака нет сложных вычеслений, сообщения не появляются, как только пошли вычесления, появляються сообщения. Можно впринципе включить прерывания, и менять номер порта в прирывании, но если проблем в работе не будет, то нафиг надо.

Цитата atc ()
В Протеусе , в редактировании компонента ,расширенные свойства ,параметр ADC Minimum Acquisition Time , измените.
Стоит дефаульт.
ЯНДЕКС Дата: 23.07.2015
  • Страница 1 из 1
  • 1
Поиск: