Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
печать шпоры мпт.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
708.61 Кб
Скачать

2. Формирование временных задержек с помощью таймеров

Методы формирования временной задержки с программным опросом флага переполнения таймера. Допустим, что надо сформировать импульс низкого уровня длительностью 10 мс на выводе P1.7 микроконтроллера. Тактовая частота работы fCLK = 12 МГц. Для формирования задержки используем таймер T/C0 в режиме 1. Число, которое необходимо загрузить в таймер при его инициализации:

65536 – 10000 = 55536 = D8F0H.

Программа формирования импульса может иметь вид:

ORG 0000H

TIMER_1: MOV TMOD, #01H ; Режим 1 для T/C0

MOV TH0, #0D8H ; Загрузить старший байт

MOV TL0, #0F0H ; Загрузить младший байт

CLR P1.7 ; Вывод P1.7 0

SETB TR0 ; Запустить таймер

COUNT: JNB TF0, COUNT ; Ожидание переполнения

; таймера 393

SETB P1.7 ; Вывод P1.7 1

CLR TR0 ; Остановить таймер

STOP: JMP STOP ; Зацикливание программы

END

Необходимо сформировать импульс на выводе P1.7 длительностью 2 с. Будем полагать, что таймер обеспечивает задержку на 50 мс. Для получения задержки на 2 с необходимо 40 раз запускать и останавливать таймер. Для получения задержки на 50 мс надо первоначально загрузить в таймер число 65536 – 50000 = 15536 = 03B0H.

Программа формирования импульса в этом случае имеет вид:

ORG 0000H

TIMER_2: MOV TMOD, #01H ; Режим 1 для T/C0

MOV R7, #40 ; Загрузить счетчик

; переполнений таймера

CLR P1.7 ; Вывод P1.7 0

AGAIN: MOV TH0, #03H ; Загрузить старший байт

MOV TL0, #0B0H ; Загрузить младший байт

SETB TR0 ; Запустить таймер

COUNT: JNB TF0, COUNT ; Ожидание переполнения

; таймера

CLR TR0 ; Остановить таймер

CLR TF0 ; Сбросить флаг

;переполнения таймера

DJNZ R7, AGAIN ; Повторить цикл 40 раз

SETB P1.7 ; Вывести P1.7 1

STOP: JMP STOP ; Зацикливание программы

END

3.Виды клавиатур

По способам аппаратурной реализации различают два типа клавиатур: кодирующую и некодирующую. В клавиатурах первого типа схемным путем на выходе формируется код, соответствующий нажатой клавише. Значительно более широкое распространение получили дешевые некодирующие (мат­ричные) клавиатуры, которые представляют собой простую матрицу двоичных переключате­лей, включенных на пересечении строк и колонок матрицы. Идентификация (кодирование) нажатой клавиши в таких клавиатурах выполняется программой.