Разработка микропроцессорной системы контроля

Тип работы:
Курсовая
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

СОДЕРЖАНИЕ

ПОСТАНОВКА ЗАДАЧИ И ИСХОДНЫЕ ДАННЫЕ

1 Описание назначения и устройства микропроцессорной системы контроля

2 Описание функциональной схемы микропроцессорной системы контроля

3 Расчет статической характеристики канала измерения

4 Разработка алгоритма функционирования микропроцессорной системы контроля

5 Разработка программы для микропроцессорной системы контроля

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

ПОСТАНОВКА ЗАДАЧИ И ИСХОДНЫЕ ДАННЫЕ

Разрабатываемая МП система должна осуществлять контроль концентрации газа и обеспечивать:

· индикацию значений концентрации и режима работы системы

· сигнализацию превышения предельно допустимого значения концентрации

· автоматическое отключение (блокировку) подачи газа при превышении концентрации в течение заданного времени

· сброс блокировки и подачу газа по команде с клавиатуры при допустимом значении концентрации

— предельное значение концентрации;

#АЦП = 0 — номер входа АЦП;

— задержка срабатывания блокировки;

# OUT 1 = Р1.1 — номер линии для управления сигнализацией;

# OUT 2 = Р1.2 — номер линии для управления блокировкой;

«1» + «*" — комбинация нажатия кнопок для сброса блокировки.

1 ОПИСАНИЕ НАЗНАЧЕНИЯ И УСТРОЙСТВА МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ КОНТРОЛЯ

Микропроцессорная система контроля служит для индикации значения концентрации и режима работы системы, сигнализации превышения предельно допустимого значения концентрации, автоматического отключения (блокировки) подачи газа при превышении концентрации в течение заданного времени, сброса блокировки и подачи газа по команде с клавиатуры при допустимом значении концентрации.

Микропроцессорная система контроля состоит из микропроцессорной системы, клавиатуры, индикатора, двух сигнализирующих лампочек (L1 «сигнализация», L2 «блокировка») и усилителя.

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

Первый выход микропроцессорной системы подключен к сигнализирующей лампочке L1 «сигнализация». Второй выход микропроцессорной системы соединен с сигнализирующей лампочкой L2 «блокировка» и электромагнитным клапаном, служащим для подачи газа в аппарат. Третий и четвертый выходы микропроцессорной системы соединены с клавиатурой и индикатором.

2 ОПИСАНИЕ ФУНКЦИОНАЛЬНОЙ СХЕМЫ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ КОНТРОЛЯ

3

Электромагнитный клапан KL может находиться в двух состояниях: 0 — клапан закрыт и 1 — клапан открыт.

Сигнализирующие лампочки L1 «сигнализация», L2 «блокировка» также могут находиться только в двух состояниях: 0 — лампочка не горит, 1 — лампочка горит.

Сигналом с клавиатуры, поступающим на второй вход микропроцессорной системы, можно осуществлять подачу газа клавишей «2», переход в режим «ожидание» клавишей «1» и снятие блокировки клавишами «1» + «*».

Микропроцессорная система может работать в трех режимах:

regim 1 — ожидание сигнала «рабочий режим» при закрытом электромагнитном клапане;

regim 2 — подача газа в аппарат до заданного значения концентрации с переходом после превышения заданного значения концентрации в течение заданного времени в regim 3 (блокировка) с возможностью подачи сигнала «ожидание» с клавиатуры;

regim 3 — автоматическая блокировка подачи газа в аппарат при превышении заданного значения концентрации в течение заданного времени с возможностью перехода в рабочий режим при нажатии клавиш «1» + «*» и при допустимом значении концентрации.

3 РАСЧЕТ СТАТИЧЕСКОЙ ХАРАКТЕРИСТИКИ КАНАЛА ИЗМЕРЕНИЯ

Напряжение на выходе термокондуктометрического газоанализатора:

,

где — концентрация монооксида углерода;

— радиус нити;

— радиус камеры детектора;

— ток нити;

— длина нити;

— сопротивление нити;

— температурный коэффициент сопротивления платиновой проволоки;

— теплопроводность воздуха;

— теплопроводность монооксида углерода.

Статическая характеристика вторичного преобразователя имеет вид:

,

где — коэффициент усиления; - выходной сигнал усилителя.

;

Статическая характеристика канала измерения будет выглядеть следующим образом:

4 РАЗРАБОТКА АЛГОРИТМА ФУНКЦИОНИРОВАНИЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ КОНТРОЛЯ

На рисунке 1 представлена блок-схема алгоритма функционирования микропроцессорной системы контроля.

В блоке 1 производится настройка индикатора для отображения информации и инициализация таймера/счетчика 0.

В блоке 2 задается regim 1 и устанавливается предельное значение концентрации 0,2.

В блоке 3 производится проверка, является ли regim 1 текущим режимом. При невыполнении этого условия программа переходит к блоку 8.

В блоке 4 производится закрытие электромагнитного клапана.

В блоке 5 осуществляется отключение сигнализирующих лампочек.

В блоке 6 производится проверка, нажата ли клавиша «2». При выполнении этого условия программа переходит к блоку 7, где устанавливается regim 2, в противном случае — к блоку 3.

В блоке 8 производится проверка, является ли regim 2 текущим режимом. При невыполнении этого условия программа переходит к блоку 18.

В блоке 9 выполняется подпрограмма индикации С (х).

В блоке 10 производится открытие электромагнитного клапана и присваивается начальное значение переменной time=0.

В блоке 12 производится проверка, нажата ли клавиша «1». При выполнении этого условия программа переходит к блоку 13, где устанавливается regim 1.

В блоке 14 выполняется проверка превышения концентрации при regim 2. При невыполнении этого условия программа переходит к блоку 8.

В блоке 15 производится включение сигнализирующей лампочки L1.

В блоке 16 выполняется проверка превышения заданного времени. При не выполнении этого условия программа переходит к блоку 14, в противном случае — к блоку 17, где устанавливается regim 3.

В блоке 18 производится проверка, является ли regim 3 текущим режимом. При невыполнении этого условия программа переходит к блоку 3.

В блоке 19 производится закрытие электромагнитного клапана и выполняется подпрограмма индикации С (х).

В блоке 20 производится проверка превышения предельного значения концентрации. При выполнении этого условия программа переходит к блоку 21, в котором включает сигнализирующие лампочки L1 и L2, иначе — к блоку 22, где включает сигнализирующую лампочку L2 и выключает L1.

В блоке 23 производится проверка нажатия клавиш «1» + «*» при допустимом значении концентрации. При невыполнении этого условия программа переходит к блоку 18, иначе — к блоку 24, в котором устанавливается regim 2.

На рисунке 2 представлена блок-схема алгоритма опроса клавиатуры.

В блоке 1 инициализируется переменная scan для опроса первого столбца клавиатуры.

В блоке 2 производится проверка окончания сканирования последнего столбца. Если условие выполняется, то программа переходит к блоку 4, где осуществляется выход из подпрограммы. Если нет, то программа переходит к блоку 3.

В блоке 3 производится вывод значения переменной scan в порт P4 для сканирования клавиатуры.

В блоке 5 осуществляется ввод с порта P4 и присвоение этого значения переменной key.

В блоке 6 выполняется проверка факта нажатия кнопки в опрашиваемом столбце.

При обнаружении нажатой кнопки выполняется блок 7, в котором производится возвращение в основную программу значения переменной key, в противном случае — блок 8.

Блок 8 осуществляет модификацию переменной scan путем сдвига влево для сканирования следующего столбца.

В блоке 9 производится инкрементация переменной scan. Далее программа переходит к блоку 2.

На рисунке 3 представлена блок-схема алгоритма индикации С (х).

В блоке 1 инициализируется переменная chan.

В блоке 2 производится проверка равенства бита ADCS=1 регистра ADCON. Если условие выполняется, то АЦП не готов к выполнению новых преобразований и программа возвращается к блоку 2. Если нет, то программа переходит к блоку 3.

В блоке 3 устанавливаются биты ADR0-ADR2 для выбора канала АЦП.

В блоке 4 производится проверка равенства бита ADCI=1 регистра ADCON. Если условие не выполняется, то программа переходит к блоку 6, где осуществляется установление бита ADCS в 0, с последующим переходом к блоку 11. Если да, то программа переходит к блоку 5.

В блоке 5 выполняется присвоение переменной nx факта нажатия кнопки в опрашиваемом столбце.

В блоке 7 осуществляется расчет напряжения Ux.

В блоке 8 осуществляется расчет текущего значения концентрации Сх.

В блоке 9 производится индикация значения концентрации Сх.

В блоке 10 выполняется сброс бита ADCI в 0.

В блоке 11 возвращается в основную программу значения переменной Сх.

На рисунке 4 представлена блок-схема алгоритма обработки прерывания.

В блоке 1 инкрементируется переменная time.

В блоке 2 производится установка старшего байта таймера 0.

В блоке 3 устанавливается младший байт таймер

5 РАЗРАБОТКА ПРОГРАММЫ ДЛЯ МИКРОПРОЦЕССОРНОЙ СИСТЕМЫ КОНТРОЛЯ

HELLO. C

Copyright 1995−1999 Keil Software, Inc.

#include < REG552. H>

#include < stdio1. h> /* prototype declarations for I/O functions */

unsigned char xdata wr_ir _at_ 0x7ff0;

unsigned char xdata rd_ir _at_ 0x7ff1;

unsigned char xdata wr_dr _at_ 0x7ff2;

unsigned char xdata rd_dr _at_ 0x7ff3;

unsigned char scan;

unsigned char key;

char chan=0×00;

float Ux, Cx, C0=0. 2;

int nx, time=0, regim=1;

bit KL=0;

void wrc (unsigned char ir) {

unsigned char bf;

do{bf=rd_ir& 0×80;}

while (bf≠0);

wr_ir =ir; }

unsigned char rdc (void) {

unsigned char bf;

do{bf=rd_ir& 0×80;}

while (bf≠0);

return rd_ir; }

void wrd (unsigned char dr) {

unsigned char bf;

do{bf=rd_ir& 0×80;}

while (bf≠0);

wr_dr =dr; }

unsigned char rdd (void) {

unsigned char bf;

do{bf=rd_ir& 0×80;}

while (bf≠0);

return rd_dr; }

// вывод одного символа

void putchar (unsigned char cm) {

if ((cm & 0xC0) == 0xC0)

cm = tcod[cm & 0x3F];

wrd (cm); }

// подпрограмма вывода строки по-русски

void puts (const unsigned char *str) {

unsigned char i = 0;

while (str[i] ≠ 0) {putchar (str[i]); i++; }}

The main C function. Program execution starts

here after stack initialization.

unsigned char klav (void) {

scan=0xFE;

while (scan≠0xF7){

P4=scan;

key=P4;

if ((key& 0×78)≠0×78)

{return key; }

scan=scan< <1;

scan++;

return 0; }

float C (void)

chan=0×00;

ADCON=(ADCON& 0xF8)

void INT1(void) interrupt 1 {time++; TH0=0×4С; TL0=0×50;}

void main (void) {

// инициализация HD44780

wrc (0×38); //2 строки, 5*8 точек,

wrc (0×06); // вывод слева-направо

wrc (0×01); // очистка

wrc (0x0c); // экран вкл., курсор выкл.

IEN0=0×82;

TMOD=0×01;

TR0=1;

while (1) {wrc (0×80);

printf («измерение концентрации: «);

while (regim==1) {wrc (0xCB); printf («ожидание «); KL=0; P1=0×00;

if (klav ()==0xF5){regim=2; }

while (regim==2) {wrc (0xCB); printf («рабочий режим «); C (); KL=1; time=0; P1=0×00;

if (klav ()==0xF6) {regim=1; }

while ((C ()> C0)&(regim==2)) {P1=0×02;

wrc (0xCB);

printf («cигнализация»);

if (time> 200) {regim=3; }

while (regim==3) {wrc (0xCB); printf («блокировка «); KL=0;

if (C ()> C0) {P1=0×06; }

else {P1=0×04; }

if ((klav ()==0xB4)& (C ()<C0)){regim=2;}

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

1. Архитектура микроконтроллеров семейства MCS-51: конспект лекций/ Бояринов А. Е., Дьяков И. А. Тамбов: Изд-во Тамб. гос. тех. ун-та, 2005. 64с.

2. Микропроцессоры в системах контроля: методические указания/ Бояринов А. Е. Тамбов: Изд-во Тамб. гос. тех. ун-та, 2005. 44с.

ПоказатьСвернуть
Заполнить форму текущей работой