Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: модуль компаратора в PIC16F627
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > Все остальные микроконтроллеры > PIC
TimR
Привет всем!!!
Не получается инициализировать модуль компараторов в PIC16F627.
Да и вообще с модулями у меня пожизни какие-то проблеммы.
Все по datasheet-ту делаю, но что-то не так.
Можно бы было в PROTEUS-е просимулировать, но и с ним я пока не совсем...
В общем помогите!!!
Суть программы: использую модуль компараторов, с встроенным в МК модулем
опорного напряжения Uоп = 3В. А дальше - просто: произошло прерывание -
зажечь светодиод, ну а нет - стоим на месте.
Проблемма в том что светодиод мигает при том. что сигнал (>3В), да и любой сигнал, на вход
компаратора вообще не подается!
....
....
....
...
Start___clrf Intcon
_______ bsf Status,RP0
_______ bcf Status,RP1
_______ movlw b'11101110' ;нижний диапазон,Uоп = 2,92 (3В), разрешить работу
_______ movwf VRCON
_______ movlw b'10000011'
_______ movwf OptionR
_______ movlw b'00000000'
_______ movwf TrisB
_______ movlw b'00000011'
_______ movwf TrisA
_______ bcf Status,RP0
_______ movlw b'00000010' ; режим работы 010
_______ movwf CMCON
_______ clrf RCSTA
_______ clrf T1CON
_______ clrf T2CON
_______ clrf CCP1CON
;------------------------------------
_______ bsf Pie1,6 ; разрешить прерывания от компараторов
_______ bcf Status,RP0
_______ bcf Pir1,6 ; предварительный сброс флага прерывания от компараторов
_______ bsf Intcon,6 ; разрешить прерывания от периферийных устройств
________bsf Intcon,7 ; общее разрешение прерываний
;----------------------------------------
Start2___ bcf Pir1,6
Start1___ btfss Pir1,6 ; опрос: не поднялся ли флаг?
________goto Start1 ; нет - повтор опроса
________ btfsc CMCON,6 ; да (1) опрос бита выхода компаратора
________goto UP ; если бит = 1 то идем в UP
________goto Start1 ; нет - новое сканирование
;-------------------------------------
UP_____bsf PortB,2
_______call delay
_______goto Start2
;--------------------------------------
delay___movlw .255
_______movwf SecH
C3_____movlw .255
_______movwf SecL
Pause_4__decfsz SecL,F
_________goto Pause_4
_________decfsz SecH,F
_________goto C3
_________return
;****************************************
_________end
DL36
А входы не висят в вохдухе, фильтр есть на входе?
Посмотри может у тебя периодически происходит сброс.
EugeneH
А где слово конфигурации? LVP включён? WDT включён?
TimR
WDT- отключен, работа от TMR0, т.е сброса по переполнению WDT не происходит. LVP - отключен, да и зачем он мне?
А вот вход, что висит он в воздухе, что подключен через подтягтвающий резистор - одна малина - работает одинаково т.е. так, как описал выше.
Мне думается, ошибка в программе притом там, где настраиваю модули опорного напряжения и компаратора. Может я не в том порядке это делаю или нужно еще чего-то сбросить/выставить - незнаю, но ошибка где-то вначале, где происходит инициализация.
TimR
Пробовал проект в PROTEUSe - ничего. мучаюсь постоянно что-то меняя, но не выходит!
Странно, но многие читали эту тему, но мало кто ответил.
Я конечно извиняюсь, но все же скажу: по-моему разрабрткой девайсов и изучение МК у всех происходит по одному и тому же плану:
зажечь светодиод, потом ЖКИ, потом интерфейсы(I2C, USART), АЦП и т.д.
О том что в МК есть такие простые и нужные вещи как компаратор, никого не интересует!
Потому, видимо никто и помочь не может!
А знаете, в книгах и даташитах одно и тоже, видимо все это писалось по принципу "Ctrl+C - Ctrl+V".
А в проектах других эмбеддеров только "зажечь светодиод, потом ЖКИ, потом интерфейсы(I2C, USART), АЦП и т.д." - Ctrl+C - Ctrl+V smile.gif
Извините...
Forger
Цитата(TimR @ Oct 24 2006, 21:27) *
Странно, но многие читали эту тему, но мало кто ответил.


Не там спрашиваете... smile.gif

Цитата
О том что в МК есть такие простые и нужные вещи как компаратор, никого не интересует!
Потому, видимо никто и помочь не может!
А знаете, в книгах и даташитах одно и тоже, видимо все это писалось по принципу "Ctrl+C - Ctrl+V".
А в проектах других эмбеддеров только "зажечь светодиод, потом ЖКИ, потом интерфейсы(I2C, USART), АЦП и т.д." - Ctrl+C - Ctrl+V smile.gif
Извините...


Не переживайте вы так smile.gif

Я компаратор в пиках много раз использовал и эта тема много-много раз была обсуждена:
http://www.microchip.ru/phorum/list.php?f=2
Надо тока поискать - это оч. просто: http://www.microchip.ru/phorum/search.php?f=2
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.