top of page

LED interfacing with Microcontroller - LPC2148

Updated: Feb 15, 2022

LPC 2148 is a 32 - bit ARM-7 microcontroller, manufactured by Philips. It has two I/O ports for interfacing different devices. In this tutorial interfacing of LED is explained.

An LED can be interfaced either using current sourcing or current sinking mode, here we are using current souring mode. In the current sourcing mode the current required to drive the LED is provided by the microcontroller itself. The LED is connected to pin number 1 of the port 0 i.e. P0.1.

Step1: First we have to configure P0.1 in the GPIO mode, by default all the port pins are configured in the GPIO mode. There are three registers which are used for this purpose: PINSEL0 - For PORT 0 ( PiN 0 -15) PINSEL1- For PORT 0 (PIN 16 - 31) PINSEL2 - For PORT 1 (PIN 16 -31) PINSEL0 & = 0xFFFF FFF3 Step 2: Configure P0.1 in the output mode. IOxDIR register is used to configure ports in the input/output mode. The LED is connected to P0.1 so we will configure the pin in the output mode. IO0DIR - Used for PORT 0 IO1DIR - Used for PORT 1 A port pin is configured in the output mode by writing logic one in the corresponding bit position of the IOxDIR register. Here we have to set (logic 1) bit no 1 of the IO0DIR register. IO0DIR |=(1<<1) Program: #include<LPC214x.h> #include<stdint.h> void Delay(int); int main() { PINSEL0 &=0xFFFF FFF3; IO0DIR|=(1<<1); while(1) { IO0SET=(1<<1); Delay(20000); IO0CLR=(1<<1); Delay(20000); } } void Delay(int d) { int i; for(i=0;i<=d;i++); }

122 views0 comments

Recent Posts

See All

In microcontroller programming we have to write or read certain registers. The questions is how to access these registers ?. The register or a memory location can easily be accessed using pointers

In this blog I will explain use of bitwise operators for performing some operations which are often required for microcontrollers programming. Bitwise operators: & (AND), | (OR) , ~ (NOT) , ^ (XOR)

Post: Blog2_Post
bottom of page