Nuvoton W78E052D микроконтроллер
Микроконтроллер W78E052D от Nuvoton (www.nuvoton.com) - это недорогой, многофункциональный чип, который особенно полезен для любителей электроники и производителей. Одним из преимуществ микроконтроллера Nuvoton W78E052D является то, что он поставляется с загрузочным загрузчиком UART и, следовательно, может быть запрограммирован непосредственно из последовательного порта. W78E052D является, по сути, 8-разрядным микроконтроллером, который может вместить более широкий диапазон частот с низким потреблением энергии и содержит 8 Кбайт Flash EPROM, программируемый аппаратным устройством; 256-байтовая ОЗУ; четыре 8-битных двунаправленных (P0, P1, P2, P3) и бит-адресные порты ввода-вывода; дополнительный 4-битный порт ввода-вывода P4; три 16-битных таймера / счетчика; аппаратный сторожевой таймер; и последовательный порт. Эти периферийные устройства поддерживаются четырьмя уровнями прерывания с восемью источниками. Чтобы облегчить программирование и проверку, Flash EPROM внутри чипа позволяет запрограммировать и считывать программную память в электронном виде. После подтверждения кода пользователь может защитить код для обеспечения безопасности. Микроконтроллер W78E052D имеет два программных режима энергосбережения (режим ожидания и режим отключения питания). Режим ожидания отключает часы процессора, но позволяет продолжить работу периферийных устройств. Режим понижения мощности останавливает кварцевый генератор для минимального потребления энергии, в то время как внешние часы могут быть остановлены в любое время и в любом состоянии, не влияя на процессор.
Набор инструкций полностью совместим со стандартом 8052. Обратите внимание, что фактический номер детали чипа в 40-контактном DIP-пакете - W78E052DDG (256-байтовый RAM / 2K-байтовый размер LD Flash / 8K-байтовый AP Flash size / 2.4 V до 5,5 В).
Как программировать?
Поскольку микроконтроллер Nuvoton W78E052D поставляется с загрузочным загрузчиком UART, его можно напрямую запрограммировать из последовательного (COM) порта. Вы можете использовать «Программное обеспечение URU-ICP Utility» для программирования целевого MCU с помощью «CP2012 USB to TTL Adapter». Просто загрузите и установите программное обеспечение на вашем компьютере, откройте его после подготовки аппаратной настройки (см. Следующий диаграмма) и выполните следующие шаги:
- Выберите опцию ISP через COM-порт.
- Выберите правильный COM-порт из выпадающего списка.
- Выберите микроконтроллер W78E052D.
- Просмотрите и выберите нужный шестнадцатеричный файл, нажав «Загрузить файл».
- Нажмите «Обновить чип», чтобы запустить шестнадцатеричный файл
- Вы можете увидеть всплывающее окно подтверждения после успешного мигания шестнадцатеричного файла.
Обратите внимание, что в этой процедуре контроллер MCU Reset (RST) управляется программистом; следовательно, в большинстве ситуаций необходимо задействовать цикличность питания.
На следующем скриншоте показан процесс мигания:
Для моего эксперимента я использовал шестнадцатеричный файл (сгенерированный с Keil uVision 4), чтобы мигать светодиод, подключенный между контактом 21 микроконтроллера и VDD через резистор токового ограничителя 1K. Готовый к использованию шестнадцатеричный файл включен в эту статью для быстрой проверки вашей собственной установки. Начинающие должны обратить внимание на то, что микроконтроллеру нужен генератор для генерации тактовых импульсов, поэтому вы должны подключить внешний кристалл 11.0592 МГц с двумя 22-пФ-конденсаторами, как показано на диаграмме настройки оборудования. Кроме того, чип не имеет внутреннего включения при перезагрузке, поэтому вы должны делать это извне через вывод Reset с использованием конденсатора 10 мкФ и резистора 10 КБ. Ниже приводится откровенная привязка к моей быстрой экспериментальной установке (быстрое тестовое видео, показанное ниже).
Video Player
00:00
00:04
Наконец, см. Ниже полную схему схем и идею обложки печатной платы (в целом, но без P21-LED) моего адаптера программирования W78E052DDG. К счастью, с небольшими изменениями один и тот же адаптер можно также использовать в качестве адаптера для микроконтроллера 89Sxx!