Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Требования к оформлению лабораторной работы

ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ № 3

Quot;Ознайомлення з програмною моделлю таймера ПК

Та стандартним системним звуковим каналом".

Сигнал для управления динамиком формируется в результате совместной работы микросхем:

- программируемого периферийного интерфейса і8255 (для ХТ) и і8242 (для АТ);

- таймера і8253.


Основная генерация звука производится микросхемой таймера, имеющей три канала с одинаковой структурой и принципом работы. На каналы таймера подаются импульсы от микросхемы системных часов с частотой 1,19 МГц. Каждый канал имеет два входа и один выход. Канал 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).

Подачей тока на динамик управляет бит 1 порта 61h. Бит 0 порта 61h открывает или закрывает выход канала.

Для генерации (второй канал таймера прямоугольных импульсов, загружаемые в порт 42 значения (value) должны быть четными:

 

Value = 1193181/f (f - частота звукового сигнала)

 

Таким образом, для программирования звукового канала таймера необходимо:

- посредством порта 43h выбрать канал, задать режим работы и тип операции передачи значения в канал;

- подать ток на динамик установив в 1 бит 1 порта 61h;

- поместить в порт 42h значение, соответствующее высоте тона.

 

Частоты звучания нот

 

Частота, Гц   Суб-контp- Контp- Большая Малая 1.00 2.00 3.00 4.00 5.00
Hота   октава октава октава октава октава октава октава октава октава
До C   32.70 65.41 130.82 261.63 523.25 1046.50 2093.00 4186.00
До-диез C   34.65 69.30 138.59 277.18 554.36 1108.70 2217.40 4434.80
Ре D   36.95 73.91 147.83 293.66 587.32 1174.60 2349.20 4698.40
Ре-диез D   38.88 77.78 155.56 311.13 622.26 1244.50 2489.00 4978.00
Ми E 20.61 41.21 82.41 164.81 329.63 659.26 1318.50 2637.00 5274.00
Фа F 21.82 43.65 87.31 174.62 349.23 698.46 1396.90 2793.80  
Фа-диез F 23.12 46.25 92.50 185.00 369.99 739.98 1480.00 2960.00  
Соль G 24.50 49.00 98.00 196.00 392.00 784.00 1568.00 3136.00  
Соль-диез G 25.95 51.90 103.80 207.00 415.30 830.60 1661.20 3332.40  
Ля A 27.50 55.00 110.00 220.00 440.00 880.00 1720.00 3440.00  
Си-бемоль B 29.13 58.26 116.54 233.08 466.16 932.32 1864.60 3729.20  
Си H 30.87 61.74 123.48 246.96 493.88 987.75 1975.50 3951.00  

 

1. Составить две функции: вида void идентификатор ( unsignedint Tn),где Tn – продолжительность звучания (или паузы) представлена рядом констант:

Tn=T0=4 сек
Tn=T0T=6 сек
Tn=T2=2 сек
Tn=T2T=3 сек
Tn=T4=1 сек
Tn=T4T=1,5 сек
Tn=T8=0,5 сек
Tn=T8T=0,75 сек
Tn=T16=0,25 сек
Tn=T16T=0,375 сек
Tn=T32=0,125 сек
Tn=T32T=0,187 сек
Tn=T64=0,062 сек
Tn=T128=0,031 сек

для генерации звука с заданными значениями частот, определяемых идентификаторами:

  С0=65 Гц, D0=74 Гц  
  E0=82 Гц, F0=87 Гц  
  G0=98 Гц, A0=110 Гц  
  В0=116 Гц, Н0=124 Гц  
  С=130 Гц, D=148 Гц  
  E=164 Гц, F=174 Гц  
  G=196 Гц, A=220 Гц  
  B=232 Гц, H=248 Гц  
  C1=260 Гц, D1=296 Гц  
  E1=328 Гц, F1=348 Гц  
  G1=392 Гц, A1=440 Гц  
  B1=464 Гц, H1=496 Гц  
  C0D=69 Гц, D0D=78 Гц  
  F0D=92 Гц, G0D=104 Гц  
  CD=138 Гц, D0=156 Гц  
  FD=184 Гц, GD=208 Гц  
  C2=520 Гц, D2=592 Гц  
  E2= 656 Гц, F2=696 Гц  
  G2=784 Гц, A2=880 Гц  
  B2=928 Гц, H2=992 Гц  
  C1D=276 Гц, D1D=312 Гц  
  F1D=368 Гц, G1D=416 Гц  
  C2D=552 Гц, D2D=624 Гц  
  F2D=736 Гц, G2D=832 Гц  
  C3=1040 Гц, D3=1184 Гц  
  E3=1312 Гц, F3=1392 Гц  
  G3=1568 Гц, A3=1760 Гц  

и функцию паузы вида void P (unsigned int Tn).

 

 

Требования к оформлению лабораторной работы

Работа должна быть оформлена как в виде твердой копии, так и в электронном варианте (на диске). На диске должны быть представлены файлы с исходными программными кодами и соответствующий компилированный вариант (.exe). Исходный код должен содержать краткие комментарии и соответствовать требованиям “хорошего стиля” программирования.

Работа выполняется в тетради и содержит описание хода выполнения задания (назначение разрабатываемой программы в целом и ее функциональных модулей-функций, описание работы программы и ее функциональных модулей, полный исходный код программы на алгоритмическом языке высокого уровня С/С++.

Пример записи исходного программного кода:

# include <заголовочный файл>

# define T0 // описательные

......................................

# define T128 // константы (14 - значений)

 

void E (...);

void E2 (...); // объявление прототипов функций

void P (...);

 

void main ()

{

E(T0); P(T32); E2(T4); E(T0); P(T4); и т.д. последовательно из 10-12 составленных Вами функций

}

void E (...)

{ }

void E2 (...) // определение функций

{ }

void P(...)

{ }

К заданию 2 предъявляются аналогичные требования. В задании 2 необходимо продемонстрировать сравнительное звучание системного звукового сигнала со звуком с определенной Вами частотой.

Некоторые замечания. При модификации битовых значений регистров-портов, допускающих чтение и запись (R/W), необходимо сохранить исходное состояние битов регистра во временной переменной для их последующего восстановления в заключительной части программного кода.



<== предыдущая лекция | следующая лекция ==>
Figure 1. Before the electrolysis | 
Поделиться с друзьями:


Дата добавления: 2017-04-15; Мы поможем в написании ваших работ!; просмотров: 252 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

В моем словаре нет слова «невозможно». © Наполеон Бонапарт
==> читать все изречения...

2217 - | 2180 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.014 с.