![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы
![]() |
Поиск в этой теме
![]() |
![]() |
#11 |
Пользователь
Регистрация: 20.10.2010
Сообщений: 29
|
![]()
Динамик есть. Но звуков не издает. Что делать? Кучу вариантов генерации звука уже перепробывала, но не получается.
Вот это нашла: Код:
Код:
Объясните, пожалуйта, популярно как двумя способами ( с помощью подпрограмм и с программируемого интервального таймера) можно сгенерировать звук данной частоты данной длительности. |
![]() |
![]() |
![]() |
#12 | |
Пользователь
Регистрация: 20.10.2010
Сообщений: 29
|
![]()
Почему в коде
Код:
Цитата:
Очень прошу подсказать |
|
![]() |
![]() |
![]() |
#13 |
Пользователь
Регистрация: 20.10.2010
Сообщений: 29
|
![]()
ошибок не находит, но и не кричит
Код:
|
![]() |
![]() |
![]() |
#14 |
Пользователь
Регистрация: 20.10.2010
Сообщений: 29
|
![]() Код:
Td=Tcall+Tmov+X*(Tdec+Tjnz)+Tret, где Tcall и Tret – время выполнения команд вызова подпрограммы и возврата в нее, а Tmov, Tdec и Tjnz – время на выполнение команд, входящих в подпрограмму TIME Td=τ(17+7+X(5+10)+10+5) Td=τ(39+15X) X=(Td/τ-39)/15 τ=1/f=1/1200=0,000833c X=(4/0,000833-39)/15=318=13Eh Чтобы подпрограмма работа 4 секунды и издавала звуки с частотой 1200Гц как нужно еще дооформлять код программы? |
![]() |
![]() |
![]() |
#15 |
Новичок
Джуниор
Регистрация: 05.12.2010
Сообщений: 1
|
![]()
Товарсчи, нужна помощь. Задание такое:
Написать программу, которая читает символь¬ную строку специального вида и проигрывает ее как мелодию. Строка состоит из следующих элементов: буквы, обозначающие ноты, ">" (повышение) или "<" (понижение) октавы, "1" и следующей за ним цифрой (от 0 до 9)-задает длитель-ность ноты, "p"-пауза, аналогично длительности. Времени совсем нет, а у меня пока так: Код: ; подпрограмма генерации звука ; Вход: (АХ)= частота звука в Гц Sound proc near mov bx,ax ;частота mov ax, free mov dx,frec+2 ;(dx:ax)=l 193180 div bx ;ax=(dx:ax)/bx mov bx,a ;сохранить счетчик таймера in al,61h ;разрешить счет канала 2 or al,3 ;и разрешить работу динамика out 61h,a1 mov al,10110110b ;управляющее слово таймера: канал 2, ; режим 3, двоичное слово out 43h,al ;вывод в регистр режима mov а1,bl out 42h,al ;младший байт счетчика mov al,bh out 42h,al ;старший байт счетчика ret freq dd 1193180 Sound endp ;Подпрограмма выключения звука ; No_Sound proc near push ax in al,61h ;порт PB and al,0fdh ;сброс битов 0,1 out 61h,al pop ax ret No_Sound endp Пож-та, допишите так, чтоб соответствовало заданию, я просто не успеваю, сдача совсем близко... |
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Программная работа со звуком | _-Re@l-_ | Общие вопросы Delphi | 7 | 28.01.2011 11:49 |
Программная эмуляция джойстика | overloaded0 | Win Api | 0 | 25.10.2008 00:02 |
программная работа с параметром | Sack | Microsoft Office Access | 4 | 29.09.2008 11:22 |
Генерация звука | N!ckeL | Общие вопросы Delphi | 1 | 19.06.2008 09:19 |
Генерация звука (assembler) | SerGeO3x | Помощь студентам | 1 | 17.06.2008 19:01 |