Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Диплом_ПЗ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.84 Mб
Скачать

7. Разработка алгоритма функционирования микроконтроллера at89c52

Рассмотрим алгоритм функционирования микроконтроллера, входящего в состав ЦИТ. Алгоритм мы будем разрабатывать на уровне его описания, т.к. по ТЗ на дипломное проектирование разработку программного обеспечения выполнять не требуется.

Включение устройства в сеть вызывает сброс микроконтроллера. После сброса начинает выполняться заложенная в него программа. Согласно ТЗ, время прогрева устройства не должно быть более 90 с. По первичным оценкам, необходимое время прогрева составляет 60 с. В течение этого времени микроконтроллер не выполняет никаких действий по управлению другими интегральными компонентами схемы, он выдает на семисегментные индикаторы информацию о текущем режиме — прогреве — в заданном виде, например, индицирует на экране три десятичных точки, или символы «ПРГ». После окончания прогрева на цифровом табло должно индицироваться текущее значение температуры, и система начинает работать в штатном режиме.

Управление АЦП осуществляется следующим образом. Выше было указано, что АЦП должно делать две выборки в секунду для обеспечения измерения температуры с требуемой частотой обновления информации. В данном случае микроконтроллер имеет достаточно внутренней памяти для хранения переменных и проведения расчетов. К используемым при вычислении температуры переменным можно отнести разность температур спаев и температуру холодного спая, суммирование которых дает искомый результат измерений. Кроме того, потребуется ряд вспомогательных переменных.

Алгоритм осуществления единичной выборки может быть представлен следующим образом. Когда внутренний счетчик отсчитывает необходимое количество импульсов (они задают временные интервалы при функционировании микроконтроллера), начинается новый цикл оцифровки. На входе CONVST АЦП формируется перепад из нуля в единицу, запускающий оцифровку. АЦП выполняет её, и по окончании процесса дает импульс длительностью 100 нс на выходе ЕОС. Он воспринимается микроконтроллером, который дает команду на вывод информации в виде параллельного кода, устанавливая на входе RD низкий уровень напряжения, и, после появления параллельного кода на выходах АЦП, устанавливает на входе RD высокий уровень напряжения. Последнее приводит к переходу информационных выводов АЦП в третье (высокоимпедансное) состояние. До перевода в это состояние микроконтроллер должен считать данные с информационных выводов АЦП.

Управление датчиком температуры осуществляется реализацией протокола I2C с последующей расшифровкой информации о температуре. Микроконтроллер является ведущим устройством, а датчик температуры — ведомым; обмен данными между ними осуществляется по двум линиям (см. выше). Микроконтроллер считывает данные с частотой обновления информации о температуре.

В случае если абсолютная температура холодного спая, измеряемая интегральным датчиком, окажется больше предельно допустимого значения, например, 70 0С, микроконтроллер должен выдавать предупреждение о тепловой перегрузке устройства на экран и во внешнее устройство через интерфейс RS-232. В качестве сигнала о перегреве на семисегментный индикатор может выдаваться сочетание символов «ПР».

После дешифрирования нового значения разности температур, снятого с термопары, оно замещает старое в памяти микроконтроллера и используется при расчетах текущего значения температуры.

Работа через RS-232, как отмечалось выше, осуществляется при помощи аппаратно реализованных последовательных приемопередатчиков. Для вывода значения температуры необходимо побайтно передавать его в приемопередатчик, который передаст его в виде последовательного кода. Прием осуществляется в обратном порядке. Преобразователь уровней MAX232CPE не требует управления со стороны микроконтроллера, поэтому между ними имеются только информационные потоки, а управление отсутствует.

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

Обработка данных в микроконтроллере. В микроконтроллер поступают данные в виде выборок (оцифрованный сигнал с термопары) и информация о температуре холодного спая термопары. При необходимости на микрокотроллер можно присылать информацию через интерфейс RS-232, например, с персонального компьютера. Кроме того, в микроконтроллер должны быть программно заложены интервалы времени между запросами информации о температуре.

Перед выполнением математических операций в микроконтроллере необходимо дешифрировать информацию о текущей температуре и значении усиленного напряжения, поступающего с термопары. Значение напряжения на выходе аналогового каскада (с учетом погрешности оцифровки) может быть вычислено по формуле , где Uop — опорное напряжение, равное в нашем случае 5 В, DB11, DB10, …, DB0 — переменные, каждой из которых присваивается нулевое или единичное значение в зависимости от того, что имеется в данном разряде кода после текущего цикла оцифровки. Если в нем логическая единица, то и переменной присваивается единичное значение; в противном случае ей присваивается нулевое значение. После вычисления значения напряжения на выходе усилительного каскада рассчитывается значение текущего значения разности температур как , где U — значение усиленного напряжения; K0 — стандартный коэффициент усиления аналогового каскада, равный 553; = 10 мкВ/К — коэффициент термоэдс для данного сочетания материалов термопары.

За цикл расчета (0,5 с) микроконтроллер рассчитывает текущее значение температуры горячего спая как сумму разности температур и абсолютного её значения для холодного спая, и затем выдает результат на индикаторы и во внешнее устройство через интерфейс RS-232.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]