
- •Введение Структура гибкой производственной системы
- •1. Классификация устройств программного управления
- •2. Принципы построения микропроцессорных систем
- •3. Способы внутрисистемной организации мультимикропроцессорных систем
- •Устройства числового программного управления станками и системы управления промышленными роботами
- •4. 1. Устройство числового программного управления fms-3000
- •4.2. Учпу Маяк600
- •4.3. Система управления рб 242
- •4.4. Су «сфера-36»
- •Микроконтроллеры cisc и risc архитектуры
- •5.1. Выбор микроконтроллера
- •5. 2. Микроконтроллер км1816ве51
- •Устройство управления и синхронизации
- •Порты ввода/вывода информации
- •Таймеры/счётчики
- •Последовательный порт
- •Работа уапп в мультимикроконтроллерных системах
- •Система прерываний
- •Приоритеты прерываний при поллинге
- •Особенности запросов внешних прерываний
- •Программирование мк51 Методы адресации
- •Система команд семейства mк-51
- •Типовая схема построения су на базе мк51
Таймеры/счётчики
Два программируемых 16-битных таймера/счётчика (Т/С0 и Т/С1) могут быть использованы в качестве таймеров или счётчиков внешних событий.
При работе в качестве таймера содержимое Т/С инкрементируется в каждом машинном цикле, т.е. через каждые 12 периодов резонатора.
При работе в качестве счётчика содержимое Т/С инкрементируется под воздействием перехода из 1 в 0 внешнего входного сигнала подаваемого на соответствующий (Т0, Т1) вывод МК51. Опрос значения внешнего входного сигнала выполняется в момент времени S5Р2 каждого машинного цикла. Содержимое счетчика будет увеличено на 1 в том случае, если в предыдущем цикле был считан входной сигнал 1, а в следующем - сигнал 0. Новое (инкрементированное) значение счётчика будет сформировано в момент S3Р1 в цикле, следующем за тем, в котором был обнаружен переход сигнала из 1 в 0. Так как на распознавание требуется два машинных цикла, то максимальная частота пересчета входных сигналов равна 1/24 частоты резонатора.
На длительность периода входных сигналов ограничений сверху нет. Для гарантированного прочтения входного считываемого сигнала он должен удерживать значение «1» как минимум в течение одного машинного цикла МК51.
Для управления режимами работы Т/С и для организации взаимодействия таймеров с системой прерывания используются два регистра специальных функций (РРТС и РУСТ). РРТС - определяет включение и выключение T/C, а также их режимы работы. РУСТ - управляет прерываниями от таймера при переполнении и содержит биты запуска. Используются четыре режима работы Т/С.
Режим 0. Перевод любого Т/С в режим 0 делает из него 13-разрядный счётчик делитель TL=5 и TH=8.
Режим 1. Также как режим 0 с разрядностью 16 бит.
Режим 2. В данном режиме переполнение 8-битного счётчика TL1 приводит к установке флага TF1 и автоматической перезагрузке в TL1 содержимого старшего байта ТН1 таймерного регистра, которое предварительно было задано программным путем. Т/С0 и Т/С1 работают одинаково.
Режим 3. В режиме 3 Т/С1 сохраняет неизменным своё состояние.
Т/С0 - TL0 и ТН0 функционируют как два независимых 8-битных счетчика.
Можно считать, что в режиме 3 МК51 имеет в своем составе три таймера/счётчика. В том случае, если Т/С0 используется в режиме 3, Т/С1 может или включен, или выключен, или переведён в свой собственный режим 3, или может быть использован последовательным портом в качестве генератора частоты передачи.
Последовательный порт
Через универсальный асинхронный приёмопередатчик (УАПП) осуществляется прием и передача информации, представленной последовательным кодом (младшими битами вперёд), в полном дуплексном режиме обмена.
В состав УАПП (последовательного порта) входят принимающий и передающий сдвигающие регистры, а также специальный буферный регистр (SBUF) приёмопередатчика. Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта.
Буферный регистр приёмника позволяет совмещать операцию чтения ранее принятого байта с приёмом очередного байта. Если к моменту окончания приёма байта предыдущий байт не был считан из SBUF, то он будет потерян.
УАПП может работать в четырёх режимах.
Режим 0 (синхронный обмен). В этом режиме информация (8-бит) передаётся и принимается через внешний вывод входа приёмника (RXD). Через TXD выдаются импульсы сдвига (синхронизации), которые сопровождают каждый бит. Частота передачи f0 зависит только от частоты кварцевого резонатора fрез и равна f0=fрез/12. За один машинный цикл передаётся один бит информации.
Режим 1(асинхронный обмен). В данном режиме передаются через TXD или принимаются из RXD 10 бит информации: старт-бит (0), 8 бит данных и стоп-бит (1). Скорость приёма/передачи - величина переменная и задаётся T/C1.
Режим 2 (асинхронный обмен). В этом режиме через TXD передаются или из RXD принимаются 11 бит информации: старт-бит (0), 8 бит данных, программируемый девятый бит и стоп-бит (1). Частота передачи f2 задаётся битом SMOD. При SMOD=0 частота передачи f2=(1/64)fрез, а при SMOD=1 равна f2=(1/32)fрез.
Режим 3 (асинхронный обмен). Режим 3 совпадает с режимом 2, только частота приёма/передачи задаётся T/C1.
В режимах 1 и 3 в формировании частоты передачи кроме управляющего бита SMOD принимает участие T/C1. При этом частота передачи f1,3 зависит от частоты переполнения fOVT1 T/C1 и определяется следующим образом: f1,3=(2SMOD/32)fOVT1. Прерывание от таймера в этом случае должно быть заблокировано. Сам Т/С1 может работать и как таймер, и как счётчик событий в любом из трёх режимов.
Однако наиболее удобно использовать режим таймера с автоперезагрузкой (старшая тетрада ТMOD=0010В). При этом частота передачи определяется выражением f1,3=(2SMOD/32)(fрез/12)(256-(ТН1)). В табл. 5.5 приводится описание способов настройки Т/С1 для получения типовых частот передачи данных через УАПП.