Микроконтроллер: различия между версиями

Материал из ПМК вики
Перейти к навигации Перейти к поиску
Нет описания правки
 
(не показано 36 промежуточных версий этого же участника)
Строка 1: Строка 1:
[[ЭКВМ]] [[«Электроника МК-152»]] и [[«Электроника МК-161»]] используют 8-битный [[микроконтроллер]] W77LE516P с ядром MCS-51, работающий на частоте 22,1184 МГц. Один такт W77LE516P составляет 45,2112 нс. Существуют модификации этого контроллера, работающие на частоте 40 МГц и имеющие ППЗУ размером в 128Кб для [[встроенная программа|встроенной программы]].
[[Файл:CPU.PNG|thumb|right|360px|Микроконтроллер, кварц и ОЗУ на печатной плате [[«Электроника МК-152»|«Электроники МК-152»]] первых годов выпуска.]]
[[ЭКВМ]] [[«Электроника МК-152»]] и [[«Электроника МК-161»]] используют 8-битный [[микроконтроллер]] W77LE516P с ядром MCS-51 (ВЕ51), имеющий 64Кб основной флэш-памяти и работающий на частоте 22,1184 МГц. Существуют модификации этого контроллера, работающие на частотах 40-60 МГц и имеющие ППЗУ для [[встроенная программа|встроенной программы]] размером в 128Кб.


Микросхема W77LE516P ставится на панельку PLCC-44.
Микросхема W77LE516P ставится на панельку PLCC-44. Позже производитель перешёл на микроконтроллер W77LE516F, припаивая его к плате. Это удешевляет производство, но затрудняет его замену и перепрошивку.


Производитель ''микроконтроллера'' — Nuvoton Technology Corporation (Тайвань), ранее Winbond Electronics Corporation. Относительно совместимые ''микроконтроллеры'' семейства 8051 также выпускались в СССР и выпускаются в России, Белоруссии и на Украине.
Производитель ''микроконтроллера'' — [https://ru.wikipedia.org/wiki/Nuvoton Nuvoton Technology Corporation] (Тайвань), ранее [https://en.wikipedia.org/wiki/Winbond Winbond Electronics Corporation] ''(англ.)''. Относительно совместимые ''микроконтроллеры'' семейства 8051 также выпускались в СССР и выпускаются в России, Белоруссии и на Украине.


Именно на языке ассемблера этого ''микроконтроллера'' написана [[встроенная программа]], позволяющая нам вводить и исполнять [[Программа пользователя|программы]] на [[входной язык|входном языке]].
== Ассемблер W77LE516P ==
Ассемблер W77LE516P совместим с системой команд Intel 8052, имея одну дополнительную инструкцию DEC DPTR (опкод 0a5H). На этом ассемблере написана [[встроенная программа]], позволяющая владельцам ЭКВМ вводить и исполнять [[Программа пользователя|программы]] на [[входной язык|входном языке]].
 
Для изучения ассемблера можно пользоваться советскими материалами по КР1816ВЕ51 или даже по её предыдущей, более распространённой версии [https://ru.wikipedia.org/wiki/%D0%9A%D0%9C1816%D0%92%D0%9548 КМ1816ВЕ48], но лучше подходят материалы фирмы Intel или производителя — у W77LE516P есть свои особенности.
 
При размещении в памяти двухбайтовых целых чисел W77LE516P использует принцип «старшее по младшему адресу» (сперва идёт старший байт, после него младший). Этот принцип отразился на архитектуре и [[Язык МК|входном языке]] ЭКВМ.
 
== Тайминг W77LE516P ==
Тактовый генератор на основе кварца BQ2 работает на частоте 22,1184 МГц.
Один '''такт''' W77LE516P составляет 45,2112 нс.
Эта частота называется OSC, она подаётся на входы XTAL1 и XTAL2, названные BQ1 и BQ2 в МК-161
 
Внутри кристалла эта частота делится пополам, чтобы тактировать шесть состояний S1-S6, составляющих один '''машинный цикл'''.
Эта внутренняя частота называется CLK и равна OSC/2 = 11,0592 МГц
 
1 машинный цикл = 12 тактам = 542,535 нс
 
Частота машинных циклов равна 1,8432 МГц.
Большинство команд однокристалки выполняется за 1 или 2 цикла.
Команды умножения и деления выполняются за 4 машинных цикла.


== Кристалл W77LE516P содержит ==
== Кристалл W77LE516P содержит ==
Описание взято из Data Sheet на W77LE516/W77LE516P-25 (Winbond Electronics Corp.):
* память программ «APFLASH»: 64 Кбайт ППЗУ с адресами 0000…ffffH, программируемое изнутри (''англ.'' ISP (In-System Programmable) AP Flash EPROM)
* «APFLASH»: 64Кб ППЗУ, программируемое изнутри (''англ.'' ISP (In-System Programmable) 64 KB AP Flash EPROM)
* память программ «LDFLASH»: 4Кб вспомогательное ППЗУ для программы-загрузчика с адресами 0000…0fffH (''англ.'' Auxiliary Flash EPROM for loader program, LD Flash EPROM)
* «LDFLASH»: 4Кб вспомогательное ППЗУ для программы-загрузчика (''англ.'' Auxiliary Flash EPROM for loader program, 4KB LD Flash EPROM)
* память данных, 1 Кбайт статического ОЗУ для инструкции MOVX с адресами 0000…03ffH (''англ.'' on-chip MOVX SRAM)
* 1Кб статического ОЗУ для инструкции MOVX с адресами 0000H…03ffH (''англ.'' on-chip 1 KB MOVX SRAM)
* регистровая память данных [[Scratchpad]]: 256 байт ОЗУ с адресами 00…ffH (''англ.'' scratch-pad RAM)
* «Scratchpad»: 256 байт ОЗУ (''англ.'' 256 bytes scratch-pad RAM)
* может адресовать 64 Кбайт внешней памяти программ с помощью инструкции MOVX (адреса 0000…ffffH)
* Port 0, Port 1, Port2 и Port 3: четыре восьмибитных порта ввода-вывода — Port 0 has internal pull-up resisters enabled by software
* P0, P1, P2 и P3: четыре восьмибитных порта ввода-вывода (Port 0, Port 1, Port 2 и Port 3) — Port 0 has internal pull-up resisters enabled by software
* Port 4: один дополнительный 4-битный порт ввода-вывода и Wait State control signal (Port 4.0)
* P4: один дополнительный 4-битный порт ввода-вывода (Port 4) и Wait State control signal (Port 4.0)
* три 16-битных таймера/счётчика
* CT0, CT1 и CT2: три 16-битных таймера/счётчика (Timer 0, Timer 1 и Timer 2)
* программируемый сторожевой таймер (''англ.'' Programmable Watchdog Timer)
* Watchdog Timer: программируемый сторожевой таймер
* два улучшенных полнодуплексных последовательных порта (''англ.'' Two enhanced full duplex serial ports)
* Serial Port, Serial Port 1: два улучшенных полнодуплексных последовательных порта (''англ.'' enhanced full duplex serial ports)
* 12 источников прерываний с двумя уровнями приоритета — включая 6 внешних, прерывания от таймера и последовательных портов
* 12 источников прерываний с двумя уровнями приоритета: 6 внешних, 3 прерывания от таймеров, 2 от последовательных портов и 1 от сторожевого таймера
* DPTRs (DPL/DPH и DPL1/DPH1): двойные 16-битные указатели данных для ускорения передачи блоков памяти (''англ.'' Dual 16-bit Data Pointers)
* DPTR и DPTR1 (DPL/DPH и DPL1/DPH1): два 16-битных указателя данных для ускорения передачи блоков памяти
* Режимы энергосбережения: Economy, IDLE и POWER DOWN
* поддержку трёх режимов энергосбережения: Economy, Idle и Power Down
 
Карта памяти W77LE516P:
 
[[Файл:W77LE516P-MemoryMap.png]]


== Ссылки ==
== Ссылки ==
Строка 26: Строка 50:
* [https://en.wikipedia.org/wiki/Plastic_leaded_chip_carrier Корпус PLCC (Plastic Leaded Chip Carrier) на английской Википедии] ''(англ.)''
* [https://en.wikipedia.org/wiki/Plastic_leaded_chip_carrier Корпус PLCC (Plastic Leaded Chip Carrier) на английской Википедии] ''(англ.)''
* [http://www.nuvoton.com/hq/products/microcontrollers/8bit-8051-mcus/standard-8051-series/?__locale=en Микроконтроллеры 8051 на сайте производителя Nuvoton] ''(англ.)''
* [http://www.nuvoton.com/hq/products/microcontrollers/8bit-8051-mcus/standard-8051-series/?__locale=en Микроконтроллеры 8051 на сайте производителя Nuvoton] ''(англ.)''
* [http://www.nuvoton.com/hq/resource-download.jsp?tp_GUID=DA00-W77L516A Data Sheet по W77L516A25PL на сайте Nuvoton] ''(англ.)''
* [http://datasheets.chipdb.org/Intel/MCS51/MANUALS/27238302.PDF MCS-51 Microcontroller Family User's Manual, Intel, 1994 (pdf)] ''(англ.)''
* [http://pdf.datasheetarchive.com/datasheetsmain/Datasheets-40/DSA-795112.pdf Data Sheet на W77LE516/W77LE516P-25 (Winbond)] ''(англ.)''
* [http://www.nuvoton.com/hq/resource-download.jsp?tp_GUID=DA00-W77L516A Data Sheet по W77L516A/W77L516A25PL на сайте Nuvoton (pdf)] ''(англ.)''
* [http://pdf.datasheetarchive.com/datasheetsmain/Datasheets-40/DSA-795112.pdf Data Sheet на W77LE516/W77LE516P-25 (Winbond, pdf)] ''(англ.)''
* [http://grantronics.com.au/docs/8051inst.pdf Single Page MCS-51™ Instruction Set Summary (pdf)] ''(англ.)''


{{заготовка}}
[[Категория:Функциональные узлы]]
[[Категория:Функциональные узлы]]
[[Категория:Микроконтроллер]]

Текущая версия от 20:32, 15 ноября 2021

Микроконтроллер, кварц и ОЗУ на печатной плате «Электроники МК-152» первых годов выпуска.

ЭКВМ «Электроника МК-152» и «Электроника МК-161» используют 8-битный микроконтроллер W77LE516P с ядром MCS-51 (ВЕ51), имеющий 64Кб основной флэш-памяти и работающий на частоте 22,1184 МГц. Существуют модификации этого контроллера, работающие на частотах 40-60 МГц и имеющие ППЗУ для встроенной программы размером в 128Кб.

Микросхема W77LE516P ставится на панельку PLCC-44. Позже производитель перешёл на микроконтроллер W77LE516F, припаивая его к плате. Это удешевляет производство, но затрудняет его замену и перепрошивку.

Производитель микроконтроллераNuvoton Technology Corporation (Тайвань), ранее Winbond Electronics Corporation (англ.). Относительно совместимые микроконтроллеры семейства 8051 также выпускались в СССР и выпускаются в России, Белоруссии и на Украине.

Ассемблер W77LE516P[править]

Ассемблер W77LE516P совместим с системой команд Intel 8052, имея одну дополнительную инструкцию DEC DPTR (опкод 0a5H). На этом ассемблере написана встроенная программа, позволяющая владельцам ЭКВМ вводить и исполнять программы на входном языке.

Для изучения ассемблера можно пользоваться советскими материалами по КР1816ВЕ51 или даже по её предыдущей, более распространённой версии КМ1816ВЕ48, но лучше подходят материалы фирмы Intel или производителя — у W77LE516P есть свои особенности.

При размещении в памяти двухбайтовых целых чисел W77LE516P использует принцип «старшее по младшему адресу» (сперва идёт старший байт, после него младший). Этот принцип отразился на архитектуре и входном языке ЭКВМ.

Тайминг W77LE516P[править]

Тактовый генератор на основе кварца BQ2 работает на частоте 22,1184 МГц. Один такт W77LE516P составляет 45,2112 нс. Эта частота называется OSC, она подаётся на входы XTAL1 и XTAL2, названные BQ1 и BQ2 в МК-161

Внутри кристалла эта частота делится пополам, чтобы тактировать шесть состояний S1-S6, составляющих один машинный цикл. Эта внутренняя частота называется CLK и равна OSC/2 = 11,0592 МГц

1 машинный цикл = 12 тактам = 542,535 нс

Частота машинных циклов равна 1,8432 МГц. Большинство команд однокристалки выполняется за 1 или 2 цикла. Команды умножения и деления выполняются за 4 машинных цикла.

Кристалл W77LE516P содержит[править]

  • память программ «APFLASH»: 64 Кбайт ППЗУ с адресами 0000…ffffH, программируемое изнутри (англ. ISP (In-System Programmable) AP Flash EPROM)
  • память программ «LDFLASH»: 4Кб вспомогательное ППЗУ для программы-загрузчика с адресами 0000…0fffH (англ. Auxiliary Flash EPROM for loader program, LD Flash EPROM)
  • память данных, 1 Кбайт статического ОЗУ для инструкции MOVX с адресами 0000…03ffH (англ. on-chip MOVX SRAM)
  • регистровая память данных Scratchpad: 256 байт ОЗУ с адресами 00…ffH (англ. scratch-pad RAM)
  • может адресовать 64 Кбайт внешней памяти программ с помощью инструкции MOVX (адреса 0000…ffffH)
  • P0, P1, P2 и P3: четыре восьмибитных порта ввода-вывода (Port 0, Port 1, Port 2 и Port 3) — Port 0 has internal pull-up resisters enabled by software
  • P4: один дополнительный 4-битный порт ввода-вывода (Port 4) и Wait State control signal (Port 4.0)
  • CT0, CT1 и CT2: три 16-битных таймера/счётчика (Timer 0, Timer 1 и Timer 2)
  • Watchdog Timer: программируемый сторожевой таймер
  • Serial Port, Serial Port 1: два улучшенных полнодуплексных последовательных порта (англ. enhanced full duplex serial ports)
  • 12 источников прерываний с двумя уровнями приоритета: 6 внешних, 3 прерывания от таймеров, 2 от последовательных портов и 1 от сторожевого таймера
  • DPTR и DPTR1 (DPL/DPH и DPL1/DPH1): два 16-битных указателя данных для ускорения передачи блоков памяти
  • поддержку трёх режимов энергосбережения: Economy, Idle и Power Down

Карта памяти W77LE516P:

Ссылки[править]

  Это заготовка статьи. Вы можете помочь проекту, дополнив её.