реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
TimR
сообщение Oct 18 2006, 17:56
Сообщение #1





Группа: Новичок
Сообщений: 12
Регистрация: 7-06-06
Пользователь №: 17 852



Привет всем!!!
Не получается инициализировать модуль компараторов в 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

Сообщение отредактировал TimR - Oct 18 2006, 18:04
Go to the top of the page
 
+Quote Post
DL36
сообщение Oct 19 2006, 05:49
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 460
Регистрация: 5-10-06
Из: Херсон
Пользователь №: 21 006



А входы не висят в вохдухе, фильтр есть на входе?
Посмотри может у тебя периодически происходит сброс.
Go to the top of the page
 
+Quote Post
EugeneH
сообщение Oct 19 2006, 13:59
Сообщение #3





Группа: Новичок
Сообщений: 8
Регистрация: 25-09-06
Пользователь №: 20 666



А где слово конфигурации? LVP включён? WDT включён?


--------------------
Go to the top of the page
 
+Quote Post
TimR
сообщение Oct 20 2006, 17:09
Сообщение #4





Группа: Новичок
Сообщений: 12
Регистрация: 7-06-06
Пользователь №: 17 852



WDT- отключен, работа от TMR0, т.е сброса по переполнению WDT не происходит. LVP - отключен, да и зачем он мне?
А вот вход, что висит он в воздухе, что подключен через подтягтвающий резистор - одна малина - работает одинаково т.е. так, как описал выше.
Мне думается, ошибка в программе притом там, где настраиваю модули опорного напряжения и компаратора. Может я не в том порядке это делаю или нужно еще чего-то сбросить/выставить - незнаю, но ошибка где-то вначале, где происходит инициализация.
Go to the top of the page
 
+Quote Post
TimR
сообщение Oct 24 2006, 17:27
Сообщение #5





Группа: Новичок
Сообщений: 12
Регистрация: 7-06-06
Пользователь №: 17 852



Пробовал проект в PROTEUSe - ничего. мучаюсь постоянно что-то меняя, но не выходит!
Странно, но многие читали эту тему, но мало кто ответил.
Я конечно извиняюсь, но все же скажу: по-моему разрабрткой девайсов и изучение МК у всех происходит по одному и тому же плану:
зажечь светодиод, потом ЖКИ, потом интерфейсы(I2C, USART), АЦП и т.д.
О том что в МК есть такие простые и нужные вещи как компаратор, никого не интересует!
Потому, видимо никто и помочь не может!
А знаете, в книгах и даташитах одно и тоже, видимо все это писалось по принципу "Ctrl+C - Ctrl+V".
А в проектах других эмбеддеров только "зажечь светодиод, потом ЖКИ, потом интерфейсы(I2C, USART), АЦП и т.д." - Ctrl+C - Ctrl+V smile.gif
Извините...
Go to the top of the page
 
+Quote Post
Forger
сообщение Oct 24 2006, 21:14
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 215
Регистрация: 22-02-05
Пользователь №: 2 831



Цитата(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


--------------------
Кругозор некоторых людей - круг с нулевым радиусом. Они называют его "точкой зрения".
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 12th July 2025 - 16:08
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016