Здесь можно найти образцы любых учебных материалов, т.е. получить помощь в написании уникальных курсовых работ, дипломов, лабораторных работ, контрольных работ и рефератов. Так же вы мажете самостоятельно повысить уникальность своей работы для прохождения проверки на плагиат всего за несколько минут.

ЛИЧНЫЙ КАБИНЕТ 

 

Здравствуйте гость!

 

Логин:

Пароль:

 

Запомнить

 

 

Забыли пароль? Регистрация

Повышение уникальности

Предлагаем нашим посетителям воспользоваться бесплатным программным обеспечением «StudentHelp», которое позволит вам всего за несколько минут, выполнить повышение уникальности любого файла в формате MS Word. После такого повышения уникальности, ваша работа легко пройдете проверку в системах антиплагиат вуз, antiplagiat.ru, etxt.ru или advego.ru. Программа «StudentHelp» работает по уникальной технологии и при повышении уникальности не вставляет в текст скрытых символов, и даже если препод скопирует текст в блокнот – не увидит ни каких отличий от текста в Word файле.

Работа № 87263


Наименование:


Лабораторка Программа, определяющая частоту прерываний системного таймера с использованием прерывания BIOS по дисциплине «Системы реального времени»

Информация:

Тип работы: Лабораторка. Предмет: Программирование. Добавлен: 20.04.2015. Сдан: 2014. Страниц: 10. Уникальность по antiplagiat.ru: < 30%

Описание (план):


ОГЛАВЛЕНИЕ

ВВЕДЕНИЕ ………………………………………………………………..3

1. ЦЕЛЬ ЛАБОРАТОРНОЙ РАБОТЫ №2 ………………………………5
2. БЛОК-СХЕМЫ ПРОГРАММЫ ……………………………………….6
3. КОД ПРОГРАММЫ С КОММЕНТАРИЯМИ………………………..7
4. ФОТОГРАФИИ КОДА И РЕЗУЛЬТАТА С РАБОЧЕГО МЕСТА ….9
ВВЕДЕНИЕ
ПЕРЕФЕРИЙНОЕ УСТРОЙСТВО ТАЙМЕР
Для задания временных интервалов и формирования сигналов с различными временными параметрами в IBM PC/XT применяется программируемый таймер 8253 (отечественный аналог КР580ВН53), в AT — 8254. С точки зрения программиста они идентичны. В состав таймера входят: буфер шины данных, схема управления вводом-выводом и три независимых канала, каждый из которых содержит регистр режима, схему управления каналом, буфер и 16-разрядный счетчик.
Программирование канала осуществляется путем вывода управляющих слов в регистр режима каналов и начального значения в его счетчики. Каждый канал имеет управляющий вход GATE и выход OUT и может работать в шести режимах. Обычно используется режим 3. В этом случае в регистр ввода/вывода канала может быть записано число (в диапазоне 0...65535), копия которого автоматически загрузится в счетчик. В процессе счета из этого числа вычитается 1 на каждом периоде тактового сигнала Т. При достижении 0 счетчик перезагружается. Положительный уровень выходного сигнала занимает первый полупериод, а отрицательный — второй полупериод. Низкий уровень сигнала на входе канала GATE запрещает счет, на выходе OUT устанавливается сигнал высокого уровня. Высокий уровень GATE разрешает счет, а нарастание его запускает счетчик начального состояния. Следует отметить, что n=3 в этом режиме недопустимо.
В IBM PC таймер имеет базовый адрес 40h и следующие программируемые регистры (табл. 1):
Таблица 1
Порты таймера IBM PC
Порт Операция Назначение
40h Запись/чтение Запись/чтение счетчика канала 0
41h Запись/чтение Запись/чтение счетчика канала 1
42h Запись/чтение Запись/чтение счетчика канала 2
43h Запись Запись управляющего слова в регистр режима канала


Формат управляющего слова приведен в табл. 2.
Таблица 2
Формат управляющего слова таймера
Бит Значение
0 0 — двоичные данные,
1 — двоично-десятичные
3...1 номер режима (000 – 101)
5...4 Тип операции:
00 — передать значение счетчика в буфер
01 — читать/писать только старший байт
10 — читать/писать только младший байт
11 — читать/писать сначала младший байт, затем старший
7...6 номер канала (00 – 02)

В IBM PC каналы таймера имеют следующее назначение:
• канал 0 — системные часы (IRQ0);
• канал 1 — регенерация памяти;
• канал 2 — генератор звука.
Тактовая частота каждого канала равна 1,19318 МГц, т. е. каждый такт имеет длительность 0,84 мксек. Вход GATE каналов 0 и 1 всегда имеют высокий уровень, поэтому счет на этих каналах разрешен всегда. Вход GATE канала 2 управляется битом 0 порта 61h (следует иметь в виду, что этот же порт связан с клавиатурой, поэтому необходимо сохранять его биты 2...7).
При начальной загрузке BIOS инициализирует канал 0 для работы в режиме 3 со счетчиком 0 (т. е. 65536 декрементов на цикл счета). Поэтому частота системных часов равна
1,19 МГц/65536 = 18.2 Гц
и прерывание IRQ0, связанное с вектором Int 8, происходит 18,2 раз в секунду, т. е. каждые 55 мсек.


1. ЦЕЛЬ ЛАБОРАТОРНОЙ РАБОТЫ №1


Составить программу, определяющую частоты прерываний системного таймера. Для отсчета временных интервалов использовать показания часов реального времени, получаемые с помощью прерывания BIOS. Прерывания таймера подсчитывать, анализируя содержимое 0040h:006Ch.


2. БЛОК-СХЕМЫ ПРОГРАММЫ

1. Блок-схема основной программы




3. КОД ПРОГРАММЫ С КОММЕНТАРИЯМИ

#include
#include
#include
#include
#include

unsigned double f; /*Частота прерывания системного таймера*/

void main (void)
{
unsigned int tiki1, tiki2, kolvo_tiki, timer1, timer2;
union REGS rg;...


4. ФОТОГРАФИИ КОДА И РЕЗУЛЬТАТА С РАБОЧЕГО МЕСТА

Операционная система DOC была запущенна с флэш накопителя в домашних условиях с установленной на ней среда программирования Turbo C 2.0. В итоге вот что получилось:





Перейти к полному тексту работы


Скачать работу с онлайн повышением уникальности до 90% по antiplagiat.ru, etxt.ru или advego.ru


Смотреть похожие работы

* Примечание. Уникальность работы указана на дату публикации, текущее значение может отличаться от указанного.