ТЕРМОСТАТ НА DS1620

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
shuric777
Родился
Сообщения: 12
Зарегистрирован: Сб мар 19, 2011 21:39:42

ТЕРМОСТАТ НА DS1620

Сообщение shuric777 »

Помогите разобраться с программированием верхнего TH и нижнего TL порогов в DS1612 с процессором типа AT89C51 в режиме ОДНОКРАТНОГО ПРЕОБРАЗОВАНИЯ ТЕМПЕРАТУРЫ. Состояние выхода Tcom DS1620 не изменяется при прохождении температурных порогов, хотя чтение температуры происходит нормально. Все примеры, в том числе и в ДАТАШИТАХ приведены для работы DS1620 в НЕПРЕРЫВНОМ РЕЖИМЕ. Программа на АССЕМБЛЕРЕ

; DS1620

.BSECT
DQ1 .REG P3.0 ; DQ1 (ДАННЫЕ 1-ГО ТЕМПЕРАТУРНОГО ДАТЧИКА)
CLK1 .REG P3.5 ; CLK1 (ТАКТ.Ч-ТА 1-ГО ТЕМПЕРАТУРНОГО ДАТЧИКА
RST1 .REG P3.7 ; RST1 (СБРОС 1-ГО ТЕМПЕРАТУРНОГ ДАТЧИКА


START:
;....................
;ЗАПИСЬ РЕГИСТРА КОНФИГУРАЦИИ ТЕМПЕРАТУРНОГО ДАТЧИКА
;......
MOV A,#0CH ;код регистра конфигурации
MOV R2,#8 ;счетчик циклов
SETB RST1 ;
WR_REG1:CLR CLK1 ;]
RRC A ;]цикл записи команды установки регистра конфигурации
MOV DQ1,C ;]
SETB CLK1 ;]
DJNZ R2,WR_REG1 ;]

MOV A,#03H ;данные для регистра конфигурации (однократное преобразование)
MOV R2,#8 ;счетчик циклов
WR_DRG1:CLR CLK1 ;]
RRC A ;]цикл записи данных в регистр конфигурации
MOV DQ1,C ;]
SETB CLK1 ;]
DJNZ R2,WR_DRG1 ;]
CLR RST1

;....................
;ЗАПИСЬ ВЕРХНЕГО ПОРОГА ТЕМПЕРАТУРЫ
;......
MOV A,#01H ;код регистра конфигурации
MOV R2,#8 ;счетчик циклов
SETB RST1 ;
WR_H1: CLR CLK1 ;]
RRC A ;]цикл записи команды установки регистра конфигурации
MOV DQ1,C ;]
SETB CLK1 ;]
DJNZ R2,WR_H1 ;]

MOV A,#50H ; ДАННЫЕ 40гр. младший байт
MOV R2,#8 ;счетчик циклов
WR_H2: CLR CLK1 ;]
RRC A ;]цикл записи данных в регистр конфигурации
MOV DQ1,C ;]
SETB CLK1 ;]
DJNZ R2,WR_H2 ;]

MOV A,#00H ; ДАННЫЕ 40гр. cтаршийший байт
MOV R2,#8 ;счетчик циклов
WR_H3: CLR CLK1 ;]
RRC A ;]цикл записи данных в регистр конфигурации
MOV DQ1,C ;]
SETB CLK1 ;]
DJNZ R2,WR_H3 ;]
CLR RST1

;....................
;ЗАПИСЬ НИЖНЕГО ПОРОГА ТЕМПЕРАТУРЫ
;......
MOV A,#02H ;код регистра конфигурации
MOV R2,#8 ;счетчик циклов
SETB RST1 ;
WR_L1: CLR CLK1 ;]
RRC A ;]цикл записи команды установки регистра конфигурации
MOV DQ1,C ;]
SETB CLK1 ;]
DJNZ R2,WR_L1 ;]

MOV A,#3CH ; ДАННЫЕ 40гр. младший байт
MOV R2,#8 ;счетчик циклов
WR_L2: CLR CLK1 ;]
RRC A ;]цикл записи данных в регистр конфигурации
MOV DQ1,C ;]
SETB CLK1 ;]
DJNZ R2,WR_L2 ;]

MOV A,#00H ; ДАННЫЕ 40гр. cтаршийший байт
MOV R2,#8 ;счетчик циклов
WR_L3: CLR CLK1 ;]
RRC A ;]цикл записи данных в регистр конфигурации
MOV DQ1,C ;]
SETB CLK1 ;]
DJNZ R2,WR_L3 ;]
CLR RST1

;................
;ЗАПУСК ТЕМПЕРАТУРНОГО ДАТЧИКА
;......
MOV A,#EEH ;код запуска
MOV R2,#8 ;счетчик циклов
SETB RST1 ;
WR_ZAP1:CLR CLK1 ;]
RRC A ;]цикл записи команды запуска датчика теипературы
MOV DQ1,C ;]
SETB CLK1 ;]
DJNZ R2,WR_ZAP1 ;]
CLR RST1

;....................
;ЧТЕНИЕ РЕГИСТРА КОНФИГУРАЦИИ ТЕМПЕРАТУРНОГО ДАТЧИКА
;......
BYZI1: MOV A,#ACH ;код ЧТЕНИЯ регистра конфигурации
MOV R2,#8 ;счетчик циклов
SETB RST1 ;
RD_REG1:CLR CLK1 ;]
RRC A ;]цикл чтения команды установки регистра конфигурации
MOV DQ1,C ;]
SETB CLK1 ;]
DJNZ R2,RD_REG1 ;]

MOV R2,#8 ;счетчик циклов
RD_D1: CLR CLK1 ;]
MOV C,DQ1 ;]
RRC A ;]цикл чтения данных
SETB CLK1 ;]
DJNZ R2,RD_D1 ;]
CLR RST1
JB ACC.7,RID1
JMP BYZI1

;...........
;ЧТЕНИЕ ТЕМПЕРАТУРЫ ТЕМПЕРАТУРНОГО ДАТЧИКА
;......
RID1: MOV A,#AAH ;код команды чтения температуры
MOV R2,#8 ;счетчик циклов
SETB RST1 ;
RG_TEM1:CLR CLK1 ;]
RRC A ;]цикл записи команды чтения температуры
MOV DQ1,C ;]
SETB CLK1 ;]
DJNZ R2,RG_TEM1 ;]

MOV R2,#8 ;счетчик циклов
RD_TEM1:CLR CLK1 ;]
MOV C,DQ1 ;]
RRC A ;]цикл чтения данных младшего байта
SETB CLK1 ;]
DJNZ R2,RD_TEM1 ;]
MOV R3,A ;младший байт данных температуры 1

MOV R2,#8 ;счетчик циклов
RD_TE1: CLR CLK1 ;]
MOV C,DQ1 ;]
RRC A ;]цикл чтения данных старшего байта
SETB CLK1 ;]
DJNZ R2,RD_TE1 ;]
CLR RST1
MOV R4,A ;старший байт данных температуры 1

JMP START

3
Реклама
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

Re: ТЕРМОСТАТ НА DS1620

Сообщение IM1 »

shuric777 писал(а):Помогите разобраться с программированием верхнего TH и нижнего TL порогов в DS1612 с процессором типа AT89C51 в режиме ОДНОКРАТНОГО ПРЕОБРАЗОВАНИЯ ТЕМПЕРАТУРЫ. Состояние выхода Tcom DS1620 не изменяется при прохождении температурных порогов, хотя чтение температуры происходит нормально. Все примеры, в том числе и в ДАТАШИТАХ приведены для работы DS1620 в НЕПРЕРЫВНОМ РЕЖИМЕ. Программа на АССЕМБЛЕРЕ
Ув. shuric777, уточните задачу, что Вы конкретно хотите получить? Это курсовой, средство для программирования порогов будущего автономного термостата или что-то еще?
Не совсем понятно как Вы читаете температуру этой программой, задержки отсутствуют напрочь. Кстати, а что за среда программирования? Keil не понимает вещи типа
"DQ1 .REG P3.0 ; DQ1 (ДАННЫЕ 1-ГО ТЕМПЕРАТУРНОГО ДАТЧИКА)", он любит типа
"DQ1 BIT P3.0 ; DQ1 (ДАННЫЕ 1-ГО ТЕМПЕРАТУРНОГО ДАТЧИКА)",
ну и еще немного непонятных вещей, правда легко устранимых. Может Вам поможет это http://nebeletronika.narod.ru/Arhiv/Tra ... 620_ru.pdf , или вот это http://www.nomad.ee/micros/ds1620programmer.html ?
Реклама
shuric777
Родился
Сообщения: 12
Зарегистрирован: Сб мар 19, 2011 21:39:42

Re: ТЕРМОСТАТ НА DS1620

Сообщение shuric777 »

Ув. IM1, спасибо за участие.У меня уже все заработало. Это разработка будущего термостата с индикацией температуры и перестраиваемыми порогами. Программа на ассемблере 8051.
Аватара пользователя
IM1
Грызет канифоль
Сообщения: 268
Зарегистрирован: Вт фев 16, 2010 12:10:38
Откуда: Воронеж, Россия

Re: ТЕРМОСТАТ НА DS1620

Сообщение IM1 »

ОК!
Удачи.
Реклама
Эиком - электронные компоненты и радиодетали
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»