Отчет по практике: Микропроцессорные системы

F – требуемая частота звука в Гц

Например: Если необходимая частота равна 1 кГц = 1000Гц, тогда константа счетчика равна 1193181/1000 = 1193 (10с/с) = 4А9 (16с/с).

2.4 Выполнение задержки

В BIOS существует 4 ячейки памяти, в которых хранится системное время. В результате прерывания от таймера содержимое этих ячеек увеличивается на 1, т.е. каждые 55 мс этот изменяется. По адресу 0000:046E находится старшее слово, а по адресу 0000:046Е младшее слово системного счетчика времени.

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

Константа необходимой задержки считается следующим образом:

Задержка/55мс = константа

Например:

Если необходимая задержка равна 550мс, тогда константа равна 550мс/55мс = 10 (10с/с) = ОА (16с/c).

2.5 Область данных BIOS

Область основной памяти размером 256 байт расположена непосредственно ха таблицей векторов прерываний, начиная с адреса 0040:0000 и кончая 004F:0000, предназначена для использования программами BIOS. В таблице приведено описание части информации, помещаемой в BIOS в указанную область памяти. Обращаясь к ней, прикладные программы получают важную информацию о состоянии системы.

Таблица 2.4 – Область данных портов

Адрес (сегмент: смещение) Длина (в байтах) Наименование и описание
ОБЛАСТЬ ДАННЫХ ПОСЛЕДОВАТЕЛЬНОГО\ПАРАЛЛЕНЛЬНОГО ПОРТОВ
0040:0000 8 Базовый адрес ввода-вывода для COM1-COM4
0040:0008 8 Базовый адрес ввода-вывода для LPT1-LPT4
СМЕШАННАЯ ОБЛАСТЬ ДАННЫХ
0040:0010 2 Флаги оборудования
0040:0013 2 Обьём памяти в килобайтах
ОБЛАСТЬ ДАННЫХ КЛАВИАТУРЫ 1
0040:0017 1 Флаги 1 состояния регистров клавиатуры
0040:0018 1 Флаги 2 состояния регистров клавиатуры
0040:0019 1 Ввод с дополнительного клавиатурного поля
0040:001А 2 Адрес начла буфера клавиатуры
0040:001С 2 Адрес конца буфера клавиатуры
0040:01Е 32 Буфер клавиатуры
ОБЛАСТЬ НАКОПИТЕЛЯ FDD
0040:003Е 1 Состояние повторной калибровки
0040:003А 1 Состояние двигателя
0040:0040 1 Счетчик числа
0040:0041 1 Состояние последней операции
0040:0042 7 Байты состояния контроллера
ОБЛАСТЬ ДАННЫХВИДЕОАДАПТЕРА 1
0040:0049 1 Текущий видеорежим
0040:004А 2 Количество столбцов в отображаемом тексте
0040:004С 2 Длина буфера регенерации в байтах
0040:004У 2 Адрес смещения активной видеостраницы
0040:0050 16 Положение курсора (видеостраницы 0-7)
0040:0060 2 Тип курсора (нач. и кон. строки развертки)
0040:0062 1 Активная видеостраница
0040:0063 2 Базовый адрес видеоконтроллера
0040:0065 1 Текущая установка регистра 3х8
0040:0066 1 текущая установка регистра 3х9
ОБЛАСТЬ ДАННЫХ СИСТЕМНОГО ТАЙМЕРА
0040:006С 2 Младшее словосодержимого таймера
0040:006Е 2 Старшее слово содержимого таймера
0040:0070 1 Индикатор заполнения таймера
СИСТЕМНАЯ ОБЛАСТЬ ДАННЫХ
0040:0071 1 Байт BIOS_BREAK
0040:0072 2 Флаг сброса
ОБЛАСТЬ ДАННЫХ ЖЕСТКОГО ДИСКА
0040:0074 1 Состояние последней операции
0040:0075 1 Число накопителей HDD
ВРЕМЕНА ОЖИДАНИЯ РЕАКЦИИ (ТАЙМАУТЫ)
0040:0078 4 Значения времен ожидания для LPT1-LPT4
0040:007С 4 Значения времен ожидания для COM1-COM4
ОБЛАСТЬ ДАННЫХ КЛАВИАТУРЫ
0040:0080 2 Адрес начала буфера клавиатуры
0040:0082 2
ОБЛАСТЬ ДАННЫХ ВИДЕОАДАПТЕРА 2
0040:0084 1 Число отображаемых строк текста минус 1
0040:0085 2 высота символа в строках развертки
0040:0087 1 Параметры видеорежима
0040:0088 1 Параметры видеорежима
ОБЛАСТЬ СВЯЗИ МЕЖДУ ПРОГРАММАМИ
0040:00F0 16 Область, где программа может записать\считать данные (например статус)

2.6 Задание

Напишите программу генерации последовательности звуковых сигналов, имеющих следующие характеристики:

- Первый сигнал : частота F1, длительность T1.

- Второй сигнал : частота F2, длительность T2.

- Пауза между сигналами : длительность Р1

Характеристика F1, F2, T1, T2, P1 выбираются из таблицы задания согласно варианту.

Программу необходимо оформить в виде основной программы и двух подпрограмм.

- Первая подпрограмма выполняет генерацию звука.

- Вторая подпрограмма выполняет задержку.

- Основная программа выполняет вызовы подпрограмм в нужной последовательности.

№Варианта F1, кгц T1, мс P1, мс F2, кГц Т2, мс
1 5 500 150 9,5 800

Рисунок 2.9 – Блок – схема основной программы

Основная программа

stac segment

db 64 dup (0)

ends

data segment

stQ db 13,10,''

ends

code segment

К-во Просмотров: 1058
Бесплатно скачать Отчет по практике: Микропроцессорные системы