Последние комментарии
-
09.03.2023 10:51
Спасибо!Драйвер установил,и все заработало.
-
25.01.2023 16:05
Спасибо. Хорошая статья. Хотелось бы увидеть как ...
-
21.01.2023 22:58
Доброго дня! Як можна замовити? І чи є схема або ...
-
05.05.2022 19:14
Спасибо автору, понял почему блинк не работал
-
21.04.2022 13:18
В моём случае он используется совместно с AGP ...
Самое читаемое
- Многофункциональный программатор на CH341A
- Переходник USB to TTL (RS232) YP-01 на чипе PL2303HX
- Знакомство с Arduino Pro mini на примере китайского аналога
- Подключаем мощную нагрузку к Arduino, через реле модуль
- Твердотельное реле из симистора для коммутации мощной нагрузки через Ардуино
- Знакомство с Arduino Micro (ATmega32U4) на примере китайского аналога Pro Micro
- Знакомство с Arduino UNO на примере китайского аналога
- Знакомство с Arduino Nano на примере китайского аналога
- Обход блокировки Одноклассников, Вконтакте, Яндекс и Маил.ру с помощью OpenVPN
- Управляем Arduino через Bluetooth HC-06, с компьютера или смартфона
Настраиваем среду разработки и компилируем код для N76E003
В данном материале разберёмся, как настроить среду разработки и скомпилировать код для N76E003. У Nuvoton нет своей бесплатной среды разработки, поэтому воспользуюсь платной Keil uVision 5. В ознакомительной версии Keil можно писать программы, для микроконтроллеров на архитектуре 8051, код которых не превышает 2 Кбайт. Для настройки среды разработки и для простых примеров, этого вполне будет достаточно.
Keil uVision можно скачать на официальном сайте, введя в форму необходимые данные. В ответ, будет предоставлена ссылка на скачивания дистрибутива.
С установкой Keil не возникнет трудностей, устанавливается как обычная программа.
Согласно официальной документации Nuvoton, для полноценной работы, в Keil необходимо добавить BSP для N76E003. BSP (Board Support Package) – это пакет поддержки платформы, в который входят файлы заголовков, периферийные библиотеки, регистр специального назначения, функции аппаратного уровня и пр.
Пакет представляет из себя архив, который необходимо скачать и распаковать в удобное место. В итоге получим четыре папки: «Common», «Include», «Sample_Code» и «Startup».
В папке«Sample_Code» находятся образцы кода, для работы с различной периферией.
В папке «Include» находятся необходимые аппаратные библиотеки, необходимые для компиляции кода.
Откроем Keil и создадим новый проект.
В диалоговом окне предложат ввести путь для нового проекта и его имя. Для данного примера, я создал для проекта папку "N76E003" в папке "Документы". Имя проекта "blink", будем писать код, для мигания светодиода.
В поле «Search» пишем «nuvoton», из списка выбираем «N76E003» и нажимаем "ОК".
На всплывающее уведомление, об автоматическом включении конфигурации A51, нажимаем «Ок».
Окно проекта будет в таком состоянии.
В папке проекта, в моём случае это папка «N76E003», в папке «Документы», автоматически создадутся необходимые файлы.
В эту папку, копируем папку «Include» из BSP. Файл «STARTUP.A51»из проекта, заменяем одноимённым файлом из папки «Startup», того же BSP.
Правой кнопкой мыши клацаем на папке "Target 1" и выбираем "Options for Target 'Target1'..." или для этого воспользуемся комбинацией Alt+F7.
На вкладке «Target» убедимся, что в поле «Xtal» выставлена частота 16 МГц, если там окажется что-то другое, впишем 16 МГц.
Во вкладке «Output» поставим отметку «Create Hex File», для создания шестнадцатеричного файла.
Во вкладке «BL51 Misc» отключим предупреждение 16.
Во вкладке «С51» выберем путь, для включения файлов заголовков BSP. Клацаем на кнопке "Include Paths".
Далее, в окне "Folder Setup" жмём на иконке "New (Insert)".
Появится строка, для добавления пути, нажимаем на указанную кнопку.
Выбираем папку "Include" в папке нашего проекта, которую мы скопировали из BSP. Подтверждаем выбор нажав на кнопку "Выбор папки".
Нажмём «Ок».
Можем видеть, что папка "Include" прописана, нажимаем "Ок".
Перейдём к «Source Group 1» и выберем в контекстном меню «Add New Item to Group 'Source Group 1».
Создадим С-файл для проекта. Выберем "C File (.c)" с именем «main.c», для добавления жмём «Add».
Как можем видеть, файл «main.c» добавлен в проект, теперь в нём можно писать код.
#include "N76E003.h" #include "SFR_Macro.h" #include "Function_define.h" #include "Common.h" #include "Delay.h" void sw_delay (int ms); void main(void){ P12_Quasi_Mode; while(1){ P12 = 0; sw_delay(250); P12 = 1; sw_delay(250); } } // Software based delay. Time is not accurate. void sw_delay (int ms){ int a, b; for (a=0; a<1296; a++){ for (b=0; b<ms; b++); } } |
Код blink, для мигания светодиода. Если ваша отладочная плата отличается от моей, то на ней светодиод может быть подключен к другому контакту. Это нужно учитывать и поменять в коде (в моём случае P12).
Соберём проект с помощью соответствующей иконки или клавиши «F7». Если в коде не было допущено ошибок, увидим соответствующее сообщение «0 Error(s), 0 Warning(s)».
В папке проекта, в подпапке «Objects» будет находится скомпилированный файл «blink.hex».
Рассмотрим ещё один пример, добавив к светодиоду тактовую кнопку
Кнопка в примере подключается к контакту P16
#include "N76E003.h" #include "SFR_Macro.h" #include "Function_define.h" #include "Common.h" #include "Delay.h" #define LED P12 #define SW P16 void setup (void); void main(void){ setup(); while(1){ if(SW == 1){ LED = 1; } else { LED = 0; } } } void setup (void){ P12_Quasi_Mode; P16_Input_Mode; } |
При нажатии на кнопку, светодиод будет загораться.
Собранную программу можно загрузить в микроконтроллер, с помощью программатора на CH341А и программы NeoProgrammer.
Скачать BSP для N76E003
Комментарии
Хорошая статья.
Хотелось бы увидеть как прикрутить индикатор 1602.
RSS лента комментариев этой записи