Курсовая работа: Обработка сигналов на основе MCS-51
CPL С ; инверсия бита
MOV Р2.0, С ; передача инверсии бита
CPL С ; восстановление бита
NOP;
NOP ; выравнивание длины интервалов
NOP;
MOV P2.0, С ; передача прямого значения бита
DJNZ R0, LOOP ; цикл, если счетчик не нулевой
Передача начинается с младших битов. Продолжительность одного интервала 6 машинных циклов (6 мкс), время передачи одного бита – 12 мкс, время передачи байта – 96 мкс (скорость передачи 83 кбит/с, или 10,4 кбайт/с).
Пример 35. Пошаговый режим работы. Для его реализации необходимо:
- запрограммировать одно из внешних прерываний (к примеру INT0) на активизацию по уровню;
- в подпрограмме обработки прерывания ожидать последовательность «1» – «0» на входе INT0 (вывод P3.2), задаваемую, например, с помощью кнопки.
В основной программе необходимо дописать следующее:
SETB ІЕ.0 ; разрешение прерывания уровня 0
CLR TCON.0 ; прерывания разрешены по нулевому уровню
…; продолжение основной программы
Подпрограмма обработки прерывания должна закончиться следующими командами:
…; подпрограмма обработки
L1: JNB P3.2, L1 ; ожидание уровня 1
L2: JB P3.2, L2 ; ожидание уровня 0
RETI ; возвращение и выполнение одной; команды основной программы; после чего снова происходит ; возвращение в подпрограмму.
Пример 36. Обращение к медленным микросхемам внешней памяти. Программным путем можно задать необходимую длительность импульсов WR и RD. Например, если сигнал должен длиться 50 мкс, то это осуществляется так:
CLR P3.7 ; =0
MOV R3,#24D ; инициализация счетчика (2 мкс)
L0: DJNZ R3, L0 ; цикл (24*2 мкс)
SETB P3.7 ; =1
5. Взаимодействие МК с объектом управления
Пример 3 Опрашивание двоичного датчика, например, конечного выключателя.
Ключ подключен к входу MCS-51: порт 1, разряд 3.