Каждый инженер-электронщик любит ломать электронику и исследовать, что в ней находится. Недавно я открыл светодиодный телевизор и обнаружил внутри него чип ARM. Микроконтроллеры на базе ARM широко используются в различных типах встраиваемых продуктов и систем. Они содержат множество дополнительных функций, которые делают их мощными и превосходящими другие микроконтроллеры, такие как 8051, AVR и PIC. LPC2148 - один из наиболее часто используемых микроконтроллеров на базе ARM, поэтому мы создадим серию руководств и проектов по LPC2148 и поделимся ими в следующих статьях. Это первое руководство в этой серии, посвященное началу работы с LPC2148 и программированию его на мигание светодиода.
Итак, в этом руководстве мы познакомимся с ARM7 Stick - LPC2148 и научимся программировать его с помощью программного обеспечения Keil uVision и Flash magic. Мы запрограммируем наш LPC2148 на мигание светодиода.
ARM микроконтроллер
Шаг 17: Теперь на вкладке вывода отметьте создание файла Hex и нажмите кнопку «ОК».
Шаг 18: Теперь щелкните значок СТРОИТЬ или нажмите F7, чтобы создать шестнадцатеричный файл.
Шаг 19: Теперь шестнадцатеричный файл создан, и мы можем отметить его внизу. Как показано на изображении ниже, это означает, что создается шестнадцатеричный файл.
Шаг 20: Теперь пришло время прошить шестнадцатеричный файл на ARM7 Stick. Так что откройте Flash Magic
Инструмент Flash Magic выглядит так, как показано выше.
Ниже приведены шаги по прошивке ARM LPC2148:
- Выберите LPC2148
- Укажите номер COM-порта в соответствии с диспетчером устройств (у меня был COM7)
- Укажите скорость передачи как 38400
- Осциллятор как 12 Mhz
- Установите флажок «Стереть блоки, используемые прошивкой».
- Теперь выберите путь к шестнадцатеричному файлу
- Установите флажок Проверять после программирования.
- И нажимаем СТАРТ
После успешного мигания в течение нескольких секунд внизу отображается Готово (зеленым цветом), как показано на изображении ниже.
Теперь вы можете видеть, что на макете начинает мигать светодиод.
Кодирование Объяснение
Полный код мигания светодиода с LPC2148 приведен ниже. Код прост и понятен.
Этот заголовочный файл включает все файлы для микроконтроллеров серии LPC214x.
#включают
Поскольку мы подключили выход к P0.10, он использует регистр IODIR и делает вывод Port 0 Pin 10 выходом.
IO0DIR = (1 << 10);
Этот регистр устанавливает P0.10 на ВЫСОКИЙ, делая светодиод включенным.
IO0SET = (1 << 10);
Этот регистр очищает P0.10 до LOW, делая светодиод выключенным.
IO0CLR = (1 << 10);
Ниже заявления присутствуют в то время как цикл выполнения кода непрерывно
в то время как (1) { IO0SET = (1 << 10); delay_ms (1000); IO0CLR = (1 << 10); delay_ms (1000); }
Функции delay_ms используются для создания задержки между SET и CLR, чтобы светодиод мигал с интервалом в 1 секунду.
Полный код с демонстрационным видео приведен ниже.