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