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

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

Статус: Offline

Доброго дня, коллеги!
Подскажите, где слабое место в программе- не работает, как хотелось бы.
Суть - на AN0/GP0 приходит аналоговый сигнал от датчика температуры, в зависимости от температуры, порты моргают светодиодами.
Должны по заыслу. В реале-работает та часть, если условие IF выполняется. Судя по всему, неверно проинициализировал АЦП.
Научите правому делу...
Вот текст
@ device pic12F675, intrc_osc_noclkout, wdt_on, PWRT_ON,mclr_off, protect_off
define adc_bits 10
define adc_clock 3
define adc_sampleus 50
adval var word
trisio=%00000001
CMCON = 7
ANSEL = %00000001 ' Set AN0 analog
adcon0=%10000011
pause 500

adcin 0, adval
if adval<=550 then cold
gpio.1=1
pause 2000
gpio.1=0
goto finish
cold:
gpio.2=1
gpio.1=1
pause 5000
gpio.1=0
pause 15000
gpio.2=0
finish:
end

Добавлено (02.09.2011, 22.03.16)
---------------------------------------------
разобрался. как и ожидал, проблема была в АЦП, точнее - входном напряжении. Думал, что состоянием adval будет являться абсолютное значение напряжения, но нет. значением является результат счета по формуле Uвх/Udd*1024 при выборе опрным напряжением напряжения питания.

ЯНДЕКС Дата: 02.09.2011
  • Страница 1 из 1
  • 1
Поиск: