Задание на проектирование
Микроконтроллер системы управления.
Основные требования:
Контролируемые устройства – шесть двоичных датчиков, один переключатель.
Выходные устройства – одно исполнительное и одно устройства сигнализации. Рекомендуемый микропроцессорный комплект – К1816.
В данной курсовой работе требуется разработать устройство управления холодильника.
Содержание
1. Разработка схемы устройства
2. Описание работы прикладной программы
3. Программа устройства на Ассемблере
Приложение 1. Блок-схема основной программы
Приложение 2. Блок-схемы подпрограмм
Приложение 3. Функциональная схема устройства
Приложение 4. Схема электрическая принципиальная
Введение
Развитие микроэлектроники и широкое применение ее изделий в промышленном производстве, в устройствах и системах управления самыми разнообразными объектами и процессами является в настоящее время одним из основных направлений научно-технического прогресса.
Использование микроконтроллеров в изделиях производственного и культурно-бытового назначения не только приводит к повышению технико-экономических показателей изделий (стоимости, надёжности, потребляемой мощности, габаритных размеров) и позволяет многократно сократить сроки разработки и отодвинуть сроки морального старения изделий, но и придаёт им принципиально новые потребительские качества такие как расширенные функциональные возможности, модифицируемость, адаптивность и т.д.
За последние годы в микроэлектронике бурное развитие получило направление, связанное с выпуском однокристальных микроконтроллеров, которые предназначены для «интеллектуализации» оборудования различного назначения.
К настоящему времени более двух третей мирового рынка микропроцессорных средств составляют именно однокристальные микроконтроллеры.
В данной курсовой работе мы рассмотрим один из однокристальных микропроцессоров серии – КВ1816ВЕ51.
1. Разработка схемы устройства
Для решения поставленной задачи необходимо наличие специальных датчиков и исполнительного механизма. Требуются следующие датчики: четыре датчика температуры (по два датчика на камеру), два датчика двери (по одному датчику на камеру), один переключатель (вкл./выкл. на разморозку). В качестве исполнительного механизма используется компрессор, также предусмотрено звуковое сообщение при открытой двери.
Схема контроллера представлена в приложении 3, RC‑цепь требуется для формирования сигнала сброса при включении питания и кварцевый резонатор 12 МГц. Так как для хранения прикладной программы используется РПП, то на вход отключения РПП (ЕА) подается уровень логической «1».
Связь МК51 с датчиками и исполнительными механизмами обеспечивается через имеющиеся порты, а незадействованные порты могут быть в последствии использованы для расширения функциональных возможностей контроллера. Пример подключения датчика представлен на рис. 1.
Рис. 1. Подключение двоичного датчика
Из-за низкой нагрузочной способности выходов МК для всех исполнительных механизмов потребуются усилители мощности.
2. Описание работы прикладной программы
При включении холодильника на микроконтроллер подается питание, которое устанавливает его в исходное состояние. Затем микроконтроллер начинает поочередный опрос датчиков.
Первым опрашивается датчик двери (камера 1), в случае, когда дверь открыта дольше 30 секунд на устройство оповещения подается уровень логической «1» и устройство оповещения выдает звуковой сигнал с интервалом в одну секунду, который продолжает поступать пока не будет закрыта дверь. Затем опрашивается датчик двери (камера 2), в случае если дверь открыта на аналогичный промежуток времени, то выдается звуковой сигнал.
Опросив датчики дверей холодильника начинается опрос температурных датчиков. Сначала опрашиваются температурные датчики камеры 1, которые настроены на температурный интервал от +10С до +80С. В случаи несовпадения температуры с интервальной, подается уровень логической «1» на исполнительное устройство (компрессор) который доводит температуру до требуемых значений. При доведении температуры до требуемого значения происходит отключение компрессора. Далее опрашиваются температурные датчики камеры 2, эти датчики настроены на температурный интервал от -80С до –180С. В случае несовпадения температуры с интервальной, аналогично подается уровень логической «1» на исполнительное устройство (компрессор), который доводит температуру до требуемого значения и отключается.
Затем микроконтроллер проверяет состояние переключателя (вкл/выкл). Если переключатель находится в положении «вкл», включается режим «разморозки», т.е. происходит блокирование внешних устройств. В случае когда переключатель находится в положении «выкл», микроконтроллер заново начинает поочередный опрос датчиков.
3. Программа устройства на Ассемблере
; Определение символических имён
; Определение символических имён бит порта 1
CBITP1.0; датчик температуры +1 (камера 1)
DBITP1.1; датчик температуры +8 (камера 1)
EBITP1.2; датчик двери (камера 1)
FBITP1.3; компрессор
GBITP1.4; сигнал
HBITP1.5; датчик температуры -18 (камера 2)
IBITP1.6; датчик температуры -8 (камера 2)
JBITP1.7; датчик двери (камера 2)
; Определение символических имён бит порта 2
KBITP2.0; вкл/выкл (разморозка)
; Программа
CALLALARM; вызов подпрограммы ALARM
CALLONESEC; вызов подпрограммы ONESEC
JMPL0; перейти на метку L0
CALLPAUSE; вызов подпрограммы PAUSE
CALLALARM; вызов подпрограммы ALARM
CALLONESEC; вызов подпрограммы ONESEC
JMPL2; перейти на метку L2
L3: JNBD, L4; прейти на метку L4 если бит равен 0
SETBF; установка бита
L4: JNBC, L4; прейти на метку L4 если бит равен 0
CLRF; сброс бита
JBI, L5; прейти на метку L5 если бит равен 0
SETBF; установка бита
L5: JNBH, L5; прейти на метку L5 если бит равен 0
CLRF; сброс бита
L6: JNBK, START; прейти на метку START если бит равен 0
JMPL6; перейти на метку L6
; Подпрограммы
ALARM: SETBG; установка бита
CALLONESEC; вызов подпрограммы ONESEC
CPLG; инвертировать бит G
RET; возврат
Подпрограмма задержки на 30 секунд
PAUSE: MOVR6,#30; загрузить в регистр R6 константу
CALLONESEC; вызов подпрограммы ONESEC
DJNZR6, PAUSE; декремент регистра R6 и переход если не 0
RET; возврат
; Подпрограмма задержки на 1 секунду
ONESEC:MOVR7,#20; загрузить в регистр R7 константу
SEC: CALLDELAY; вызов подпрограммы DELAY
DJNZ R7, SEC; декремент регистра R7 и переход если не 0
RET; возврат
; Подпрограмма задержки на 50 мс
DELAY:MOVTMOD,#0001B; установка таймера /счетчика в режим 1
MOVTH0,#65536; загрузить в регистр TH0 константу
MOVTL0,#15536; загрузить в регистр TL0 константу
SETBTCON.4; пуск таймера / счетчика
DEL:JNBTCON.5, DEL; ожидание переполнения таймера / счетчика
CPLTCON.4; остановка таймера / счетчика
CPLTCON.5; сброс флага
RET; возврат
Список используемых источников
1. Сташин В.В., Урсулов А.В., Мологонцева О.Ф. Проектирование цифровых устройств на одно-кристальных микроконтроллерах. М.: Энерго-атомиздат, 1990. 224 с.
2. Методические указания к лабораторной работе №2 по курсу «Цифровые устройства и микропроцессоры» В.А. Добряк, В.К. Рагозин. Екатеринбург: Изд-во УГТУ, 1999. 32 с.
Приложение 1. Блок-схема основной программы
Нет
Да
Пауза 1с |
Да
Приложение 2. Блок-схема подпрограмы
Пауза 1с |
G=0 |