- •1. Організація роботи при виконанні лабораторного практикуму
- •1.1. Загальні вимоги
- •1.2. Загальні положення інструкції з техніки безпеки у комп’ютерному класі кафедри скс
- •1.3. Вимоги безпеки в аварійних ситуаціях
- •1.4. Вимоги безпеки по закінченні роботи
- •2. Лабораторна робота № 1 "основні види та властивості інформації. Системи числення, формати подання даних"
- •2.1. Ціль роботи
- •2.2. Теоретична частина
- •2.3. Завдання
- •3. Лабораторна робота № 2 "ознайомлення з апаратною реалізацією інтерфейсів ibм-сумісного пк та системою його електроживлення"
- •3.1. Ціль роботи
- •3.2. Теоретична частина
- •3.3. Завдання
- •4. Лабораторна робота № 3 "ознайомлення з програмною моделлю програмованого інтервального таймеру пк та стандартним системним звуковим каналом"
- •4.1. Ціль роботи
- •4.2. Теоретична частина
- •4.3. Вимоги до оформлення лабораторної роботи
- •4.4. Збірник мелодій
- •6.3. Завдання
- •5. Лабораторна робота № 4
- •5.1. Ціль роботи
- •5.2. Теоретична частина
- •5.3. Завдання
- •6. Лабораторна робота № 5
- •6.1. Ціль роботи
- •6.2. Теоретична частина
- •6.3. Завдання
- •7. Лабораторна робота № 6 "методи та засоби збереження інформації в кіт. Накопичувачі інформації на магнітних дисках"
- •7.1. Ціль роботи
- •7.2. Теоретична частина
- •7.3. Завдання
- •Список літератури
3.3. Завдання
Розкрити принципи фон-неймановскої архітектури.
Які елементи складають логічну схему комп'ютера.
Навести перелік функцій процесора і пам'яті, їх основні параметри.
Перерахувати основні вузли системного блоку.
Що розташоване на материнській платі.
Яка роль блоку електроживлення, які рівні напруги на його виході.
4. Лабораторна робота № 3 "ознайомлення з програмною моделлю програмованого інтервального таймеру пк та стандартним системним звуковим каналом"
4.1. Ціль роботи
Вивчити:
роботу стандартного системного звукового каналу;
ноти хроматичної гами;
відповідність нот и частоти звука;
складання програми відтворювання мелодії.
4.2. Теоретична частина
Будь-який гучномовець працює за рахунок отримання послідовності електричних імпульсів, які викликають відхилення діафрагми динаміка. Це призводить до виникнення коливань повітря, що утворюють звук.
У звичайному динаміці імпульси, що надходять, мають різну потужність (гучність) і тривалість (частоту або висоту тону). Простий динамік IBC/PC не дозволяє регулювати гучність, і звук утворюється простою послідовністю електричних імпульсів. Струм до динаміка подається і відключається в режимі простого двійкового управління. Частота імпульсів струму визначає звукову частоту, що виробляється динаміком.
Наявність програмованого таймера дозволяє отримувати будь-яку частоту імпульсів.
При формуванні звуку за допомогою таймера він буде звучати до тих пір, поки не буде відключений тією ж програмою, яка його запустила.
Сигнал для управління динаміком формується в результаті спільної роботи мікросхем (рис. 4.1):
програмованого периферійного інтерфейсу і8255 (для ХТ) та і8242 (для АТ);
таймера і8253.
Основна генерація звуку проводиться мікросхемою таймера, що має три канали з однаковою структурою та принципом роботи. На канали таймера подаються імпульси від мікросхеми системного годинника з частотою 1193181 Гц. Кожен канал має два входи і один вихід. Канал 0 замкнутий на контролер переривань і є джерелом апаратного переривання від таймера, що виникає 18,2 рази в секунду. Канал 1 пов'язаний з мікросхемою прямого доступу до пам'яті. Канал 2 виходить на динамік комп'ютера. До складу кожного каналу входять:
регістр введення-виведення розрядністю 8 біт;
регістр-засувка (16 біт);
регістр-лічильник (16 біт).
Кожен регістр введення-виведення має адресу в адресному просторі введення-виведення (номер порту вводу-виводу). Регістр введення-виведення каналу 2 має номер порту вводу-виводу 42h. Розміщені в нього значення негайно потрапляють в регістр-засувку, де значення зберігається, поки в регістр введення-виведення не буде записано нове значення.
Вибір каналу здійснюється зверненням до регістру управління (порту 43h), що входить до складу таймера і містить слово стану наступної структури:
Біт 0 – тип константи перерахунку (0 – двійкове число, 1 – двійково-десяткове);
Біти 1-3 – режим роботи таймера (в даній роботі використовувати режим 3);
Біти 4-5 – 00 – передати значення лічильника в регістр-засувку; 01 – записати в регістр-засувку молодший байт; 10 – записати в регістр-засувку старший байт; 11 – записати в регістр-засувку спочатку старший байт, а потім – молодший (у даній роботі використовувати значення 11);
Біти 6-7 визначають номер каналу (в даній роботі використовувати значення 10).
Рис. 4.1. Схема звукового каналу
Подачею струму на динамік управляє біт 1 порту 61h. Біт 0 порту 61h відкриває або закриває вихід каналу.
Для генерації (другий канал таймера) прямокутних імпульсів, що завантажуються в порт 42, значення (value) повинні бути парними:
Value = 1193181 / f (f – частота звукового сигналу).
Таким чином, для програмування звукового каналу таймера необхідно:
за допомогою порту 43h вибрати канал, задати режим роботи і тип операції передачі значення в канал;
подати струм на динамік, встановивши в 1 біт 1 порту 61h;
помістити в порт 42h значення, що відповідає висоті тону.
1. Скласти дві функції: виду void ідентифікатор (unsignedintTn), де Tn - тривалість звучання (або паузи) представлена рядом (табл. 4.1):
Таблиця 4.1
-
Tn=T0=4сек
Tn=T8T=0,75 сек
Tn=T0T=6 сек
Tn=T16=0,25 сек
Tn=T2=2 сек
Tn=T16T=0,375 сек
Tn=T2T=3 сек
Tn=T32=0,125 сек
Tn=T4=1 сек
Tn=T32T=0,187 сек
Tn=T4T=1,5 сек
Tn=T64=0,062 сек
Tn=T8=0,5 сек
Tn=T128=0,031 сек
для генерації звуку з заданими значеннями частот, що визначаються ідентифікаторами (табл. 4.2):
Таблиця 4.2
-
1
С0=65 Гц,
D0=74 Гц
16
FD=184 Гц,
GD=208 Гц
2
E0=82 Гц,
F0=87 Гц
17
C2=520 Гц,
D2=592 Гц
3
G0=98 Гц,
A0=110 Гц
18
E2= 656 Гц,
F2=696 Гц
4
В0=116 Гц,
Н0=124 Гц
19
G2=784 Гц,
A2=880 Гц
5
С=130Гц,
D=148 Гц
20
B2=928 Гц,
H2=992 Гц
6
E=164 Гц,
F=174 Гц
21
C1D=276 Гц,
D1D=312 Гц
7
G=196 Гц,
A=220 Гц
22
F1D=368 Гц,
G1D=416 Гц
8
B=232 Гц,
H=248 Гц
23
C2D=552 Гц,
D2D=624 Гц
9
C1=260 Гц,
D1=296 Гц
24
F2D=736 Гц,
G2D=832 Гц
10
E1=328 Гц,
F1=348 Гц
25
C3=1040 Гц,
D3=1184 Гц
11
G1=392 Гц,
A1=440 Гц
26
E3=1312 Гц,
F3=1392 Гц
12
B1=464 Гц,
H1=496 Гц
27
G3=1568 Гц,
A3=1760 Гц
13
C0D=69 Гц,
D0D=78 Гц
14
F0D=92 Гц,
G0D=104 Гц
15
CD=138 Гц,
D0=156 Гц
і функцію паузи виду void P (unsignedintTn).
Для програмування звукового каналу таймера можна використовувати також функцію Windows API Beep, яка призначена для відтворення простих однотонних звуків через вбудований динамік із заданою частотою і тривалістю. Існує в операційних системах сімейства Microsoft Windows і ReactOS.
Функція Beep виконується синхронно, тобто повертає керування лише після завершення відтворення звуку.
Вона має два параметри:
dwFrec – частота звуку в герцах, допустимий діапазон – від 37 до 32767 Гц;
dwDuration – тривалість звуку в мілісекундах;
і повертає значення типу BOOL (ненульове при успішному виконанні).
Величина паузи задається командою sleep, яка уповільнює виконання.
Її опис – void sleep (int seconds).
Функція sleep затримує виконання програми на дану кількість секунд seconds.
Частота нот хроматичної гами (табл. 4.3) і ноти хроматичної гами (рис. 4.2) дають можливість відтворити будь-яку просту мелодію.
Таблиця 4.3
До |
До# |
Ре |
Ре# |
Ми |
Фа |
Фа# |
Соль |
Соль# |
Ля |
Ля# |
Си |
Октава |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
контроктава |
33 |
35 |
37 |
39 |
41 |
44 |
46 |
49 |
52 |
55 |
58 |
62 |
|
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
велика |
65 |
69 |
73 |
78 |
82 |
87 |
92 |
98 |
104 |
110 |
117 |
123 |
|
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
мала |
131 |
139 |
147 |
156 |
165 |
175 |
185 |
196 |
208 |
220 |
233 |
247 |
|
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
перша |
262 |
277 |
294 |
311 |
330 |
349 |
370 |
392 |
415 |
440 |
466 |
494 |
|
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
друга |
523 |
554 |
587 |
622 |
659 |
698 |
740 |
784 |
831 |
880 |
932 |
988 |
|
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
69 |
70 |
71 |
72 |
третя |
1047 |
1109 |
1175 |
1245 |
1319 |
1397 |
1480 |
1568 |
1661 |
1760 |
1865 |
1976 |
|
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
четверта |
2093 |
2217 |
2349 |
2489 |
2637 |
2794 |
2960 |
3136 |
3322 |
3520 |
3729 |
3951 |
Рис. 4.2. Ноти хроматичної гами
Точка поряд з нотою збільшує її тривалість наполовину.
Ноти студенту видаються із збірника мелодій згідно зі списком у журналі.
Приклади складання програм
Приклад 1. Текст програми (склав Карабат Д.І.):
#include "windows.h"
#include "iostream.h"
#define T0 4000
#define T0T 6000
#define T2 2000
#define T2T 3000
#define T4 1000
#define T4T 1500
#define T8 500
#define T8T 750
#define T16 250
#define T16T 375
#define T32 125
#define T32T 187
#define T64 62
#define T128 31
void main()
{
Beep(800,T8);
Beep(532*2,T8);
Beep(880,T16);
Beep(587*2,T8);
Beep(880,T16);
Beep(698*2,T8);
Beep(659*2,T16);
Beep(880,T2);
Beep(880,T8);
Beep(800,T8);
Beep(532*2,T8);
Beep(880,T16);
Beep(587*2,T8);
Beep(880,T16);
Beep(698*2,T8);
Beep(659*2,T16);
Beep(880,T2);
Beep(880,T8);
Beep(987,T2);
Sleep(T8);
Beep(687,T16);
Beep(587*2,T8);
Beep(687,T16);
Beep(659*2,T8);
Beep(687,T16);
Beep(698*2,T8);
Beep(659,T16);
Beep(987,T2);
Sleep(T8);
Beep(987,T16);
Beep(587*2,T8);
Beep(987,T16);
Beep(659*2,T8);
Beep(987,T16);
Beep(698*2,T8);
Beep(659,T16);
Beep(880,T2);
}
Приклад 2. Текст програми (склав Кравець І.І.):
#include "dos.h"
int main (void)
{
For (int i=0; i<10; i++)
{
sound (500+i*10);
delay (1000);
nosound();
sound (400+i*10);
delay (500);
nosound();
sound (500+i*10);
delay (1000);
nosound();
}
Return 0;
}
