Перейти к содержанию

serpol1

Members
  • Постов

    3
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные serpol1

  1. Alex, я прочитал документ, вы правы, это мой случай, в термометре есть конденсатор включенный параллельно шине данных для случая с "паразитным питанием". попробую заменить команды "bsf" и "bcf" на запись B'00000111' и обнуление. Большое Вам спасибо.

  2. Порт настроен как цифровой ввод/вывод, я использую аналоговые входы по схеме 3/0, так что на порт Е это не должно влиять, параллельный порт ввода/вывода тоже не использую, вроде в других переф-ых модулях порт Е не используется.

  3. Контроллер работает с тремя цифровыми термометрами 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), на двух других "тишина". В чем проблема не пойму?

×
×
  • Создать...