- •Обработка прерываний
- •Обработка прерывания
- •Изменение вектора прерывания
- •Функция 35h
- •Дополнительные сведения о структуре doSиBios Прямое обращение к видеопамяти
- •Буфер клавиатуры
- •Пример выполнения работы
- •Варианты заданий
- •Вопросы по теме
- •Лабораторная работа № 2.
- •Функция 0ен
- •Функция 3dн Открывает хендл (открывает файл) на диске
- •Функция 3ен
- •Функция 3fh
- •Функция 40н
- •Функция 41н
- •Функция 42н
- •Функция 43h
- •Функция 47н
- •Функция 4ен
- •Функция 4fh
- •Функция 56н
- •Функция 57н
- •Функция 5ан
- •Прерывание 25н
- •Прерывание 26н
- •Пример выполнения работы Создать новую директорию new_dir на диске а:, сделать ее текущей, записать туда файл newfile.Txt и в него записать сообщение - "Это вновь созданный файл".
- •Порядок выполнения работы
- •Вопросы по теме работы
- •Лабораторная работа № 3
- •Основные сведения
- •Функция Назначение
- •Функция 00н
- •Функция 01h
- •Функция 02h
- •Функция 03h
- •Пример выполнение работы
- •Контрольные вопросы
- •Лабораторная работа № 4 Таймер и генерация звука.
- •Форматы управляющих команд таймера.
- •Использование каналов в ibm pc.
- •Генерация звука.
- •Частоты нот для второй октавы
- •Варианты заданий.
- •Вопросы по теме работы.
Контрольные вопросы
1. В каких единицах измеряется скорость работы стыка?
2. Какие параметры устанавливаются при инициализации последовательного порта?
3. Какие функции работы с RS-232 предоставляет BIOS?
4. Как осуществить связь по стыку с помощью Norton Commander?
5. Как установить скорость передачи последовательного порта 9600 бод?
Лабораторная работа № 4 Таймер и генерация звука.
Для задания временных интервалов и формирования сигналов с различными временными параметрами в IBM PC/XT применяется программируемый таймер 8253, в AT - 8254. С точки зрения программиста они идентичны. В состав таймера входят: буфер шины данных, схема управления вводом-выводом и три независимых канала: канал 0, канал 1, канал 2.
Каждый канал содержит следующие регистры:
- состояния канала RS (8 разрядов);
- управляющего слова RSW (8 разрядов);
- буферного регистра OL (16 разрядов);
- регистра счетчика СЕ (16 разрядов);
- регистр констант пересчета CR (16 разрядов).
Каналы таймера подключаются к внешним устройствам при помощи трех линий:
GATE - управляющий вход;
CLK (CLOCK) - вход тактовой частоты;
OUT - выход таймера.
Регистр счетчика СЕ работает в режиме вычитания. Его содержимое уменьшается по заднему фронту сигнала CLK при условии, что на вход GATE подан уровень логической единицы. В зависимости от режима боты таймера при достижения счетчиком СЕ нуля тем или иным способом изменяется выходной сигнал OUT.
Регистр констант пересчета CR может загружаться в регистр счетчика, если это требуется в текущем режиме работы таймера.
Схема взаимодействия регистров канала i (i=0,1,2):
Программирование канала осуществляется путем вывода управляющих слов в регистр управляющего слова и начального значения в его счетчики.
Возможны 6 режимов работы каналов таймера.
Однако на практике используются только 2 из них: второй и третий.
Режим 2 (генератор импульсов). При загрузке в регистр CR значения счетчика происходит автоматическая пересылка его в счетчик СЕ. Если на входе GATE установлен высокий уровень сигнала (счет разрешен), то происходит декремент регистра СЕ с приходом каждого тактового импульса. Когда значение счетчика становится равным 0, на выходе OUT генерируется короткий отрицательный импульс и происходит новая загрузка счетчика значением, находящимся в регистре CR (новым или прежним). Если на вход GATE подается низкий уровень сигнала, то счет прекращается и на выходе OUT возникает высокий уровень сигнала (импульсы не выдаются). При новом разрешении счета происходит перезагрузка счетчика. Таким образом происходит генерация коротких импульсов с постоянной частотой, зависящей от числа в регистре CR.
Режим 3 (генератор меандра). Аналогичен режиму 2, но длительность отрицательного и положительных импульсов на выходе OUT за один цикл счетчика равны и составляют половину периода счета. Если в CR загружено четное число, то длительность положительного и отрицательного импульсов равна n*Т/2, где n - число в CR, Т - период тактовых импульсов. Если в CR загружено нечетное число, то длительность положительного импульса равна (n+1)*Т/2, а отрицательного - (n-1)*Т/2. Таким образом генерируется последовательность чередующихся импульсов одинаковой длительности.