Разработка микропроцессорного устройства датчика температуры
- Добавлен: 26.04.2026
- Размер: 1 MB
- Закачек: 0
Подписаться на ежедневные обновления каталога:
Описание
Разработка микропроцессорного устройства датчика температуры
Состав проекта
|
|
|
|
|
|
|
|
Материал представляет собой zip архив с файлами, которые открываются в программах:
- AutoCAD или DWG TrueView
- Microsoft Word
Дополнительная информация
Контент чертежей
Графическая часть.dwg
Алгоритм выполнения программы
Функциональная схема микропроцессорной системы
Микропроцессорная система.nСхема электрическая принципиальная
Микропроцессорная система.nДокументы прочие
Инициализация системы
Начало прерывания от Т0
Установить таймер Т0
Конец прерывания от Т0
Начало прерывания от INT1
Конец прерывания от INT1
Алгоритм работы системы
Алгоритмы обработки прерываний
Начало прерывания от INT0
Конец прерывания от INT0
Установка таймера Т0
Проверка нажатых кнопок?
Расчет мгновенной температуры
Расет среднесуточной температуры
Вывод температуры на ССИ
ИнициализацияnУстанавливаем порты в исходное состаяние
Настройка таймераnна режим 1 устанавливаем время 50 мс разрешаем прерывания.
Проверка нажатых кнопокn60H=1?
Расчет мгновенного значения температуры
Превышает граничные значения ?
Обработка данных для вывода на ССИ
Формирование слова ЕPP
Расчет среднесуточного значения температуры
Титульник.doc
Министерство образования и науки Российской Федерации
ГОСУДАРСТВЕННОЕ УЧРЕЖДЕНИЕ
ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
БЕЛОРУССКО-РОССИЙСКИЙ УНИВЕРСИТЕТ
Кафедра «Электропривод и АПУ»
Разработка микропроцессорного устройства датчика температуры
студент группы АЭП-091
Консультант по проекту:
Пояснительная записка
Пояснительная записка МПС.doc
1 Описание принципа работы объекта 5
2 Функциональная схема микропроцессорной системы 7
Разработка аппаратной части системы 9
1 Краткое описание микропроцессорного комплекта 9
2 Организация памяти микропроцессорной системы 21
3 Расчет и выбор элементов сопряжения 23
3.1 Выбор терморезистора и элементов схемы сопряжения его с АЦП. 23
3.3 Выбор индикатора и элементов сопряжения с ним 24
3.5 Выбор конденсаторов 25
4 Описание схемы электрической принципиальной 26
Разработка программного обеспечения системы 27
1 Краткое описание системы команд микроконтроллера 27
2 Описание общего алгоритма работы системы 32
3 Описание алгоритма решения задачи 33
Список использованной литературы 36
В связи с ростом вычислительной мощности микропроцессоров появилась
возможность использовать эти универсальные устройства в различных областях
Согласно заданию необходимо разработать датчик температуры на основе
микропроцессорного комплекта MCS-51 был выбран контроллер этого семейства
AT89C51. Тип датчика – терморезистор.
Данный датчик должен снимать мгновенные значения температуры а так
же на основе полученных значений высчитывать среднесуточные значения
температуры также должен выводить предупреждение при превышении диапазона
температуры. Данное устройство должно выводить числовую информацию на
семисегментный индикатор (ССИ). В устройстве будет три кнопки: кнопка
включенияотключения кнопка показаний среднесуточной температуры кнопка
показаний мгновенных значений. После включения устройство будет работать в
режиме показания мгновенного значения температуры. Диапазон температур: -50
÷ 100 С . Точность устройства будет ± 2 С . Точность можно увеличить
если усовершенствовать программный код.
Разработка функциональной схемы системы
Описание принципа работы объекта
В данном курсовом проекте необходимо использовать в качестве
датчика температуры терморезистор по-другому его называют
термопреобразователь сопротивления. Принцип действия их основан на том
что все проводники и полупроводники имеют температурный коэффициент
сопротивления сокращенно ТКС. Это примерно то - же что и известный всем
коэффициент температурного расширения: при нагревании тела расширяются.
Следует заметить что все металлы обладают положительным ТКС.
Другими словами электрическое сопротивление проводника увеличивается при
возрастании температуры. Здесь можно вспомнить тот факт что лампы
накаливания перегорают чаще всего в момент включения пока спираль холодная
и сопротивление ее невелико. Отсюда и повышенный ток при включении.
Полупроводники имеют отрицательный ТКС при увеличении температуры их
сопротивление уменьшается в отличии от проводников.
То есть в качестве датчика будет использоваться резистор с переменным
в зависимости от температуры сопротивлением. Каждому терморезистору будет
соответствовать своя таблица сопротивлений. Таблица сопротивлений – таблица
значений сопротивления терморезистора в зависимости от его температуры.
Для измерения изменяющегося сопротивления терморезисторов
используется большое количество схемотехнических решений. В данном проекте
будет использоваться делитель напряжения представленный на рисунке 1
Рисунок 1 – делитель напряжения
Для снятия значений напряжения используют специальные устройства
для преобразования аналогового сигнала в цифровой код. Такие устройства
называются АЦП(Аналогово-цифровой преобразователь).
2 Функциональная схема микропроцессорной системы
Функциональная схема системы приведена на рисунке 2 и в графической
В данной схеме можно выделить следующие блоки:
датчик температуры (ДТ) – изменяет значения сопротивления в зависимости от
блок согласования (БС) – служит для связи датчика температуры с
микропроцессорным устройством;
блок ввода аналогового сигнала (БВА) – преобразует аналоговые значения
поступающие с датчика в цифровые;
блок расчета температуры (БРТ) – служит для расчета температуры в
соответствии с таблицей сопротивления датчика;
блок расчета среднесуточной температуры (БРСТ) –служит для расчета
среднесуточной температуры;
блок обработки индикации (БОИ) – служит для подготовки вывода информации на
индикатор (ИНД) – служит для визуализации информвции ;
таймер (Т) – служит для отсчетов промежутков времени;
блок обработки клавиатуры (БОК) – служит для подготовки ввода информации с
клавиатура (К) – служит для ввода информации в микропроцессорную систему.
Рисунок 2 – функциональная схема микропроцессорной системы
Разработка аппаратной части системы
1 Краткое описание микропроцессорного комплекта
В данном проекте используется 8-разрядный КМОП микроконтроллер с
- Совместимость с приборами семейства MCS-51TM
- Емкость перепрограммируемой Flash памяти: 4 Кбайт 1000 циклов
- Напряжение питания 5±20% B
- Полностью статический прибор - диапазон рабочих частот от 0 Гц до 24
- Группы по частотам: 12 МГц 16 МГц 20 Мгц и 24 Мгц
- Трехуровневая блокировка памяти программ
СОЗУ емкостью 128 байтов
- 32 программируемых линий вводавывода
- Два 16-разрядных таймерасчетчика событий
- Шесть источников сигналов прерывания
- Программируемый последовательный канал UART
- Пассивний (idle) и стоповый (power down) режимы
- Промышленный (-40°С 85°C) коммерческий (0°C 70°C) диапазоны
КМОП микроконтроллер АТ89С51 оснащенный Flash программируемым и
стираемым ПЗУ совместим по системе команд и по выводам со стандартными
приборами семейства MCS-51TM. Микроконтроллер содержит 4 Кбайта Flash ПЗУ
8 байтов ОЗУ 32 программируемых линий вводавывода два 16-разрядных
таймерасчетчика событий полнодуплексный последовательный порт (UART)
пять векторных двухуровневых прерывания встроенный генератор и схему
формирования тактовой последовательности.
Существуют два варианта микроконтроллеров АТ89С51: с возможностью
внутрисистемного программирования с использованием при программировании
напряжения 5 В и программирование с использованием напряжения 12 В
применяемого в большинстве программаторов.
Содержимое Flash памяти программ может быть защищено от
несанкционированной записисчитывания. Имеется возможность очистки Flash
памяти за одну операцию возможность считывания встроенного кода
Потребление в активном режиме на частоте 12 Мгц не превышает 20
мА и в пассивном режиме при котором остановлено ЦПУ но система
прерываний ОЗУ таймерысчетчики событий и последовательный порт остаются
активными потребление не превышает 5 мА. В стоповом режиме потребление не
превышает 100 мкА и 20 мкА при напряжении питания 6 В и 3 В
Микроконтроллер АТ89С51 ориентирован на использование в качестве
встроенного управляющего контроллера.
Структурная схема контроллера приведена на рисунке 3.
Рисунок 3 – структурная схема контроллера AT89C51
Более подробное описание AT89C51 приведено в литературе [1].
2 Организация памяти микропроцессорной системы
Распределение памяти контроллера приведено на рисунке 4.
МК семейства MCS51 имеют внешний вывод EA# с помощью которого можно
запретить работу внутренней памяти программ для чего необходимо подать на
вывод EA# “0”. При этом внутренняя память программ отключается и начиная с
нулевого адреса все обращения происходят к внешней памяти программ с
формированием сигнала PSEN#. В случае если EA#=1 работают и внутренняя и
внешняя память программ. Для МК не имеющих внутренней памяти программ для
нормальной работы всегда необходимо задавать EA#=0.
Таким образом доступ к внешней памяти программ осуществляется в двух
при действии сигнала EA#=0 независимо от адреса обращения
в любом случае если программный счетчик (PC) содержит число большее чем
Если центральный процессор осуществляет доступ к внешней памяти
программ сигнал PSEN# вырабатывается дважды во время каждого машинного
цикла (исключение составляет команда MOVC) независимо от того необходим
или нет выбираемый байт для текущей команды. При выборке из внешней памяти
программ всегда используется 16-разрядный адрес младший байт которого
выдается через порт Р0 а старший байт - через порт Р2 МК. Байт из внешней
памяти программ вводится в МК через порт Р0 который в этом случае
используется как шина адресаданных в режиме мультиплексирования.
Память данных состоит из внешней памяти данных и внутренней памяти
данных. Каждая из них имеет свое пространство адресов так как доступ к ним
осуществляется с помощью разных команд.
Внешняя память данных: для работы с внешней памятью данных существуют
специальные команды MOVX которые не влияют на внутреннюю память данных МК.
Таким образом в системе могут одновременно присутствовать внутренняя
память данных с адресами 00h-0FFh и внешняя память данных с адресами 0000h-
FFFFh. Обращение к ячейкам внешней памяти данных осуществляется только с
использованием косвенной адресации по регистрам R0 и R1 активного банка
регистров внутреннего ОЗУ (команды типа MOVX Ri) или по регистру
специальных функций DPTR (команды типа MOVX DPTR). Соответственно в первом
случае будет формироваться 8-разрядный а во втором случае 16-разрядный
адреса внешней памяти данных.
При обращениях к внешней памяти данных адрес выводится через порт Р0
(младший байт) и порт Р2 (старший байт) МК. Обмен байтом данных (запись и
чтение) производится через порт Р0 МК т. е. порт Р0 используется как шина
адресаданных в режиме мультиплексирования.
Считывание данных из внешней памяти данных в МК производится с помощью
выходного сигнала МК RD# а запись данных из МК во внешнюю память данных с
помощью выходного сигнала МК WR#.
Внутренняя память данных: в архитектуре MCS-51 пространство адресов
внутренней памяти данных объединяет все внутренние программно доступные
ресурсы. Это пространство размером 256 байт в свою очередь делится на:
пространство адресов внутреннего ОЗУ с адресами 00h-7Fh (размером
пространство адресов регистров специальных функций занимающее
Физически внутреннее ОЗУ данных и область регистров специальных функций
являются отдельными устройствами.
Все ячейки внутреннего ОЗУ данных могут адресоваться с использованием
прямой и косвенной адресации.
Область внутреннего ОЗУ. В этой области памяти выделяются два особых
младшие 32 адреса занимают четыре регистровых банка (Банк0-БанкЗ на
рис.5) каждый из которых содержит по восемь регистров общего
назначения R0-R7. Текущий банк определяется значением разрядов RS0
RS1 регистра PSW. Команды программы могут обращаться к регистрам
используя их имена R0-R7. Таким образом младшие 32 ячейки этой
части ОЗУ кроме адресов имеют имена. Наличие такого механизма
работы с ячейками ОЗУ позволяет экономить память программ т. к.
команды работающие с регистрами R0-R7 короче команд использующих
следующие после банков регистров внутреннего ОЗУ данных 16 ячеек
(адреса 20h-2Fh) образуют область ячеек к которым возможна
поразрядная адресация. Набор команд МК семейства MCS-51 содержит
значительное количество инструкций (команд) позволяющих работать с
отдельными разрядами (битами) используя при этом прямую адресацию.
8 разрядов (бит) составляющих рассматриваемую область внутреннего
ОЗУ данных имеют адреса 00h-7Fh и предназначены для работы с такими
инструкциями. Разрядная (битовая) адресация ОЗУ показана на рис. 5
где в квадратах символизирующих разряды (биты) указаны их адреса.
Рис. 5. Разрядная (битовая) адресация ОЗУ
Обращение к внутреннему ОЗУ данных всегда осуществляется с
использованием 8-разядного адреса.
На рис. 6 изображена область регистров специальных функций. В нее
включены все программно доступные регистры (управления и данных): регистры-
фиксаторы портов регистры таймеровсчетчиков регистры управления и т.п.
Эти регистры допускают только прямую адресацию.
АСС Аккумулятор основной операционный регистр
В Дополнительный регистр для операций умножения и деления; в
других командах может рассматриваться как обычный РОН
PSW Регистр хранящий слово состояния программы
IP Регистр приоритетов прерываний
РЗ Регистр порта РЗ
IE Регистр разрешения прерываний
Р2 Регистр порта Р2
SBUF Регистр данных последовательного порта
SCON Регистр управления последовательного порта
Р1 Регистр порта Р1
ТН1 Старший регистр таймерасчетчика 1
ТН0 Старший регистр таймерасчетчика 0
TL1 Младший регистр таймерасчетчика 1
TL0 Младший регистр таймерасчетчика 0
TMOD Регистр режима таймеровсчетчиков
TCON Регистр управления таймеровсчетчиков
PCON Регистр управления энергопотреблением
SP Регистр указателя стека
DPH DPL Указатель данных DPTR состоит из регистра старшего байта
DPH и регистра младшего байта DPL содержит 16-разрядный
адрес для обращения к внешней памяти данных
Р0 Регистр порта Р0
3 Расчет и выбор элементов сопряжения
3.1 Выбор терморезистора и элементов схемы сопряжения его с АЦП.
Наибольшее распространение получили терморезисторы серии pt100.
Выберем терморезистор pt100-2 он имеет только 2 вывода.
Данный резистор представлен на рисунке 7.
Рисунок 7 – терморезистор pt100-2
Таблица сопротивлений терморезистора представлена на рисунке 8.
Рисунок 8 - таблица сопротивлений терморезистора pt100-2.
Терморезистор при температуре 0 С будет иметь сопротивление
0 Ом то есть в схеме делителя напряжения второй резистор будет иметь
сопротивления тоже 100 Ом. Выберем обычный резистор МЛТ – 0.25 – 100 Ом.
АЦП в основном различаются на два вида: последовательные
параллельные. Последовательные характеризуются тем что для их работы
необходимо всего 3-5 выводов микроконтроллера но зато они обладают более
низкой скоростью преобразования относительно АЦП параллельного действия.
Что касается АЦП параллельного действия то все разряды преобразованного
сигнала снимаются одновременно с ножек АЦП соответственно это увеличивает
скорость но при этом необходимо использовать большее количество выводов
контроллера. Так же АЦП характеризуются разрядностью чем выше разрядность
– тем больше точность соответственно дороже АЦП.
В данном проекте не важно количество выводов (их более чем
достаточно у АТ89С51) цена нам тоже не важна поэтому выбираем 12
разрядный АЦП параллельного действия AD1674. Его характеристики диаграммы
работы и назначение выводов представлены в литературе [2].
3.3 Выбор индикатора и элементов сопряжения с ним
Для данного устройства достаточно четырехразрядного
семисегментного индикатора. В первый разряд будет заносится знак в три
последующих трехзначное число значения температуры. Выберем индикатор типа
MPX4-CA. Это индикатор с общим катодом. Номинальный ток диодов(Id): 12мА.
Напряжение питания(Uп) соответственно 5 В. Найдем нужное нам сопротивления
для обеспечения нормального свечения диодов по следующей формуле:
R=UпId=50.0012=4.2кОм
Из ряда Е24 выбираем резистор сопротивлением 4.3кОм. Выбираем
резистор МЛТ- 0.25 – 4.3 кОм.
Для построения систем с использованием многоразрядных ССИ в
целях экономии выходов контроллера используются сдвиговые регистры. В
процессе разработки проекта был и изучен сдвиговой регистр серии 74HC164.
Подробное его описание можно прочитать в [3]. Он был добавлен в проект и
смог сэкономить 6 выводов контроллера.
3.4 Расчет и выбор кнопок
Кнопки выбираем исходя из напряжения равного 5 вольт.
3.5 Выбор конденсаторов
Для более стабильного запуска микроконтроллера к выходом
кварцевого резонатора подключаются конденсаторы емкостью 30пФ.
Для того чтобы сработал сброс(reset) всех параметров контроллера
необходимо после подачи питания на контроллер удерживать сигнал на входе
reset некоторое время для этих целей используется конденсатор емкостью
7мкФ. Для устранения помех используются конденсаторы емкостью 0.1 мкФ.
4 Описание схемы электрической принципиальной
Схема электрическая принципиальная приведена в графической части.
На схеме электрической принципиальной(СЭП) представлено устройство
измерения температуры на базе терморезистора pt100-2.
Центральным узлом СЭП является микросхема микроконтроллера AT89C51 с
внешним кварцевым резонатором QZ1. Для отображения информации в
микропроцессорной системе предусмотрен CCИ MPX4-CA. Для того чтобы
сэкономить выводы контроллера при подключении данного индикатора подключаем
сдвиговый регистр 74HC164.
К терморезистору подключен второй резистор вместе они образуют
делитель напряжения.
В схеме присутствует АЦП служащий для преобразования сигналов с
делителя напряжения в цифровой код.
Кнопка SB1 служит для включения или отключения устройства.
Кнопка SB2 служит для переключения режима отображения среднесуточной
Кнопка SB3 служит для переключения режима отображения температуры в
реальный момент времени.
Разработка программного обеспечения системы
1 Краткое описание системы команд микроконтроллера
Система команд АТ89С51 содержит 111 базовых команд которые удобно
разделить по функциональному признаку на пять групп: команды передачи
данных арифметических операций логических операций передачи управления и
Первый байт команды любого типа и формата всегда содержит код
операции (КОП). Второй и третий байты содержат либо адреса операндов либо
непосредственные операнды.
Группа команд пересылки данных:
Большую часть команд данной группы составляют команды передачи и
обмена байтов. Команды пересылки бит представлены в группе команд битовых
операций. Все команды данной группы не модифицируют флаги результата за
исключением команд загрузки PSW и аккумулятора (флаг паритета).
Обращение к внешней памяти данных. Режим косвенной адресации ВПД
реализован в АТ89С51. При использовании команд MOVX Ri обеспечивается
доступ к 256 байтам внешней памяти данных.
Существует также режим обращения к расширенной ВПД когда для
доступа используется 16-битный адрес хранящийся в ретистре-указателе
данных (DPTR). Команды MOVX DPTR обеспечивают доступ к 65 536 байтам ВПД.
Некоторые из команд этой группы представлены на рисунке 7.
Рисунок 7 - группа команд пересылки данных
Группа команд арифметических операций:
Данную группу образуют 24 команды (рис.8) выполняющие операции
сложения десятичной коррекции инкрементадекремента байтов.
Рисунок 8 - группа команд арифметических операций
Группа команд логических операций:
Данную группу образуют 25 команд (рис.9) реализующих логические
операции над байтами.
Рисунок 9 - группа команд логических операций
Группа команд операций с битами:
Отличительной особенностью данной группы команд (рис.10) является то
что они оперируют с однобитными операндами. В качестве таких операндов
могут выступать отдельные биты некоторых регистров специальных функций
(РСФ) и портов а также 128 программных флагов пользователя. Существуют
команды сброса (CLR) установки (SETB) и инверсии (CPL) бит а также
конъюнкции и дизъюнкции бита и флага переноса. Для адресации бит
используется прямой восьмиразрядный адрес (bit). Косвенная адресация бит
Рисунок 10 – группа команд операций с битами
Группа команд передачи управления:
К данной группе команд (рис.11) относятся команды обеспечивающие
условное и безусловное ветвление вызов подпрограмм и возврат из них а
также команда пустой операции NOP. В большинстве команд используется прямая
адресация т.е. адрес перехода целиком (или его часть) содержится в самой
команде передачи управления. Можно выделить три разновидности команд
ветвления по разрядности указываемого адреса перехода.
Длинный переход. Переход по всему адресному пространству ПП. В команде
содержится полный 16-битный адрес перехода (ad 16). Трех байтные команды
длинного перехода содержат в мнемокоде букву L (Long). Всего существует две
такие команды: LJMP - длинный переход и LCALL - длинный вызов подпрограммы.
На практике редко возникает необходимость перехода в пределах всего
адресного пространства и чаще используются укороченные команды перехода
занимающее меньше места в памяти.
Абсолютный переход. Переход в пределах одной страницы памяти программ
размером 2048 байт. Такие команды содержат только 11 младших бит адреса
перехода (ad 11). Команды абсолютного перехода имеют формат 2 байта.
Начальная буква мнемокода - A (Absolute). При выполнении команды в
вычисленном адресе следующей по порядку команды ((РС)= (PC) + 2) 11 младших
бит заменяются на ad11 из тела команды абсолютного перехода.
Относительный переход. Короткий относительный переход позволяет
передать управление в пределах -128 - +127 байт относительно адреса
следующей команды (команды следующей по порядку за командой относительного
перехода). Существует одна команда безусловного короткого перехода SJMP
(Short). Все команды условного перехода используют данный метод адресации.
Относительный адрес перехода (rel) содержится во втором байте команды.
Косвенный переход. Команда JMP A + DPTR позволяет передавать
управление по косвенному адресу. Эта команда удобна тем что предоставляет
возможность организации перехода по адресу вычисляемому самой программой и
неизвестному при написании исходного текста программы.
Условные переходы. Развитая система условных переходов предоставляет
возможность осуществлять ветвление по следующим условиям: аккумулятор
содержит нуль (JZ); содержимое аккумулятора не равно нулю (JNZ); перенос
равен единице (JC); перенос равен нулю (JNC); адресуемый бит равен единице
(JB); адресуемый бит равен нулю (JNB).
Для организации программных циклов удобно пользоваться командой DJNZ
которая работает аналогично соответствующей команде МК48. Однако в качестве
счетчика циклов в МК51 может использоваться не только регистр но и
прямоадресуемый байт (например ячейка РПД).
Команда CJNE эффективно используется в процедурах ожидания какого-либо
события. Например команда
будет выполняться до тех пор пока на линиях порта 0 не установится
информация совпадающая с содержимым аккумулятора.
Все команды данной группы за исключением CJNE и JBC не оказывают
воздействия на флаги. Команда CJNE устанавливает флаг C если первый
операнд оказывается меньше второго. Команда JBC сбрасывает флаг C в случае
Подпрограммы. Для обращения к подпрограммам необходимо использовать
команды вызова подпрограмм (LCALL ACALL). Эти команды в отличие от команд
перехода (LJMP AJMP) сохраняют в стеке адрес возврата в основную
программу. Для возврата из подпрограммы необходимо выполнить команду RET.
Команда RETI отличается от команды RET тем что разрешает прерывания
обслуженного уровня.
Рисунок 11 - группа команд передачи управления
Более подробное описание команд представлено в [4].
2 Описание общего алгоритма работы системы
Данная программа работает в замкнутом цикле который называется
рабочий цикл устройства.
После нажатия кнопки «Start» происходит настройка таймера на режим 1
установка времени 50 мс разрешение прерываний от таймера T0 источников
int0 и int1. Затем происходит инициализация она включает в себя настройку
портов в исходное состояние. Затем проверяется условие нажатых кнопок. Если
последний была нажата кнопка SB1 то дальше идет подпрограмма работы с АЦП
то есть снимаются значения приходящие с АЦП. После того эти значения
обрабатываются в соответствии с таблицей сопротивлений терморезистора PT100-
обработанные данные записываются в память контроллера. После проверяются
данные по граничным условиям если полученные значения не превышают
номинальных(запланированных программно) то вызывается подпрограмма
подготовки вывода этих данных на ССИ и соответственно затем значения
температуры выводятся на ССИ. Если же значения превысили или получились
меньше запланированных то выводится сообщение об ошибке ЕРР. Если же была
нажата кнопка SB3 то вызывается подпрограмма расчета среднесуточной
температуры затем происходит подготовка значений для вывода на ССИ и
соответственно вывод на ССИ. Алгоритмы системы и обработки прерываний
представлены на рисунке 12.
Рисунок 12 – алгоритмы работы системы и обработки прерываний
3 Описание алгоритма решения задачи
Листинг программы приведен ниже:
CSEG AT 00H;; NACHALO RABOTI SCHETCHIKA
LJMP PEREHOD NA GLAVNUU PROGRAMMU
;;;PRERIVANIE OT TAIMERA
ORG 0FFH ;;ORGANIZACIY PRERIVANIY OT TAIMERA
INC R5 ;SCHITAEM 50MS
INC R6 ;; SCHITAEM SEKUNDI
INC 048h ;SCHITAEM MINUTI
INC 049H ;; OTSCHITIVAEM POLSUTOK
MOV 050H045H ;; ZAPISIVAEM ZNACHENIE DATCHIKA CHEREZ 12 SUTOK
MOV 052H045H ;; ZAPISIVAEM ZNACHENIE DATCHIKA CHEREZ SUTKI
;OBRABOTKA PRERIVANIY OT INT1
KLIN: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;VIZOV PRERIVANIY OT INT0
;PRERIVANIE VIZOV TAIMERA
; VIZOV PRERIVANIY OT INT1
;;;VIZOV NASTROIKI TAIMERA
CLR TCON.0 ;NASTROIKA INT0 NA SREZ
CLR TCON.2 ;NASTROIKA INT1 NA SREZ
MOV TMOD#1 ;VIBOR REZHIMA TAIMERA 1
SETB IE.7 ; OBSCHEE RAZRESHENIE PRERIVANII
;;; VIZOV CHTENIY S ACP
;;;VIZOV ABRABOTKI DANNIX S ACP
OBRABOTKAaCP SEGMENT CODE
JC PEREHOD V OSHIBKU
CJNE A#8 VIYVLENIE CHISLA
; ESLI OSHIBKA ZNACHENIE PRIVISHAET NUZHNOE
;;;;;;;;;;;;;;;;PEREHOD ESLI NE -50 -38
;;;;;;;;;;;;;;;;;;;;;;;;MOHNO VIVODIT REZULTAT OT -50 DO -38
HLEB4: ; VIVODIM ZNACHENIY OT -36 DO -5
;;;;; VIVODIM -36 -5
CALL NULL ;;; VIVOD MINUSA
CALL DELAY ;;; ZADERZHKA
;; ZNACHENIY OT -5 DO 0
CJNE A#7;;PEREHOD V OSHIBKU
;;; ESLI ZNACHENIE PRIVISHAET -5 0 C TO PER
;;;VIVODIM OT 0 DO 50
CALL ;; VIZOV OSHIBKI
;;;PODPROGRAMMA OBRABOTKI OSHIBKI
SETB GORIT 2 SEGMENT e
WRITEWITHSSI SEGMENT CODE
CALL ; VNOSIM ZNACHENIY IZ ACP V BUFER SSI
PER31: CJNE R2#0PER3 ;DESDESYTKI
PER9: CJNE R2#7PER10
PER10: CJNE R2#8PER11
PER11: CJNE R2#9PER12
PER12: CJNE R3#0 EDINICI
PER13: CJNE R3#1PER14
PER14: CJNE R3#2PER15
PER15: CJNE R3#3PER16
PER16: CJNE R3#4PER17
PER17: CJNE R3#5PER18
PER18: CJNE R3#6PER19
PER19: CJNE R3#7PER20
PER20: CJNE R3#8PER21
PER21: CJNE R3#9PER22
;; VNOSIM ZNACHENIY IZ ACP V BUFER SSI
SAVE EQU 42H; HRANIT VIVODIMOE ZNACHENIE
;;; DAL'SHE VIVODIM CIFRI OT 0 DO 9
NUMBER0 SEGMENT CODE
NUMBER1 SEGMENT CODE
NUMBER2 SEGMENT CODE
NUMBER3 SEGMENT CODE
NUMBER4 SEGMENT CODE
NUMBER5 SEGMENT CODE
NUMBER6 SEGMENT CODE
NUMBER7 SEGMENT CODE
NUMBER8 SEGMENT CODE
NUMBER9 SEGMENT CODE
GLAVNAY SEGMENT CODE
CSEG ;AT 0FFH ; TEPER SCHETCHIK BUDET SCHITAT OT SUDA
CJNE A#1 PEREHOD NA PODSCET SREDNEGO ZNACHENIY
;ACALL VIZOV NASTROIKI TAIMERA
CALL VIZOV CHTENIY S ACP
CALL VIZOV ABRABOTKI DANNIX S ACP
LJMP ;;;PEREHOD NA PODSCET SREDNEGO ZNACHENIY
В результате выполнения курсовой работы было разработано
микропроцессорное устройство измерения мгновенного значения температуры с
датчика температуры типа терморезистор pt100-2. Устройство может также
измерять среднесуточное значение температуры а если значения превысит
номинальное или будит слишком мало то на экран ССИ выводится
предупреждение в виде (ЕРР).
Данное устройство было собрано и проверено в программе позволяющей
моделировать микропроцессорные системы Proteus(ISIS 7).
Данное устройство и .hex файл к нему можете скачать с моей странице
Список использованной литературы
Москатов Е. А. Справочник по полупроводниковым приборам. — М.:
Журнал "Радио" 2005.- 208 с.: ил.
Справочная книга радиолюбителя-конструктора. Под редакцией Н.И.
Честякова. – М.: «Радио и связь»1990. - 617с.: ил.
Рекомендуемые чертежи
- 24.01.2023
- 29.07.2014
- 11.05.2020
Свободное скачивание на сегодня
Обновление через: 52 минуты