You are currently viewing How to Interface Switch with LPC2148 ARM7 Development Board

How to Interface Switch with LPC2148 ARM7 Development Board

Spread the love

The ARM7 LPC2148 Development Board is specifically designed to help students to master the required skills in the area of embedded systems. The kit is designed in such way that all the possible features of the microcontroller will be easily used by the students. The kit supports in system programming (ISP) which is done through serial port.

NXPโ€™s ARM7 (LPC2148), ARM Development Kit is proposed to smooth the progress of developing and debugging of various designs encompassing of High speed 32-bit Microcontrollers.


switch is an electrical component that can break an electrical circuit, interrupting the current or diverting it from one conductor to another. A switch may be directly manipulated by a human as a control signal to a system, or to control power flow in a circuit.

Interfacing Switch

Fig. 1 shows how to interface the switch to microcontroller. A simple switch has an open state and closed state. However, a microcontroller needs to see a definite high or low voltage level at a digital input. A switch requires a pull-up or pull-down resistor to produce a definite high or low voltage when it is open or closed. A resistor placed between a digital input and the supply voltage is called a “pull-up” resistor because it normally pulls the pin’s voltage up to the supply.

Interfacing switch to Microcontroller
Fig. 1 Interfacing switch to Microcontroller

Interfacing Switch with LPC2148

Controlling LED by using switches in LPC2148 Development Board. It works by turning ON a LED & then turning it OFF when switch is going to LOW or HIGH.

The ARM7 LPC2148 Development Board has eight numbers of point LEDs, connected with I/O Port lines (P1.16 โ€“ P1.23) to make port pins high. Eight switches, connected with I/O port lines (P1.24 โ€“ P1.31) are used to control eight LEDs.

Pin Assignment with LPC2148

Circuit Diagram to Interface Switch with LPC2148

Circuit Diagram to Interface Switch with LPC2148
Circuit Diagram to Interface Switch with LPC2148

Source Code

The Interfacing switch with LPC2148 program is very simple and straight forward, that controls led by using switches when it going LOW or HIGH.

C Program to interface switch functions using LPC2148


Title : Program to Blink LEDs controlling by switches


#include // Define LPC2148 Header File
#define LED 16
#define Switch 24 void Delay(int);
int main(void)
unsigned char Status=1;
PINSEL2 &= 0xFFFFFFF3; //Configure P1.16 - P1.31 as GPIO 
IO1DIR = 0x00 << Switch; //Configure P1.24 - P1.31 as Input 
IO1DIR|= 0xFF << LED; //Configure P1.16 - P1.23 as Output 
Status = 1;
IOSET1 = 0xFF << LED;
Delay (10);
IOCLR1 = 0xFF << LED;
Delay (10);
Delay (10);
Delay (10);
while (~Status)
Status = ((IO1PIN & (0xFF << Switch))>> Switch);
IO1PIN = ((~Status) << LED);
void Delay(int n)
int p,q;

To compile the above C code you need the KEIL software. They must be properly set up and a project with correct settings must be created in order to compile the code. To compile the above code, the C file must be added to the project.

In Keil, you want to develop or debug the project without any hardware setup. You must compile the code for generating HEX file. In debugging Mode, you want to check the port output without LPC2148 Development Board.

The Flash Magic software is used to download the hex file into your microcontroller IC LPC2148 through UART0.

Testing the switch with LPC2148

Give +3.3V power supply to LPC2148 Development Board; the switches are connected with the LPC2148 Development Board. Check the LEDโ€™s & switches are working or not. If you not reading any output signal in LED, then you just check the jumper connections. Otherwise you just check the code with debugging mode in Keil.

If you want to see more details about debugging just see the videos in below link.

โ˜ž How to Create & Debug a Project in Keil.

General Information

โ˜žFor proper working use the components of exact values as shown in Circuit file. Wherever possible use new components.

โ˜žSolder everything in a clean way. A major problem arises due to improper soldering, solder jumps and loose joints.

โ˜žUse the exact value crystal shown in schematic.

โ˜žMore instructions are available in following articles,

How to Interface LEDs with LPC2148 ARM7 Development Board

User Manual ARM7-LPC2148 Development Kit

Creating & Debugging a Project in KEIL

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.