Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Установка скорости работы порта

Инициализация порта

Программирование коммуникационного порта (COM)

Alarm endp

Iret

Pop ax

Pop cx

Mov ax, 0

Push dx

Alarm proc far

push ax; сохранение регистров ax, cx, dx, так как

push cx; после выполнения они могут быть затерты

int 1Ah; считывание текущего счетчика времени

mov cx, count; в cx записывается время запуска программы

cmp dx, cx; в dx записано текущее время

jne exit; если не равно, то выход из процедуры

 

int xxh; если равно. то запуск другой резидентной программы

 

exit:

pop dx; восстановление сохраненных регистров

Команда записи в порт

out <порт>, al

Команда чтения порта

in al, <порт>

 

Порт (номер порта) может быть указан непосредственно в формате числа или загружен в регистр dx (если число превышает 255).

Регистр al должен быть загружен параметром при передаче в порт или быть приемником при чтении порта

 

Микросхема UART 8250

 

Относительный адрес Регистры Адрес In/Out Бит 7
  Регистр хранения передатчика 3F8h Out  
  Регистр данных приемника 3F8h In  
  Регистр делителя скорости (мл.разр) 3F8h Out  
  Регистр делителя скорости (ст.разр) 3F9h Out  
  Регистр разрешения прерываний 3F9h Out  
  Регистр идентификации прерываний 3FAh In  
  Регистр управления 3FBh Out  
  Регистр управления модемом 3FCh Out  
  Регистр статуса линии 3FDh In  
  Регистр статуса модема 3FEh In  

 

Базовый адрес порта COM1 записан в оперативной памяти по адресу 40h:00h

В таблице даны коды для установки скорости работы порта

Таблица

Скорость бит/с Порт 3F9h старший Порт 3F8h младший
  04h 17h
  01h 80h
  00h C0h
  00h 60h
  00h 40h
  00h 30h
  00h 20h
  00h 18h
  00h 0Ch

 

Определение параметров сигнала (байта)

 
 

 

 


Порт позволяет сформировать 5, 6, 7, 8 – разрядный “байт”.

Для установки параметров байта используется регистр управления. Он имеет следующую структуру:

 
 

 

 


Для определения числа бит в старт-стопном сигнале используются биты 0 и 1 регистра управления:

«0 0» 5 разрядов

«0 1» 6 разрядов

«1 0» 7 разрядов

«1 1» 8 разрядов

 

Бит 2 – определяет количество разрядов в стоповом сигнале

«0» один стоповый бит

«1» два стоповых бита

 

Бит 3 – устанавливает формат сигнала на выходе порта

«0» нет бита контроля четности (9-й бит в сигнале отсутствует)

«1» есть бит контроля четности

 

Бит 4 – определяет правило контроля

«0» контроль на нечетность (нечетное количество единиц в байте)

«1» контроль на четность (четный паритет)

 

Бит 5 – может быть применен на усмотрение программиста

«0» отмена фиксации четности (нормальный режим)

«1» фиксация четности.

При установки бита 5=1 состояние бита четности зависит от бита 4:

 

 

Состояние бита 4 Бит четности в сигнале
   
   

 

Бит 6 – установка перерыва связи

 

Бит 7 – меняет доступ к портам, имеющим одинаковые адреса (см таблицу)

 

 

<== предыдущая лекция | следующая лекция ==>
Использование прерываний 8h для управления запуском программ | Работа порта без использования механизма прерываний
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 281; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.