Дипломные работы, курсовые проекты на заказ, контрольные работы на заказ

 
Ассемблер архитектура МП Ассемблерные подпрограммы Звуковые возможности управления клавиатурой Библиотека Turbo Vision графические подпрограммы Процедура InitGraph Обработчик событий Режим редактирования Видимый объект Поток События

[an error occurred while processing this directive]

Программирование звукового генератора

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

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

Процедура Sound.

Заставляет динамик звучать с нужной частотой. Заголовок процедуры:

Procedure Sound(F: Word);

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

Процедура No Sound.

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

Процедура Delay.

Обеспечивает задержку работы программы на заданный интервал времени. Заголовок процедуры:

Procedure Delay(T: Word);

Здесь Т - выражение типа Word, определяющее интервал времени (в миллисекундах), в течение которого задерживается выполнение следующего оператора программы.

Для генерации звукового сигнала обычно используется вызов описанных процедур по схеме Sound-Delay-NoSound. Следующая программа заставит ПК воспроизвести простую музыкальную гамму. Используемый в ней массив F содержит частоты всех полутонов в первой октаве от «до» до «си». При переходе от одной октавы к соседней частоты изменяются в два раза.

Uses CRT; 

const

F: array [1..12] of Real =

(130.8, 138.6, 146.8, 155.6, 164.8, 174.6, 185.0, 196.0, 207.7, 220.0,

233.1, 246.9);{Массив частот 1-й октавы}

Temp = 100;{Темп исполнения} 

var

k,n: Integer; 

begin

{Восходящая гамма} 

for k := 0 to 3 do for n := 1 to 12 do 

begin

Sound(Round(F[n]*(1 shl k) )) ; 

Delay(Temp); 

NoSound 

end ;

{Нисходящая гамма} 

for k := 3 downto 0 do 

for n := 12 downto 1 do 

begin

Sound(Round(F[n]*(1 shl k)) ) ; 

Delay(Temp); 

NoSound 

end

end.

В 1966 г. в СССР была введена в эксплуатацию быстродействующая ЭВМ БЭСМ-6 (С.А.Лебедев), которая производилась до 1988г. Большое быстродействие БЭСМ-6 обусловили мультипрограммный режим работы и конвейерная процедура обработки данных, которые в настоящее время используются во многих современных ЭВМ. ЭВМ 2-го поколения имели изменяемый состав внешних устройств, использовали языки программирования высокого уровня и принцип библиотечных программ. Для управления вычислительным процессом применяются операционные системы.
Встроенный ассемблер, графика в Турбо Паскале Система программирования Турбо Паскаль Примеры программирования наJava