Смекни!
smekni.com

Обзор элементов языка программирования (стр. 1 из 5)

Содержание Введение …………………………………………………………………………….51. Общая часть …………………………………………………………………………6 1.1. Обзор элементов языка программирования…………………………………..62. Специальная часть ………………………………………………………………….8 2.1. Общая постановка задачи ……………………………………………………..8 2.2. Описание программ комплекса ……………………………………………...10 2.2. Макро блок- схема комплекса………………………………………………..12 2.4. Таблица идентификаторов комплекса ………………………………............13 2.5. Описание наборов данных ……………………………………………….......14 2.6. Структура записей файлов …………………………………………………...14 2.7. Постановка проблемной программы (процедуры) …………………………16 2.7.1. Описание проблемной программы ……………………………………16 2.7.2. Блок – схема проблемной программы ………………………………...163. Организация производства ………………………………………………………..17 3.1. Комплекс технических средств, необходимый для решения задачи……....17 3.2. Инструкция пользователю по работе с программой ……………………….18 Заключение …………………………………………………………………………20 Приложения …………………………………………………………………………21 Список используемых источников ………………………………………………..35

Выполнил Муханов А. 05.12.09 КР 3706002 000009 ПЗ лист
Проверила Енсепова Г.К. 07.12.09

4

изм лист № докум Подпись Дата

Введение Цель выполнения курсовой работы состоит в том, чтобы научиться описывать предметную область реального мира – объект и его атрибуты, закрепить навыки использования основных процедур, способов их описания и основных операции над ними.Действительно, при помощи TurboPascal достаточно не просто создать программу, которая бы демонстрировала работу с ПК, создать всё-таки основу и саму сущность формирования вывода звука для встроенного динамика, расположенного в системном блоке компьютера.В этой курсовой работе рассмотрим программирование звука и видео. В начале рассмотрим, как программируется вывод звука для встроенного динамика и видео, для вывода изображения на монитор. Затем познакомимся с основными принципами программирования для звуковой и видео карты.Невозможно представить себе современный персональный компьютер без устройств вывода звука и видео. Нормой стало оснащение компьютера специальным устройством – звуковой картой, позволяющей творить со звуком самые настоящие чудеса. «Озвученный» компьютер – это полноценный музыкальный центр. Он даёт пользователю возможность превратиться в исполнителя, играющего на различных музыкальных инструментах, он может даже стать неплохим рассказчиком, «проговаривая» набранный в электронном формате текст.Персональные компьютеры за последние годы значительно подтянулись в качестве. Вместе с центральными процессорами эволюционировали и остальные компоненты компьютера. Соответственно, требования пользователей к компьютеру постоянно повышается. И если 20-25 лет назад был хрипящий звук встроенного в корпус маленького динамика (РС – спикер), то сегодня непременным атрибутом персонального компьютера является специализированная звуковая подсистема.Для того, чтобы уверенно ориентироваться в современном разнообразии различных устройств, служащих цели «озвучить» персональный компьютер, необходимо четко и на достаточном уровне представить себе все процессы, происходящие внутри компьютера, которые были связаны звуком.

Выполнил Муханов А. 05.12.09. КР 3706002 000009 ПЗ лист
Проверила Енсепова Г. К. 07.12.09 5
изм лист № докум Подпись Дата

1 Общая часть

1.1 Обзор элементов языка программированияЧто представляет собой звук?Свое знакомство с программированием звука на Турбо Паскале мы начнем с использования встроенного динамика. Прежде всего замечу, что модуль Crt содержит две процедуры, предназначенные для работы с динамиком. Первая из них- Sound(Hz) - включает динамик на звуковой частоте, задаваемой значением параметра Hz (типа Word) в герцах. Динамик генерирует звук до тех пор, пока он не будет отключен вызовом процедуры NoSound, не имеющей параметров Процедура Sound обеспечивает довольно бедную интонацию, потому что она использует только целочисленные частоты. Да и встроенный динамик, к сожалению, дает звук самого низкого качества Он не допускает управления громкостью, очень по-разному резонирует на разных частотах. Не ждите от него многого' Тем не менее, мы постараемся хотя бы частично исправить положение и разработаем свои собственные процедуры для модуля Speaker.Прежде всего, познакомимся поближе с работой встроенного динамика. Источником звуковых акустических колебаний является его диффузор. Он может находиться в одном из двух возможных положений. Для управления работой динамика ему посылаются прямоугольные импульсы определенной частоты. В течение первой половины каждого цикла диффузор перемещается в одно положение, а затем, в течение второй половины цикла, в другое. Это вызывает движение воздуха. В процессе генерации акустических колебаний прямоугольный импульс, который порождает неприятно звучащую ноту, несколько сглаживается. Так возникает звуковой сигнал.Теперь несколько слов о технических деталях. Компьютер содержит микросхему 8255, которую называют «программируемым периферийным интерфейсом» (PPI — Programmable Peripheral Interface). PPI управляет работой динамика, используя микросхему таймера 8254 (PIT — Programming Interval Timer). Микросхема 8255 имеет различные порты, включая порт ввода\вывода $61 размером («шириной») в один байт с битами b7…b0. Запись в порт $61 нулевого либо единичного значения бита b0 позволяет установить режим управления динамиком. Если b0 = 1, то динамиком управляет второй канал микросхемы таймера. Микросхема таймера имеет 3 канала, каждый из которых предназначен для решения своих задач. Нулевой канал обслуживает системные часы, первый канал обслуживает микросхему прямого доступа к памяти (DMA). Второй канал связан со встроенным динамиком. Обычно он запрограммирован на генерацию последовательности прямоугольных импульсов, что дает при включении динамика непрерывный тон определенной частоты. Управление встроенным динамиком связано прежде всего с программированием второго канала таймера.Для работы с таймером используются порты (всего 4), на которых для нас интерес представляют порт $42 (порт второго канала таймера) и порт $43 (порт управляющего слова — открыт только для записи). Каждый канал имеет свой

Выполнил Муханов А. 05.12.09. КР 3706002 000009 ПЗ лист
Проверила Енсепова Г.К. 07.12.09. 6
изм лист № докум Подпись Дата
счетчик, содержимое которого уменьшается от некоторого максимального значения. Для второго канала определена константа $1234DD. Это значение представляет собой число, которое нужно разделить на частоту в герцах, чтобы получить значение счётчика для таймера.Итак, мы выяснили, что единичное значение управляющего бита b0 означает, что динамик подключён к каналу, а нулевое значение – что он отключён от канала. Динамик включён, если бит b1равен единице. Таким образом, прежде всего надо научиться «включать» биты b0 и b1, записывая в них единичные значение, не изменяя значений всех прочих битов. Чтобы сообщить таймеру о том, что следующие два байта являются значением типа Word, обратно пропорциональным частоте, и что на выходе должен быть прямоугольный импульс, в порт микросхемы таймера $43 должно быть записано значение $86. После этого таймер будет включать и выключать динамик с определённой частотой.
Выполнил Муханов А. 05.12.09. КР 3706002 000009 ПЗ лист
Проверила Енсепова Г. К. 07.12.09. 7
изм лист № докум Подпись Дата

2 Специальная часть

2.1 Общая постановка задачиТемой данной курсовой работы, который был выполнен в ходе изучения курса “Основы алгоритмизации и программирования” является, - «Обработка потока, поступающего с видео и аудио устройства».Далее мы обсудим: что такое DirectShow, для чего он предназначен, как он работает и рассмотрим технологию программирования звука. Потом нам предстоит написать программу, которая генерирует последовательности прямоугольных звуковых импульсов (стр. 21-22)DirectShow – это архитектура для воспроизведения, перехвата и обработки потоков мультимедиа. С помощью этого API можно:· проигрывать мультимедийные файлы различного формата, такие как MPEG (Motion Picture Experts Group), AVI (Audio-Video Interleaved), MP2 (MPEG Audio Layer-2), DVD и конечно WAV;· перехватывать видео-поток с различного рода TV-карт, видеокамер и т.п.;· создавать нестандартные обработчики мультимедиа-потоков и свои собственные форматы файлов;· обращаться непосредственно к видео и аудио потокам, чтобы выводить их на SurfaceDirectDraw.DirectShow интегрирован с DirectX так, что использует DirectDraw и DirectSound для вывода изображения и звука, и, при наличии аппаратного ускорения, автоматически им воспользуется.В концепции DirectShow мультимедийные данные – это поток, который проходит через несколько обрабатывающих блоков. Блоки, обрабатывающие поток данных, передают данные по цепочке друг другу, таким образом можно представить себе несколько “устройств”, каждое из которых выполняет какую-то обработку данных и передает их соседнему “устройству”. Эти “устройства” или “блоки обработки” данных называют фильтрами. Цепочка, по которой передаются данные, содержит несколько фильтров, связанных определенным образом. В DirectShow имеются готовые фильтры, из которых, словно из детских кубиков, программист может выстроить ту или иную цепочку обработку данных, кроме того, конечно, можно создать свои, нестандартные фильтры. Для создания такой “цепочки обработки” (которая, кстати, официально называются Filter Graph – “граф фильтров” или, в несколько вольном переводе - “схема соединения фильтров”), так вот для создания схемы соединения фильтров, предназначен самый базовый и лежащий в основе всех основ компонент DirectShow, под названием Filter Graph Manager – Менеджер Графа Фильтров. Например, программа показывающая видео из AVI-файла может построить такой граф фильтров:

Выполнил Муханов А. 05.12.09. КР 3706002 000009 ПЗ лист
Проверила Енсепова Г.К. 07.12.09 8
изм лист № докум Подпись Дата

В этом примере пять фильтров, первый (File Source) просто читает данные с диска, второй фильтр (AVI Splitter) разделяет данные на кадры и передает упакованные видео данные фильтру AVI Decompressor, который их распаковывает и передает фильтру Default DirectSound Device, выводящему звук. AVI Decompressor передает распакованные данные фильтру Video Renderer, который выводит кадры видео на экран.