- Любовные романы
- Фантастика и фэнтези
- Ненаучная фантастика
- Ироническое фэнтези
- Научная Фантастика
- Фэнтези
- Ужасы и Мистика
- Боевая фантастика
- Альтернативная история
- Космическая фантастика
- Попаданцы
- Юмористическая фантастика
- Героическая фантастика
- Детективная фантастика
- Социально-психологическая
- Боевое фэнтези
- Русское фэнтези
- Киберпанк
- Романтическая фантастика
- Городская фантастика
- Технофэнтези
- Мистика
- Разная фантастика
- Иностранное фэнтези
- Историческое фэнтези
- LitRPG
- Эпическая фантастика
- Зарубежная фантастика
- Городское фентези
- Космоопера
- Разное фэнтези
- Книги магов
- Любовное фэнтези
- Постапокалипсис
- Бизнес
- Историческая фантастика
- Социально-философская фантастика
- Сказочная фантастика
- Стимпанк
- Романтическое фэнтези
- Ироническая фантастика
- Детективы и Триллеры
- Проза
- Юмор
- Феерия
- Новелла
- Русская классическая проза
- Современная проза
- Повести
- Контркультура
- Русская современная проза
- Историческая проза
- Проза
- Классическая проза
- Советская классическая проза
- О войне
- Зарубежная современная проза
- Рассказы
- Зарубежная классика
- Очерки
- Антисоветская литература
- Магический реализм
- Разное
- Сентиментальная проза
- Афоризмы
- Эссе
- Эпистолярная проза
- Семейный роман/Семейная сага
- Поэзия, Драматургия
- Приключения
- Детская литература
- Загадки
- Книга-игра
- Детская проза
- Детские приключения
- Сказка
- Прочая детская литература
- Детская фантастика
- Детские стихи
- Детская образовательная литература
- Детские остросюжетные
- Учебная литература
- Зарубежные детские книги
- Детский фольклор
- Буквари
- Книги для подростков
- Школьные учебники
- Внеклассное чтение
- Книги для дошкольников
- Детская познавательная и развивающая литература
- Детские детективы
- Домоводство, Дом и семья
- Юмор
- Документальные книги
- Бизнес
- Работа с клиентами
- Тайм-менеджмент
- Кадровый менеджмент
- Экономика
- Менеджмент и кадры
- Управление, подбор персонала
- О бизнесе популярно
- Интернет-бизнес
- Личные финансы
- Делопроизводство, офис
- Маркетинг, PR, реклама
- Поиск работы
- Бизнес
- Банковское дело
- Малый бизнес
- Ценные бумаги и инвестиции
- Краткое содержание
- Бухучет и аудит
- Ораторское искусство / риторика
- Корпоративная культура, бизнес
- Финансы
- Государственное и муниципальное управление
- Менеджмент
- Зарубежная деловая литература
- Продажи
- Переговоры
- Личная эффективность
- Торговля
- Научные и научно-популярные книги
- Биофизика
- География
- Экология
- Биохимия
- Рефераты
- Культурология
- Техническая литература
- История
- Психология
- Медицина
- Прочая научная литература
- Юриспруденция
- Биология
- Политика
- Литературоведение
- Религиоведение
- Научпоп
- Психология, личное
- Математика
- Психотерапия
- Социология
- Воспитание детей, педагогика
- Языкознание
- Беременность, ожидание детей
- Транспорт, военная техника
- Детская психология
- Науки: разное
- Педагогика
- Зарубежная психология
- Иностранные языки
- Филология
- Радиотехника
- Деловая литература
- Физика
- Альтернативная медицина
- Химия
- Государство и право
- Обществознание
- Образовательная литература
- Учебники
- Зоология
- Архитектура
- Науки о космосе
- Ботаника
- Астрология
- Ветеринария
- История Европы
- География
- Зарубежная публицистика
- О животных
- Шпаргалки
- Разная литература
- Зарубежная литература о культуре и искусстве
- Пословицы, поговорки
- Боевые искусства
- Прочее
- Периодические издания
- Фанфик
- Военное
- Цитаты из афоризмов
- Гиды, путеводители
- Литература 19 века
- Зарубежная образовательная литература
- Военная история
- Кино
- Современная литература
- Военная техника, оружие
- Культура и искусство
- Музыка, музыканты
- Газеты и журналы
- Современная зарубежная литература
- Визуальные искусства
- Отраслевые издания
- Шахматы
- Недвижимость
- Великолепные истории
- Музыка, танцы
- Авто и ПДД
- Изобразительное искусство, фотография
- Истории из жизни
- Готические новеллы
- Начинающие авторы
- Спецслужбы
- Подростковая литература
- Зарубежная прикладная литература
- Религия и духовность
- Старинная литература
- Справочная литература
- Компьютеры и Интернет
- Блог
Интернет-журнал 'Домашняя лаборатория', 2008 №2 - Журнал «Домашняя лаборатория»
Шрифт:
Интервал:
Закладка:
ПРОГРАММИРОВАНИЕ ИНТЕРФЕЙСА
Для разработки прикладных программ необходимо выбрать язык программирования. Если требуется несложная, быстрая и компактная программа, которая не содержит сложных вычислительных операций, то для ее написания лучше выбирать язык низкого уровня (язык ассемблера). Язык ассемблера относится к группе машинно-ориентированных языков, т. е. каждому семейству микропроцессоров соответствует свой язык.
Язык высокого уровня следует выбирать, если необходимо производить сложные вычисления, или в случае, если высокое быстродействие программы не требуется. Объектные коды, полученные в результате трансляции программ, написанных на языке высокого уровня, обычно занимают в памяти ЭВМ намного больше места и исполняются медленнее в сравнении с программами на ассемблере. Часто применяется подход, когда критичные к быстродействию части программы пишутся на ассемблере, а вычислительные процедуры — на языке высокого уровня, например, на Паскале или Си.
Рассмотрим работу с регистрами интерфейса CENTRONICS на языке PASCAL или ассемблере:
ПАСКАЛЬ:
Port[$378]:=х
АССЕМБЛЕР 8086:
mov a1,х
mov dx,378h
out dx,a1
X — число типа "byte" (0..255). Например, при посылке 170 (dec) = 10101010 (bin) на линии D0-D7 единичный сигнал будет присутствовать на выводах Dl, D3, D5, D7 (обозначение выводов начинается с D0). Число 170 останется на выводах разъёма до тех пор, пока Вы не перешлёте туда же другое число (это может сделать и другая программа) или не выключите компьютер. Заметьте, что адрес порта в команде задан в шестнадцатиричном (hex) виде, а посылка — в десятичном (dec). Если вместо Паскаль-команды
Port[$378]:=170;
Вы примените
d:=Port[$378];
где d — переменная, то переменная примет значение последнего посланного в порт байта или, при переходе в режим приёма, значение байта, поданного на порт внешним устройством.
Пример чтения статус-регистра на языке Pascal:
d:=Port[$379];
В переменной d после выполнения программы будет отображено состояние порта. Допустим, переменная вернула значение 126 (dec). В двоичном (bin) виде оно выглядит как 01111110. Младшие (правые) три бита (нулевой, первый и второй) не используются, и почти равны 1, 1 и 0. Третий бит — 1, значит на ERROR высокий уровень. Та же ситуация на SELECT, PAPER END, ACK и BUSY (не забывайте, что сигнал BUSY является инвертированным).
Приведем пример фрагмента программы, которая считывает байт с линий данных D0-D7:
Port[$37А]:=32; {32 "включает" единицу в пятом}
d:=Port[$378]; {бите, переводя порт в режим ввода}
Как видно из приведенных примеров, программирование LPT-порта является весьма простой задачей, что позволяет в значительной степени облегчить работу разработчика программного обеспечения устройств с обсуждаемым интерфейсом.
СПИСОК КОНТРОЛЬНЫХ ВОПРОСОВ
1. Для чего предназначен параллельный интерфейс Centronics?
2. Что представляет собой адаптер LPT-порта?
3. Перечислите основные параметры интерфейса Centronics?
4. Какие основные сигналы используются обсуждаемым интерфейсом для обеспечения передачи данных от компьютера к периферийному устройству?
5. Опишите стандартный протокол обмена данными через интерфейс Centronics.
6. Перечислите режимы обмена данными через LPT-порт согласно спецификации IEEE 1284.
7. Как осуществляется двунаправленный обмен данными через LPT-порт?
8. Какими электрическими параметрами обладает LPT-порт, выполненный согласно спецификации IEEE 1284?
9. Как осуществляется работа с LPT-портом на низком уровне?
10. Какие функции выполняет регистр данных?
11. Перечислите биты регистра состояния стандартного LPT-порта и укажите их назначение.
12. Перечислите биты регистра управления стандартного LPT-порта и укажите их назначение.
13. Как осуществляется программирование регистров интерфейса с использованием языка Паскаль?
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ:
1. Гук М. Аппаратные средства IBM PC. Энциклопедия — СПб: Питер Ком, 1999.
2. Е.П. Бененсон, И.М. Витенберг, В.В. Мельников и др. Печатающие устройства персональных ЭВМ: Справочник/Под ред. И.М. Витенберга. — М.: Радио и связь, 1992.
3. Р. Браун, Дж. Кайл. Справочник по прерываниям IBM PC: В 2-х томах: Т.1. Пер. с англ. — М.: Мир, 1994.
4. Данкан Р. Профессиональная работа в MS-DOS: Пер. с англ.-М.: Мир, 1993.
5. В.Н. Пильщиков. Программирование на языке ассемблера IBM PC. — М.: Диалог — МИФИ, 1997.
6. Фролов А.В., Фролов Г.В. Аппаратное обеспечение IBM PC: В 2-х ч.: — М.: Диалог-МИФИ", 1998.
7. Мячев А.А. Интерфейсы средств вычислительной техники: Справочник, -М.: Радио и связь, 1992.
ЭЛЕКТРОНИКА
Измерение температуры датчиком DS1820
(thermo.karelia.ru)
Схема собрана на микроконтроллере[71] Atmel AT90S2313. На рисунках — принципиальная схема и внешний вид устройства. В качестве измерителя использован цифровой датчик фирмы Dallas Semiconductor — DS1820.
Датчик температуры DS1820 производства фирмы Dallas Semiconductors имеет малую погрешность измерений только в диапазоне от 0 до 70°. Для того, чтобы узнать, чему соответствуют его показания, скажем, при -30°, нужно построить градуировочную кривую. В документации, сопутствующей DS1820, приведен следующий график зависимости ошибки измерителя от реальной температуры.
Красная линия на нем отображает отклонение от истинного значения температуры для нашей партии датчиков. Для того чтобы программно скорректировать показания измерителей, нужно данную кривую выразить в математической форме, т. е. аппроксимировать ее полиномом. В данном случае был использован степенной ряд. Коэффициенты при степенях иксов были подобраны с помощью MS Excel (модуль "поиск решения"). На графике синяя линия соответствует полиному третьей степени, уравнение которого написано под ним. Таким образом, полученные данные с измерителя каждый раз поправляются на ту или иную величину с учетом именно этой формулы.
Тотклон. = -0.027 — 0.01889*Т + 0.0008159*Т2 - 0.00000749*Т3
Отнимая от значений измерителя величину поправки, получаем истинное значение температуры. Т. е.
Тистин. = Т — Тотклон., или
Тистин. = 0.027 + 1.01889*Т — 0.0008159*Т2 + 0.00000749*Т3
Источники стабильного тока и их применение
П. Иванов, С. Семушин
Независимо от конструктивного исполнения любой источник тока состоит из одних и тех же функциональных узлов (рис. 1). Это первичный источник питания, регулирующий элемент, датчик тока и нагрузка. В большинстве конструкций используется также цепь обратной связи, соединяющая датчик тока с регулирующим элементом. Ток в нагрузке устанавливается изменением параметров цепи обратной связи или датчика тока [1–3].
Если ток

