Термостат

Министерство образования Российской Федерации

УРАЛЬСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА РАДИОЭЛЕКТРОНИКИ ИНФОРМАЦИОННЫХ СИСТЕМ





				Оценка работы		

				Члены комиссии	

						

			

			

ТЕРМОСТАТ



Курсовой проект

Пояснительная записка





				Руководитель: Добряк В.А.

				Студент: Подкорытов А.П.

				Группа Р-406Д

				

				

				

				

				





Екатеринбург 2006


Содержание



Введение

Разработка схемы устройства

Принцип работы термостата

Программное обеспечение

Заключение

Библиография

Приложение 1. Схема электрическая принципиальная

Приложение 2. Блок схема программы

Приложение 3. Текст программы на языке ассемблера


Введение



В настоящее время в микропроцессорной технике выделился самостоятельный класс интегральных схем – микроконтроллеры, которые предназначены для встраивания в приборы различного назначения.

Использование микроконтроллеров в различных изделиях не только приводит к улучшению всех показателей (стоимость, надежность, потребляемая мощность, габариты) и позволяет многократно сократить сроки разработки и отодвинуть сроки морального старения изделий, но и придаёт им принципиально новые потребительские качества: расширенные функциональные возможности, модифицируемость, адаптивность и т.д.


Разработка схемы устройства

	

	Термостат выполнен на однокристальном микроконтроллере Intel 8051. В качестве многоканального АЦП был выбран 8ми канальный АЦП К572ПВ4.

	На входы Р0.0-Р0.7 микроконтроллера поступает код выбранного температурного датчика. Выбор датчика осуществляет АЦП, используя сигналы Р2.0-Р2.2. С выхода Р2.3 на вход АЦП поступают синхросигналы, необходимые для выбора датчика и начала преобразования.

	Порты Р2.4 и Р2.5 используются для управления реле, через которые подключены исполнительные элементы (вентилятор и нагреватель).

	Тактовая частота микроконтроллера задается кварцевым резонатором, частота которого равна 12МГц. АЦП включен по стандартной схеме[5].

	Схема устройства приведена в приложении 1.

	

	Принцип работы термостата

	

	Код от температурного датчика поступает на один из портов микроконтроллера (Р0). Поступивший код анализируется микроконтроллером на предмет соответствия температуры заданным рамкам (19оС-21оС). Если температура находится в заданных пределах, то анализируется код следующего датчика (всего 8 датчиков). 

	Датчики опрашиваются с периодом 320 мкс (если температура всех датчиков находится в заданных пределах). Выбор датчика осуществляется при помощи сигналов Р2.0-Р2.2.	Если температура какого-либо датчика окажется за границами заданной области, то включается один из исполнительных элементов (подключены к Р2.4 и Р2.5), и продолжается контроль данного датчика до тех пор, пока температура не придет в норму.

	
Программное обеспечение

	

	Для работы устройства необходимо программное обеспечение. Блок схема программы приведена в приложении 2.

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

	На выходе АЦП 8ми разрядный код, соответствующий изменению входного напряжения 0…2.5В. Пусть датчик настроен таким образом, что при изменении температуры в интервале 0оС…50оС, напряжение на входе АЦП изменяется в заданных пределах (0…2.5В). Тогда можно легко найти соответствие между температурой датчика и кодом на выходе АЦП:

	

	температура, оС

	двоичный код

	0

	00000000

	50

	11111111

	19

	01011111

	21

	01101001

	

	
Заключение

	

	В ходе выполнения данной курсовой работы был разработан прибор «ТЕРМОСТАТ» на однокристальном микроконтроллере INTEL 8051.

	Прибор работает с 8 температурными датчиками, подключенными через многоканальный АЦП и автоматически поддерживает температуру в диапазоне 19°С-21°С. 

	
Библиография

	

Ваша первая программа для микроконтроллера Intel 8051: Методические указания к лабораторной работе №1 по курсу “Микропроцессоры и вычислительные устройства”/ Добряк В.А. Екатеринбург: УГТУ, 1999. 32 с.

Система команд микроконтроллера Intel 8051: Методические указания к лабораторной работе №2 по курсу “Цифровые устройства и микропроцессоры”/ Добряк В.А., Рагозин В.К. Екатеринбург: УГТУ, 1999. 32 с.

Программирование микроконтроллера Intel 8051 на языке ассемблера: Методические указания к лабораторной работе №3 по курсу “ Цифровые устройства и микропроцессоры”/ Добряк В.А., Рагозин В.К. Екатеринбург: УГТУ, 1999. 26 с.

Взаимодействие микроконтроллера Intel 8051 с объектами управления: Методические указания к лабораторной работе №4 по курсу “ Цифровые устройства и микропроцессоры”/ Добряк В.А., Рагозин В.К.. Екатеринбург: УГТУ, 2001. 21 с.

Микросхемы ЦАП и АЦП: функционирование, параметры, применение. -М.: Энергоатомиздат, 1990.-320с.:ил. Федоров Б.Г., Телец В.А.





Приложение 1





Схема электрическая принципиальная





Приложение 2





Алгоритм основной программы




Алгоритм обработки прерывания таймера 0


Приложение 3



ORG 0H				;начало программы

MOV P0, #0H			;обнуление Р0

MOV P2, #0H			;обнуление Р2

MOV R7, #0H			;номер датчика температуры

SJMP START			;переход на метку START



ORG 0BH			;программа обработки прерывания о таймера 0

MOV TH0, #11111111B 	;"настройка" таймера 0 

MOV TL0, #11101010B		;на нужное время срабатывания

PUSH ACC				;сохранение аккумулятора в стеке

MOV A, P0	;считывание кода температуры одного из		;датчиков

CPL P2.3				;выдача синхросигнала на АЦП

SUBB A, R5			;T>21 ?

JNC T21				;переход, если T>21	 MOV A, P0

SUBB A, #1100001B		;T<19 ?

JC T19				;переход, если T>19

CLR P2.4				;выключение вентилятора

CLR P2.5				;выключение нагревателя

SJMP NEXT			;переход на метку NEXT



T21:	 SETB P2.4			;включение вентилятора

CLR P2.5				;выключение нагревателя

SJMP NOCORRECT		;переход на метку NOCORECT

T19:	SETB P2.5			;включение нагревателя

CLR P2.4				;выключение вентилятора

SJMP NOCORRECT		;переход на метку NEXT




NEXT:		INC R7	 ;настройка на проверку следующего датчика

СJNE R7, #1000B, NOCORRECT	;R7 = 8

MOV R7, #0H			;переход на нулевой датчик 

NOCORRECT:	POP ACC	;извлечение аккумулятора из стека

RETI



START:	MOV TMOD, #00000001B	;настройка таймера 0: 16 битный таймер

MOV TH0, #11111111B		;"настройка" таймера 0

MOV TL0, #11101010B		;на нужное время срабатывания (1 раз за 20 мкс)

SETB TCON.4		;пуск таймера 0

SETB IE.7			;снятие блокировки прерываний

SETB IE.1			;разрешение прерываний от таймера 0



TEMP:		CLR IE.7	;блокировка прерываний

MOV A, P2				;считывание значения Р2

ANL A, #11111000B		;"обнуление" кода номера датчика

ADD A, R7				;добавление "свежего" кода

MOV P2, A				;обновление информации

SETB IE.7				;снятие блокировки прерываний

MOV R5, #1101011B		;код 21 градуса по Цельсию

CLR C				;сброс бита заёма 

SJMP TEMP			;переход на метку TEMP



END					;конец программы 





2