Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
BEAR / PART2.DOC
Скачиваний:
15
Добавлен:
16.04.2013
Размер:
1.65 Mб
Скачать

Фурсов М.В. Дипломный проект

Глава 2

Структура данных и принцип построения программы

Разработал: Фурсов М.В.

Группа: МП-65

Консультант: Панфилов Д.И.

Оглавление Разработка программного обеспечения Структура данных

До начала проектирования алгоритма программы необходимо разработать структуру хранимых в памяти данных.

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

Основной информацией в радиостанции являются сведения о каналах, настраиваемых пользователем. В перечень необходимой информации о канале входят:

  • абсолютный номер канала (от базовой точки 170 МГц);

  • последний уровень порога шумоподавителя;

  • шаг частоты;

  • дуплексный разнос частот между частотой приема и передачи.

В общую информацию о состоянии станции входят:

  • текущий уровень громкости;

  • текущий номер канала;

  • текущий разнос частот;

Эти данные необходимо сохранять при выключении или пропадании питающего напряжения в энергонезависимое ОЗУ.

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

Клавиатурная таблица находится там же и служит для определения номера нажатой на клавиатуре клавиши или их комбинации.

Остальные переменные нужны только каким-либо подпрограммам и используются только в них

Принцип построения программы.

Программа построена по модульному принципу и имеет в своем составе две основные части: тело основного цикла и процедуру обработки прерывания.

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

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

Необходимость именно такой структуры была вызвана тем, что структура адресного пространства процессора предполагает наличие всего двух векторов прерывания: RESET(0000h) и вектора прерывания от всех остальных источников (0004h), что очень неудобно при организации своей процедуры обработки прерывания для каждого из источников.

Рисунок 2-1 : Общая структура программы

Соседние файлы в папке BEAR