Не работает АЦП
|
|
Bengun |
Дата: Пт, 06.03.2009, 18:27 | Сообщение # 1 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
5
Замечания:
±
На сайте с 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
|
|
|
|
Bengun |
Дата: Вс, 08.03.2009, 17:02 | Сообщение # 2 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
5
Замечания:
±
На сайте с 09.10.2008
Статус:
Offline
|
А почему АЦП не работает, кто знает.
|
|
|
|
demanik |
Дата: Пт, 22.05.2009, 18:56 | Сообщение # 3 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (Bengun) А почему АЦП не работает, кто знает Ваше зообщение затерялось в другой теме и я его вынес отдельно. Сейчас по сути для начала какой у вас пик? У меня такие проблеммы возникли с 16Ф886, протоновскими операторами неправильно выбирался канал АЦП увидел я это в протеусе. Вышел из положения управляя АЦП напрямую его регистрами все Declare от АЦП повыбрасывал.
Попробуй всё и вся... может быть пол...
|
|
|
|
Dmitry |
Дата: Пн, 26.10.2009, 22:18 | Сообщение # 4 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
157
Замечания:
±
На сайте с 12.05.2009
Статус:
Offline
|
Никто не знает, в новых версиях компилятора не поправили этот глюк? Сегодня час убил на ADin именно на 16F886, плюнул и сделал через регистры. Компилятор версии 3.2.5.5
|
|
|
|
demanik |
Дата: Вт, 27.10.2009, 19:27 | Сообщение # 5 |
Группа:
Проверенные
Ранг:
Помогаю всем
Сообщений:
448
Замечания:
±
На сайте с 11.12.2007
Статус:
Offline
|
Quote (Dmitry) Никто не знает, в новых версиях компилятора не поправили этот глюк В новом компиляторе размещенном в разделе файлы написано, что данная проблема решена. Попробуйте установить его, Я сам еще не пробовал.
Попробуй всё и вся... может быть пол...
|
|
|
|
ADMIN |
Дата: Ср, 28.10.2009, 05:47 | Сообщение # 6 |
Администратор
Группа:
Администраторы
Ранг:
Специалист
Сообщений:
1086
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Пользуйтесь программой ProtonHeaderMaker
|
|
|
|
Dmitry |
Дата: Ср, 28.10.2009, 21:19 | Сообщение # 7 |
Группа:
Пользователи
Ранг:
Могу и подсказать
Сообщений:
157
Замечания:
±
На сайте с 12.05.2009
Статус:
Offline
|
Спасибо, пользуюсь. Для русских буковок на LCD. А ADin наврядли от нее заработает.
|
|
|
|
Володимир |
Дата: Ср, 22.07.2015, 12:05 | Сообщение # 8 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
69
Замечания:
±
На сайте с 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
Замечания:
±
На сайте с 20.08.2007
Статус:
Offline
|
Думаю, ничего страшного. Это информационное сообщение, которое протеус выдает на всякий случай. Он посчитал, что преобразование, возможно, еще не окончено.
|
|
|
|
atc |
Дата: Ср, 22.07.2015, 19:57 | Сообщение # 10 |
Группа:
Проверенные
Ранг:
Новенький
Сообщений:
11
Замечания:
±
На сайте с 18.06.2015
Статус:
Offline
|
В Протеусе , в редактировании компонента ,расширенные свойства ,параметр ADC Minimum Acquisition Time , измените.
|
|
|
|
Володимир |
Дата: Чт, 23.07.2015, 15:58 | Сообщение # 11 |
Группа:
Проверенные
Ранг:
Понимаю
Сообщений:
69
Замечания:
±
На сайте с 22.04.2010
Статус:
Offline
|
Цитата ADMIN ( ) Думаю, ничего страшного. Это информационное сообщение, которое протеус выдает на всякий случай. Он посчитал, что преобразование, возможно, еще не окончено. smile Скорей всего таймер включает АЦП до того как поменялся номер порта, в протеусе видно по нагрузке, пака нет сложных вычеслений, сообщения не появляются, как только пошли вычесления, появляються сообщения. Можно впринципе включить прерывания, и менять номер порта в прирывании, но если проблем в работе не будет, то нафиг надо.
Цитата atc ( ) В Протеусе , в редактировании компонента ,расширенные свойства ,параметр ADC Minimum Acquisition Time , измените. Стоит дефаульт.
|
|
|
|