Изучение аппаратных интерфейсов
Общие сведения об интерфейсе RS-232. Назначение линий 25-контактного разъема типа D для интерфейса RS-232. Полная схема соединения по интерфейсу RS-232. Виды сигналов и символы кода ASCII. Влияние длины кабеля на максимальную скорость передачи информации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 03.06.2015 |
Размер файла | 450,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
Высшего профессионального образования
Волгоградский государственный технический университет
Кафедра «Электронно-вычислительные машины и системы»
Семестровая работа
по курсу «Основы периферийных устройств»
Тема: Изучение аппаратных интерфейсов
Выполнила студентка группы ВЗК 382с:
Сафонова Ю.Д.
Поверил преподаватель:
Егунов В.А.
Волгоград 2015
- Содержание
- Введение
- 1. Общие сведения об интерфейсе RS-232
- 2. Стандарт интерфейса RS-232
- 3. Назначение интерфейса RS-232
- 4. Принцип работы
- 5. Виды сигналов
- 6. Разъемы интерфейса RS-232
- 7. Расстояния передачи
- 8. Контроль четности
- 9. Тестовое оборудование для интерфейса RS-232
- 10. Текст программы
- 11. Пример работы программы
Введение
Последовательные интерфейсы используются для связи двух или более устройств между собой. Характерная черта таких интерфейсов - использование последовательного метода передачи цифровой информации, при котором данные передаются последовательно бит за битом, для чего используется всего лишь одна линия. При этом физическая реализация двустороннего обмена может осуществляться с помощью 2 - 3 проводов. Значительное (по сравнению с параллельными интерфейсами) сокращение числа каналов передачи и проводов позволило упростить и удешевить приемопередающие устройства и кабельные системы. В общем, последовательные интерфейсы отличаются лучшей помехоустойчивостью (здесь не учитывается влияние типа линий передачи), поскольку в них исключено взаимное влияние между линиями данных (фактически, линия данных всего одна, а, например, в 8-разрядном параллельном интерфейсе - 8). Сравнительная простота и низкие аппаратные требования обусловили широкое использование последовательных интерфейсов в электронике и смежных областях. Наибольшее распространение из них получили интерфейсы 1-Wire, I2C, SPI, CAN, RS-485, RS-232, USB, Firewire. Каждый из перечисленных интерфейсов имеет свои достоинства и недостатки, и определяемую ими область использования. В частности, первые 4 интерфейса преимущественно используются в микроконтроллерных системах, последние 4 - для связи ПК с периферийным оборудованием. Последовательный интерфейс RS-232, разработанный несколько десятков лет назад (разработка стандарта проводилась, начиная с 1960 г.) для компьютеров (в основном для связи с модемами) и являющийся «патриархом» в своем роде, до сих пор не утратил своего коммуникационного назначения. Такое долголетие (особенно с учетом преимуществ других стандартов) отчасти объясняется развитием микроконтроллерной техники, которая в настоящее время повсеместно используется в системах автоматизации, сбора и обработки различных данных, встраиваемых системах различного назначения. При этом интерфейс RS-232 оказался едва ли не единственным средством связи между микроконтроллером (МК) и ПК, аппаратно присутствующем и в первом и во втором. В ПК за реализацию интерфейса отвечает COM-порт, а практически в любом МК есть один или несколько приемопередающих модулей (УАПП/UART, УСАПП/USART, SCI и пр.), аппаратно поддерживающих RS-232. Другие причины жизнеспособности интерфейса - сравнительная простота протокола обмена, поддержка во многих средах программирования на уровне библиотечных модулей, наличие доступных утилит, предназначенных для связи ПК с помощью COM-порта. Спецификация любого интерфейса включает в себя две составляющие: аппаратную и программную (логическую). Аппаратная часть (уровни напряжений, разъемы, назначение сигналов и пр.) описывается стандартом на интерфейс, описание программной часть (правил передачи данных) называется протоколом интерфейса.
1. Общие сведения об интерфейсе RS-232
RS - 232 (Recommended Standard 232) - физический уровень асинхронного (UART) интерфейса. Исторически имел широкое распространение в телекоммуникационном оборудовании для персональных компьютеров. В настоящее время всё ещё широко используется для подключения всевозможного специального или устаревшего оборудования к компьютерам, однако в основном он уже вытеснен интерфейсом USB.
RS-232 - стандарт описывающий интерфейс передачи информации между терминалом (Data Terminal Equipment, DTE) и коммуникационным устройством (Data Communications Equipment, DCE) на расстоянии до 20 м. Информация передается по проводам с уровнями сигналов, отличающимися от стандартных 5В, для обеспечения большей устойчивости к помехам. Асинхронная передача данных осуществляется с установленной скоростью при синхронизации уровнем сигнала стартового импульса.
Интерфейс RS-232 полностью аппаратно реализован на персональных компьютерах в виде микросхем и разъемов. В PC его называют COM-портом (Communication port). Аппаратная реализация означает то, что он работает всегда, не зависимо, какая операционная система установлена на PC.
Программы могут взаимодействовать с СОМ-портами всеми доступными средствами: прямым кодом микропроцессора, аппаратными прерываниями, функциями BIOS, средствами ОС, компонентами языков высокого уровня. СОМ - порт реализованный по стандарту RS-232- универсален. Он обеспечивал работу PC с периферийными устройствами (чем сейчас занят USB), взаимодействие с локальной сетью через модем, обмен данными между PC и промышленным оборудованием, чтобы разбираться, как работают эти протоколы, необходимо понимать какую функцию СОМ порта они взяли на себя.
Интерфейс RS-232 является наиболее широко распространенной стандартной последовательной связью между микрокомпьютерами и периферийными устройствами. Интерфейс, определенный стандартом Ассоциации электронной промышленности (EIA), подразумевает наличие оборудования двух видов: терминального DTE и связного DCE.
Чтобы не составить неправильного представления об интерфейсе RS-232, необходимо отчетливо понимать различие между этими видами оборудования. Терминальное оборудование, например микрокомпьютер, может посылать и (или) принимать данные по последовательному интерфейсу. Оно как бы оканчивает (terminate) последовательную линию. Связное оборудование - устройства, которые могут упростить передачу данных совместно с терминальным оборудованием. Наглядным примером связного оборудования служит модем (модулятор-демодулятор). Он оказывается соединительным звеном в последовательной цепочке между компьютером и телефонной линией.
Различие между терминальными и связными устройствами довольно расплывчато, поэтому возникают некоторые сложности в понимании того, к какому типу оборудования относится то или иное устройство. Рассмотрим ситуацию с принтером. К какому оборудованию его отнести? Как связать два компьютера, когда они оба действуют как терминальное оборудование. Для ответа на эти вопросы следует рассмотреть физическое соединение устройств. Произведя незначительные изменения в линиях интерфейса RS-232, можно заставить связное оборудование функционировать как терминальное. Чтобы разобраться в том, как это сделать, нужно проанализировать функции сигналов интерфейса RS-232 (таб. 1).
аппаратный интерфейс сигнал
Таблица 1
Функции сигнальных линий интерфейса RS-232
Номер контакта |
Сокращение |
Направление |
Полное название |
|
1. |
FG |
- |
Основная или защитная земля |
|
2. |
TD (TXD) |
К DCE |
Передаваемые данные |
|
3. |
RD (RXD) |
К DTE |
Принимаемые данные |
|
4. |
RTS |
К DCE |
Запрос передачи |
|
5. |
CTS |
К DTE |
Сброс передачи |
|
6. |
DSR |
К DTE |
Готовность модема |
|
7. |
SG |
- |
Сигнальная земля |
|
8. |
DCD |
К DTE |
Обнаружение несущей данных |
|
9. |
- |
К DTE |
(Положительное контрольное напряжение) |
|
10. |
- |
К DTE |
(Отрицательное контрольное напряжение) |
|
11. |
QM |
К DTE |
Режим выравнивания |
|
12. |
SDCD |
К DTE |
Обнаружение несущей вторичных данных |
|
13. |
SCTS |
К DTE |
Вторичный сброс передачи |
|
14. |
STD |
К DCE |
Вторичные передаваемые данные |
|
15. |
TC |
К DTE |
Синхронизация передатчика |
|
16. |
SRD |
К DTE |
Вторичные принимаемые данные |
|
17. |
RC |
К DTE |
Синхронизация приемника |
|
18. |
DCR |
К DCE |
Разделенная синхронизация приемника |
|
19. |
SRTS |
К DCE |
Вторичный запрос передачи |
|
20. |
DTR |
К DCE |
Готовность терминала |
|
21. |
SQ |
К DTE |
Качество сигнала |
|
22. |
RI |
К DTE |
Индикатор звонка |
|
23. |
- |
К DCE |
(Селектор скорости данных) |
|
24. |
TC |
К DCE |
Внешняя синхронизация передатчика |
|
25. |
- |
К DCE |
(Занятость) |
Примечания:
1. Линии 11, 18, 25 обычно считают незаземленными. Приведенная в таблице спецификация относится к спецификациям Bell 113B и 208A.
2. Линии 9 и 10 используются для контроля отрицательного (MARK) и положительного (SPACE) уровней напряжения.
3. Во избежание путаницы между RD (Read - считывать) и RD (Received Data - принимаемые данные) будут использоваться обозначения RXD и TXD, а не RD и TD.
Стандартный последовательный порт RS-232 имеет форму 25-контактного разъема типа D (рис 1).
Рисунок 1 Назначение линий 25-контактного разъема типа D для интерфейса RS-232
Терминальное оборудование обычно оснащено разъемом со штырьками, а связное - разъемом с отверстиями (но могут быть и исключения).
Сигналы интерфейса RS-232 подразделяются на следующие классы:
· последовательные данные (например, TXD, RXD). Интерфейс RS-232 обеспечивает два независимых последовательных канала данных: первичный (главный) и вторичный (вспомогательный). Оба канала могут работать в дуплексном режиме, т.е. одновременно осуществляют передачу и прием информации;
· управляющие сигналы квитирования (например, RTS, CTS). Сигналы квитирования - средство, с помощью которого обмен сигналами позволяет DTE начать диалог с DCE до фактической передачи или приема данных по последовательной линии связи;
· сигналы синхронизации (например, TC, RC). В синхронном режиме (в отличие от более распространенного асинхронного) между устройствами необходимо передавать сигналы синхронизации, которые упрощают синхронизм принимаемого сигнала в целях его декодирования.
На практике вспомогательный канал RS-232 применяется редко, и в асинхронном режиме вместо 25 линий используются 9 линий (таб. 2).
Таблица 2
Основные линии интерфейса RS-232
Номер контакта |
Сигнал |
Выполняемая функция |
|
1 |
FG |
Подключение земли к стойке или шасси оборудования |
|
2 |
TXD |
Последовательные данные, передаваемые от DTE к DCE |
|
3 |
RXD |
Последовательные данные, принимаемые DTE от DCE |
|
4 |
RTS |
Требование DTE послать данные к DCE |
|
5 |
CTS |
Готовность DCE принимать данные от DTE |
|
6 |
DSR |
Сообщение DCE о том, что связь установлена |
|
7 |
SG |
Возвратный тракт общего сигнала (земли) |
|
8 |
DCD |
DTE работает и DCE может подключится к каналу связи |
2. Стандарт интерфейса RS-232
Аппаратная составляющая интерфейса регламентируется стандартом RS-232 (EIA/TIA - 232 - E) Ассоциации электронной промышленности и рекомендациями V.24 МККТТ (Международный консультативный комитет по телеграфии и телефонии). Стандарт RS-232 (его официальное название Interface between Data Terminal Equipment and Data Circuit-Termination Equipment employing serial binary data interchange) предназначен для подключения аппаратуры, передающей или принимающей данные (обозначается как DTE - Data Terminal Equipment) (В качестве DTE может выступать компьютер, принтер или другое периферийное оборудование), к оконечной аппаратуре каналов данных (обозначается как DCE - Data Communication Equipment). Функция DCE состоит в обеспечении возможности передачи информации между двумя или большим числом DTE. Другими словами, DCE - это устройство, преобразующее сигнал в форму, подходящую для канала связи, например, в аналоговый сигнал для телефонной линии. При связи ПК с удаленным периферийным оборудованием в качестве DCE чаще всего выступает модем. Устройства DTE могут соединяться напрямую с помощью модемного кабеля. На рис. 2 показана полная схема соединения двух DTE - устройств.
Рисунок 2 Полная схема соединения по интерфейсу RS-232
Согласно стандарту RS-232, сигнал (последовательность битов) передается напряжением. Передатчик и приемник являются несимметричными: сигнал передается относительно общего провода (в отличие от симметричной передачи протоколов RS-485 или RS-422). Логическому нулю на входе приемника соответствует диапазон +3…+12 В, а логической единице - диапазон -12…-3 В. Диапазон -3…+3 В - зона нечувствительности, обеспечивающая гистерезис приемника (передатчика). Уровни сигнала на выходе должны быть в диапазоне -12…-5 В для представления логической единицы и +5…+12 В для представления логического нуля. Иллюстрация уровней представлена на рис. 3. Необходимо отметить, что интерфейс не обеспечивает гальванической развязки устройств. Подключение и отключение интерфейсных кабелей устройств с независимым питанием должно производиться при отключенном питании.
Рисунок 3 Уровни сигналов RS-232 на передающем и принимающем концах линии связи
3. Назначение интерфейса RS-232
Интерфейс RS-232 был разработан для простого применения, однозначно определяемого по его названию «Интерфейс между терминальным оборудованием и связным оборудованием с обменом по последовательному двоичному коду». Каждое слово в названии значимое, оно определяет интерфейс между терминалом (DTE) и модемом (DCE) по передаче последовательных данных.
Изначально создавался для подключения телефонных модемов к компьютерам. В связи с такой специализацией имеет рудименты в виде, например, отдельной линии RING («звонок»). Постепенно телефонные модемы перешли на другие интерфейсы (USB), но разъем RS-232 имелся на всех персональных компьютерах и многие изготовители оборудования использовали его для подключения своего оборудования. Например, компьютерные мышки.
В настоящее время чаще всего используется в промышленном и узкоспециальном оборудовании, встраиваемых устройствах. На портативных компьютерах (ноутбуках, нетбуках, КПК и т.п.) RS-232 уже не ставят, однако материнские платы стационарных персональных компьютеров обычно ещё содержат RS-232 - либо в виде уже готового разъёма на задней панели, либо в виде внутренней контактной панели, к которой можно подключить шлейф. Также возможно использование переходников-преобразователей, например, типа USB>RS-232.
4. Принцип работы
RS-232 - проводной дуплексный интерфейс. Метод передачи данных аналогичен асинхронному последовательному интерфейсу.
Информация передается по проводам двоичным сигналом с двумя уровнями напряжения. Логическому «0» соответствует положительное напряжение (от +5 до +15 В для передатчика), а логической «1» отрицательное (от ?5 до ?15 В для передатчика). Для электрического согласования линий RS-232 и стандартной цифровой логики UART выпускается большая номенклатура микросхем драйверов, например MAX232.
Помимо линий входа и выхода данных RS-232 регламентировал ряд необязательных вспомогательных линий для аппаратного управления потоком данных и специальных функций.
5. Виды сигналов
В большинстве схем, содержащих интерфейс RS-232, данные передаются асинхронно, т.е. в виде последовательности пакета данных. Каждый пакет содержит один символ кода ASCII, причем информация в пакете достаточна для его декодирования без отдельного сигнала синхронизации.
Символы кода ASCII представляются семью битами, например буква А имеет код 1000001. Чтобы передать букву А по интерфейсу RS-232, необходимо ввести дополнительные биты, обозначающие начало и конец пакета. Кроме того, желательно добавить лишний бит для простого контроля ошибок по паритету (четности).
Наиболее широко распространен формат, включающий в себя один стартовый бит, один бит паритета и два стоповых бита. Начало пакета данных всегда отмечает низкий уровень стартового бита. После него следует 7 бит данных символа кода ASCII. Бит четности содержит 1 или 0 так, чтобы общее число единиц в 8-битной группе было нечетным. Последним передаются два стоповых бита, представленных высоким уровнем напряжения. Эквивалентный ТТЛ-сигнал при передаче буквы А показан на рисунке 4.
Рисунок 4 Представление кода буквы А сигнальными уровнями ТТЛ
Таким образом, полное асинхронно передаваемое слово состоит из 11 бит (фактически данные содержат только 7 бит) и записывается в виде 01000001011.
Используемые в интерфейсе RS-232 уровни сигналов отличаются от уровней сигналов, действующих в компьютере. Логический 0 (SPACE) представляется положительным напряжением в диапазоне от +3 до +25 В, логическая 1 (MARK) - отрицательным напряжением в диапазоне от -3 до -25 В. На рисунке 5 показан сигнал в том виде, в каком он существует на линиях TXD и RXD интерфейса RS-232.
Рисунок 5 Вид кода буквы А на сигнальных линиях TXD и RXD
Сдвиг уровня, т.е. преобразование ТТЛ-уровней в уровни интерфейса RS-232 и наоборот производится специальными микросхемами драйвера линии и приемника линии.
На рисунке 6 представлен типичный микрокомпьютерный интерфейс RS-232. Программируемая микросхема DD1 последовательного ввода осуществляет параллельно-последовательные и последовательно-параллельные преобразования данных. Микросхемы DD2 и DD3 производят сдвиг уровней для трех выходных сигналов TXD, RTS, DTR, а микросхема DD4 - для трех входных сигналов RXD, CTS, DSR. Микросхемы DD2 и DD3 требуют напряжения питания ±12 В.
Рисунок 6 Типичная схема интерфейса RS-232
6. Разъемы интерфейса RS-232
Со стороны ПК интерфейс RS-232 может быть реализован с помощью 9-и или 25-контактных разъемов типа D-sub, обозначаемых соответственно как DB9 и DB25. Изначально наибольшее распространение имел разъем DB25, поскольку он позволял использовать все имеющиеся варианты RS-232. Стандартом предусмотрена возможность синхронной передачи данных, что могло потребовать использование дополнительных контактов, однако на практике такой способ передачи используется редко. Для асинхронной же передачи, подразумеваемой под RS-232 по умолчанию, хватает возможностей более миниатюрного DB9. Поэтому в настоящее время используется преимущественно он. В таблице 3 приведены обозначения контактов разъемов интерфейса RS-232 (согласно стандартам RS-232-A/B/C) и описание сигналов. Необходимо отметить, что номера одноименных контактов разных разъемов друг другу не соответствуют.
Таблица 3
7. Расстояния передачи
Длина кабеля влияет на максимальную скорость передачи информации. Более длинный кабель имеет большую емкость и соответственно для обеспечения надежной передачи более низкую скорость. Большая емкость приводит к тому, что изменение напряжения одного сигнального провода может передаться на другой смежный сигнальный провод. Максимальным расстоянием обычно считается равным 15 м, но это не установлено в стандарте. Рекомендуется использовать на расстояниях до 50 м, но это зависит от типа используемого оборудования и характеристик кабеля.
Таблица 4
Максимальная длина кабеля
Скорость (бод) |
Макс. длина (футы) |
Макс. длина (метры) |
|
19 200 |
50 |
15 |
|
9 600 |
500 |
150 |
|
4 800 |
1000 |
300 |
|
2 400 |
3000 |
900 |
Скорость передачи информации по RS-232 измеряется в Бодах. Эта единица названа в честь Эмиля Бодо (Jean Maurice-Emile Baudot) (1845-1903), французского инженера по телеграфии, изобретателя первого печатающего устройства для телеграфа (телепринтера), представленного на Международной Телеграфной конференции в 1927. Максимальная скорость согласно стандарту 20000 Бод. Однако современное оборудование может работать значительно быстрее. Не имеет значения, на сколько быстрое (медленное) ваше соединение - максимальное число чтения за секунду можно установить с помощью используемого программного обеспечения.
8. Контроль четности
Четность в интерфейсе RS-232 (Parity)
При передаче по последовательному каналу контроль четности может быть использован для обнаружения ошибок при передаче данных. При использовании контроля четности посылаются сообщения подсчитывающие число единиц в группе бит данных. В зависимости от результата устанавливается бит четности. Приемное устройство также подсчитывает число единиц и затем сверяет бит четности.
Типы четности
Для обеспечения контроля четности компьютер и устройство должны одинаково производить подсчет бита четности. То есть, определиться устанавливать бит при четном (even) или нечетном (odd) числе единиц. При контроле на четность биты данных и бит четности всегда должны содержать четное число единиц. В противоположном случае соответствует для контроля на нечетность.
Mark и Space биты четности
Часто в драйверах доступны еще две опции на четность: Mark и Space. Эти опции не влияют на возможность контроля ошибок. Mark означает, что устройство всегда устанавливает бит четности в 1, а Space - всегда в 0.
Обнаружение ошибок
Проверка на четность - это простейший способ обнаружения ошибок. Он может определить возникновение ошибок в одном бите, но при наличии ошибок в двух битах уже не заметит ошибок. Также такой контроль не отвечает на вопрос, какой бит ошибочный. Другой механизм проверки включает в себя Старт и Стоп биты, циклические проверки на избыточность, которые часто применяются в соединениях Modbus.
Старт бит
Сигнальная линия может находиться в двух состояниях: включена и выключена. Линия в состоянии ожидания всегда включена. Когда устройство или компьютер хотят передать данные, они переводят линию в состояние выключено - это установка Старт бита. Биты сразу после Старт бита являются бюитами данных.
Стоп бит
Стоп бит позволяет устройству или компьютеру произвести синхронизацию при возникновении сбоев. Например, помеха на линии скрыла Старт бит. Период между старт и стоп битами постоянен, согласно значению скорости обмена, числу бит данных и бита четности. Стоп бит всегда включен. Если приемник определяет выключенное состояние, когда должен присутствовать стоп бит, фиксируется появление ошибки.
Рисунок 7 Схема 4-проводной линии связи для RS-232
Установка Стоп бита
Стоп бит не просто один бит минимального интервала времени в конце каждой передачи данных. На компьютерах обычно он эквивалентен 1 или 2 битам, и это должно учитываться программе драйвера. Хотя, 1 стоп бит наиболее общий, выбор 2 бит в худшем случае немного замедлит передачу сообщения. Есть возможность установки значения стоп бита равным 1.5. Это используется при передаче менее 7 битов данных. В этом случае не могут быть переданы символы ASCII, и поэтому значение 1.5 используется редко. Наиболее часто используются трех - или четырехпроводная связь (для двунаправленной передачи). Схема соединения для четырехпроводной линии связи показана на рисунке 7.
9. Тестовое оборудование для интерфейса RS-232
Соединители. Эти дешевые устройства упрощают перекрестные соединения сигнальных линий интерфейса RS-232. Они обычно оснащаются двумя разъемами типа D (или ленточными кабелями, имеющими розетку и вставку), и все линии проводятся к той области, куда можно вставить перемычки. Такие устройства включаются последовательно с линиями интерфейса RS-232, и затем проверяются различные комбинации подключений.
Трансформаторы разъема. Обычно эти приспособления имеют разъем RS-232 со штырьками на одной стороне и разъем с отверстиями на другой стороне.
Пустые модемы. Как и предыдущие устройства, пустые модемы включаются последовательно в тракт данных интерфейса RS-232. Их функции заключаются в изменении сигнальных линий таким образом, чтобы превратить DTE в DCE.
Линейные мониторы. Мониторы индицируют логические состояния (в терминах MARK и SPACE) наиболее распространенных сигнальных линий данных и квитирования. С их помощью пользователь получает информацию о том, какие сигналы в системе присутствуют и активны.
Врезки. Эти устройства обеспечивают доступ к сигнальным линиям. В них, как правило, совмещены возможности соединителей и линейных мониторов и, кроме того, предусмотрены переключатели или перемычки для соединения линий с обеих сторон устройства.
Интерфейсные тестеры. По своей конструкции эти устройства несколько сложнее предыдущих, простых устройств. Они позволяют переводить линии в состояния MARK или SPACE, обнаруживать помехи, измерять скорость передачи данных и индицировать структуру слова данных.
10. Изучение системной поддержки клавиатуры и манипулятора «мышь»
Разработать программу в соответствии с заданием. Программа может быть разработана на любом языке программирования, в т.ч. языке Ассемблера и С. При использовании языка С работа с клавиатурой и «мышью» должна реализовываться через прерывания DOS.
При выключении одного из режимов CapsLock, NumLock, ScrollLock на экран выводить соответствующее сообщение (например, CapsLockOn, NumLockOn, ScrollLockOn). Если выключается режим CapsLock, установить курсор «мыши» в определенное положение (выбирается самостоятельно студентом). На экран выводится соответствующее сообщение. Для последовательных нажатий положение «мыши» изменять.
Текст программы
; Ждем выключения одного из режимов CapsLock, NumLock, ScrollLock
; После выключения одного из режимов, выводим соответствующее сообщение
; Если выключается CapsLockLock, установить курсор мыши в определенное положение
.model tiny ; Модель tiny - вся программа размещается в 1-ом
.code ; сегменте (менее 64КБ)
org 100h
start:
mov AX, CS ; данные и код находятся в одном сегменте
mov DS, AX
mov ES, AX
; сбрасываем мышь
mov AX, 0000h
int 33h
; инициализируем переменную IS_CAPS
mov IS_CAPS, 0
; определяем состояние функциональных клавиш, которое было при старте системы
mov AH, 02h
int 16h
mov CL, AL
; проверяем CapsLock
and CL, 40h
jz Caps_Not
mov CAPS, 1
jmp Num_f
Caps_Not:
mov CAPS, 0
Num_f:
; проверяем NUmLock
mov CL, AL
and CL, 20h
jz Num_Not
mov NUM, 1
jmp Scr_f
Num_Not:
mov NUM, 0
Scr_f:
; проверяем ScrollLock
and AL, 10h
jz Scr_not
mov SCROLL, 1
jmp Check_cycle
Scr_not:
mov SCROLL, 0
; отслеживаем состояние функциональных клавиш до тех пор, пока не выключится один из режимов
Check_cycle:
mov AH, 02h
int 16h
; смотрим CapsLock
mov CL, AL
and CL, 40h
jnz CapsLock_On
; CapsLock выключен
; смотрим, не был ли он включен до этого
mov CH, CAPS
and CH, CH
jnz CapsLock_On_Before
; нет, не был
jmp Scr_far
CapsLock_On_Before:
; выводим сообщение, перемещаем курсор
mov IS_CAPS, 1
lea DX, C_OFF
jmp MESS_OUT
CapsLock_On:
; CapsLock включен
mov CAPS, 1
Scr_far:
; смотрим ScrollLock
mov CL, AL
and CL, 10h
jnz ScrollLock_On
; ScrollLock выключен
; смотрим, не был ли он включен до этого
mov CH, SCROLL
and CH, CH
jnz ScrollLock_On_Before
; нет, не был
jmp Num_far
ScrollLock_On_Before:
; выводим сообщения и выходим
lea DX, S_OFF
jmp MESS_OUT
ScrollLock_On:
; ScrollLock включен
mov SCROLL, 1
Num_far:
; смотрим NumLock
mov CL, AL
and CL, 20h
jnz NumLock_On
; NumLock выключен
; смотрим, не был ли он включен до этого
mov CH, NUM
and CH, CH
jnz NUmLock_On_Before
; нет, не был
jmp Check_far
NumLock_On_Before:
; выводим сообщение и выходим
lea DX, N_OFF
jmp MESS_OUT
NumLock_On:
; NumLock включен
mov NUM, 1
Check_far:
jmp Check_Cycle
MESS_OUT:
; выводим строку
call message_out
mov CL, IS_CAPS
and CL, CL
jz exit
; устанавливаем курсор
mov AX, 0004h
mov CX, XX
mov DX, YY
int 33h
lea DX, CursorMoved
call message_out
exit:
mov ax, 4c00h ; завершение программы c кодом выхода 00
int 21h
; вывод сообщения
message_out PROC
mov AH, 09h
int 21h
ret
ENDP
; состояние клавиши CapsLock
CAPS db 0
; состояние клавиши NumsLock
NUM db 0
; состояние клавиши ScrollLock
SCROLL db 0
; был выключен именно NumLock
IS_CAPS db 0
; сообщения
C_OFF db 'CapsLock OFF', 13, 10, '$'
N_OFF db 'NumLock OFF', 13, 10, '$'
S_OFF db 'ScrollLock OFF', 13, 10, '$'
CursorMoved db 'Mouse cursor moved', 13, 10, '$'
XX dw 8
YY dw 25
end start
11. Пример работы программы
Размещено на Allbest.ru
Подобные документы
Сущность и предназначение последовательных интерфейсов. Формат асинхронной и синхронной посылки. Функциональные возможности и схема соединения по интерфейсу RS-232C. Назначение сигналов интерфейса. Понятие, конфигурирование и использование СОМ-портов.
контрольная работа [175,2 K], добавлен 09.11.2010Ядро микроконтроллеров AVR семейства Mega. Временные характеристики ЖК-дисплея. Подключение модуля HD44780. Список управляющих комбинаций битов регистра IR, выполняемые команды. Приём данных по интерфейсу RS 232. Назначение выводов 9-контактного разъема.
курсовая работа [1,2 M], добавлен 10.01.2015Особенности подключения принтера по интерфейсу Centronics в PC. Назначение его сигналов. Расширения параллельного порта. Оконечные цепи линий интерфейса IEEE 1284. Запись и чтение данных в регистры Control, Status и Data. Внутреннее устройство LPT порта.
реферат [220,7 K], добавлен 28.04.2010Классификация стандартных интерфейсов по структуре обмена информации, порядку ее передачи, архитектуре построения, природе сигнала, назначению. Радиальная структура на примере ИВК-8. Пример применения магистрального интерфейса на примере локальной ИВС.
лекция [24,1 K], добавлен 28.10.2011Общие сведения о протоколе передачи данных FTP. Технические процессы осуществления соединения с помощью протокола FTP. Программное обеспечение для осуществления соединения с помощью протокола FTP. Некоторые проблемы FTP-серверов. Команды FTP протокола.
реферат [766,6 K], добавлен 07.11.2008Системы сбора и передачи информации. Обоснование выбора кода, способа передачи и синхронизации. Выбор длины посылки, формата кодового перехода. Расчет помехоустойчивости и времени запаздывания. Разработка структурной схемы передающего устройства.
курсовая работа [412,8 K], добавлен 24.06.2013Совокупность программных и аппаратных средств, обеспечивающих взаимодействие пользователя с компьютером. Классификация интерфейсов, текстовый режим работы видеоадаптера. Функции текстового режима. Реализация пользовательского интерфейса в BORLAND C++.
лабораторная работа [405,1 K], добавлен 06.07.2009Общая характеристика информационных систем, предназначенных для передачи, преобразования и хранения информации. Изучение форм представления детерминированных сигналов. Энтропия сложных сообщений. Рассмотрение основных элементов вычислительных машин.
лекция [1,5 M], добавлен 13.04.2014Проектирование устройства для приема 8-разрядного параллельного кода данных из микропроцессорной системы по локальной компьютерной шине ISA и их передачи во внешнее устройство по последовательному интерфейсу с заданной скоростью и анализом готовности.
контрольная работа [185,6 K], добавлен 19.11.2010Изучение нейро-компьютерных интерфейсов - физических интерфейсов приёма или передачи сигналов между живыми нейронами биологического организма (например, мозгом животного) с одной стороны, и электронным устройством (например, компьютером) с другой стороны.
контрольная работа [374,2 K], добавлен 25.11.2010