Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







Команды возврата из под программ





RET – если просто подпрограмма;

RETI – возврат из прерывания.

 

Специальные команды (команды управления процессором)

Разрешение/запрещение прерывания (установка битов регистра IE – Interrupt Enable)

NOP – No Operation – пустая команда (для коротких задержек).

 

Тема 6. Реализация логических функций микроконтроллера

Одним из классов задач, реализуемых микроконтроллерами в АСУ ТП, является задача логического управления. Входные и выходные сигналы – булевы переменные. В общем случае, требуется реализация одной или нескольких логических функций:

 

Пример 1: контроллер для функции охранной сигнализации 4 дверей автомобиля будет иметь вид (нарисовать структуру):

У=Х1 V X2 V Х3 V X4, где Х1-Х4 входные сигналы от контактных датчиков, а У – выходной сигнал, поступающий в ИМ – сигнализация.

Пример 2: управление схемой, описываемой логическим уравнением

У= Х1 ^ Х2 V Х3.

Пример 3: У= /Х1 V Х2*Х3 (отметить приоритеты логических операций!).

 

Этапы реализации логических функций

 

Пример: У= Х1 ^ Х2 V/ Х3.

1. Разработка структурной схемы подключения вх. и вых. сигналов к контроллеру для заданной функции:

 

 

ИМ – исполнительный механизм, входные сигналы х1,х2,х3 подключены к порту Р1 (0,1,2 выводы соответственно).

 

2. Построение таблицы истинности для логических функций;

3. Разработка алгоритма реализации;

4. Разработка программы;

5. Трансляция программы для формирования исполняемогообъектного кода.

 

Пусть Log.asm - имя файла логической функции(создан в редакторе блокнот);

ASM51.exe Log.asm -трансляция, (программа–транслятор АSM51.exe)

В результате трансляции получаем два файла:

Log.HEX (16-ричный код программы) .   Log.LST Файл листинга (указаны синтаксические ошибки)

 

Загрузка .HEX файла в симулятор и отладка программы;

6. Оценка результатов:

§ быстродействие;

§ объем программы в байтах;

§ распределение адресного пространства памяти данных и команд.

 

Реализация логической функции с использованием команд условных переходов для функции: У= Х1 ^ х2 v /х3.

 

1.Создание структурной схемы (см. выше);

2. Построение таблицы истинности; Внимание: входные сигналы Х необходимо размещать в таблице истинности в соответствии с подключением к входному порту контроллера (таблицу истинности заполнить самостоятельно).

 

Х3 Х2 Х1 У
       
       
       
       
       
       
       
       

 

3. Разработка алгоритма реализации функции.

Программа функции .

 

$Mod812

M4: CLR P2.5;у=0

JNB P1.0, M1;проверка х1

JNB P1.1, M1

M2: SETB P1.3; y =1

JMP M4

M1: JNB P1.2, M2

JMP M4

END

 

Реализация логических функций (вариант 2)

Второй вариант предусматривает вначале формирование значений всевозможных наборов входных сигналов хранящихся в виде массива данных в резидентной памяти данных контроллера. Значения функций также формируются в отдельном массиве этой же памяти данных. Таким образом, во внутренней памяти данных контроллера необходимо выделить буфер наборов входных сигналов х1,х2,….хn и буфер выходных сигналов y. Автоматическое построение таблицы истинности выполняется самим контроллером. Пусть в некоторой области памяти данных, например с ячейки 20H, формируется таблица истинности, а с ячкйки 30 формируются значения вычисляемой функции У.

 

Память данных:

 

 

Память данных в симуляторе

                 
                 
                 
                 
                 

 

Комбинации входных сигналов (Х3,Х2,Х1) хранятся, начиная с 20 ячейки РПД;

Выходные сигналы У формируются в РПД, начиная с 30 ячейки.

 

Пример: у = х1 х2 V /х3

R0 – регистр адреса памяти данных (входные Х), R0 = 20H

R1 - регистр адреса памяти данных (выходных Y), R1 = 30H

R2 – Cч. количества комбинаций переменных Х, R2 = 08H

 

;Программа

 

$Mod812

 

; начальная установка регистров

START: MOV R0, #20H

MOV R2, #08H

 

; формирование массива таблицы истинности

CLR A

M1: MOV @R0, A

INC A

INC R0

DJNZ R2, M1

 

; установка регистров

 

MOV R0, #20H

MOV R1, #30H

MOV R2, #08H

M5: MOV A, @R0; Ввод {X}

 

; вычисление функции У=Х1Х2 V /Х3

 

JNB acc.0, M3

JNB acc.1, M3

M2: MOV A, #01H; y =1

JMP M4

M3: JNB acc.2, M2

MOV A, #00H; y=0

M4: MOV @R1, A; вывод y в память данных

 

; формирование адресов R0, R1

INC R0

INC R1

DJNZ R2, M5

JMP $; останов программы

END







Конфликты в семейной жизни. Как это изменить? Редкий брак и взаимоотношения существуют без конфликтов и напряженности. Через это проходят все...

Что будет с Землей, если ось ее сместится на 6666 км? Что будет с Землей? - задался я вопросом...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...

Что делать, если нет взаимности? А теперь спустимся с небес на землю. Приземлились? Продолжаем разговор...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.