Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовой по МС УС_Плаксицкий.doc
Скачиваний:
225
Добавлен:
22.02.2016
Размер:
3.73 Mб
Скачать

7 Разработка структуры программного обеспечения и общего алгоритма управления

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

Рисунок 9 – Структурная схема управления объектом

Блок «инициализация» выполняет начальную установку системы: настройку периферийных модулей, посылку в выходные каналы начальных значений управляющих воздействий и т. д.

Блок «обработка полученной информации и формирование выходных сигналов» реализует задачу логического управления: принимает информацию от двоичных датчиков , вычисляет значение булевой функцииX1, X2, X3, X4, X5, X6 и выдает это значение в качестве управляющего сигнала Y1 по соответствующему выходному каналу на исполнительный механизм. А также обеспечивает прием информации с аналоговых датчиков V1, V2 ее преобразование в цифровую форму, вычисление значений управляющих воздействий Y2, YЗ, Y4 и выдачу их на исполнительные механизмы. При выполнении этого блока учитывается значение уставки, заданное оператором с пульта.

8 Разработка алгоритма работы блока чтения информации с цифровых датчиков

Алгоритм считывания информации с бинарных датчиков представлен на рисунке 10.

Рисунок 10 – Считывание информации с бинарных датчиков

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

В блоке 2 осуществляется вычисление булевой функции:

.

В блоке 3 осуществляется оценка вычисленной функции, если f(x) = 1, тогда осуществляется переход на блок 5, где вырабатывается сигнал Y1=1, длительностью Т1(379 мкс), в соответствии с заданием на курсовую работу. В случае если f(x) ≠ 1, то осуществляется переход на блок обработки аналоговой информации.

9 Разработка алгоритма работы блока чтения информации с аналоговых датчиков

Алгоритм считывания информации с аналоговых датчиков представлен на рисунке 11.

Рисунок 11 – Считывание информации с аналоговых датчиков

Рисунок 12 – Алгоритм обработки полученной информации

В блоке 1 происходит вычисление значение функции N=max(N1; N2+K). В зависимости от результата сравнения значения функции N и константы Q вырабатывается сигнал длительностью Y2(96 мкс) или Y3 (712 мкс).

TMR1- 16 разрядный таймер/счетчик, состоящий из двух 8-разрядных регистром (TMR1H и TMR1L) доступных для чтения и записи. Счет выполняется в спаренных регистах (TMR1H:TMR1L), инкрементируя их значение от 0000h до FFFFh, далее считается с 0000h. При переполнении счетчика устанавливается в ‘1’, флаг прерывания TMR1IF в регистре PIR1<0>.

Для формирования сигналов Y1-Y3, Y5 будем использовать таймер TMR1. Предделитель выбираем 1:1. На таймер приходит частота 4МГц/4=1МГц.

;------------НАСТРОЙКА TMR1-------------------------

;(СЛУЖИТ ДЛЯ ФОРМИРОВАНИЯ ВЫХОДНЫХ СИГНАЛОВ Т1,Т2,Т3,Т5)

BANKSEL T1CON

MOVLW B'00001000' ;ПРЕДДЕЛИТЕЛЬ 1:1, ВНУТРЕННИЙ ТАКТОВЫЙ ГЕНЕРАТОР

MOVWF T1CON ;ТАЙМЕР ВЫКЛЮЧЕН

Значит имеем: Т1=379 мкс (379 импульсов по 1мкс). Переведем 379 в шестнадцатеричную систему (379d=17Bh). Так как таймер 16-ти разрядный, то FFFFh-17Bh =FE84h, полученное значение записываем в регистр TMR1.

MOVLW 0x84

MOVWF TMR1L

MOVLW 0xFE

MOVWF TMR1H

Для сигналов Y2, Y3 и Y5 поступаем аналогичным образом

T2 = 96 мкс (96 импульсов по 1мкс). Переведем 96 в шестнадцатеричную систему (96d = 60h). Так как таймер 16-ти разрядный, то FFFFh-60h =FF9Fh, полученное значение записываем в регистр TMR1.

MOVLW 0x9F

MOVWF TMR1L

MOVLW 0xFF

MOVWF TMR1H

T3 = 712мкс (712 импульсов по 1мкс). Переведем 712 в шестнадцатеричную систему (712d = 2C8h). Так как таймер 16-ти разрядный, то FFFFh-2C8h=FD37h, полученное значение записываем в регистр TMR1.

MOVLW 0x37

MOVWF TMR1L

MOVLW 0xFD

MOVWF TMR1H

T5 = 30 мкс (30 импульсов по 1мкс). Переведем 30 в шестнадцатеричную систему (30d= 1Eh). Так как таймер 16-ти разрядный, то FFFFh-1Eh=FFE1h, полученное значение записываем в регистр TMR1.

MOVLW 0xE1

MOVWF TMR1L

MOVLW 0xFF

MOVWF TMR1H

Рисунок 13 – Алгоритм обработки полученной информации

В блоке 1 осуществляется первичная инициализация АЦП.

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

В блоке 3 осуществляется считывание величины К – это 8 разрядный код установки, поступающий с тумблерного регистра пульта управления.

В блоке 4 вычисляется значение функции N=max(N1; N2+K), в соответствии с заданием.

В блоке 5 осуществляется сравнение результатов вычисления функции N с константой Q хранящейся в регистре МК. Если N<Q, то осуществляется переход на блок 6, где вырабатывается двоичное управляющее воздействие Y2 длительностью T2 (96 мкс). Если функция N>Q, то осуществляется переход на блок 7, где вырабатывается двоичное управляющее воздействие Y3 длительностью T3(712 мкс).

В блоке 8 выдается значение Y4, которое представляет собой переменную N.