Контроллер работает с тремя цифровыми термометрами DS18B20, но это как бы не важно. суть проблемы в следующем: вот куски программы
_________________________
#define t1 PORTE,0
#define tt1 TRISE,0
#define t2 PORTE,1
#define tt2 TRISE,1
#define t3 PORTE,2
#define tt3 TRISE,2
________________________
;=============================================
; Начальная установка термометров
;=============================================
ustanovka_term
bcf t1
bcf t2
bcf t3
banksel TRISE
bcf tt1
bcf tt2
bcf tt3
banksel PORTE
movlw D'200'
call delay ...
____________________________________________
или вот другой:
;=============================================
; Чтение 2 byte
;=============================================
read
movlw D'16'
movwf bit
label2re
bcf t1
bcf t2
bcf t3
banksel TRISE
bcf tt1
bcf tt2
bcf tt3
nop
nop
nop
nop
bsf tt1
bsf tt2
bsf tt3
banksel PORTE
movlw D'8'
call delay ...
___________________________________________
так вот, почему-то работает только один бит порта Е, который в программе стоит третьим то есть в данном случае PORTE,2 (t3). (проверял осциллографом все четко, на остальных двух "тишина"). Причем при смене допустим t1, tt1 на t3, tt3 работает PORTE,0 или (t1), на двух других "тишина". В чем проблема не пойму?
Раздел: PIC
_________________________
#define t1 PORTE,0
#define tt1 TRISE,0
#define t2 PORTE,1
#define tt2 TRISE,1
#define t3 PORTE,2
#define tt3 TRISE,2
________________________
;=============================================
; Начальная установка термометров
;=============================================
ustanovka_term
bcf t1
bcf t2
bcf t3
banksel TRISE
bcf tt1
bcf tt2
bcf tt3
banksel PORTE
movlw D'200'
call delay ...
____________________________________________
или вот другой:
;=============================================
; Чтение 2 byte
;=============================================
read
movlw D'16'
movwf bit
label2re
bcf t1
bcf t2
bcf t3
banksel TRISE
bcf tt1
bcf tt2
bcf tt3
nop
nop
nop
nop
bsf tt1
bsf tt2
bsf tt3
banksel PORTE
movlw D'8'
call delay ...
___________________________________________
так вот, почему-то работает только один бит порта Е, который в программе стоит третьим то есть в данном случае PORTE,2 (t3). (проверял осциллографом все четко, на остальных двух "тишина"). Причем при смене допустим t1, tt1 на t3, tt3 работает PORTE,0 или (t1), на двух других "тишина". В чем проблема не пойму?
Раздел: PIC