1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
| Shub |
9.04.2004 9:30
Сообщение
#1
|
|
Гость |
И так такт таймера по умолчанию составляет 55 мс. Но в жизни есть такие чудесные моменты, когда требуется, что-нибудь периодически выполнять через 20 мс, 10 мс или даже 1 мс. В сети выложены примеры быстрых таймеров, но, честно говоря, что к чему в них я так понять и не смог. Из не проверенных данных я знаю, что изменить такт таймера с 55 мс на 10 мс условно говоря просто, вот только ни где не сказано как это сделать. Как получают более мелкие такты для меня большая загадка.
Просветите, пожалуйста. Примеры перепрограммирования частот системного таймера находятся здесь: http://pascal.sources.ru/datetime/index.htm PS Я не программист, так балуюсь, С и Асм’у не обучен. |
![]() ![]() |
| Altair |
21.04.2004 19:52
Сообщение
#2
|
![]() Ищущий истину ![]() ![]() ![]() ![]() ![]() ![]() Группа: Модераторы Сообщений: 4 824 Пол: Мужской Реальное имя: Олег Репутация: 45 |
Вот, что у Питера Нортона написано:
Цитата Одна из скрытых возможностей IBM/PC - это наличие программируемого таймера. Он не измеряет никаких промежутков времени, а только подсчитывает импульсы основного тактового генератора системы. Для этого таймера задается число, называемое коэффициентом деления (или просто делителем), и он подсчитывает число импульсов тактового генератора и сравнивает это число с делителем. Когда эти числа сравняются, таймер выдает сигнал и снова начинает подсчет с нуля. Системный тактовый генератор работает на частоте 1,19МГц. Так что если таймер запрограммирован на 10000 импульсов, он будет выдавать сигналы примерно 100 раз в секунду. Можно добиться любой частоты импульсов на выходе таймера, подбирая соответствующий делитель. После загрузки делителя схемы динамика запускаются для работы под управлением таймера, после чего выходные сигналы таймера будут управлять частотой формируемого звука, а компьютер может выполнять любую другую работу. Такой способ управления динамиком позволяет программам работать, пока динамик воспроизводит звук. Таким образом организована работа одной из процедур Бейсика, фоновая музыка или MB. Необходимо заметить, что при формировании звука с помощью таймера, он продолжает звучать до тех пор, пока он не будет отключен той же программой, которая его запустила. Листинг 3.2. может использоваться в качестве примера формирования звуков без использования таймера. Программа на ассемблере, представленная листингом 11.1, показывает, как запустить звучание динамика с помощью таймера. Приложение 11.1. Текст программы генерации звука с использованием таймера (Ассемблер).
Т.е. программировать таймер все-таки можно. p.s. я тоже думаю, что ошиька в Port[$43]:=6; Может перепробовать все по очереди? -------------------- Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С) |
Shub Работа с таймером. 9.04.2004 9:30
Altair А здесь можно узнать, как программировать таймер с... 16.04.2004 6:30
Shub Спасибо, хоть там и много асма, но сообщения Vespe... 19.04.2004 10:30
Altair Кстати очень интересную ссылку подкинул Shub, заме... 19.04.2004 14:02
Shub Попробовал то, что предложил Vesper (имеется в вид... 19.04.2004 17:06
Altair Хм .... Надо попробовать самому.
Я тоже интерисую... 19.04.2004 17:45
Altair Так, так ....
читаем, что тут:
http://www.dklab.r... 19.04.2004 18:53
Shub Так добавлю еще одну ссылку:
http://www.vcl.ru/htm... 20.04.2004 8:53
Shub Мои попытки ускорить таймер потерпели фиаско.
Port... 21.04.2004 16:56
Shub Е-е-е, получилось. Значиться так:
43h - управляющ... 22.04.2004 9:57
Shub Сорри, в моем примере надо вводить не 256, а 1, то... 22.04.2004 12:27
Altair Shub, высший класс!
А выше скорость не выйдет,... 22.04.2004 13:36
Guest
Спасибо :), я в курсе, что скорость выше не буде... 22.04.2004 14:17
Altair нашел....
Пишем модуль для работы с системным тайм... 10.03.2005 22:29
xds f = 1193180 Гц / c
где с = коэффициент деления (ч... 11.03.2005 4:20
xds Пример программирования таймера (используется для ... 11.03.2005 4:45
Aelita А как переделать Вашу программу, если нужно еще в ... 14.11.2010 5:13
Lapp А как переделать Вашу программу, если нужно еще в ... 14.11.2010 9:25
Aelita Я работаю, как ни странно, под DOS32 (Free Pascal)... 15.11.2010 7:01
Lapp Я работаю, как ни странно, под DOS32 (Free Pascal)... 15.11.2010 9:17
TarasBer Что же это за код такой, что его работа так сильно... 15.11.2010 12:59![]() ![]() |
|
Текстовая версия | 8.12.2025 21:55 |