8-900-374-94-44
[email protected]
Slide Image
Меню

Mcs 51: АЛУ, схемы, команды, структура, память, регистры

Содержание

Архитектура микроконтроллеров MCS-51

Архитектура семейства MCS-51 в значительной мере предопределяется ее назначением — построение компактных и дешёвых цифровых устройств. Все функции микроЭВМ реализуются с помощью единственной микросхемы. В состав семейства MCS-51 входит целый ряд микросхем от самых простых микроконтроллеров до достаточно сложных. Микроконтроллеры семейства MCS-51 позволяют выполнять как задачи управления различными устройствами, так и реализовывать отдельные узлы аналоговой схемы. Все микросхемы этого семейства работают с одной и той же системой команд, большинство из них выполняется в одинаковых корпусах с совпадающей цоколевкой (нумерация ножек для корпуса). Это позволяет использовать для разработанного устройства микросхемы разных фирм — производителей (таких как Intel, Dallas, Atmel, Philips и т.д.) без переделки принципиальной схемы устройства и программы.

Рис 1. Структурная схема контроллера К1830ВЕ751

Структурная схема контроллера представлена на рис.1. и состоит из следующих основных функциональных узлов: блока управления, арифметико-логического устройства, блока таймеров/счетчиков, блока последовательного интерфейса и прерываний, программного счетчика, памяти данных и памяти программ. Двусторонний обмен осуществляется с помощью внутренней 8-разрядной магистрали данных. Рассмотрим подробнее назначение каждого блока.

По такой схеме построены практически все представители семейства MCS-51. Различные микросхемы этого семейства различаются только регистрами специального назначения (в том числе и количеством портов). Система команд всех контроллеров семейства MCS-51 содержит 111 базовых команд с форматом 1, 2 или 3 байта и не изменяется при переходе от одной микросхемы к другой. Это обеспечивает прекрасную переносимость программ с одной микросхемы на другую.

Блок управления и синхронизации

Блок управления и синхронизации (Timing and Control) предназначен для выработки синхронизирующих и управляющих сигналов, обеспечивающих координацию совместной работы блоков ОЭВМ во всех допустимых режимах ее работы. В состав блока управления входят:

  • устройство формирования временных интервалов,
  • логика ввода-вывода,
  • регистр команд,
  • регистр управления потреблением электроэнергии,
  • дешифратор команд, логика управления ЭВМ.

Устройство формирования временных интервалов предназначено для формирования и выдачи внутренних синхросигналов фаз, тактов и циклов. Количество машинных циклов определяет продолжительность выполнения команд. Практически все команды ОЭВМ выполняются за один или два машинных цикла, кроме команд умножения и деления, продолжительность выполнения которых составляет четыре машинных цикла. Обозначим частоту задающего генератора через Fг. Тогда длительность машинного цикла равна 12/Fг

или составляет 12 периодов сигнала задающего генератора. Логика ввода — вывода предназначена для приема и выдачи сигналов, обеспечивающих обмен информации с внешними устройствами через порты ввода вывода Р0-Р3.

Регистр команд предназначен для записи и хранения 8-ми разрядного кода операции выполняемой команды. Код операции, с помощью дешифратора команд и логики управления ЭВМ, преобразуется в микропрограмму выполнения команды.

Регистр управления потреблением (PCON) позволяет останавливать работу микроконтроллера для уменьшения потребления электроэнергии и уменьшения уровня помех от микроконтроллера. Еще большего уменьшения потребления электроэнергии и уменьшения помех можно добиться, остановив задающий генератор микроконтроллера. Этого можно достичь при помощи переключения бит регистра управления потреблением PCON. Для варианта изготовления по технологии n-МОП (серия 1816 или иностранных микросхем, в названии которых в середине отсутствует буква ‘c’) регистр управления потреблением PCON содержит только один бит, управляющий скоростью передачи последовательного порта SMOD, а биты управления потреблением электроэнергией отсутствуют.

Арифметико-логическое устройство (ALU) представляет собой параллельное восьмиразрядное устройство, обеспечивающее выполнение арифметических и логических операций. АЛУ состоит из:

  • регистров аккумулятора, регистров временного хранения TMP1 и TMP2,
  • ПЗУ констант,
  • сумматора,
  • дополнительного регистра (регистра В),
  • аккумулятора (ACC),
  • регистра состояния программ (PSW).

Регистр аккумулятор и регистры временного хранения — восьмиразрядные регистры, предназначенные для приема и хранения операндов на время выполнения операций над ними. Эти регистры программно не доступны.

ПЗУ констант обеспечивает выработку корректирующего кода при двоично-десятичном представлении данных, кода маски при битовых операциях и кода констант.

Параллельный восьмиразрядный сумматор представляет собой схему комбинационного типа с последовательным переносом, предназначенную для выполнения арифметических операций сложения, вычитания и логических операций сложения, умножения, неравнозначности и тождественности.

Регистр B — восьмиразрядный регистр, используемый во время операций умножения и деления. Для других инструкций он может рассматриваться как дополнительный сверхоперативный регистр.

Аккумулятор — восьмиразрядный регистр, предназначенный для приема и хранения результата, полученного при выполнении арифметико-логических операций или операций сдвига

Блок последовательного интерфейса и прерываний (ПИП) предназначен для организации ввода — вывода последовательных потоков информации и организации системы прерывания программ. В состав блока входят:

  1. буфер ПИП,
  2. логика управления,
  3. регистр управления,
  4. буфер передатчика,
  5. буфер приемника,
  6. приемопередатчик последовательного порта,
  7. регистр приоритетов прерываний,
  8. регистр разрешения прерываний,
  9. логика обработки флагов прерываний и схема выработки вектора.

Счетчик команд (Program Counter) предназначен для формирования текущего 16-разрядного адреса внутренней памяти программ и 8/16-разрядного адреса внешней памяти программ. В состав счетчика команд входят 16-разрядные буфер РС, регистр РС и схема инкремента (увеличения содержимого на 1).

Память данных (RAM) предназначена для временного хранения информации, используемой в процессе выполнения программы.

Порты P0, P1, P2, P3 являются квазидвунаправленными портами ввода — вывода и предназначены для обеспечения обмена информацией ОЭВМ с внешними устройствами, образуя 32 линии ввода- вывода.

Регистр состояния программы (PSW)

предназначен для хранения информации о состоянии АЛУ при выполнении программы.

Память программ (EPROM) предназначена для хранения программ и представляет собой постоянное запоминающее устройство (ПЗУ). В разных микросхемах применяются масочные, стираемые ультрафиолетовым излучением или FLASH ПЗУ.

Регистр указателя данных (DPTR) предназначен для хранения 16 — разрядного адреса внешней памяти данных.

Указатель стека (SP) представляет собой восьмиразрядный регистр, предназначенный для организации особой области памяти данных (стека), в которой можно временно сохранить любую ячейку памяти.


[Назад] [Содержание] [Вперёд]

Система команд MCS-51 (Лекция) | МК

МК

 

ПЛАН ЛЕКЦИИ

1. Введение

2. Арифметические и логические инструкции

3. Команды передачи данных

4. Булевы операции

5. Инструкции переходов

 

1. Введение

Система команд MCS-51 поддерживает единый набор инструкций, который предназначен для выполнения 8-битовых алгоритмов управления исполнительными устройствами. Существует возможность использования быстрых методов адресации к внутреннему ОЗУ, осуществления битовых операций над небольшими структурами данных. Имеется развернутая система адресации однобитовых переменных как самостоятельного типа данных, позволяющая использовать отдельные биты в логических и управляющих командах булевой алгебры.

Режимы адресации: набор команд MCS-51 поддерживает следующие режимы адресации. Прямая адресация: операнд определяется 8-битовым адресом в инструкции. Прямая адресация используется только для младшей половины внутренней памяти данных и регистров SFR. Косвенная адресация: инструкция адресует регистр, содержащий адрес операнда. Данный вид адресации используется для внешнего и внутреннего ОЗУ. Для указания 8-битовых адресов могут использоваться регистры

R0 и R1 выбранного регистрового банка или указатель стека SP. Для 16-битовой адресации используется только регистр указателя данных DPTR.

Регистровые инструкции: регистры R0–R7 текущего регистрового банка могут быть адресованы через конкретные инструкции, содержащие 3-битовое поле, указывающее номер регистра в самой инструкции. В этом случае соответствующее поле адреса в команде отсутствует. Операции с использованием специальных регистров: некоторые инструкции используют индивидуальные регистры (например, операции с аккумулятором, DPTR, и т. д.). В данном случае адрес операнда вообще не указывается в команде. Он предопределяется кодом операции.

Непосредственные константы: константа может находиться прямо в команде за кодом операции.

Индексная адресация: индексная адресация может использоваться только для доступа к программной памяти и только в режиме чтения. В этом режиме осуществляется просмотр таблиц в памяти программ. 16-битовый регистр (DPTR или программный счетчик) указывает базовый адрес требуемой таблицы, а аккумулятор указывает на точку входа в нее.

Набор команд имеет 42 мнемонических обозначения команд для конкретизации 33 функций этой системы. Синтаксис большинства команд ассемблерного языка состоит из мнемонического обозначения функции, вслед за которым идут операнды, указывающие методы адресации и типы данных. Различные типы данных или режимы адресации определяются установленными операндами, а не изменениями мнемонических обозначений.

Систему команд условно можно разбить на пять групп: арифметические команды; логические команды; команды передачи данных; команды битового процессора; команды ветвления и передачи управления. Обозначения и символы, используемые в системе команд, приведены далее.

 

Таблица. Обозначения и символы, используемые в системе команд

Обозначение, символ

Назначение

А

Аккумулятор

Rn

Регистры текущего выбранного банка регистров

r

Номер загружаемого регистра, указанного в команде

direct

Прямо адресуемый 8-битовый внутренний адрес ячейки данных, который может быть ячейкой внутреннего ОЗУ данных (0–127) или регистром специальных функций SFR (128–255)

@Rr

Косвенно адресуемая 8-битовая ячейка внутреннего ОЗУ данных

data8

8-битовое непосредственное данное, входящее в код операции (КОП)

dataH

Старшие биты (15–8) непосредственных 16-битовых данных

dataL

Младшие биты (7­–0) непосредственных 16-битовых данных

addr11

11-битовый адрес назначения

addrL

Младшие биты адреса назначения

disp8

8-битовый байт смещения со знаком

bit

Бит с прямой адресацией, адрес которого содержит КОП, находящийся во внутреннем ОЗУ данных или регистре специальных функций SFR

a15, a14…a0

Биты адреса назначения

(Х)

Содержимое элемента Х

((Х))

Содержимое по адресу, хранящемуся в элементе Х

(Х)[M]

Разряд М элемента Х


+

*
/
AND
OR
XOR
/X

Операции:
сложения
вычитания
умножения
деления
логического умножения (операция И)
логического сложения (операция ИЛИ)
сложения по модулю 2 (исключающее ИЛИ)
инверсия элемента Х

 

Мнемонические обозначения функций однозначно связаны с конкретными комбинациями способов адресации и типами данных. Всего в системе команд возможно 111 таких сочетаний.

 

2. Арифметические и логические инструкции

Как пример арифметической команды, операция сложения может быть выполнена одной из нижеследующих команд.

ADD A,7F16 – прибавить к содержимому регистра А число 7F16 и результат сохранить в регистре А;

ADD A,@R0 – прибавить к содержимому регистра А число, адрес которого (@ – commercial at) хранится в регистре R0 (косвенная адресация), и результат сохранить в регистре А;

ADD A,R7 – прибавить к содержимому регистра А содержимое регистра R7 и результат сохранить в регистре А;

ADD A,#127 – прибавить к содержимому регистра А число, адрес ячейки хранения которого 127 (# – символ номера), и результат сохранить в регист­-         ре А.

Все арифметические инструкции выполняются за один машинный цикл за исключением команды INC DPTR (смещение указателя данных DPTR на следующий байт), требующей два машинных цикла, а также операций умножения и деления, выполняемых за 4 машинных цикла. Любой байт во внутренней памяти данных может быть инкрементирован и декрементирован без использования аккумулятора.

Инструкция MUL AB производит умножение (multiplication – умножение) данных в аккумуляторе на данные, находящиеся в регистре B, помещая произведение в регистры A (младшая половина) и B (старшая половина).

Инструкция DIV AB делит (division – деление) содержимое аккумулятора на значение в регистре B, оставляя остаток в B, а частное – в аккумуляторе.

Инструкция DA A предназначена для двоично-десятичных арифметических операций (арифметические операции над числами, представленными в двоично-десятичном коде). Она не делает преобразования двоичного числа в двоично-десятичное, а лишь обеспечивает правильный результат при сложении двух двоично-десятичных чисел.

Пример логической команды: операция логического И может быть выполнена одной из следующих команд:

ANL A,7F16 – логическое умножение содержимого регистра А на число 7F16 и результат сохраняется в регистре А;

ANL A,@R1 – логическое умножение содержимого регистра А на число, адрес которого хранится в регистре R1 (косвенная адресация), и результат сохранить в регистре А;

ANL A,R6 – логическое умножение содержимого регистра А на содержимое регистра R6, и результат сохранить в регистре А;

ANL A,#53– логическое умножение содержимого регистра А на число, адрес ячейки хранения которого 5316, и результат сохранить в регистре А.

Все логические операции над содержимым аккумулятора выполняются за один машинный цикл, остальные – за два. Логические операции могут производиться над любым из нижних 128 байтов внутренней памяти данных или над любым регистром SFR (регистров специальных функций) в режиме прямой адресации без использования аккумулятора.

Операции циклического сдвига RL A, RLC A и т. д. перемещают содержимое аккумулятора на один бит вправо или влево. В случае левого циклического сдвига младший бит перемещается в старшую позицию. В случае правого циклического сдвига происходит обратное.

Операция SWAP A осуществляет обмен младшей и старшей тетрад в аккумуляторе.

 

3. Команды передачи данных

Команда MOV dest,src позволяет пересылать данные между ячейками внутреннего ОЗУ или областью регистров специальных функций SFR без использования аккумулятора. При этом работа с верхней половиной внутреннего ОЗУ может осуществляться только в режиме косвенной адресации, а обращение к регистрам SFR – только в режиме прямой адресации.

Во всех микросхемах MCS-51 стек размещается непосредственно в резидентной памяти данных и увеличивается вверх. Инструкция PUSH вначале увеличивает значение в регистре указателя стека SP, а затем записывает в стек байт данных. Команды PUSH и POP используются только в режиме прямой адресации (записывая или восстанавливая байт), но стек является всегда доступным при косвенной адресации через регистр SP. Таким образом, стек может использовать и верхние 128 байт памяти данных. Эти же соображения исключают возможность использования стековых команд для адресации регистров SFR.

Инструкции передачи данных включают в себя 16-битовую операцию пересылки MOV DPTR,#data16, которая используется для инициализации регистра указателя данных DPTR при просмотре таблиц в программной памяти или для доступа к внешней памяти данных.

Операция XCH A,byte применяется для обмена данными между аккумулятором и адресуемым байтом. Команда XCHD A,@Ri аналогична предыдущей, но выполняется только для младших тетрад, участвующих в обмене операндов.

Для доступа к внешней памяти данных используется только косвенная адресация. В случае однобайтных адресов используются регистры R0 или R1 текущего регистрового банка, а для 16-разрядных – регистр указателя данных DPTR. При любом методе доступа к внешней памяти данных аккумулятор играет роль источника либо приемника информации.

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

MOVC A,@A+DPTR ;

MOVC A,@A+PC .

В качестве базового адреса таблицы используется содержимое соответственно регистра указателя данных DPTR или PC (программного счётчика), а смещение берется из A. Эти команды используются исключительно для чтения данных из программной памяти, но не для записи в нее.

4. Булевы операции

Микросхемы MCS-51 содержат в своем составе «булевый» процессор. Внутреннее ОЗУ имеет 128 прямо адресуемых бит. Пространство регистров специальных функций SFR может также поддерживать до 128 битовых полей. Битовые инструкции осуществляют условные переходы, пересылки, сброс, инверсии, операции «И» и «ИЛИ». Все указанные биты доступны в режиме прямой адресации.

Бит переноса CF в регистре специальных функций «слово состояния программы PSW» используется как однобитный аккумулятор булевого процессора.

 

5. Инструкции переходов

Адреса операций переходов обозначаются на языке ассемблера меткой либо реальным значением в пространстве памяти программ. Адреса условных переходов ассемблируются в относительное смещение – знаковый байт, прибавляемый к программному счетчику PC в случае выполнения условия перехода. Границы таких переходов лежат в пределах между минус 128 и 127 относительно первого байта, следующего за инструкцией. В регистре специальных функций «слово состояния программы PSW» отсутствует флажок нуля, поэтому инструкции JZ и JNZ проверяют условие «равно нулю» как тестирование данных в аккумуляторе.

Существует три вида команды безусловного перехода: SJMP, LJMP и AJMP – различающиеся форматом адреса назначения. Инструкция SJMP кодирует адрес как относительное смещение, и занимает два байта. Дальность перехода ограничена диапазоном от минус 128 до 127 байт относительно инструкции, следующей за SJMP.

В инструкции LJMP используется адрес назначения в виде 16-битной константы. Длина команды составляет три байта. Адрес назначения может располагаться в любом месте памяти программ.

Команда AJMP использует 11-битную константу адреса. Команда состоит из двух байт. При выполнении этой инструкции младшие 11 бит адресного счетчика замещаются 11-битным адресом из команды. Пять старших бит программного счетчика PC остаются неизменными. Таким образом, переход может производиться внутри 2К-байтного блока, в котором располагается инструкция, следующая за командой AJMP.

Существует два вида команды вызовы подпрограммы: LCALL и ACALL. Инструкция LCALL использует 16-битный адрес вызываемой подпрограммы. В данном случае подпрограмма может быть расположена в любом месте памяти программ. Инструкция ACALL использует 11-битный адрес подпрограммы. В этом случае вызываемая подпрограмма должна быть расположена в одном 2К-байтном блоке с инструкцией, следующей за ACALL. Оба варианта команды кладут на стек адрес следующей команды и загружают в программный счетчик PC соответствующее новое значение.

Подпрограмма завершается инструкцией RET, позволяющей вернуться на инструкцию, следующую за командой CALL. Эта инструкция снимает со стека адрес возврата и загружает его в программный счетчик PC. Инструкция RETI используется для возврата из подпрограмм обработки прерываний. Единственное отличие RETI от RET состоит в том, что RETI информирует систему о том, что обработка прерывания завершилась. Если в момент выполнения RETI нет других прерываний, то она идентична RET.

Инструкция DJNZ предназначена для управления циклами. Для выполнения цикла N раз надо загрузить в счетчик байт со значением N и закрыть тело цикла командой DJNZ, указывающей на начало цикла.

Команда CJNE сравнивает два своих операнда как беззнаковые целые и производит переход по указанному в ней адресу, если сравниваемые операнды не равны. Если первый операнд меньше, чем второй, то бит переноса CF устанавливается в «1».

Все команды в ассемблированном виде занимают 1, 2 или 3 байта.

Развитие микропроцессоров семейства MCS-51 — презентация на Slide-Share.ru 🎓

1

Первый слайд презентации: Развитие микропроцессоров семейства MCS-51

1 Развитие микропроцессоров семейства MCS-51 MCS-51 микропроцессоры для недорогих и сравнительно простых систем. Модификации MCS-51 расширение возможностей в управляющих системах MCS-5 2 (i 8052 ) полная программная и схемная совместимость с MCS-5 1 MSC-252 новая архитектура, программно совместимая с MSC-51 MCS-96 i 80C196 16-разрядные, быстродействующие большие интегральные микросхемы высокой степени интеграции, ориентированные на решение задач управления технологическими процессами в реальном масштабе времени.

Изображение слайда

2

Слайд 2: МИКРОКОНТРОЛЛЕРЫ INTEL MCS-96

2 МИКРОКОНТРОЛЛЕРЫ INTEL MCS-96 Процессор Тактовая частота до 20 МГц Регистровое запоминающее устройство — РОЗУ ( RRAM) – от 232 до 1000 8-разрядных регистров Отсутствует аккумулятор Память Внутренне ПЗУ от 8К до 32 К Внутреннее ОЗУ до 512 8-разрядных ячеек Контроллер памяти Дополнительное ОЗУ — CODE RAM, Суммарный объем памяти – до 1 Мб Дополнительные регистры специальных функций и таймеры Дополнительные порты ввода/вывода — до 8 портов, в.т.ч. 4-х разрядные Встроенные ЦАП/АЦП дополнительные регистры специализированные функции для обслуживания внешних устройств Прерывания Общее количество до 37 Новые типы прерываний, в т.ч. масочное Контроллер прерываний Расширенные возможности программирования на языках высокого уровня, новые устройства контроля функционирования

Изображение слайда

3

Слайд 3: ТЕСТИРОВАНИЕ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

3 ТЕСТИРОВАНИЕ МИКРОПРОЦЕССОРНЫХ СИСТЕМ Ошибки в работе микропроцессорных систем могут быть следствием как аппаратных причин, так и ошибок в программах работы МП устройств, не выявленных в ходе разработки системы Средства контроля состояния МП систем Автодиагностика — это комплекс программных диагностических средств, встроенных непосредственно в программное обеспечение МК. Тестирование статическими сигналами – анализ реакции системы на вводимую информацию Логические анализаторы – автоматическая проверка реакции системы на вводимый код Внутрисхемные эмуляторы – специальные устройства и программы, воспроизводящие свойства исследуемой системы. Сигнатурный анализ – специальные коды (сигнатуры), которыми характеризуется определенный узел или устройство системы

Изображение слайда

4

Слайд 4: ОБЕСПЕЧЕНИЕ ПОМЕХОЗАЩИЩЕННОСТИ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

4 ОБЕСПЕЧЕНИЕ ПОМЕХОЗАЩИЩЕННОСТИ МИКРОПРОЦЕССОРНЫХ СИСТЕМ Подавление помех по первичной питающей сети Раздельное электропитание силовых агрегатов и микропроцессорных систем Экранирование сетевых проводов и кабелей Сетевые фильтры Оптимальная конструкция блока питания

Изображение слайда

5

Слайд 5: ОБЕСПЕЧЕНИЕ ПОМЕХОЗАЩИЩЕННОСТИ МИКРОПРОЦЕССОРНЫХ СИСТЕМ

5 ОБЕСПЕЧЕНИЕ ПОМЕХОЗАЩИЩЕННОСТИ МИКРОПРОЦЕССОРНЫХ СИСТЕМ Правила заземления В электронных блоках всех устройств всегда имеются два типа шин «земли» — корпусная и схемная. Корпусная шина, подключенная к корпусу прибора, по правилам ТБ должна быть подключена к контуру заземления, проложенном в помещении. Схемная «земля» не должна соединяться с корпусной. Для присоединительных разъемов должна предусматриваться их изоляция от корпуса прибора. В МК измерительных системах существует также отдельная шины «земли» для аналоговых и цифровых сигналов. Внутрисхемное заземление должно быть различным для аналоговых и цифровых цепей. Точка сопряжения корпусной, аналоговой и цифровой земли определяется экспериментально. Ввод информационных сигналов в систему должен осуществляться либо экранированным кабелем, либо (лучше) экранированной витой парой с заземленным проводом.

Изображение слайда

6

Слайд 6: Микропроцессоры в системах управления техническими объектами

6 Микропроцессоры в системах управления техническими объектами ИП 1 Коммутатор АЦП МП ЗУ 4 3 2 ЦАП  В нешние сети и системы Микроконтроллер Объект Измерительно-управляющий прибор Рис.1.2. Структурная схема современного средства измерений Система электропитания ИМ – исполнительный механизм; ИП – измерительный преобразователь, 1– блок аналоговой информации, ЦАП – цифроаналоговый преобразователь, АЦП – аналого-цифровой преобразователь, МП – микропроцессор, ЗУ – запоминающее устройство, 2 — порты ввода/вывода, 3– устройства ввода информации, 4 – устройства отображения информации. ИМ

Изображение слайда

7

Слайд 7: Микропроцессоры в системах управления техническими объектами

7 Микропроцессоры в системах управления техническими объектами

Изображение слайда

8

Слайд 8: Микропроцессоры в системах управления техническими объектами

8 Микропроцессоры в системах управления техническими объектами Нижний уровень Верхний уровень  Объект управления  Д ИМ Д Д Д ИМ Многоуровневые системы Модульные измерительно-управляющие системы Универсальные измерительно-управляющие устройства и приборы Специализированные измерительные приборы, датчики и управляющие устройства Многоцелевые микроконтроллеры

Изображение слайда

9

Слайд 9: Модульная система L-card

9 Модульная система L-card Единый индексный формат данных : 32 битный формат содержит кроме данных также номер канала, номер модуля и служебную информацию, что облегчает программную обработку многоканальной информации. Специальный сигнальный процессор, работающий на тактовой частоте 600 МГц и доступный для программирования пользователю Гальваническая развязка любого модуля Два интерфейса для связи с компьютером — USB 2.0 ) и Fast Ethernet (протокол TCP/IP, 100 Мб)

Изображение слайда

10

Слайд 10: Микропроцессорные системы

10 Микропроцессорные системы

Изображение слайда

11

Слайд 11: Микропроцессоры в системах управления техническими объектами

11 Микропроцессоры в системах управления техническими объектами

Изображение слайда

12

Слайд 12: Микропроцессоры в системах управления техническими объектами

12 Микропроцессоры в системах управления техническими объектами Технология OPC — подключение оборудования к современным SCADA системам, поддерживающим стандарт OPC Позволяет считывать и записывать данные в память прибора, организовывать уведомление об обновлении данных. Работает в реальном времени с любыми SCADA системами, языками программирования Visual Basic, C++, Java, Delphi и т. д. и приложениями типа Мicrosoft Office

Изображение слайда

13

Последний слайд презентации: Развитие микропроцессоров семейства MCS-51

13

Изображение слайда

Принцип однокристального микрокомпьютера MCS-51 — Русские Блоги

1 Книги

«Принцип работы микроконтроллера MCS-51, проектирование и применение системы_12015401.pdf»
MCS-51 Основная технология Intel 8051
Микроконтроллер MSC-51 (самый простой и понятный учебник за всю историю) .pdf
«Новый MCS-51 MCU Application Design.pdf» —- хорошо

2 MCS-51 ПК указатель

ПК — это регистр внутри процессора микроконтроллера
всегда указывает на память программы и сохраняет адрес следующей инструкции, которая будет выполнена.
Значение после сброса 0x0000H

Регистры внутри процессора включают в себя:

РегистрацияСбросить значение
PC0000H
Acc00H
B00H
PSW00H
SP07H
DPTR0000H

После сброса MCS-51 (ПК) = 0000H,
Системная программа запускается с единицы 0000H. 0000H — это адрес сброса и начальный адрес системной программы.
Обычно в этом устройстве хранится команда абсолютного перехода, а программа инициализации и основная программа сохраняются с адреса перехода.

2 MCS-52, внутреннее ОЗУ

00H — 7FH (0–127) 128-байтовый блок RAM

80H —- FFH (128-255) блок 128-байтового блока памяти

80H —- FFH (128 — 255) регистр специальных функций SFR

В MCS-52 верхние 128 байтов адресов ОЗУ и блоков SFR перекрываются, но физически это два разных места.
При доступе в соответствии с различными инструкциями определите, осуществлять ли доступ к ОЗУ или SFR.
Access high 80H —- FFH RAM — это режим косвенной адресации.
Доступ к SFR является прямой адресацией.
Младшие 128 байтов ОЗУ можно использовать напрямую.

Из 128 байтов SFR только 26 байтов являются значимыми.

3 MSC-51 младший 128 байтов RAM раздел 00H — 7FH

Указатель SP регистра ЦП указывает на адрес ОЗУ 07H после сброса,
Если используется инструкция PUSH, данные будут сохранены в адресах памяти 07H, 08H, а затем вверх.

00H — 07H адреса ОЗУ — первая группа R0 — R7
08H — 0FH адреса ОЗУ — вторая группа R0 — R7
10H — 17H адреса ОЗУ — третья группа R0 — R7
18H — 1FH адреса ОЗУ — четвертая группа R0 — R7
R0 — R7 не являются теми же внутренними регистрами ЦП, что и ПК SP.

R0 — R7 называются областями рабочих регистров и находятся в оперативной памяти.

SFR должен находиться внутри процессора — это регистр специальной функции.

4 стека

Область оперативной памяти пользователя, адреса 30H-7FH, эти адреса могут быть адресованы только байтами.
При сбросе SP указывает на блок 07H. Когда пользователь использует стек, сначала должен быть установлен стек. Пользовательский стек обычно устанавливается в диапазоне 30H-7FH.
Чем больше значение SP, тем меньше размер стека.

Стек — это область, созданная в оперативной памяти, которая в основном предназначена для вызовов подпрограмм и операций прерывания.
Специальные функции: защита точек останова и защита сцены.
Будь то вызов подпрограммы или операция прерывания, вам нужно вернуться к основной программе.

Указатель стека SP является 8-битным регистром SFR, регистром специальной функции. Содержимое SP указывает на вершину стека во внутреннем блоке ОЗУ.
Может указывать на любое место во внутренней памяти 00H — 7FH.
При фактическом использовании лучше всего установить значение SP на 1FH или выше.

Работа стека, то есть операция указателя SP, реализуется инструкциями PUSH и POP в наборе команд.
Существует две операции: одна — стек данных (PUSH),
Другой — это стек данных (POP).

Вершина стека управляется автоматически SP. После каждой операции push-in или pop-up указатель стека SP автоматически регулируется, чтобы указывать верхнюю позицию стека.
Когда байт данных помещается в стек, SP автоматически увеличивается на 1.
После удаления одного байта данных из стека SP автоматически уменьшается на 1.
Эта структура стека микроконтроллера MCS-51 является стеком восходящего роста.

5 инструкция по эксплуатации стека

Однокристальная внутренняя память MCS-51, Last In First Out,
инструкция Push
Push direct
Функция состоит в том, чтобы сначала увеличить SP на 1, а затем поместить содержимое адреса, на который указывает непосредственно, в блок ОЗУ, на который указывает SP.
инструкция pop
POP direct
Содержимое ОЗУ, на которое указывает стек, помещается в адрес, на который указывает direct,
SP уменьшился на 1.

6 Инструкция возврата подпрограммы RET

RET
Когда указывает на инструкцию,
SP —-> PCH, затем SP-1 ——> SP
SP —-> PCL, затем SP-1 ——> SP
Функция состоит в том, чтобы выйти из верхних 8 и младших 8 байтов ПК из стека.
Уменьшите указатель стека на 2 и продолжите выполнение со значения ПК. Не влияет на знак.

6 Инструкция возврата подпрограммы RETI

Подобно RET, эта команда очищает состояние приоритета прерывания микроконтроллера, когда прерывание обслуживается.

7 Длинный звонок

8 прерывание

Источник прерывания отправляет запрос на обработку в ЦП.
ЦП активно приостанавливает выполнение программы и переключается на процедуру обработки прерываний.
Аппаратное обеспечение автоматически помещает адрес точки прерывания (значение ПК с 16-разрядным программным счетчиком) в стек.

Основным содержанием ответа на прерывание является то, что инструкция длинного вызова LCALL addr16 автоматически генерируется аппаратным обеспечением.
addr16 — это адрес вектора прерывания в памяти программы.
Например, для ответа на внешнее прерывание 1 инструкция длинного вызова имеет вид
LCALL 0013H。

После того, как инструкция LCALL сгенерирована, она непосредственно выполняется CPU.
Сначала содержимое ПК помещается в точку останова защиты стека, а затем адрес ввода прерывания загружается в ПК.

9 Типичная процедура обработки прерываний

4.3 Современные мк с архитектурой mcs-51

МК с архитектурой MCS-51 выпускают многие фирмы. ATMEL и другие выпускают МК с этой архитектурой и flash- памятью программ под маркировкой «89», например:

Тип

Flash

RAM

Питание

Частота, МГц

Примечание*

AT89C4051

4K

256

3V, 5V

12, 24

Iout = 20mA

AT89S8252

8K

256

5V

24

ISP, SPI, WD

T89C51RD2

64K

256

3V, 5V

40

ISP, Boot Flash, PCA

* – Iout – нагрузочная способность выходов в состоянии логического «0»

ISP – возможность программирования в системе

SPI – наличие интерфейса SPI

WD – сторожевой таймер

Boot Flash – наличие области Flash- памяти для размещения пользовательского монитора- загрузчика памяти

PCA – многорежимный программируемый таймер

Для решения задач, требующих повышенной производительности, фирма Phillips выпускает семейство 80C51XA. Это семейство совместимо с MCS-51 только по особенностям архитектуры и системы команд на уровне мнемонических обозначений. Основные отличия семейства 51XA:

  • 16- разрядное АЛУ

  • 24- разрядное пространство адресов памяти программ и данных (16 МБайт)

  • расширенный набор команд и способов адресации

  • аппаратная поддержка мультизадачности

  • напряжение питания от 2,7 В

Архитектура 51XA обеспечивает увеличение производительности по сравнению с MCS-51 на два порядка.

Фирма Analog Devices выпускает МК типа ADC812 (2000 г.), названный однокристальной системой сбора данных и управления. Он построен на основе архитектуры MCS-51 и дополнительно содержит:

  • 12- разрядный 8- канальный АЦП с каналом прямого доступа к памяти

  • два 12- разрядных ЦАП

  • встроенный источник опорного напряжения

  • последовательные порты UART, I2C, SPI

  • монитор напряжения питания

  • сторожевой таймер

  • внутреннюю Flash- память программ объемом 8 К, программируемую через последовательный порт UART

  • внутреннюю энергонезависимую Flash- память данных объемом 640 байт

Микросхема выполнена в 52- выводном корпусе и может работать при напряжениях питания 3…5 В.

В целом, хотя МК с архитектурой MCS-51 уступают по производительности RISC- контроллерам, они находят широкое применение из-за наличия развитых инструментальных средств разработки, большого накопленного опыта разработки МП- систем на их основе, хорошего соотношения цена — качество.

5 Микроконтроллеры с risc- архитектурой

Анализ программ, выполняемых в системах на основе МК с расширенной системой команд (CISC- контроллеры), показал, что в 80 % случаев используется только 20 % команд. Следовательно, дешифратор команд, занимающий 75 % площади кристалла на CISC- МК, используется неэффективно. Архитектура RISC (Reduced Instruction Set Computing) использует сокращенный набор команд с единым форматом. Особенностью RISC- МК является то, что все команды выполняются за 1…3 такта синхрогенератора, а в CISC- МК – за 1…3 машинных цикла, каждый из которых состоит из нескольких тактов (для i80x51 – из 12 тактов). Поэтому RISC- МК имеют более высокую производительность. Но более полная система команд CISC в ряде случаев приводит к экономии времени выполнения отдельных фрагментов программы и к экономии памяти программ.

5.1 PIC- контроллеры

PIC— контроллеры (Peripheral Interface Controller – контроллеры периферийных интерфейсов) выпускаются фирмой MicroChip и являются типичными представителями RISC- процессоров. Система команд включает 33…35 команд, каждая команда занимает в памяти одно слово. Разрядность ПЗУ – от 12 до 16 (MicroChip анонсирует это значение как разрядность микроконтроллера). Время выполнения каждой команды (кроме команд разветвления) – один машинный цикл, занимающий 4 такта. Т.е. при частоте генератора 4 МГц время выполнения одной команды 1 мкс. Стек реализован аппаратно и имеет глубину 2, 8 или 16 ячеек. Ряд PIC- контроллеров содержит встроенные АЦП, иногда ЦАП или компаратор. Контроллеры имеют от одного до трех таймеров, сторожевой таймер, внутренний тактовый генератор, способный работать в различных режимах. Сторожевой таймер имеет независимый встроенный RC- генератор; номинальная выдержка сторожевого таймера (без предделителя 1/128) составляет 18 мс, с предделителем – около 2,3 с. Поддерживается режим низкого энергопотребления – SLEEP.

Микроконтроллеры PIC построены по гарвардской архитектуре с раздельными шинами и областями памяти и программ. Это увеличивает скорость обмена по сравнению с принстонской архитектурой, где команды и данные передаются по одной и той же шине. Разделение шин команд и данных позволяет увеличить разрядность команд по сравнению с разрядностью данных. Это обеспечивает простую, но эффективную систему однословных команд, с возможностью перекрытия по времени выборок команд и циклов выполнения (см. схемы работы микроконтроллера и выполнения микрокоманды).

Микроконтроллер использует прямую и косвенную адресацию всех регистров и ячеек памяти. Все специальные регистры также адресуются как память данных. Симметричная система команд позволяет выполнять любую операцию с любым регистром или ячейкой памяти, используя любой способ адресации.

Каждая команда представляет собой 14- разрядное слово. Система команд образована группами:

  • Команды работы с байтами – арифметические, логические, пересылки

  • Команды работы с битами – сброс/установка бита в регистре

  • Команды работы с константами

  • Команды передачи управления

Для выполнения всех команд АЛУ использует рабочий регистр W (Work), который не может быть прямо адресован.

Дополнительно PIC- контроллеры могут содержать АЦП, модуль ШИМ, модуль синхронного последовательного порта с интерфейсами SPI, I2C, USB. Микроконтроллер PIC поддерживает внутрисистемное программирование. PIC- контроллеры старших семейств имеют встроенный аппаратный умножитель, в них предусмотрена возможность выполнять программу из внешнего ПЗУ.

Каждый вывод порта обеспечивает выходной ток до 25 мА при условии, что ток по выводу VSS не превысит 150 мА. Интервал рабочих температур -55…+1250С.

Входная тактовая частота делится на 4, из нее формируются четыре неперекрывающиеся тактовые последовательности Q1…Q4, образующие один машинный цикл. Счетчик команд инкрементируется в такте Q1, а команда считывается и защелкивается в регистре команд в такте Q4. Команда выполняется в следующем цикле. Т.е. во время выполнения команды РС считывается команда РС+1, процедуры выборки команды и выполнения совмещены. Эффективное время выполнения команды в потоке составляет 1 цикл, т.е. 4 такта. Если команда изменяет счетчик команд (например, CALL), то ее выполнение занимает 2 цикла – 8 тактов.

Алгоритм умножения 24-битных чисел на MCS-51



Я пытаюсь сделать программу на языке assembly для MCS-51 microcontroller с этой таблицей данных .

Он должен умножать 24-битные числа.

Может быть, я задаю глупый вопрос, но как бы я умножил столбец на 24 бита?

На приведенных ниже рисунках проиллюстрирован способ умножения 16-битных чисел. Как будет выглядеть схема умножения для 24-битных чисел?

assembly microcontroller multiplication
Поделиться Источник aleshqa1337     15 сентября 2016 в 18:08

1 ответ


  • список пакетов 24-битных целых чисел в php

    Контекст: я читаю/записываю данные, которые по причине хранения поступают в виде 24-битных целых чисел (знак или без знака не имеет значения, так как на самом деле это 8 восьмеричных значений). Мне нужно сохранить/прочитать большое количество этих целых чисел с pack и unpack . Приложение критично…

  • python; struct; repeat count для 24-битных целых чисел

    Я хочу распаковать массив из 2760 байт в новый массив из 920 24-битных целых чисел. В отличие, например, от 16-битных целых чисел, где бы struct.unpack_from(‘920h’,array,0) сделал это, вы не можете использовать синтаксис ‘repeat count’ с 24-битными целыми числами: struct.unpack_from(‘920<i’,…



4

Основываясь на быстром взгляде на документацию, MCS-51 имеет умножение 8×8->16. У вас два 24-битных числа A и B, которые эквивалентны:

A = a0 + (a1 * 256) + (a2 * 65536)
B = b0 + (b1 * 256) + (b2 * 65536)

Где A0-низкой байт, А1-средний байт, А2-это самый высокий байт, и БС являются соответствующие вещи для Б.

Следовательно:

A * B = (a0 + (a1 * 256) + (a2 * 65536)) * (b0 + (b1 * 256) + (b2 * 65536))
      = a0 * (b0 + (b1 * 256) + (b2 * 65536)) +
        a1 * 256 * (b0 + (b1 * 256) + (b2 * 65536)) +
        a2 * 65536 * (b0 + (b1 * 256) + (b2 * 65536))
      = a0 * b0         + a0 * b1 * 256      + a0 * b2 * 65536 +
        a1 * b0 * 256   + a1 * b1 * 65536    + a1 * b2 * 16777216 +
        a2 * b0 * 65536 + a2 * b1 * 16777216 + a2 * b2 * 4294967296
      = a0 * b0 +
        256 * (a0 * b1 + a1 * b0) +
        65536 * (a0 * b2 + a1 * b1 + a2 * b0) +
        16777216 * (a1 * b2 + a2 * b0) +
        4294967296 * (a2 * b2)

Итак, это все девять умножений 8х8, затем сложите вместе в группы, затем сдвиньте каждую группу по мере необходимости, а затем добавьте все в конце.

Если вы хотите получить только 24-битный результат, а не 48-битный, вы можете вырезать все из 16777216 * , поскольку очевидно, что эта часть не может внести свой вклад в нижние три байта. Или точно так же прекратите выполнять работу в другом месте для других выходных размеров.

Поделиться Tommy     15 сентября 2016 в 18:21


Похожие вопросы:


Разбор bignum на список 16-битных целых чисел

Я должен реализовать некоторую арифметику бигнума. Число должно быть разбито на список 16-битных целых чисел. Проблема не в этом. Проблема состоит в том, чтобы разобрать строку в этой нотации. Если…


алгоритм умножения 64 bit чисел с использованием 32-битных целых чисел без знака

У меня есть 64 bit чисел (63 бита + знаковый бит), представленных в виде чисел дополнения двух, хранящихся в двух беззнаковых 32-битных целых числах. struct Long { uint32 high; uint32 low; } Как я…


Алгоритм умножения с использованием битовых сдвигов

В поисках эффективного алгоритма умножения 2 больших чисел я наткнулся на приведенный ниже метод c на форуме:- … typedef unsigned long long ULL; ULL multiply (ULL a,ULL b) { ULL result = 0;…


список пакетов 24-битных целых чисел в php

Контекст: я читаю/записываю данные, которые по причине хранения поступают в виде 24-битных целых чисел (знак или без знака не имеет значения, так как на самом деле это 8 восьмеричных значений). Мне…


python; struct; repeat count для 24-битных целых чисел

Я хочу распаковать массив из 2760 байт в новый массив из 920 24-битных целых чисел. В отличие, например, от 16-битных целых чисел, где бы struct.unpack_from(‘920h’,array,0) сделал это, вы не можете…


Каков самый быстрый алгоритм умножения двух n-значных чисел?

Я знаю, что компьютеры используют метод сдвига и сложения для умножения двух чисел. Битовый сдвиг умножается и делится на степени двух. Эта операция выполняется быстрее, чем инструкция умножения….


Умножение 32 битных двух чисел на микропроцессоре 8086

У меня есть пример кода для умножения двух 16-битных чисел на 8086 и попытки обновить его для умножения двух 32-битных чисел. start: MOV AX,0002h ; 16 bit multiplicand MOV BX,0008h ; 16 bit…


Алгоритм умножения 2 чисел на n битов с использованием алгоритма Штрассена

Разработайте и проанализируйте алгоритм умножения 2 чисел A и B, каждое из которых имеет длину n битов, но разбивая их на 3 части одинакового размера каждая и используя алгоритм Штрассена. Какое…


Алгоритм умножения матриц

У меня есть классы mat2, mat3 и mat4, которые обозначают матрицы 2×2, 3×3 и 4×4 соответственно. Я пытаюсь реализовать алгоритм умножения, перегружая оператор *= . Взяв mat4 в качестве примера, вот…


Как быстро вычислить произведение 100 битных чисел

Я пытаюсь вычислить произведение двух 100-битных чисел. Предполагается, что он имитирует поведение умножения целых чисел без знака, присущих 100-битной архитектуре CPU. То есть программа должна…

НОУ ИНТУИТ | Лекция | Система команд микроконтроллеров семейства MCS-51 (фирмы Intel, Atmel, Analog Devices)

МнемоникаФункция команды
ADDСложение с аккумулятором
ADDCСложение с учетом переноса
SUBBВычитание из аккумулятора
INCИнкремент
DECДекремент
MULУмножение
DIVДеление
DAДвоично-десятичная коррекция аккумулятора
ANLЛогическое И
ORLЛогическое ИЛИ
XRLИсключающее ИЛИ
CLRОчистка аккумулятора или бита
CPLИнверсия аккумулятора или бита
RLСдвиг аккумулятора влево
RLCСдвиг аккумулятора влево через перенос
RRСдвиг аккумулятора вправо
RRCСдвиг аккумулятора вправо через перенос
SWAPПерестановка тетрад аккумулятора
MOVПересылка
MOVCПересылка связанного байта в аккумулятор
MOVXПересылка байта из внешней памяти или во внешнюю память
PUSHСохранение в стеке
POPИзвлечение из стека
XCHОбмен информацией
XCHDОбмен младшими тетрадами между ячейкой памяти и аккумулятором
SETBУстановка бита
JCПереход, если есть перенос
JNCПереход, если нет переноса
JBПереход, если бит установлен
JNBПереход, если бит не установлен
JBCПереход, если бит установлен, и очистка этого бита
ACALLКороткий переход к подпрограмме с возвратом
LCALLДлинный переход к подпрограмме с возвратом
RETВозврат из подпрограммы
RETIВозврат из прерывания
AJMPКороткий переход без возврата
LJMPДлинный переход без возврата
SJMPКороткий переход со смещением
JMPПереход относительно указателя данных
JZПереход, если аккумулятор равен нулю
JNZПереход, если аккумулятор не равен нулю
CJNEПереход, если не равно
DJNZДекремент и переход, если не равно нулю
NOPНет операции

Семейство микроконтроллеров Intel MCS-51 — здесь и надолго

Джон Уайлдер

Просматривая многие форумы по встраиваемой электронике, я продолжаю видеть людей, делающих заявления, ссылающиеся на линейку микроконтроллеров Intel 8051 и на то, что они «устарели». Однако ничто не могло быть дальше от истины. Хотя Intel прекратила производство семейства MCS-51 в 2007 году, множество производителей все еще производят микроконтроллеры, совместимые с 8051, по лицензии Intel на интеллектуальную собственность.

Становимся лучше с возрастом
Возьмем для примера серию микроконтроллеров Atmel AT89S. Они не только совместимы с 8051, но и имеют множество улучшений. В то время как исходный 8051 работал с максимальной тактовой частотой 12 МГц, такие варианты, как AT89S8253, могут работать до 24 МГц, а также иметь опцию синхронизации x2, которая эффективно запускает тактовую частоту команд на 1/6 скорости кристалла (по сравнению с оригинальная 1/12-я спецификация Fosc).

Хотя это составляет всего лишь тактовую частоту команд 4 МГц — что может показаться медленным по сравнению с современными микросхемами, такими как PIC18F4550, которые могут работать с тактовой частотой команд 12 МГц, — архитектура CISC семейства MCS-51 позволяет использовать больший набор команд, чем многие современные микросхемы RISC. .Это означает, что есть некоторые операции, которые 8051 может выполнять с одной инструкцией, а для выполнения PIC требуется процедура из нескольких инструкций.

Например, 8051 имеет инструкцию cjne, которая сравнивает два значения и выполняет переход, если они не равны. Чтобы PIC 16F сделал это, вам потребуются три инструкции для загрузки двух значений, их вычитания или XOR, затем проверки нулевого бита и перехода, если он не установлен. Таким образом, теоретически PIC, работающему с тактовой частотой команд 4 МГц, потребуется примерно столько же времени, что и 8051, работающим с тактовой частотой команд 1 МГц, для выполнения операции, эквивалентной инструкции cjne 8051.

Перед современным микроконтроллером
MCS-51 снова выигрывает у современных микроконтроллеров — это его внешняя, передняя шина. Это позволяет 8051 запускать программы, хранящиеся во внешнем параллельном СППЗУ, тем самым упрощая изменение прошивки путем замены СППЗУ. Он также предлагает возможность использования программного ПЗУ большего размера, чем предлагается на кристалле (до 64 КБ). И он обращается к внешней параллельной ОЗУ (также до 64 КБ), делая системную память расширяемой. Хотя параллельная память может показаться устаревшей из-за наличия последовательной EEPROM, параллельный интерфейс намного быстрее, чем последовательный.

Шина внешней памяти не ограничивается только памятью. За счет использования аппаратных буферов и продуманной схемы аппаратного стробирования мы также можем создать топологию адресного ввода-вывода. Это позволяет нам связывать другое оборудование, такое как ЖК-дисплеи / светодиодные дисплеи и массивы переключателей, с шиной памяти и обрабатывать их как внешнюю память с помощью инструкции MOVX. Шина представляет собой легко расширяемую систему с минимальными изменениями кода.

Более того, некоторые более новые варианты 8051 даже предлагают симметричные характеристики источника / потребителя на своих выводах ввода-вывода, например AT89LP52 компании Atmel.

Испытано — и соответствует ядру
Хотя я коснулся основ, есть много других производителей, предлагающих чипы DSP с ядром 8051 в текущем производстве, и улучшение 8051, похоже, все еще идет полным ходом. Это сверхлегкий в освоении чип, и они выдержали испытание временем на протяжении десятилетий. В то время как другие микроконтроллеры кажутся более обновленными по сравнению с ними, старая поговорка «Если не сломалась, не чини», похоже, поддерживает семейство MCS-51 в живых и благополучных.

Короче говоря… не ждите, что семейство MCS-51 исчезнет в ближайшее время… по крайней мере, при нашей жизни.

Об авторе
Джон Уайлдер — внештатный инженер-электронщик и энтузиаст электроники более 20 лет. Он четыре года проработал в ВМС США в качестве специалиста по авиационной электронике. Джон также играет на гитаре с 13 лет и начал интегрировать электронику и музыку с 15 лет. Джон построил свой первый ламповый усилитель в 17 лет.«Музыкальная электроника», — говорит Джон, — его любовь и страсть.

Джон также является частым участником и страстным членом Electro-Tech-Online, сообщества членов электротехнического сообщества. В Electro-Tech-Online вы можете задавать вопросы и получать ответы от своих коллег-инженеров по всему, от микроконтроллеров, возобновляемых источников энергии и автомобильной электроники до моделирования схем и проектирования. Кроме того, существуют форумы для микроконтроллеров 8051/8951, AVR, ARM, Arduino, Oshonsoft Project, а также репозиторий кода, где участники обмениваются фрагментами кода.

Следуйте за Джоном в Twitter на @PICmcuguy.


Связанные ресурсы :

Сообщество Electro-Tech-Online ведет целый форум, посвященный однокристальным микроконтроллерам 8051/8951. Это отличное место, чтобы задать вопросы, найти ответы и поделиться своим опытом и знаниями о далеко не устаревшем MCU Intel.

Существует также руководство «Базовый 8051» из пяти частей, написанное членом ETO и супер-модератором Яном Роджерсом, которое охватывает следующее:

8051AH datasheet — 8-разрядные микроконтроллеры Mcs51, ориентированные на управление

AAM186ES : микроконтроллеры обеспечивают недорогое и высокопроизводительное решение для разработчиков встроенных систем, которые хотят использовать архитектуру X86..

CXP87500 : 8-битный однокристальный CMOS микрокомпьютер Piggyback / оценочный тип. Это 8-битный однокристальный CMOS-микрокомпьютер комбинированного типа с анализатором, разработанный для оценки работы CXP87532 / 87540. Широкий набор команд (213 инструкций), который поддерживает LQFP, поддерживает QFP, охватывает различные типы данных 16-битных команд операции / умножения и деления / логических битов Минимум.

EM6604 : Multi I / o MCU0 со сверхнизким энергопотреблением.3мА, 1,2В, 1,5кх16 ПЗУ. Низкое энергопотребление — типичный активный режим 1,7 А — типичный режим ожидания 0,3 А 32 кГц, 25 ° С Низкое напряжение до зуммера 1,7 В — ПЗУ 2 кГц — 153616 бит (программирование по маске) ​​ОЗУ 4 бита (чтение / запись пользователем) 2 такта на цикл команд Архитектура RISC 3 настраивается программно 4-битные порты 1 входной порт 1 сильноточный выходной порт 1 входной или выходной порт — побитовое до 8 выходов (2 порта).

HMS81C43XX : Однокристальный 8-битный микроконтроллер CMOS для телевидения. Это усовершенствованный 8-битный микроконтроллер CMOS с 8 ~ 32 КБ (60 КБ) байтами ПЗУ.Устройство принадлежит к семейству GMS800. HYNIX — это мощный микроконтроллер, который обеспечивает очень гибкое и экономичное решение для многих телевизионных приложений. HMS81C43xx / GMS87C4060 обеспечивает следующий стандарт: 8 ~ 32 КБ (60 КБ) байтов ПЗУ, 256 ~ 512/1536 байтов ОЗУ.

HT48R30A-1 : RISC-> RISC. 8-битный микроконтроллер. Рабочее напряжение: память 968 данных ОЗУ Управляющая пара зуммера и PFD поддерживают функцию HALT и функцию пробуждения для уменьшения мощности Функция сброса низкого напряжения 25 двунаправленных линий ввода / вывода (макс.) 1 вход прерывания, совместно используемый с линией ввода-вывода. 8-битный программируемый таймер / счетчик событий с более чем 4-уровневым вложением подпрограмм до цикла команд 0,5 мс с системными часами 8 МГц.

KS57P0616 : Серия S3C7 (KS57). = KS57P0616 Однокристальный КМОП микроконтроллер ;; ПЗУ (КБ) = — ;; RAM Nibble = — ;; Контакты ввода / вывода = 36 ;; Прерывание (Int / Ext) = 3/3 ;; Таймер / счетчики = BT / WT / WDT / 8Tx2 ;; Sio = — ;; LCD (Seg / Com) = — ;; АЦП (BitxCh) = — ;; ШИМ (BitxCh) = — ;; Максимум. OSC.Freq. (МГц) = 6 МГц ;; VDD (V) = 1.8 ~ 5.5 ;; Другое = — ;; Пакет = 42SDIP, 44QFP ;; Производство.

LC865632A :. Микроконтроллеры LC865632A / 28A / 24A / 20A / 16A / 12A / 08A представляют собой 8-разрядные однокристальные микроконтроллеры со следующими встроенными функциональными блоками: — ЦП: работает с минимальным временем цикла шины 0,5 с (микросекунды) — Вкл. максимальная емкость ПЗУ микросхемы: 32 Кбайт — Емкость ОЗУ микросхемы: 640 байт: 512 байт — 16-битный таймер / счетчик (или два 8-битных таймера) — 16-битный.

LC868008A :. Микроконтроллеры LC868016A / 12A / 08A — это 8-битные однокристальные микроконтроллеры со следующими функциональными блоками на кристалле: — ЦП: Работает при минимальном времени цикла шины, равном 0.5 с (микросекунды) — Максимальная емкость встроенного ПЗУ: 16 Кбайт — Объем встроенного ОЗУ: 640 байт — Контроллер / драйвер автоматического дисплея жидкокристаллического дисплея (ЖКД) с точечной матрицей.

SAK-C167CS-4R40MBA-step :. Издание 2001-08 гг. Опубликовано Infineon Technologies AG, St.-Martin-Strasse 53, D-81541 Mnchen, Германия. Все права защищены. Внимание, пожалуйста! Приведенная здесь информация предназначена для описания определенных компонентов и не должна рассматриваться как гарантированные характеристики. Условия поставки и права на технические изменения защищены.Настоящим мы отказываемся от каких-либо гарантий.

SM3503 : 4-битный однокристальный микрокомпьютер (для использования в банке данных).

TC1765 : 32-битный однокристальный микроконтроллер. Издание 2002-12 гг. Опубликовано Infineon Technologies AG, Санкт-Мартин-Штрассе 53, 81669 Mnchen, Германия. Все права защищены. Внимание, пожалуйста! Приведенная здесь информация предназначена для описания определенных компонентов и не должна рассматриваться как гарантированные характеристики. Условия поставки и права на технические изменения защищены.Настоящим мы отказываемся от каких-либо гарантий.

TC9309AF : Однокристальный микроконтроллер DTS.

TMP93CS32F : Серия TLCS-900L. ROM Size = Null ;; RAM Size = Null ;; Напряжение питания = от 2,7 до 5,5 В ;; I / o Count = Null ;; Уникальный = Самый маленький пакет в семье ;; Дополнительная информация = Подробнее.

WC32P020-XP2M : 68020 WC32P020 — это 32-разрядная реализация микропроцессоров семейства 68000. Используя технологию HCMOS, WC32P020 реализован с 32-битными регистрами и путями данных, 32-битными адресами, мощным набором команд и гибкими режимами адресации..

VRS51L2070 : Обзор VRS51L2070 — это высокопроизводительный микроконтроллер на базе 8051, соединенный с полностью интегрированным набором периферийных устройств для решения широкого спектра приложений встраиваемого проектирования. Подсистема памяти VRS51L2070s, основанная на мощном однократном микропроцессоре 8051 с производительностью 40 MIPS, включает 64 КБ флэш-памяти и 4352 байта SRAM. Поддержка периферийных устройств.

PC9S08SG32MTJ : 8-битное семейство микроконтроллеров Freescale Semiconductors 8-битное семейство микроконтроллеров SG представляет собой предложение среднего и низкого уровня, предназначенное для подчиненных LIN-устройств, приложений общего рынка и приложений с ограниченным пространством.SG, основанный на ядре S08, обеспечивает производительность процессора до 40 МГц с использованием флэш-памяти Freescales 0,25, что позволяет расширить границы 8-битного диапазона до 16-битного.

HT46R73D-1A : Двухканальный микроконтроллер аналого-цифрового типа с ЖК-дисплеем HT46R73D-1A — это высокопроизводительное 8-разрядное микроконтроллерное устройство с архитектурой RISC, специально разработанное для аналого-цифрового преобразования с ЖК-приложениями, которые взаимодействуют напрямую с аналоговыми сигналами, такими как те от датчиков. Преимущества низкого энергопотребления, гибкости ввода / вывода, функций таймера, опций генератора, аналого-цифрового преобразователя с двойным наклоном.

MPC8640D : Дополнения к аппаратному обеспечению интегрированного хост-процессора MPC8640 и MPC8640D, представленные в этом документе, заменяют дополнения к аппаратному обеспечению интегрированного хост-процессора MPC8640 и MPC8640D, Rev. 1 или более поздней версии, только для номеров деталей, перечисленных в таблице A. s, не упомянутые в данном документе, без изменений.

PIC18F87J72 : Микроконтроллер счетчика / монитора энергии Микроконтроллер счетчика / монитора с двухканальным 16- / 24-битным аналоговым интерфейсом, 12-битный 12-канальный АЦП SAR, 132-пиксельный ЖК-дисплей, 128 КБ флэш-памяти, 4 КБ ОЗУ, аппаратное обеспечение Модуль RTCC и CTMU в 80-контактном корпусе TQFP.Эти устройства идеально подходят для многофункциональных однофазных интеллектуальных счетчиков и мониторов энергии.

51 | Музей CPU Shack

Fischer & Porter 53MC5 — Начало тайны

Однажды прошлым летом я просматривал глубокие темные углы в поисках процессоров — забавное, но опасное занятие. Я наткнулся на множество печатных плат от устаревшего оборудования промышленной автоматизации. Никакой реальной информации предоставлено не было (покупатели этих плат явно уже знали, что им нужно).Однако у них были RTC, EPROM, кристалл с частотой 16 МГц и большой 84-контактный PLCC. Этот PLCC был помечен как Intel N60066. Увидеть такой большой чип, окруженный такими компонентами, почти всегда означает, что это какой-то процессор или микроконтроллер. Проблема в том, что нет известной части Intel 60066. Все чипы были произведены в конце 80-х — начале 90-х годов и имели авторские права в 1980 и 1985 годах. Авторские права 1980 года обычно кричат ​​о MCS-51, поскольку именно тогда он был представлен, и почти все такие чипы имеют знак Intel 1980 года.

Intel N60066

Сами платы были датированы периодом с 1990 года до начала 2000-х годов (я купил их много, у меня возникла еще одна проблема). Некоторые имели номер детали 53MC5 и логотип Fischer & Porter. Fischer & Porter существует с 1930-х годов и является лидером в области приборостроения. Они были куплены компанией Elsag Bailey Process Automation (EBPA) в 1994 году, которая сама была поглощена ABB в 1999 году. Дизайн плат практически не изменился в течение всех этих переходов.Поиск документации по номеру детали 53MC5 (это Контроллер петли) не дал подробностей о том, что такое N60066, к сожалению. Оставалось только поджечь…

К сожалению, это единственный способ вскрытия пластиковых микросхем, который у меня в настоящее время есть (очевидно, мне нужно получить ДМСО, чтобы попробовать). После некоторой тщательной работы с резаком и некоторой грубой очистки полученной матрицы стало очевидно, что это был какой-то MCU. Сама матрица имела маркировку… 1989 60066.Это не был стандартный продукт со специальной маркировкой, это был продукт Intel специально для этого приложения, что действительно очень удивительно. В отличие от других компаний, таких как Motorola, Intel не была хорошо известна своими нестандартными проектами / ASIC. Это не было их рыночным или бизнес-планом. Intel производила продукты в соответствии с потребностями, которые они видели, если это работало для конечного пользователя, отлично, если нет, возможно, вы могли бы поискать в другом месте. Они с радостью изменили бы спецификации / испытания СУЩЕСТВУЮЩИХ деталей, например, более широкий диапазон напряжения или другое время, но это был бы полностью индивидуальный продукт? Нет, поговорите с дизайнерским домом ASIC.Скорее всего, Fischer & Porter заказали их в количестве, достаточном, чтобы оправдать усилия Intel.

Знание, что это MCU, и подозрения, что дальнейшие поиски MCS-51 дали ответ, и он пришел из самого необычного места. В 2009 году NRC (Комиссия по ядерному регулированию) США определила, что в их агентстве нет адекватной вероятностной оценки рисков (PRA) для цифровых систем, поэтому приступила к определению того, как лучше всего рассчитать риск систем с цифровым управлением. Они проанализировали систему, используемую для контроля питательной воды в ядерных реакторах.Это критически важные системы, отвечающие за то, чтобы в реактор в нужное время поступало нужное количество охлаждающей воды, отказ, конечно, не вариант. 53MC5 — это то, что используется для управления клапанами. В этом документе мы находим этот самородок:

Контроллер представляет собой процессор 8051 на плате специализированной интегральной схемы (ASIC), которая выполняет множество функций.

Что ж, это, безусловно, помогает, это действительно специализированный ASIC на основе 8051.В отчете также представлена ​​диаграмма, показывающая систему ASIC. Это ядро ​​8051 с ОЗУ / ПЗУ (обычное), а также сторожевым таймером, PAL, буферами ввода-вывода и логикой адреса.

Я отправил пару таких чипов своему другу Антуану во Францию ​​для правильной штамповки, в которой он просто великолепен.

Матрица

Intel N60066 — 8051 ядро ​​слева. Штамп Антуана Берковичи

Ядро 8051 находится слева от кристалла с его ОЗУ / ПЗУ. Очень большая PLA занимает нижнюю правую часть дня.В правом верхнем углу предположительно находится внешний сторожевой таймер для ASIC. Линии, пересекающие матрицу в основном вертикально, представляют собой верхний металлический слой, используемый для соединения всех различных секций.

Охота за новым CPU / MCU — часть азарта коллекционирования. Удовольствие от выяснения того, что такое загадочный чип, может стоить многих часов тупиков при его исследовании. Однако не всегда приходится идти в NRC, чтобы найти ответ.

cyrozap / rv51: Эмулятор RISC-V для микроконтроллера 8051 (MCS-51).

Что это?

rv51 — это эмулятор, который может выполнять бинарные файлы RV32I без операционной системы на большинстве 8051. (MCS-51) и аналогичные микроконтроллеры.

Но почему?

8051 — чрезвычайно популярное ядро ​​ЦП, которое используется во всем, начиная с ЖК-дисплея. контроллеры, беспроводные микроконтроллеры, USB-устройство, концентратор и хост контроллеры, встроенные контроллеры ноутбуков и многое другое. Это популярно отчасти из-за простоте конструкции, отсутствию патентных обременений, гибкость и простота реализации.

Однако, к лучшему или к худшему, этому дизайну 40 лет, и он действительно показывает свой возраст:

  • 8-битные регистры, ALU и шина данных.
  • 16-битных указателей (но некоторые реализации поддерживают доступ к страничным данным).
  • Только 256 байт встроенной «быстрой» памяти, доступ ко всей остальной памяти по гораздо более медленной шине внешней памяти (как из-за задержки доступа, так и количество инструкций, необходимых для чтения).
  • Многие инструкции требуют сначала переноса данных в аккумулятор (A / ACC) зарегистрируйтесь, чтобы работать с ним.
  • Несколько областей памяти с прямым или косвенным доступом к внутренней память, регистры специальных функций (SFR), регистры побитового отображения, банки регистры, внешняя память и постоянная память кода.
  • Внутреннее пространство стека используется совместно с внутренней памятью данных, которая также совместно с регистровой памятью.

Из-за этих и других ограничений очень сложно настроить таргетинг на компиляторы C для устройства, а те, которые были перенесены (например, SDCC), имеют тенденцию не хватает многих полезных функций современных компиляторов, таких как GCC и LLVM имеет, как и расширенные, настраиваемые предупреждения, надежный мертвый код. исключение и другие методы оптимизации и многое другое.Кроме того, без поддержка LLVM или специального проекта компилятора, языков на основе LLVM например, Rust не может быть скомпилирован для устройства. Один из способов исправить это проблема заключается в том, чтобы выполнить сложную работу по разработке программного обеспечения, необходимую для добавления 8051 как цель для GCC и LLVM.

Другой способ — имитировать на 8051 простой, не обремененный патентами процессор. архитектура, которая уже имеет отличную поддержку компилятора, а именно, РИСК-V.

Из-за моего неопытности в разработке компиляторов и недавно прочитанного о чужом опыте написания эмулятора ARM Cortex-M23 в сборка для Sega VMU, я решил воспользоваться вторым подходом.Желая избежать борьбы с компилятором C для повышения эффективности, рабочая сборка, решил написать этот эмулятор прямо в сборке. На удивление это оказалось намного проще, чем я предполагал, и я смог эмулировать простые программы всего за несколько часов.

Итак, действительно «Почему?» сводится к нескольким факторам. В произвольном порядке:

  • Разочарование по поводу пользовательского опыта компиляторов 8051.
    • «Почему сгенерированная сборка настолько раздута из-за всех этих дополнительных ходов?»
    • «Почему эти неиспользуемые функции не были удалены из сборки?»
    • «Почему мой код не работает? О, это потому, что компилятор молча преобразовал 32-битное int в 16-битное, и теперь условное значение это часть всегда ложна.«
  • Желание собрать код на Rust для 8051.
  • Желание попробовать программировать микроконтроллер так, как это было изначально предназначено (насколько мне известно, не было компиляторов C, нацеленных на 8051, когда он был выпущен в 1980 году).
  • Интерес к эмуляторам и их построению.
  • Интерес к RISC-V ISA.
  • «Почему бы и нет? Звучит весело, и я, наверное, чему-нибудь научусь».

Как им пользоваться?

  1. Установите SDCC.
  2. Выполнить , сделать .
  3. cat rv51.bin ваш-risc-v-program.bin> firmware.bin
  4. Запишите firmware.bin в память программ 8051.
  5. Включите 8051 и освободите его от сброса.

Какие ограничения?

Целевой микроконтроллер семейства 8051 должен иметь не менее 256 байтов внутренняя память данных, поскольку эмулятор использует старшие 128 байтов в качестве зарегистрировать файл.

Этот эмулятор предназначен только для поддержки набора инструкций RV32IM, и, возможно, расширение «C», если его не сложно реализовать.64-битный и плавающий точечная поддержка никогда не будет добавлена, так как оба потребуют слишком много памяти и оборудование не имеет поддержки с плавающей запятой.

Все 40 инструкций базового набора команд RV32I и все восемь реализованы инструкции стандартного расширения RV32M. Ты можешь см. статус поддержки инструкций в разделе Поддержка инструкций.

Прерывания еще не поддерживаются, как и остальная часть машинного режима (M-режим).

Какая лицензия?

Это программное обеспечение находится под лицензией GNU General Public License, версии 3 или позже.

(PDF) Модифицированная архитектура для MCS-51 с обновленными инструкциями на основе VHDL

Прямой доступ к памяти (DMA) — это возможность, предоставляемая

некоторыми архитектурами компьютерной шины, которая позволяет отправлять данные

непосредственно с подключенного устройства (например, дисковый накопитель) в память

на материнской плате компьютера. Микропроцессор

освобождается от участия в передаче данных, тем самым ускоряя общую работу компьютера на

[5].Наша модификация похожа на

с простой архитектурой DMA, но не полностью, у нее есть восемь каналов данных

среди адресуемых ячеек, но есть одна команда

для чтения / записи для основной памяти, без обнаружения ошибок,

проверка четности , квитирование и т. д., всего восемь параллельных шин данных на

передают 8 байтов одновременно. Наша тенденция заключается в использовании зарезервированного кода операции

(машинный код «A5h») в сочетании с зарезервированным битом

PSW (1) для выполнения двух модифицированных инструкций CISC; один для

движущегося блока данных, другой для получения максимального байта для блока данных

, как показано на рис.3.

Ранее, во время выполнения A5, декодер команд

ID, декодировал A5 как отсутствие операции, потому что это зарезервированный машинный код

, только эффектом является задержка на один машинный цикл. Также код

«00h» уже используется для «нет операции». Теперь мы используем

«A5 h» в сочетании с битом PSW (1) таким образом, чтобы per-

формировал новую обработку данных (в двух машинных циклах)

(«MOVBK» и « «GetMAX»). Такая разработка команд

не имеет смысла, если она выполняется с той же стандартной внутренней архитектурой

ЖК MCS-51, потому что их традиционный

ALU (арифметико-логический блок) разработан для работы

последовательно со всеми ISA, кроме код «A5h».Теперь, если A5

декодируется через ID, он будет разветвлен таким образом (стробируемый с

PSW (1)), как показано на рисунке 4, так что разработанный код будет

скомпилирован в один и тот же машинный цикл. в развитой архитектуре

с SUB-ALU. Позже в Разделе 3 будет показано

, что такое развитие и общее улучшение.

2.2. Изменение архитектуры процессора

Этот раздел предназначен для изменения организации и архитектуры для

обычного ЖК-дисплея.Инструменты проектирования высокого уровня и поле

программируемых вентильных матриц (FPGA) значительно сокращают усилия, затраты и риски, связанные с внедрением оборудования

. Эти технологии

могут быть включены в управляемую и доступную структуру прототипирования

, «макетную плату»

в масштабе СБИС для исследования и оценки новых конструкций микропроцессоров [6,7].

Используя технологии FPGA, мы можем модифицировать обычный процессор

.На основе архитектуры Гарварда,

программа и данные доступны по отдельным шинам, имея

двух отдельных областей памяти (одна для инструкций, другая

для данных), что дает большие возможности для улучшения и расширения архитектуры системы

путем добавления дополнительных модифицированных блоков [1].

Итак, разработанная архитектура может быть получена путем добавления дополнительных

блоков (включая ветвление, стробирование и SUB-ALU). Итак,

, что после процесса декодирования, если декодер команд (ID)

обнаружит код «A5h», измененный управляющий сигнал «Signal_A5h»

разветвляется из регистра команд, затем стробируется с

Бит PSW (1) (с использованием двух логических элементов И) для выполнения двух новых макросов

операций, как показано на рис.4. В зависимости от статуса

PSW (1), выход первого логического элемента И используется, когда

PSW (1) = «1», для управления измененным блоком сложения для инструкции

»GetMax Adr ». Выходной сигнал второго логического элемента

AND используется, когда PSW (1) = ‘‘ 0 ’’, для управления добавлением модифицированного блока

для инструкции ‘‘ MOVBK ’’. Выполнение

этих двух предыдущих инструкций достигается с помощью разработанного блока

SUB-ALU.

Манипуляции с первыми модифицированными командами

«MOV-BK» с использованием кода VHDL (что достигается в части

SUB-ALU модифицированной архитектуры) показано на

Рис.5. Что можно объяснить следующим образом; инструкция

«MOVBK Adr2, Adr1» активируется, если оба сигнала A5h установлены в

на «1», а PSW (1) сброшен на «0» в строке 257. Все строки из

С 257 по 268 будут выполнять общую конкретную инструкцию.

Строки от 258 до 260 для чтения исходного операнда

‘Adr1’ (которые представляют наименьший адрес для группы из восьми

последовательных ячеек ОЗУ), эти ячейки содержат восемь последовательных

байтов данных, и его следует скопировать и передать

в места назначения в ОЗУ.Строки 262 и 263

для получения операнда назначения «Adr2» (которые представляют

наименьший адрес для группы назначения из восьми локальных ячеек ОЗУ

), а строки с 265 по 268 представляют FOR-LOOP

для копирования восьми ячеек ОЗУ, начиная с адреса источника

«Adr1», и передачи в другие восемь ячеек ОЗУ, начиная с

, с адреса назначения «Adr2».

С точки зрения таблицы блокировки, специальный синтезированный мультиплексор / демультиплексор

, называемый «векторный мультиплексор» и «вектор

DEMUX», используется для передачи данных в / из 256 · 8 RAM

Рисунок 4 Архитектура обычного LC 8051 с доработанным блоком.

Архитектура модифицированного дизайна для MCS-51 с обновленными инструкциями на основе VHDL 725

9780195125139: Использование микроконтроллера MCS-51 — AbeBooks

Это подробное и всестороннее введение в микроконтроллер Intel MCS-51 охватывает как теоретические вопросы, так и вопросы проектирования и реализации.Текст начинается с архитектуры ЦП MCS-51 и модели программирования, а затем обсуждаются детали набора команд MCS-51 и методы программирования на ассемблере. Далее он охватывает полный спектр функций ввода / вывода вариантов MCS-51, постепенно развивая темы от простых до сложных; автор сначала рассматривает общую концепцию каждой функции ввода / вывода, а затем обсуждает особенности MCS-51. Многочисленные примеры дизайна и упражнения иллюстрируют представленные идеи, помогая учащимся усвоить ключевые концепции и изучить приложения.Идеальный текст для первого курса микропроцессоров или микроконтроллеров, Использование микроконтроллера MCS-51 также включает обширные примеры программ и интерфейсов и является полезным справочником для практикующих инженеров.
Features
· Использует педагогически обоснованный подход, который сначала описывает основные проблемы, а затем обсуждает особенности MCS-51.
· Обеспечивает полный охват функций ввода / вывода, включая порты параллельного ввода / вывода, функции таймера, порты последовательной связи, A / D-преобразователи и последовательные порты расширения
· Включает несколько лабораторных проектов в большинство глав.
· Предлагает несколько оценочных плат и программных инструментов для разработки и тестирования программ; предлагает учебное пособие по использованию одной из оценочных плат и ее программных средств.
· Дополнительный компакт-диск включает ознакомительную версию средств разработки MCS-51, чтобы читатели могли протестировать свои программы.
· Особое внимание уделяется анализу проекта; Примеры включают временной анализ конструкции памяти, временной анализ интерфейса Centronics, проверку синхронизации интерфейса i8255, а также анализ электрической нагрузки светодиодов и семисегментных дисплеев.
· Включает обширные примеры, охватывающие устранение дребезга при сканировании клавиатуры, интерфейс принтера Centronics, проверку конструкции системы памяти, аналого-цифровое преобразование , Цифро-аналоговое преобразование, управление двигателем, стандарт RS-232 и др.
· Руководство по решениям и прозрачные пленки доступны для пользователей

«синопсис» может принадлежать к другой редакции этого названия.

Об авторе :

Хан-Вэй Хуанг учится в Государственном университете Манатако.

Обзор :

«Это отличный учебник для курса микроконтроллеров на уровне бакалавриата или магистратуры … очень хорошо написан, с большим набором практических примеров, объясненных четкими цифрами.Стиль обучения лаконичен, прогрессивен и интересен ». Международный журнал электротехнического образования, апрель 2001 г.

«Об этом заголовке» может принадлежать другой редакции этого заголовка.

Учебные пособия по разработке MCS-51 для бесплатных инструментов

Учебники
EX-F320

Светодиодный таймер
Последовательный

C8051F340 / 380

Светодиодный таймер
Последовательный

C8051F V2.1 (F020)

Светодиодный таймер
Последовательный

C8051F300 Dev. Б. Мод.

Светодиодный таймер
Последовательный

C8051F V2.1 (F120)

Светодиодный таймер
Последовательный
Тесты

51 MCU SCM

Серийный номер

STC89 ДЕМОПЛАТА

Светодиодный таймер
Последовательный

EZ-USB FX2LP

Светодиодный таймер
, серийный номер
, тесты

Это набор руководств, которые показывают, как начать разработку MCS-51 с использованием бесплатных инструментов и различных оценочных плат.Учебные пособия включают светодиодный таймер, который показывает двоичный счетчик, который увеличивается ровно один раз в секунду с использованием светодиодов платы и таймеров MCS-51, выход RS232 с использованием UART (или программного UART, где нет аппаратного UART) и стандартные тесты. для встроенных систем (как Whetstone, так и Dhrystone; Coremark не включен из-за его лицензии, но может быть легко перенесен с использованием руководств Whetstone и Dhrystone в качестве примеров).

Автор использовал систему Debian GNU / Linux, но учебные пособия должны работать для других дистрибутивов Linux, * BSD или других Unices.

Все учебные пособия используют:

  • Компилятор C SDCC версии 3.5.0 или новее для компиляции программ C для MCS-51.

C8051 Платы

Это платы для производных от 8051 SiLabs C8051.

EFM8 Стартовые наборы для пчел

Это платы для производной от 8051 SiLabs EFM8 Bee.
SLSTK2001A Universal B.³ SLSTK2022A Занят B.³ SLSTK2030A Laser B.³ SLSTK2011A Sleepy B.³
Контроллер EFM8BB31F64G EFM8LB12F64E EFM8SB20F64G
Учебники
LED: TODO LED: TODO LED: TODO LED: TODO
Номер: TODO Номер: TODO Серийное : TODO Номер: TODO
Стенд: TODO Стенд: TODO Стенд: TODO Стенд: TODO

Минимальные платы STC

Это платы для микроконтроллеров, производных от 8051, производства STCmicro, которые имеют микроконтроллер, но мало что еще. Стенд: Недостаточно ОЗУ Стенд: Недостаточно ОЗУ

Платы STC

Это платы для микроконтроллеров, производных от 8051, производства STCmicro.
51 MCU SCM¹ STC15L204 + NRF905¹ Ch440G STC15F104W¹
Контроллер
STC12C5A60S2 STC15L204EA STC15F104W
Учебники
Нет LED Нет светодиода Светодиод: TODO
Серийный Серийный номер: TODO Серийный номер: TODO
Стенд: недостаточно ОЗУ Стенд: Недостаточно ОЗУ
Контроллер STC15W4K56S4 TODO Стенд: Недостаточно ОЗУ
STC89 ДЕМО BOARD² STC15W4K56S4 SCM¹ STC15W4K56S4 4 Ser.¹ STC8A8K64S4A12 Dev.³
STC89C52RC IAP15W4K58S4 STC8A8K64S4A12
Учебники
Светодиодный таймер Светодиодный таймер Светодиод: TODO Светодиодный таймер
Последовательный Последовательный Последовательный Последовательный Последовательный Последовательный Последовательный Последовательный Последовательный Последовательный Последовательный Последовательный Последовательный Стенд: Недостаточно ОЗУ Стенд: Недостаточно ОЗУ Стенд: TODO

Различные доски

Это платы для различных микроконтроллеров, производных от 8051.
EZ-USB FX2LP¹ Комплект приложений с 7 кнопками¹
Контроллер
CY7C68013A XC82235 LED LED
Серийный номер Серийный номер: TODO
Dhrystone Стенд: недостаточно RAM

Сноски

¹ Купил на свои деньги.
² Пожертвовано пользователем SDCC.
³ Куплено на средства Альберта-Людвигса-Университета Фрайбурга, использованные в исследовании компиляторов.

Если вы хотите увидеть здесь дополнительную доску и готовы предоставить ее, пожалуйста, свяжитесь со мной.

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *