
- •Пояснительная записка к курсовой работе
- •Оглавление
- •1. Постановка задачи.
- •1.1. Стандартное задание
- •1.2. Индивидуальное задание
- •2. Техническое задание
- •3. Описание аппаратных и программных средств лабораторного комплекса
- •3.1. Структура аппаратных средств
- •3.1.1. Структурная схема лабораторного комплекса
- •3.1.2. Плата мк – системы
- •3.1.2.1. Конфигурируемые узлы мк c8051f064
- •Интерфейс прямого доступа к памяти (dma)
- •3.1.2.2. Внешняя память xram
- •3.1.2.3. Входные усилители
- •3.1.2.4. Микросхема моста uart-usb
- •3.1.2.5. Сопряжение платы с pc
- •3.1.2.6. Питание платы
- •3.1.3. Требования к pc
- •3.1.4. Осциген
- •. Перечень программных средств лабораторного комплекса
- •Средства программирования и отладки мк-системы
- •Интегрированная среда разработки фирмы SiLabs ide 2.0
- •3.2.1.2. Ассемблер, компилятор и линкер интегрированной среды разработки Keil
- •3.2.2. Средства разработки Windows-приложений
- •3.2.2.1. Среда разработки
- •3.2.2.2. Библиотека win32 api функций
- •3.2.3. Приложения для осцигеНа.
- •3.2.3.1. Драйвер конфигурируемого выносного блока
- •3.2.3.2. Windows-приложение ogView
- •3.2.4. Драйвер виртуального com-порта фирмы SiLabs
- •Организация бесконечного цикла встроенного приложения
- •Отключение сторожевого таймера
- •Переключение с внутреннего генератора на внешний
- •Конфигурирование портов ввода/вывода
- •Конфигурирование аналого-цифровых преобразователей adc
- •Конфигурирование интерфейса dma
- •Инициализация последовательного интерфейса uart
- •Выбор и инициализация таймера для установки скорости обмена данными по последовательному каналу
- •Инициализация таймера для установки времени дискретизации входного сигнала
- •Прием данных с pc
- •Другие используемые функции
- •Конфигурирование узлов мк с учетом данных, пришедших с pc
- •Разработка Windows-приложения
- •4.4.1. Особенности использования среды разработки
- •4.4.2. Описание файлов проекта
- •4.4.3. Обобщенная схема алгоритма многопоточного приложения
- •4.4.4. Внешний вид и описание графического интерфейса, принципы построения программы
- •Описание структуры и организация программы
- •4.4.5.1. Назначение подключаемых файлов
- •4.4.5.2. Описание прототипов функций
- •4.4.5.3. Функция WinMain()
- •4.4.5.4. Функция главного окна
- •4.4.5.5. Организация дополнительных потоков, их назначение
- •4.4.5.6. Рабочие функции дополнительных потоков
- •4.4.5.7. Синхронизация потоков
- •4.4.5.8. Особенности обработки сообщений Windows в программе
- •4.4.6.2. Организация настроек com-порта в графическом интерфейсе
- •4.4.6.3. Использование функций WaitCommEvent(), WaitForSingleObject(), WaitForMultiplyObject()
- •Работа оператора с приложением
- •4.4.7.1. Последовательность запуска приложения на мк и пк в лаборатории
- •4.4.7.2. Адаптация к спектру входного сигнала
- •Описание протокола rs-232
- •Список используемых источников информации
- •Приложения
- •Исходные тексты модулей программы для мк
- •Фрагменты листингов файлов мк-приложения, полученные в результате трансляций: map-file и др
- •Исходные тексты файлов Windows-приложения
Другие используемые функции
Функция отправки результатов оцифровывания void Send_Data_to_PC (void) работает по следующему алгоритму:
Получаем указатель на начала данных в XRAM
Уведомляем ПК о готовности отправки данных оцифровывания, отправляя ‘r’
Ждем уведомление со стороны ПК о готовности приема данных
Отправляем Данные.
Описанный алгоритм иллюстрирует следующий код:
void Send_Data_to_PC (void)
{
unsigned int i;
read_ptr = XRAM_START_ADD;
Send_Byte('r'); // notify PC that results are about to be sent
Receive_Byte()!= 'a'; //wait for confirm of readiness
for (i=0; i < 2*NUM_SAMPLES; i++)
{
Send_Byte(*read_ptr); //send data
read_ptr++;
}
}
Конфигурирование узлов мк с учетом данных, пришедших с pc
С PC приходят данные, при изменении числа выборок, частоты выборок, скорости двоичной передачи и режиме работы ADC. Пришедшие параметры устанавливаются в приложении для МК-системы.
Разработка Windows-приложения
4.4.1. Особенности использования среды разработки
Использование бесплатной версии Visual Studio 8 накладывает определенные ограничения на использование ресурсов. Поэтому в программе отсутствуют диалоговые окна, тулбары, горячие клавиши и расширенное горизонтальное меню.
В проекте при написании приложения для ПК используются только Win32 API функции. Это позволяет гибко программировать графический интерфейс программы, и вообще, создавать очень гибкое с точки зрения заказчика, приложение. Но, в свою очередь, требует написания очень больших объемов кода и знания тонкостей программирования под Win32 API.
4.4.2. Описание файлов проекта
Файл Win2.cpp
Этот файл представляет собой полный набор функций и переменных, необходимых для работы программы со стороны ПК.
Файл stdafx.h
Файл подключает все необходимые библиотеки для работы функций файла Win2.cpp.
Файл Win2.h
Файл является заголовком Win2.cpp
Файл stdafx.срр
Подключает stdafx.h
Файл Win2.vcproj
Это основной файл для VC++ проэктов. Он содержит информацию о версии Visual C++, которая генерирует файл, а также информацию о платформе, настройках и особенностях проекта, заданных при его создании.
4.4.3. Обобщенная схема алгоритма многопоточного приложения
Обобщенная схема алгоритмов
многопоточного приложения приведена
на рис.4.4.
Рис.4.4. Обобщенная схема алгоритма многопоточного приложения
4.4.4. Внешний вид и описание графического интерфейса, принципы построения программы
Графический интерфейс (рис.4.5) условно делится на 2 части:
Правая верхняя часть, где находится координатная сетка и рисуется график зависимости напряжения, полученного АЦП, от времени. Все это делается прямо в главном окне, где сначала создается область для рисования, а потом выполняются необходимые действия для построения.
Левая часть окна, где находятся поля для задания масштаба, COM-порта и настроек микроконтроллера: режима АЦП, числа цифровых отсчетов и частоты цифровых отсчетов, а также кнопки «Demo», «Start» и «Exit».
Все элементы основного окна являются дочерними окнами.
Ресурсы в окне не используются в связи с ограничениями, накладываемыми средой разработки. Поэтому в программе нет горизонтального меню, панели инструментов, диалоговых окон и строки состояния.
В ходе выполнения программы идет контроль ошибок, и в случае таковой об этом сразу будет сообщено пользователю с помощью всплывающего окна.
Рис.4.5. Внешний вид рабочего окна программы для ПК