Главная » Статьи для тега "прерывание"

Программирование последовательного порта Bascom-8051

Добавлено Дата: 16 February, 2013 категория: Bascom-8051, Basic, Железо

Применение      последовательного      асинхронного      порта      предусматривается      в      большинстве микропроцессорных  систем.  Даже  в  тех  случаях,  когда  он  не  нужен  для  работы  схемы,  его  используют  (и необходимо использовать) на этапе отладки программы, для  технологической настройки или при испытаниях. Последовательный порт процессора 8051  способен одновременно принимать и передавать данные, что требует такого  построения  программ,  в  которых  процессы  приема  и  передачи  независимы.  А  вследствие  того,  что последовательный порт относится к разряду медленных устройств, то часто при  программировании требуется осуществлять прием и передачу параллельно работе основной  программы. Чтобы организовать параллельную работу программ ввода (приема), вывода (передачи) и обработки данных приходится задействовать прерывание. Лучше всего для этого  использовать прерывание последовательно интерфейса, происходящего при заполнении регистра  SBUF-приемника  (после  приема  байта)  и  опустошении  регистра  SBUF-передатчика  (после  выдачи байта). Возможен и экзотический вариант временного разделения задач приема, передачи и обработки с помощью прерывания  одного  из  таймеров.  В  любом  случае,  реализация  всех   возможностей  и  интенсивной  работы последовательного порта представляется очень сложной программной задачей.

Читать »

Программирование прерываний Bascom-8051

Добавлено Дата: 13 February, 2013 категория: Bascom-8051, Basic, Железо

Система  прерываний  процессора  8051  обеспечивает  эффективную  обработку   внешних   событий  и процессов с временным разделением. С помощью программ прерываний решается широкий круг задач, в основе которых лежит параллельная отработка нескольких процессов, и связь действий и событий с отметками реального времени. Bascom позволяет  полностью использовать возможности системы прерываний как стандартных, так и более старших моделей. При программировании прерываний возможно несколько подходов:

Читать »

Правила оформления ассемблерных вставокв тексте программ для компилятора «Bascom-8051»

Добавлено Дата: 24 December, 2012 категория: Bascom-8051, Basic, Железо

1      Текст ассемблерных вставок должен содержать только стандартные команды  микроконтроллера 8051. Исключение составляет командва SWAP, совпадающая с похожей  командой Bascom. Ассемблерную команду SWAP необходимо применять с префиксом «!» (таким образом – !Swap) В мнемонику команд без дополнительных определений входят: регистры  R0-R7, @R0, @R1,  A, DPTR; бит C; символ указания непосредственных данных  -

Читать »

Реализациясистемыобработкипрерываний

Добавлено Дата: 14 April, 2012 категория: Ядро Linux

Возможно,  не  вызовет удивления,  что  реализация  системы  обработки  прерываний  в операционной системе  Linux очень  сильно  зависит  от аппаратной  платформы.  Она  зависит  от типа  процессора, типа  контроллера прерываний,  особенностей аппаратной  платформы  и устройства  самой  вычислительной  машины.

Читать »

Обработчики прерываний

Добавлено Дата: 5 April, 2012 категория: Ядро Linux

Функция,  которую выполняет  ядро в ответ на определенное  прерывание,  называется   обработчиком   прерывания   (interrupt   handler)   ил и  подпрограммой  обслуживания прерывания (interrupt service routine). Каждому  устройству, которое  генерирует прерывания, соответствует свой обработчик  прерывания.  Например,  одна функция  обрабатывает прерывание  от системного таймера,  а другая — прерывания, сгенерированные  клавиатурой.  Обработчик  прерывания  для какого-либо устройства является  частью драйвера этого устройства — кода ядра,  который управляет устройством.

Читать »

Прерывания и обработка прерываний

Добавлено Дата: 4 April, 2012 категория: Ядро Linux

правление аппаратными устройствами, которые подключены к вычислительной  машине, — это одна из самых ответственных функций ядра.  Частью  этой работы является необходимость взаимодействия с отдельными устройствами машины. Поскольку процессоры обычно  работают  во много  раз быстрее, чем аппаратура, с которой они должны  взаимодействовать, то для ядра  получается неэффективным отправлять запросы и тратить  время, ожидая  ответы  от потенциально более  медленного оборудования. Учитывая небольшую скорость отклика оборудования, ядро должно  иметь  возможность оставлять на  время  работу  с оборудованием и выполнять  другие  действия, пока  аппаратное устройство не закончит обработку  запроса. Одно  из возможных решений этой  проблемы — периодический опрос оборудования (polling).  Ядро  периодически может  проверять состояние аппаратного устройства системы и соответственным образом реагировать. Однако такой  подход  вносит  дополнительные накладные расходы, потому  что, независимо от того, готов  ответ  от аппаратного устройства или  оно  еще выполняет запрос, все равно  осуществляется постоянный систематический опрос  состояния устройства через постоянные интервалы времени. Лучшим  решением является обеспечение механизма, который позволяет  подавать  ядру сигнал  о необходимости уделить  внимание оборудованию. Такой

Читать »

Программирование порта последовательной передачи данных

Добавлено Дата: 21 June, 2011 категория: Ассемблер, Железо

Для того чтобы можно было принимать и обрабатывать информацию, передаваемую мышью, необходимо запрограммировать регистры последовательного порта в соответствии с параметрами протокола передачи данных, который она использует.

Последовательный порт передает и принимает информацию в асинхронном режиме. Формат передачи данных последовательного порта в обобщенном виде представлен на рис. 5.1.

Читать »

Приемы программирования UART в микроконтроллерах на примере AVR

Добавлено Дата: 12 June, 2011 категория: Delphi

Задача этого раздела— показать, как можно разными способами запрограммировать микроконтроллер (МК) для асинхронного обмена данными с компьютером. Мы ограничимся микроконтроллерами AVR фирмы Atmel, т. к. для остальных их разновидностей (и даже при прямом программировании UART в самом компьютере) методика похожая. Мы рассмотрим программирование для семейства AVR Classic, некоторые особенности семейства AVR Mega будут рассмотрены параллельно. Всех подробностей я, разумеется, изложить не могу, так что для полного понимания придется заглянуть в руководство по AVR-контроллерам.

Читать »