Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Синхронизироваться от внутреннего генератора ;|+-----Включать таймер от ножки микроконтроллера 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”.
Дата публикования: 2015-01-24; Прочитано: 383 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!