Конспект содержит материалы, излагаемые в лекционном курсе, с необходимыми рисунками и схемами



Download 5 Mb.
bet25/51
Sana06.04.2022
Hajmi5 Mb.
#531752
TuriКонспект
1   ...   21   22   23   24   25   26   27   28   ...   51
Bog'liq
АСКМБП

counter:=1193180 div freq;
{Вычисление младшего байта счетчика}
lo_count:=counter mod 256;
{Вычисление старшего байта счетчика}
hi_count:=counter div 256;
{Установка готовности таймера}
Port[$43]:=$b6;
{Загрузка младшего байта счетчика}
Port[$42]:=lo_count;
{Загрузка старшего байта счетчика}
Port[$42]:=hi_count;
{Считывание значения порта}
old_port:=Port[$61];
{Установка младших битов порта $61 в 1}
new_port:=old_port or $03;
{Включение динамика}
Port[$61]:=new_port;
………………………………….
{Выключение динамика}
Port[$61]:=old_port;
…………………………………..
Конечно, можно поступить проще и использовать стандартные процедуры Turbo Pascal из модуля Crt:
…………………………………….
{Включение динамика с частотой freq}
Sound(freq);
…………………………………….
{Выключенние динамика}
Nosound;
…………………………………….
Однако в этом случае максимальная частота выходного сигнала ограничена 65535 Гц в связи с тем, что переменная freq имеет тип word.
Таймерный способ имеет один существенный недостаток. Значение, загружаемое в счетчик, является целочисленным, поэтому установить можно только определенные частоты выходного сигнала. Хотя их довольно много (65535 значений), но это не всегда удобно, причем чем выше частота, тем больше интервал между двумя фиксированными частотами. Например при значении счетчика 1 частота сигнала равна 1193180 Гц, а при значении счетчика 2 – 596590 Гц, т. е. частоты в интервале 596590 – 1193180 Гц недоступны.
При реализации программного способа таймер не используется, а в значении порта $61 бит с номером 1 то устанавливается в 1 («втянуть» динамик) то сбрасывается в 0 («отпустить динамик). Перед этим динамик отключается от таймера обнулением младшего бита (с номером 0) порта $61. Изменяя время задержки между операциями «втянуть» – «отпустить» динамик, можно получить различные значения частоты и скважности сигнала (рис. 82).



Рис. 82. Форма сигнала при программном выводе

Фрагмент такой программы на языке Turbo Pascal может выглядеть примерно так:


……………………………
{Отключение динамика от таймера (обнуление битов 0 и 1)}

Download 5 Mb.

Do'stlaringiz bilan baham:
1   ...   21   22   23   24   25   26   27   28   ...   51




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish