Триггер Шмитта реализован на операционном усилителе и элементах
,
,
,
, защищающих входы операционного усилителя
от перенапряжений, и резисторе
, определяющем коэффициент
возврата реле.
На неинвертирующий вход триггера Шмитта подаётся
напряжение с выхода ЦАП, реализованного на микросхеме
и операционном усилителе
.
Выходной сигнал триггера Шмитта преобразуется к
логическим уровням цифровых микросхем с помощью резистора , стабилитрона
и
поступает на вход
порта ввода-вывода микропроцессорной
системы
.
На выходах ...
и
,
порта
формируется
десятиразрядный двоичный код, подаваемый на соответствующие входы ЦАП.
Опорное напряжение для ЦАП формируется
с помощью переменного резистора
.
К выходу порта
через инвертор, выполненный на логическом
элементе
, и ограничительный резистор
подключен светодиод
, выполняющий функцию сигнализации. Если
реле сработало, то светодиод светится.
Для выполнения лабораторной работы дополнительно потребуется цифровой вольтметр.
Основная программа для микропроцессорного реле приведена в табл. 6.1. Эта программа использует три подпрограммы ADC, DELAY и RELAY, приведенные в табл. 6.2 ... 6.4.
Таблица 6.1
Основная программа
Адрес HEX |
Данные HEX |
Метка |
Команда |
Комментарий |
0800 |
3E 89 |
MVI A,89h |
Настройка порта ввода-вывода |
|
0802 |
D3 93 |
OUT RUW |
||
0804 |
16 00 |
LP3: |
MVI D,00h |
Число, выводимое в порт |
0806 |
06 02 |
MVI B,02h |
Число циклов при работе АЦП |
|
0808 |
0E 02 |
MVI C,02h |
Маска №1: 00000010 |
|
080A |
1E FD |
MVI E,FDh |
Маска №2: 11111101 |
|
080C |
3E 00 |
MVI A,00h |
Вывод числа 00000000 |
|
080E |
D3 91 |
OUT PORTB |
в порт В |
|
0810 |
7A |
LP1: |
MOV A,D |
Наложение маски на число, |
0811 |
B1 |
ORA C |
выводимое в порт |
|
0812 |
D3 90 |
OUT PORTA |
Вывод старшего байта |
|
0814 |
57 |
MOV D,A |
||
0815 |
CD 60 08 |
CALL ADC |
Однократный запуск АЦП |
|
0818 |
05 |
DCR B |
Декремент счётчика циклов |
|
0819 |
C2 10 08 |
JNZ LP1 |
Циклический возврат |
|
081C |
7A |
MOV A,D |
Вывод окончательного |
|
081D |
D3 90 |
OUT PORTA |
значения старшего байта |
|
081F |
6A |
MOV L,D |
Сохранение старшего байта |
|
0820 |
16 00 |
MVI D,00h |
Число, выводимое в порт |
|
0822 |
06 08 |
MVI B,08h |
Число циклов при работе АЦП |
|
0824 |
0E 80 |
MVI C,80h |
Маска №1: 10000000 |
|
0826 |
1E 7F |
MVI E,7Fh |
Маска №2: 01111111 |
|
0828 |
7A |
LP2: |
MOV A,D |
Наложение маски на число, |
0829 |
B1 |
ORA C |
выводимое в порт |
|
082A |
D3 91 |
OUT PORTB |
Вывод младшего байта |
|
082C |
57 |
MOV D,A |
||
082D |
CD 60 08 |
CALL ADC |
Однократный запуск АЦП |
|
0830 |
05 |
DCR B |
Декремент счётчика циклов |
|
0831 |
C2 28 08 |
JNZ LP2 |
Циклический возврат |
|
0834 |
7A |
MOV A,D |
Вывод окончательного |
|
0835 |
D3 91 |
OUT PORTB |
значения младшего байта |
|
0837 |
CD 90 08 |
CALL RELAY |
Однократный пуск реле |
|
083A |
C3 04 08 |
JMP LP3 |
Бесконечный цикл |
Таблица 6.2
ADC – подпрограмма запуска АЦП
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.