- Фантастика и фэнтези
- Ироническое фэнтези
- Стимпанк
- Детективная фантастика
- Киберпанк
- Попаданцы
- LitRPG
- Космоопера
- Технофэнтези
- Городская фантастика
- Русское фэнтези
- Юмористическая фантастика
- Космическая фантастика
- Боевое фэнтези
- Эпическая фантастика
- Зарубежная фантастика
- Книги магов
- Мистика
- Разная фантастика
- Разное фэнтези
- Любовное фэнтези
- Романтическая фантастика
- Городское фентези
- Историческая фантастика
- Историческое фэнтези
- Социально-философская фантастика
- Сказочная фантастика
- Иностранное фэнтези
- Романтическое фэнтези
- Ироническая фантастика
- Ужасы и Мистика
- Постапокалипсис
- Героическая фантастика
- Фэнтези
- Научная Фантастика
- Социально-психологическая
- Альтернативная история
- Боевая фантастика
- Разная литература
- Пословицы, поговорки
- Шахматы
- Визуальные искусства
- Фанфик
- Авто и ПДД
- Военное
- Отраслевые издания
- Гиды, путеводители
- Зарубежная образовательная литература
- Военная история
- Цитаты из афоризмов
- Современная литература
- Великолепные истории
- Начинающие авторы
- Современная зарубежная литература
- Боевые искусства
- Изобразительное искусство, фотография
- Кино
- Литература 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].
Если ток