Триггер Шмитта реализован на операционном усилителе и элементах , , , , защищающих входы операционного усилителя от перенапряжений, и резисторе , определяющем коэффициент возврата реле.
На неинвертирующий вход триггера Шмитта подаётся напряжение с выхода ЦАП, реализованного на микросхеме и операционном усилителе .
Выходной сигнал триггера Шмитта преобразуется к логическим уровням цифровых микросхем с помощью резистора , стабилитрона и поступает на вход порта ввода-вывода микропроцессорной системы .
На выходах ... и , порта формируется десятиразрядный двоичный код, подаваемый на соответствующие входы ЦАП.
Опорное напряжение для ЦАП формируется с помощью переменного резистора .
К выходу порта через инвертор, выполненный на логическом элементе , и ограничительный резистор подключен светодиод , выполняющий функцию сигнализации. Если реле сработало, то светодиод светится.
Для выполнения лабораторной работы дополнительно потребуется цифровой вольтметр.
Основная программа для микропроцессорного реле приведена в табл. 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).
Ссылка на скачивание - внизу страницы.