Рефераты. Разработка термометра с автоматическим контролем температуры на базе микроконтроллера AТ90S2313 с применением термостата DS1620

Поскольку вывод DQ, может использоваться как для чтения, так и для записи, а на экспериментальной плате параллельного порта таких двунаправленных линий нет, необходимо применять транзистор. База транзистора соединена с тактом D1. Когда ИС настроена на прием информации, данные поступают из ком пьютера на контакт D1, а затем через транзистор в инверсном виде – на микросхему. Когда она передает информацию, транзистор должен быть закрыт (это достигается подачей низкого уровня на его базу через тот же контакт), и данные поступают на контакт S1. Входы СLК/СОNV и RSТ соединены с контактами С1 и С2. После прохождения положительного фронта по входу RST микросхема настраивается на прием управляющей информации. Необходимые данные считываются с линии С1 под управлением тактовых импульсов. Если DS1620 настраивается на вывод данных, то после загрузки в нее управляющей команды D1 переходит в нулевое состояние, а биты данных последовательно выводятся под управлением тактовых импульсов и поступают на контакт S1. Если микросхема должна принимать данные, они также загружаются под управлением тактовых импульсов.


 





















1.3 Жидкокристаллический индикатор mt-10t7-7


Данный индикатор может отображать 10 знакомест с точкой. Любой сегмент любого знакоместа можно включать и выключать независимо от остальных сегментов.


 

















 


Регистры данных в БИС делятся на две тетрады: SGx(L) и SGx(H). Запись данных в знакоместо производится за два такта: сначала в младшую тетраду, затем в старшую. Младшая тетрада отвечает за сегменты g, e, d, a, а старшая – за сегменты h, b, c, d. (см. рис.).






Запись Н вызывает высвечивание соответствующего сегмента, а запись L- его гашение.

Контрастность индикатора зависит от напряжения питания модуля. Управление контрастностью производится подключением внешнего резистора на вывод V0.

Rвнеш.=0 – МАХ контрастность.

Rвнеш.=¥(нет резистора) – MIN контрастность.


 













Описание интерфейса ЖКИ модуля

Сначала на шине выставляется адрес необходимого знакоместа, который фиксируется в регистре адреса при низком уровне на входе WRx (см.таблицу). Входы WR1 и ^WR2 защелкивают информацию, стоящую на шине, во внутренних регистрах статического типа. Внутри БИС эти входы объединены по схеме WR1 & ^WR2. Таким образом, информация запишется только при WR1 = “H” и ^WR2 = “L” одновременно. Такое решение осуществить функцию CS (выбор кристалла) при большом количестве модулей на шине, или если на шине имеются другие устройства.

При записи адреса знакоместа указатель тетрады сбрасывается в положение SGx(L). Запись данных производится в младшую тетраду при высоком уровне сигнала на входе А0 сигналом WRx. По этому же сигналу указатель тетрады данных переключается в положение SGx(H), сохраняя при этом тот же адрес знакоместа. Данные в старшую тетраду SGx(H) записываются аналогично младшей тетраде SGx(L). После записи второй тетрады содержимое регистра адрема инкрементируется и можно записывать данные в следующее знакоместо без записи адреса.

По адресу 0Fh расположен триггер блокировки шины. Запись в него DB0=”L” вызывает блокировку записи в БИС адресов и данных на 30 сигналов WRx. Разблокировка шины производится записью DB=”H” по адресу 0Fh.

После подачи питания содержимое регистров SGx не определено, поэтому при включении питания необходимо делать программную очистку регистров. Состояние триггера блокировки тоже не определено, поэтому перед началом вывода информации на индикатор необходимо произвести разблокировку шины. Разблокировка шины производится записью DB0=”H” по адресу 0Fh.
















2. Схемы сопряжения (функциональная и принципиальная)

2.1 Структурная схема


 










2.2 Принципиальная схема



3. Алгоритм решения задачи

 





























 




















































3. Разработка программы


Разработка программы производится на языке Assembler c параллельной отладкой средствами AVR Studio.



Вывод

В ходе данной курсовой работы был разработан цифровой регулятор температуры на базе термостата DS1620 и микроконтроллера AT90S2313 с рабочим диапазоном температур -55˚С до 125˚С. Поддерживается заданная температура с помощью двух исполнительных органов: «нагревателя» и «охладителя». Текущая температура, а также значение верхнего и нижнего значения температурного коридора отображается на ЖКИ в градусах по Цельсию с точностью 0,5˚С.



Список литературы.

1. Научно- технический журнал «Схемотехника» №2, 2001–2002 гг.

2. Пособие «Средства сопряжения с ПК»

3.Internet:

#"#">#"#">#"#">#"#">#"#">http://www.ferrite.ru




Приложение: программа на языке Assembler

;*************************************************************************

;* Термостат на базе микроконтроллера AT90S2313 *

;* с использованием микросхемы термодатчика DS1620 *

;*************************************************************************

;*************************************************************************

;* Название:                  Цифровой регулятор температуры

;* Дата разработки:      20.06.02

;* Объект:            AVR микроконтроллер AT90S2313 и термостат DS1620

;* Автор:              Бендюк Максим Сергеевич

;*

;*

;*************************************************************************


.include "2313DEF.INC"


;***** Константы

.equ preset=192    ;T/C0 Preset constant (256-64)

.def result=r16      ;Result and intermediate data

.def temp=r16       ;временный регистр

.def temp1=r17     ;временный регистр

.def temp2=r18     ;временный регистр

.def temp3=r19     ;временный регистр

.def ramsize=r19   ;размер блока

.def tmode=r22     ;Регистр режима

.def key=r20                   ;Регистр нажатой клавиши

.def keyc=r21       ;Счетчик для прграммы обработки нажатия клавиши

.def    TMIN=r22  ;ячейка с содержимым минимальной температуры термостата

.def    TMINL=r22          ;младший

.def    TMINH=r23         ;старший

.def    TMAX=r24 ;ячейка с содержимым максимальной температуры термостата

.def    TMAXL=r24        ;младший

.def    TMAXH=r25        ;старший

.def    TNORM=r26        ;ячейка с содержимым текущей температуры термостата

.def    TNORML=r26     ;младший

.def    TNORMH=r27     ;старший

.equ   DLCD=$66 ;стартовый адрес SRAM для буфера индикатора

;маладшая ячейка соответствует левому символу

;на дисплее

.def fbinL =r16;двоичное значение, младший байт

.def fbinH =r17;двоичное значение, старший байт

;биты портов

.equ K1       =3     ;бит первой кнопки

.equ K2       =4     ;бит второй кнопки

.equ K3       =5     ;бит третьей кнопки

.equ WR1   =5     ;бит WR1

.equ WR2   =6     ;бит WR2

.equ A0       =7     ;бит A0

.equ DQ      =0     ;бит DQ канал данных термостата

.equ CLK    =1     ;бит CLK канал синхронизации данных


;*************************************************************************

;*

;* PROGRAM START - программа начинает выполняться с этого места

;*

;*************************************************************************

.cseg

.org $0000

rjmp RESET;Reset handle

.org $0020

RETI

RETI

RETI

RETI

RETI

RETI

RETI

RETI

RETI

RETI


;*************************************************************************

; настройка констант

SETCONST:

ldi      temp,20

mov   TMINL,temp

ldi      temp,0

mov   TMINH,temp

ldi      temp,25

mov   TMAXL,temp

ldi      temp,0

mov   TMAXH,temp

ret

;*************************************************************************

; передача констант

OUTCONST:

mov   temp,TMINl

mov   temp1,TMINH

ldi      temp2,2                ;запись нижней температуры

rcall   TERMOUT2

mov   temp,TMAXL

mov   temp1,TMAXH

ldi      temp2,1                ;запись нижней температуры

rcall   TERMOUT2

ldi      temp1,0xee  ; инициализация термостата

rcall   TERMOUT1

ret     

;*************************************************************************

; Натройка портов ввода вывода

Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.