MCS-51 (1031646), страница 5
Текст из файла (страница 5)
Информация передается и принимается через вход приемника RxD (вывод Р3.0 ОМЭВМ). Через выход передатчика TxD (вывод Р3.1 ОМЭВМ) выдаются импульсы синхронизации, стробирующие каждый передаваемый или принимаемый бит информации. Формат посылки — 8 бит. Частота приема и передачи — fBQ /12, где fBQ — тактовая частота ОМЭВМ.Режим 1. Информация передается через выход передатчика TxD, а принимаетсячерез вход приемника RxD. Формат посылки — 10 бит: старт-бит (ноль), восемь бит данных и стоп-бит (единица). Частота приема и передачи задается Т/С 1.Режим 2.
Информация передается через выход передатчика TxD, а принимаетсячерез вход приемника RxD. Формат посылки — 11 бит: старт-бит (ноль), восемь бит данных, программируемый девятый бит и стоп-бит (единица). Передаваемый девятый битданных принимает значение бита ТВ8 из регистра специальных функций SCON.
Бит ТВ8в регистре SCON может быть программно установлен в "О" или в "1", или в него, к примеру, можно поместить значение бита Р из регистра PSN для повышения достоверностипринимаемой информации (контроль по паритету)-При приеме девятый бит данных принятой посылки поступает в бит RB8 регистра SCON. Частота приема и передачи в режиме2 задается программно и может быть равна fBQ/32 или fBQ/64.Режим 3. Режим 3 полностью идентичен режиму 2 за исключением частоты приемаи передачи, которая в режиме 3 задается Т/С1. Подробно работа последовательного портаописана в разделе 2.3.3. Регистр управления (SCON) предназначен для приема ихранения кода восьмибитового слова, управляющего последовательным интерфейсом.Обозначение разрядов регистра SCON приведено в таблице 2.11.
Все разряды регистра SCON программно доступны по записи ("0" и "1") и чтению.Разряды SM0, SM1 определяют режим работы ПИП, как указано в табл. 2.12. Остальные биты регистра имеют следующее назначение:SM2 — разрешение многопроцессорной работы. В режимах 2 и 3 при SM2=1 флагRI не активизируется, если девятый принятый бит данных равен "0".
В режиме 1 приSM2=1 флаг RI не активизируется, если не принят стоп-бит, равный "1". В режиме 0 битSM2 должен быть установлен в "0".REN — разрешение приема последовательных данных. Устанавливается и сбрасывается программным обеспечением соответственно для разрешения и запрета приема.ТВ8 — девятый бит передаваемых данных в режимах 2 и 3. Устанавливается исбрасывается программным обеспечением.RB8 — девятый бит принятых данных в режимах 2 и 3. В режиме 1, если SM2=0,RB8 является принятым стоп-битом.
В режиме 0 бит RB8 не используется.TI — флаг прерывания передатчика. Устанавливается аштаратно в конце временивыдачи 8-го бита в режиме 0 или в начале стоп-бита в. других режимах. Сбрасываетсяпрограммным обеспечением.RI — флаг прерывания приемника. Устанавливается аппаратно в конце времениприема 8-го бита в режиме 0 или через половину интервала стоп-бита в режимах 1, 2, 3при SM2=0.
При SM2=1 см. описание для бита SM2.23Таблица 2.11БитыОбозначение7SM06SM15SM24REN3TB82RB81T10R1Таблица 2.12SM000SM1011101Режим Наименование0Сдвиговый регистр18-битовый универсальный асинхронныйприемник/передатчик (УАПП)29-битовый (УАПП)39-битовый (УАПП)Скорость передачиfBQ/12переменная,задается Т/С1fBQ/32 или fBQ/64переменная,задается Т/С1Буфер передатчика предназначен для приема с шины ПИП параллельной информации и выдачи ее в виде последовательного потока символов на передатчик последовательного порта.Буфер приемника предназначен для приема данных в виде последовательного потока символов с последовательного порта, преобразования их в параллельный вид, хранения и выдачи в параллельном виде на внутреннюю шину ПИП.Буфер приемника и буфер передатчика при программном доступе имеют одинаковое имя (SBUF) и адрес (99Н).
Если команда использует SBUF как регистр источника, тообращение происходит к буферу приемника. Если команда использует SBUF как регистрназначения, то обращение происходит к буферу передатчика.Во всех четырех режимах работы последовательного порта передача инициируетсялюбой командой, которая использует SBUF как регистр назначения. Прием в режиме 0инициируется условием RI=0 и REN=1. В остальных режимах прием инициируется приходом старт-бита, если REN=1.Приемник/передатчик последовательного порта предназначен для приема последовательного потока символов со входа последовательного порта, выделения данных и выдачи их в буфер приемника, а также для приема последовательных данных с буфера передатчика, преобразования их в последовательный поток символов и выдачи его на выходпоследовательного порта.Регистр приоритетов прерываний (IP) предназначен для установки уровня приоритета прерывания для каждого из пяти источников прерываний. Обозначение разрядов регистра IP показано в таблице 2.13, а их назначение указано ниже.PX0 — установка уровня приоритета прерывания от внешнего источника INT0.PT0 — установка уровня приоритета прерывания от Т/С 0РХ1 — установка уровня приоритета прерывания от внешнего источника INT1.РТ1 — установка уровня приоритета прерывания от Т/С 1.PS — установка уровня приоритета прерывания от последовательного порта.X — резервный разряд.Таблица 2.13БитыОбозначение7X6X5X4PS3РТ12РХ11PT00PX0Наличие в разряде IP "1" устанавливает для соответствующего источника высокийуровень приоритета, а наличие в разряде IP "0" — низкий уровень приоритета.
При чтениирезервных разрядов соответствующие линии магистрали данных не определены. Пользователь не должен записывать "1" в резервные разряды, т. к. они зарезервированы поддальнейшее расширение семейства МК51.24Регистр разрешения прерываний (IE) предназначен для разрешения или запрещенияпрерываний от соответствующих источников. Обозначение разрядов регистра IE показанов таблице 2.14, а их назначение указано ниже.ЕА - управление всеми источниками прерываний одновременно. Если ЕА=0, топрерывания запрещены. Если ЕА=1, то прерывания могут быть разрешены индивидуальными разрешениями EX0, ET0, EX1, ЕТ1, ES.X - резервный разряд.ES - управление прерыванием от последовательного порта.
ES=1 - разрешение.ES=0 - запрещение.ЕТ1 - управление прерыванием от Т/С 1. ЕТ1=1 - разрешение. ЕТ1=0 - запрещение.ЕХ1 - управление прерыванием от внешнего источника INT1. ЕХ1=1 - разрешение.ЕХ1=0 - запрещение.ET0 - управление прерыванием от Т/С 0. ЕТ0=1 - разрешение. ЕТ0=0 - запрещение.EX0 - управление прерыванием от внешнего источника INT0. ЕХ0=1 - разрешение.ЕХ0=0 - запрещение.При чтении резервных разрядов соответствующие линии магистрали не определены.
Пользователь не должен записывать "1" в резервные разряды, т. к. они зарезервированы под дальнейшее расширение семейства МК51.Таблица 2.14Биты7Обозначение EA6X5X4ES3EТ12EХ11ET00EX0Логика обработки флагов прерываний осуществляет приоритетный выбор запросапрерывания, сброс его флага и инициирует выработку аппаратно реализованной командыперехода на подпрограмму обслуживания прерывания.Схема выработки вектора прерывания вырабатывает двухбайтовые адреса подпрограмм обслуживания прерывания в зависимости от источника прерываний, которые приведены в таблице 2.15.Подробно система прерываний описана в разделе 2.3.4.Источник прерыванияВектор прерыванияВнешнее прерывание INT00003НТаймер/счетчик Т/С 0000BHВнешнее прерывание INT10013НТаймер/счетчик Т/С 1001ВНПоследовательный порт0023Н2.2.5. Счетчик команд.
Регистр DPTRСчетчик команд (PC) предназначен для формирования текущего 16-разрядного адреса программной памяти и 8/16-разрядного адреса внешней памяти данных.В состав счетчика команд входят 16-разрядные буфер PC, регистр указателя данныхDPTR, регистр PC, схема инкремента, регистр адреса памяти.Буфер PC осуществляет связь между 16-разрядной шиной PC и восьмиразрядноймагистралью данных, обеспечивая запись, хранение и коммутацию информации.Регистр указателя данных (DPTR) предназначен для хранения 16-разрядного адресавнешней памяти данных. Состоит из двух восьмиразрядных регистров DPH и DPL входящих в блок регистров специальных функций.
Они программно доступны и могут использоваться в качестве двух независимых РОН, если нет необходимости в хранении 16разрядного адреса внешней памяти данных.В регистре PC хранится текущий 16-разрядный адрес памяти программ.Схема инкремента увеличивает текущее значение 16-разрядного адреса памятипрограмм на единицу.25Регистр адреса памяти предназначен для записи и хранения исполнительного 16разрядного адреса памяти программ или 8/16-разрядного адреса внешней памяти данных атакже для передачи данных на порт Р0 при выполнении команд MOVX @Ri,A и MOVX@DPTR, A, обеспечивающих запись данных через порт P0 во внешние устройства.2.2.6. ПортыПорты Р0, Р1, Р2, РЗ являются двунаправленными портами ввода-вывода и предназначены для обеспечения обмена информацией МК с внешними устройствами,образуя 32 линии ввода-вывода.
Каждый из портов содержит фиксатор-защелку, который представляет собой восьмиразрядный регистр, имеющий байтовую и битовую адресацию для установки (сброса) разрядов с помощью программного обеспечения.Физические адреса фиксаторов Р0, PI, Р2, РЗ составляют для:Р0 - 80Н, при битовой адресации 80Н—87Н;Р1 - 90Н, при битовой адресации 90Н—97Н;Р2 - A0H, при битовой адресации A0H—A7H;РЗ - B0H, при битовой адресации B0H—B7H.Помимо работы в качестве обычных портов ввода/вывода линии портов Р0-РЗ могут выполнять ряд дополнительных функций, описанных ниже.Через порт Р0:- выводится младший байт адреса А0—А7 при работе с внешней памятьюпрограмм и внешней памятью данных;- выдается из ОМЭВМ и принимается в ОМЭВМ байт данных при работе с внешней памятью (при этом обмен байтом данных и вывод младшего байта адреса внешнейпамяти мультиплексированы во времени);- задаются данные при программировании внутреннего ППЗУ и читается содержимое внутренней памяти программ.Через порт Р1:- задается младший байт адреса при программировании внутреннего ППЗУ и причтении внутренней памяти программ.Через порт Р2:- выводится старший байт адреса А8-А15 при работе с внешней памятью программ и внешней памятью данных (для внешней памяти данных - только при использовании команд MOVX A,@DPTR и MOVX @DPTR,A, которые вырабатывают 16-разрядныйадрес);- задается старший байт (разряды А8—А14) адреса при программировании внутреннего ППЗУ и при чтении внутренней памяти программ.Каждая линия порта РЗ имеет индивидуальную альтернативную функцию:РЗ.0 - RxD, вход последовательного порта, предназначен для ввода последовательных данных в приемник последовательного порта;РЗ.1 - TxD, выход последовательного порта, предназначен для вывода последовательных данных из передатчика последовательного порта;РЗ.2 - INT0, используется как вход 0 внешнего запроса прерывания;РЗ.З - INT1, используется как вход 1 внешнего запроса прерывания;РЗ.4 - Т0, используется как вход счетчика внешних событий Т/С 0;РЗ.5 - Tl, используется как вход счетчика внешних событий Т/С 1;РЗ.6 - WR, строб записи во внешнюю память данных, выходной сигнал, сопровождающий вывод данных через порт Р0 при использовании команд MOVX @Ri, A иМOVX @DPTR, A.РЗ.7 - RD, строб чтения из внешней памяти данных, выходной сигнал, сопровождающий ввод данных через порт Р0 при использовании команд MOVX A,@Ri иMOVX A,@DPTR.26Альтернативная функция любой из линий порта РЗ реализуется только в том случае, если в соответствующем этой линии разряде фиксатора-защелки содержится "1".