Всеки електронен инженер обича да разчупва нещата в електрониката и да изследва присъстващото в нея. Наскоро отворих LED телевизор и намерих ARM чип вътре в него. Базираните на ARM микроконтролери се използват широко в различни видове вградени продукти и системи. Те съдържат много усъвършенствани функции, които ги правят мощни и превъзхождащи другите микроконтролери като 8051, AVR и PIC. LPC2148 е един от най-често използваните ARM базирани микроконтролери, така че ще създадем поредица от LPC2148 уроци и проекти и ще споделим в предстоящи статии. Ето първият урок от тази поредица, който обхваща Първи стъпки с LPC2148 и го програмирайте да мига светодиод.
Така че в този урок ще се запознаем с ARM7 Stick - LPC2148 и ще се научим как да го програмираме със софтуер Keil uVision и Flash magic. Ще програмираме нашия LPC2148 да мига светодиод.
ARM микроконтролер
Стъпка 17: Сега в раздела за изход поставете отметка за създаване на шестнадесетичен файл и след това щракнете върху „Ok“
Стъпка 18: Сега кликнете върху иконата BUILD или натиснете F7, за да създадете шестнадесетичен файл.
Стъпка 19: Сега шестнадесетичният файл е създаден и можем да го запишем в долната част. Подобно на това изображение по-долу, тъй като показва, че е създаден шестнадесетичен файл.
Стъпка 20: Сега е време да мигате шестнадесетичния файл на ARM7 Stick. Така че отворете Flash Magic
Инструментът Flash magic се появява както по-горе.
По-долу са описани стъпките за мигане на ARM LPC2148:
- Изберете LPC2148
- Дайте номера на COM порта според Device Manager (Моят беше COM7)
- Дайте скорост на предаване като 38400
- Осцилатор като 12 Mhz
- Отметнете „Изтриване на блокове, използвани от фърмуера“
- Сега изберете пътя на шестнадесетичния файл
- Отметнете потвърждение след програмиране.
- И щракнете върху СТАРТ
След успешно мигане за секунди, Finished (в зелен цвят) се появява отдолу, както е показано на изображението по-долу
Сега можете да видите, че този светодиод започва да мига на борда
Обяснение на кодирането
Пълният код за мигащ светодиод с LPC2148 е даден по-долу. Кодът е прост и може лесно да се разбере.
Този заглавен файл включва всички файлове за серия микроконтролери LPC214x.
#include
Тъй като сме свързали изхода към P0.10, той използва регистъра IODIR и прави pin 0 Port Pin 0 като изход.
IO0DIR = (1 << 10);
Този регистър задава P0.10 на HIGH, което прави LED ВКЛ.
IO0SET = (1 << 10);
Този регистър изчиства P0.10 до LOW, което прави LED OFF
IO0CLR = (1 << 10);
По-долу са представени инструкции в цикъл while за непрекъснато изпълнение на кода
докато (1) { IO0SET = (1 << 10); delay_ms (1000); IO0CLR = (1 << 10); delay_ms (1000); }
Функциите delay_ms се използват за създаване на време на закъснение между SET & CLR за мигане на светодиода в интервала от 1 секунда.
Пълният код с демонстрационно видео е даден по-долу.