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

3 Таймеры. То как измеритель длительности импульса

Т0 как измеритель длительности импульса:

Использование таймера в качестве измерителя ширины импульсов. Известно, что измерение длительности импульса можно произвести, подсчитав импульсы эталонной частоты. Принцип измерения длительности импульсов иллюстрируется рисунком 8. Для измерения длительности импульса измеряемый сигнал подается на вывод микроконтроллера INTx и в бит управления GATE записывается разрешающий сигнал логической единицы. Таймер/счетчик настраивается в режим таймера записью в бит C/Tx логического нуля. Содержимое таймера обнуляется. Пример программы измерения длительности импульса приведен на рисунке 9.

Рисунок 8. Принцип измерения длительности импульсов

mov TMOD,#00001001b

;||||||||

;||||||++--Перевести таймер T0 в шестнадцатиразрядный режим

;|||||+----Синхронизироваться от внутреннего генератора

;||||+-----Включать таймер от ножки микроконтроллера INT0

;||++------Перевести таймер T1 в тринадцатиразрядный режим

;|+--------Синхронизироваться от внутреннего генератора

;+---------Запретить управление таймером от ножки INT1

mov TH0, #0 ;Обнулить старший байт таймера

mov TL0, #0 ;Обнулить младший байт таймера

setb TR0 ;Включить измеритель ширины импульса

TstLog0: jnb INT0, TstLog0 ;Подождать начало импульса (начало - 1)

TstLog1: jnb INT0, TstLog1 ;Подождать конец импульса (надо вроде jb)

Clr TR0 ;Отключить измеритель ширины импульса

Рисунок 9. Программа измерения длительности импульсов

Если теперь на вход микроконтроллера INT0 подать импульс с неизвестной длительностью, то в регистрах TH0 и TL0 будет записана его длительность в микросекундах.

4 Система команд. Как изменится состояние асс после команды xrl a,#01h?

Система команд. Как изменится состояние Acc после команды xrl a, #01h

В ACC произойдет инверсия младшего бита. (сложение по модулю 2)

Смотрим систему команд: XRL A,#data : Exclusive-OR immediate to A, т.е. исключающее ИЛИ аккумулятора и единицы, результат будет помещен в тот же аккумулятор. Что именно будет в аккумуляторе - зависит от предыдущего его состояния. Но на прямой вопрос - прямой ответ: в аккумуляторе будет результат "исключающего ИЛИ" аккумулятора и единицы.

01H = 00000001B = 1. Сравнивает значение в А с числом “1”. Если в А лежит число “1”, тогда в А будет “0”.

Билет 10

  1. Порты. Какое состояние вывода имеет порт р1.0 микроконтроллера 180с51 после команды setb р1.0, если он управляет транзисторным биполярным ключем?

К примеру, вывод порта может использоваться для управления базой n-p-n транзистора. В этом случае, когда в защелку вывода порта записывается "1", транзистор открывается. Если после этого ОМЭВМ прочитает состояние внешнего контакта рассматриваемого вывода порта, то получит значение логического "0", т. к. на контакте в это время присутствует напряжение базы открытого транзистора. Чтение же выхода защелки покажет истинное значение сигнала на выводе порта, т. е. "1".