Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
18.02.2011, 18:56
|
#1
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Начальная настройка АЦП PIC16F676
Прошу помощи в настройке АЦП для 676 пика
Есть такой фрагмент:
CLRF PORTA ; инициализация защелок
CLRF PORTC ; портов
MOVLF 0x85,FSR ; адресс TRISA
MOVLF 0x13,INDF ; 2,3,5 - выход, 0,1,4 - вход
MOVLF 0x91,FSR ; адресс ANSEL
MOVLF 0x0B,INDF ; А0,А1,А3 - аналоговый
MOVLF 0x9F,FSR ; адресс ADCON1
MOVLF 0x10,INDF ; делитель 1/8
BSF ADCON0,0 ; включить АЦП вот с этой строки
Протеус ругается на время в начальных установках, дольше в программе перебираются каналы, всё работает.
Менял строки местами, выбирал другой коэф. делителя - не помогло. Даташит на англицком, не всё понятно.
И еще:
MOVLF 0x41,ADCON0 ; левое выравнивание, внешнее опорное, 0 канал АЦП
МРлаб обижается на ADRESL, как бЫ " No stimulus file attached to ADRESL for A/D."
В чём заблудился?
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
18.02.2011, 19:51
|
#2
|
Вид на жительство
Регистрация: 03.06.2007
Сообщений: 368
Сказал спасибо: 3
Сказали Спасибо 59 раз(а) в 52 сообщении(ях)
|
Re: Начальная настройка АЦП PIC16F676
|
|
|
|
18.02.2011, 20:44
|
#3
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Начальная настройка АЦП PIC16F676
По ссылкам не встретил "ADSEL", может в нём проблема?
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
18.02.2011, 21:49
|
#4
|
Гуру портала
Регистрация: 27.10.2008
Адрес: ЕС
Сообщений: 10,835
Сказал спасибо: 919
Сказали Спасибо 4,308 раз(а) в 2,573 сообщении(ях)
|
Re: Начальная настройка АЦП PIC16F676
тоже эти грабли прошел. Прежде, чем менять канал или запускать конвертирование, надо дождаться, пока ADCON0.GO станет нулем.
|
|
|
|
18.02.2011, 22:33
|
#5
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Начальная настройка АЦП PIC16F676
Дальше, в теле программы, всё проходит гладко: с паузами после выбора канала и для заряда. Ошибка только при начальных установках именно.
дословно из лога "Протеуса":
"ADC conversion clock period (5e-07) is possibly invalid for device clock frequency"
"Шапку" переписал один к одному, только метки "Setup" не хватает...
Это старт программы, с первой строки.
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
18.02.2011, 22:41
|
#6
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Начальная настройка АЦП PIC16F676
Сообщение от rusyvochka
|
"ADC conversion clock period (5e-07) is possibly invalid for device clock frequency"
|
Ругается или предупреждение ??
Период конвертирования АЦП возможно неверный для (текущей) тактовой частоты устройства.
__________________
Осторожно , злой кот
|
|
|
|
18.02.2011, 22:52
|
#7
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Начальная настройка АЦП PIC16F676
Вот, как то так.
И, есно, не создается лог, по времени бы отследить изменения точно хотелось...
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
18.02.2011, 23:40
|
#8
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,269 раз(а) в 1,563 сообщении(ях)
|
Re: Начальная настройка АЦП PIC16F676
rusyvochka, Так включи в лог модуль АЦП .
Навскидку, слишком мал период конвертирования ...
__________________
Осторожно , злой кот
|
|
|
|
22.02.2011, 21:18
|
#9
|
Гражданин KAZUS.RU
Регистрация: 30.05.2008
Адрес: Запорожье, Украина
Сообщений: 505
Сказал спасибо: 190
Сказали Спасибо 95 раз(а) в 56 сообщении(ях)
|
Re: Начальная настройка АЦП PIC16F676
Далее в теле есть такое:
Preo_0
MOVLF 0x01,ADCON0 ; выбрать 0 канал: напряжение
BSF ADCON0,0 ; разрешить преобразование, подождать заряд конденсатора АЦП
MOVLF 0x06,TEMP ; количество циклов
DECFSZ TEMP,F ; уменьшаем временный
GOTO $-1 ; если не конец цикла - повторим
BSF ADCON0,1 ; разрешить преобразование АЦП
BTFSC ADCON0,1 ; проверить, закончено ли
GOTO $-1 ; если нет - подождать
MOVFW ADRESH ; сложил
ADDWF UL,F ; значения регистра АЦП
SKPNC ; старшего, при левом выравнивании
INCF UH,F ; с раннее померенным
MOVLF 0x4D,ADCON0 ; 3 канал АЦП: токовый, внешний Vref
BSF ADCON0,0 ; разрешить преобразование, подождать заряд конденсатора АЦП
MOVLF 0x06,TEMP ; количество циклов
DECFSZ TEMP,F ; уменьшаем временный
GOTO $-1 ; если не конец цикла - повторим
BSF ADCON0,1 ; разрешить преобразование АЦП
BTFSC ADCON0,1 ; проверить, закончено ли
GOTO $-1 ; если нет - подождать
MOVFW ADRESH ; тоже для "токового" регистра с проверкой переполнения
ADDWF IL,F ; и при необходимости
SKPNC ; увеличение старшего байта временных
INCF IH,F ;
Всё проходит гладко. Проблема только в строках "сетапа".
Эмулятор тоже "обижается" на это несоответствие и не строит текстовый лог...
__________________
Смотрящий под ноги - звёзды видит в лужах.
|
|
|
|
22.02.2011, 22:35
|
#10
|
Прохожий
Регистрация: 30.12.2007
Сообщений: 3
Сказал спасибо: 88
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Начальная настройка АЦП PIC16F676
может проблема в MOVLF ?
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 21:37.
|
|