Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Разработка алгоритма программы

Читайте также:
  1. CALL — Вызов подпрограммы
  2. II. разработка проектов
  3. Алгоритм работы программы
  4. Алгоритмы и программы.
  5. Блок-схема программы
  6. В заголовке подпрограммы при определении переменных можно использовать лишь
  7. В реализации программы участвуют

Укрупненный алгоритм основной программы приведен на рис. 4.5. Алгоритм подпрограммы передачи символа приведен на рис. 4.6, а драйвера прерываний от приемника на рис. 4.7.

 

Рис. 4.5. Блок-схема алгоритма основной программы

 

В первом блоке алгоритма подключается текстовый файл с символьными обозначениями РСН. Присваиваются символьные наименования трем регистрам общего назначения, первый из которых предназначен для хранения принятого символа, а еще два для организации программного стека.

Порты А и С, к которым подключены светодиоды, настраиваются на вывод информации, а порт В, к которому подключены контакты кнопок, – на ввод. К выводам порта В подключаются внутренние подтягивающие резисторы.

Разрешается прерывание от приемника USART. USART настраивается на высокоскоростной асинхронный режим работы со скоростью передачи 19200 бит/с.

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

В блоках с двенадцатого по двадцать пятый анализируется принятая через USART информация. При обнаружении символа соответствующего цифрам от 1-го до 6-ти осуществляется включение соответствующего светодиода, а при обнаружении символа «0» – гашение всех светодиодов.

Далее программа возвращается к опросу состояния кнопок.

 

Рис. 4.6. Блок-схема алгоритма подпрограммы передачи символа

 

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

 

 

Рис. 4.7. Блок-схема алгоритма драйвера прерываний

 

Обработка прерываний, вызываемых приемником USART производится в блоках с тридцатого по тридцать третий. В тридцать первом блоке проверяется отсутствие ошибок, если ошибок нет, то принятый символ сохраняется в ОЗУ, если есть ошибки, то принятый символ игнорируется.

Необходимо обратить внимание на то, что в подпрограмме драйвера прерываний изменяется содержимое рабочего регистра W и флагов признаков, располагающихся в регистре STATUS. Поскольку вызов прерывания происходит в произвольный момент времени, такое изменение может вызвать сбой в работе основной программы. Для предотвращения этого содержимое регистров W и STATUS в начале обработчика прерываний сохраняется в ОЗУ, а к конце считывается обратно.

 


Дата добавления: 2015-07-08; просмотров: 404 | Нарушение авторских прав


Читайте в этой же книге: ВВЕДЕНИЕ | Компиляция исходного текста программы в машинные коды | Отладка (выполнение) программы | FLASH память программ | Энергонезависимая память данных EEPROM | Разработка алгоритма программы | Написание текста программы на языке Ассемблер | Тестирование и отладка | Разработка алгоритма программы | Написание текста программы на языке Ассемблер |
<== предыдущая страница | следующая страница ==>
Трансляция текста программы в машинные коды| Написание текста программы на языке Ассемблер

mybiblioteka.su - 2015-2024 год. (0.008 сек.)