MCS-51 (1031646), страница 3
Текст из файла (страница 3)
п. АЛУ состоит из регистра аккумулятора, регистравременного хранения, ПЗУ констант, сумматора, дополнительного регистра (регистра В),аккумулятора, регистра состояния программы.Регистр аккумулятора и регистр временного хранения — восьмиразрядные регистры, предназначенные для приема и хранения операндов на время выполнения операций над ними. Программно не доступны.ПЗУ констант обеспечивает выработку корректирующего кода при двоичнодесятичном представлении данных, кода маски при битовых операциях и кода констант.15Параллельный восьмиразрядный сумматор представляет собой схему комбинационного типа с последовательным переносом, предназначенную для выполнения арифметических операций сложения, вычитания и логических операций сложения, умножения,неравнозначности и тождественности.Регистр В — восьмиразрядный регистр, используемый во время операций умножения и деления.
Для других инструкций он может рассматриваться как дополнительныйсверхоперативный регистр.Аккумулятор представляет собой восьмиразрядный регистр, предназначенный дляприема и хранения результата, полученного при выполнении арифметико-логическихопераций или операций пересылки.Регистр состояния программы (PSW) предназначен для хранения информации осостоянии АЛУ при выполнении программы. Обозначение разрядов регистра PSW и назначение разрядов приведены соответственно в таблицах 2.5, 2.6.Флаг переноса CY может устанавливаться и сбрасываться как аппаратными, так ипрограммными средствами. Флаг CY может быть программно прочитан.
Аппаратными средствами флаг CY устанавливается, если в старшем бите результата возникает перенос или заем. При выполнении операций умножения и деления флаг CY сбрасывается. Кроме того, флагCY выполняет функции "булева аккумулятора" в командах, работающих с битами.Флаг дополнительного переноса АС программно доступен по записи ("0" и "1") ичтению.Флаги F0, RSI, RS0 программно доступны по записи ("0" и "1") и чтению.Флаг переполнения OV программно доступен по записи ("0" и "1") и чтению. Устанавливается аппаратно, если результат операции сложения/вычитания не укладываетсяв семи битах и старший (восьмой) бит результата не может интерпретироваться как знаковый.
При выполнении операции деления флаг OV аппаратно сбрасывается, а в случае деления на нуль устанавливается. При умножении флаг OV аппаратно устанавливается, еслирезультат больше 255.Флаг Р является дополнением содержимого аккумулятора до четности. В 9разрядном слове, состоящем из 8 разрядов аккумулятора и бита Р, всегда содержится четное число единичных битов. В случае, если в аккумуляторе все разряды установлены в"0", флаг Р примет нулевое значение.
Программно доступен только по чтению.Таблица 2.5.БитыОбозначение7CY6AC5F04RS13RS02OV1-0PТаблица 2.6.Биты7ОбозначениеCY6АС5F0Назначение битовФлаг переноса. Изменяется во время выполнениянекоторых арифметических и логическихинструкций.Флаг дополнительного переноса. Аппаратноустанавливается/сбрасывается во времявыполнения инструкций сложения или вычитаниядля указания переноса или заема в бите 3 приобразовании младшего полубайта результата (D0D3).Флаг 0. Флаг состояния определяемыйпользователем.Доступ к битуАппаратно илипрограммноАппаратно илипрограммноПрограммно16Таблица 2.6.(продолжение)Биты432ОбозначениеRS1RS0RS1 RS000011011OV1--0PНазначение битовУказатель банка рабочих регистровУказатель банка рабочих регистровБанк 0 с адресами (00Н - 07Н)Банк 1 с адресами (08Н – 0FН)Банк 2 с адресами (10Н - 17Н)Банк 3 с адресами (18Н – 1FН)Флаг переполнения.
Аппаратно устанавливается/сбрасывается во время выполнения арифметических инструкций для указания состояния переполненияРезервный. Содержит триггер, доступный по записи ("0" и "1") и чтению, который можно использоватьБит четности. Аппаратно сбрасывается/устанавливается в каждом цикле инструкций дляуказания четного/нечетного количества разрядоваккумулятора, находящихся в состоянии "1".Доступ к битуПрограммноПрограммноАппаратно илипрограммноАппаратно илипрограммно2.2.3. Блок таймеров/счетчиков. Регистры TMOD и TCONТаймеры/счетчики (Т/С) предназначены для подсчета внешних событий, для получения программно управляемых временных задержек и выполнения времязадающих функций ОМЭВМ.
В состав блока Т/С входят:1)два 16-разрядных регистра Т/С 0 и Т/С 1;2)восьмиразрядный регистр режимов Т/С (TMOD);3)восьмиразрядный регистр управления (TCON);4)схема инкремента;6)схема управления флагами;7)логика управления Т/С.Два 16-разрядных регистра Т/С 0 и Т/С 1 выполняют функцию хранения содержимого счета. Каждый из них состоит из пары восьмиразрядных регистров, соответственноТН0, TL0 и ТН1, ТЫ. Причем регистры ТН0, ТН1 — старшие, а регистры TL0, TL1 —младшие 8 разрядов. Каждый из восьмиразрядных регистров имеет свой адрес и можетбыть использован как РОН, если Т/С не используются (бит TR0 для Т/С 0 и бит TR1 дляТ/С 1 в регистре управления TCON равны "0").Код величины начального счета заносится в регистры Т/С программно.
В процессесчета содержимое регистров Т/С инкрементируется. Признаком окончания счета, как правило, является переполнение регистра Т/С, т. е. переход его содержимого из состояния"все единицы" в состояние "все нули". Все регистры ТН0, ТН1, TL0, TL1 доступны почтению, и, при необходимости, контроль достижения требуемой величины счета можетвыполняться программно.Регистр режимов Т/С (TMOD) предназначен для приема и хранения кода, определяющего:17—один из 4-х возможных режимов работы каждого Т/С;—работу в качестве таймеров или счетчиков;—управление Т/С от внешнего вывода.Обозначение разрядов регистра TMOD приведено в таблице 2.7.
Назначение разрядов регистра TMOD приведено в таблице 2.8.Таблица 2.7.Биты7Обозначение GATE16C/T15M1.14M0.13GATE02C/T01M1.00M0.0Таблица 2.8БитыОбозначение0-1М0 – М14-52,6C/T0,C/T13, 7GATE0,GATE1Назначение битовОпределяет один из 4-х режимовработы, отдельно для Т/С 1 и Т/С 0М1М0Режим000011102113Определяют работу в качестве:С/Т0, С/Т1 = 0 - таймераС/Т0, С/Т1 = 1 - счетчикаРазрешает управлять таймером отвнешнего вы вывода (INT0 - для Т/С0,INT1 - для Т/С 1).GATE = 0- управление запрещеноGATE = 1- управление разрешеноПримечаниеВсе биты устанавливаются программно:- биты 0-3 определяют режим работыТ/С0.- биты 4-7 определяют режим работыТ/С1 .При работе в качестве таймера содержимое регистра Т/С инкрементируется в каждом машинном цикле, т. е.
Т/С является счетчиком машинных циклов ОМЭВМ. Поскольку машинный цикл состоит из 12 периодов частоты синхронизации ОМЭВМ FBQ,, то частота счета в данном случае равна fBQ/12.При работе Т/С в качестве счетчика внешних событий содержимое регистра Т/Синкрементируется в ответ на переход из "1" в "0" сигнала на счетном входе ОМЭВМ. (вывод Т0 для Т/С 0 и вывод Т1 для Т/С 1).
Счетные входы аппаратно проверяются в фазеS5P2 каждого машинного цикла. Когда проверки показывают высокий уровень на счетномвходе в одном машинном цикле и низкий уровень в другом машинном цикле, регистр Т/Синкрементируется. Новое (инкрементированное) значение заносится в регистр Т/С в фазеS3P1 машинного цикла, непосредственно следующего за тем, в котором был обнаруженпереход из "1" в "0" на счетном входе ОМЭВМ.
Т. к. для распознавания такого переходатребуется два машинных цикла (24 периода частоты синхронизации ОМЭВМ fBQ), томаксимальная частота счета Т/С в режиме счетчика равна fBQ/24.Чтобы уровень сигнала на счетном входе был гарантировано зафиксирован, ондолжен оставаться неизменным в течение как минимум одного машинного цикла.Регистр управления (TCON) предназначен для приема и хранения кода управляющего слова. Обозначение разрядов регистра TCON приведено в табл.
2.9. Назначение разрядов регистра TCQN приведено в табл. 2.10.Флаги переполнения TF0 и TF1 устанавливаются агшаратно при переполнении соответствующих Т/С (переход Т/С из состояния "все единицы" в состояние "все нули"). Если при этомпрерывание от соответствующего Т/С разрешено, то установка флага TF вызовет прерывание.Флаги TF0 и TF1 сбрасываются аппаратно при передаче управления программе обработки со-18ответствующего прерывания. Флаги TF0 и TF1 программно доступны и могут быть установлены/сброшены программой.
Используя этот механизм, прерывания по TF0 и TF1 могут быть вызваны (установка TF) и отменены (сброс TF) программой.Флаги IE0 и IE1 устанавливаются аппаратно от внешних прерываний (соответственно входы ОМЭВМ INT0 и INT1) или программно и инициируют вызов программы обработки соответствующего прерывания. Сброс этих флагов выполняется аппаратно приобслуживании прерывания только в том случае, когда прерывание было вызвано по фронту сигнала.