0% found this document useful (0 votes)
18 views9 pages

Embedded - Kit Experiments

Uploaded by

ash.m.7891
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
18 views9 pages

Embedded - Kit Experiments

Uploaded by

ash.m.7891
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

Experiment-18

Aim- Write a program to glow LED in different patterns Using ARM Embedded System Microcontroller Board.

//******************************************************************************
// LED Test on ARM7 Development Board
//
//******************************************************************************
// Microcontroller: LPC2148
// Compiler: Keil
// Target Hardware: ARM7 Universal Development Board
// Company: ADVANCE TECH (I) PVT. LTD
// Author : Prateek Gupta
//******************************************************************************
// Description
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
The firmware demonstrates the basic blinking LED experiment. All the LEDs // on-board blink at an
interval of 1 second.
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Hardware Settings for ARM7 Development Board
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
Microcontroller:LPC2148
// Ext.Oscillator: 12 MHz
// PINOUT: LED - LPC2148
// ------------------ //
LED1 - P1.16
// LED2 - P1.17
// LED3 - P1.18
// LED4 - P1.19
// LED5 - P1.20
// LED6 - P1.21
// LED7 - P1.22 //
LED8 - P1.23
//***************************************************************************
//**************************INCLUDES********************************************
#include <LPC214x.h>
#include"delay.h"
//**********************End of INCLUDES*****************************************

//**********************Private Macro Definitions*******************************


#define LED_SET IOSET1
#define LED_CLR IOCLR1
#define LED_DIR IODIR1 #define
LED_PIN IOPIN1
#define LED7 23
#define LED6 22
#define LED5 21
#define LED4 20
#define LED3 19
#define LED2 18
#define LED1 17
#define LED0 16
//Set data port pins
#define LED_PORT (unsigned long)((1<<LED7)|(1<<LED6)|(1<<LED5)|(1<<LED4))|((1<<LED3)|(1<<LED2)| (1<<LED1)|
(1<<LED0))
//*******************End of Private Macro Definitions*************************** }
int i,a,b,x,y;
int main()
{
LED_DIR |= (unsigned long)(LED_PORT); //initialize D0:D7 pins as output LED_CLR |=
(unsigned long)(LED_PORT); //initialize D0:D7 pins as output while(1)
{
//////////////////////////////////////////////////// nible on off
LED_CLR |= (0xf0) << LED0;
LED_SET |= (0x0f) << LED0;
delay_ms(500); LED_CLR |=
(0x0f) << LED0; LED_SET |=
(0xf0) << LED0;
delay_ms(500);
/////////////////////////////////////////////////// odd even on off
LED_CLR |= (0xff) << LED0; LED_SET |
= (0xaa) << LED0; delay_ms(500);
LED_CLR |= (0xff) << LED0; LED_SET |= (0x55) << LED0; delay_ms(500);
/////////////////////////////////////////////////// left shift LED_PIN = (0x01) << LED0; delay_ms(500);
for(i=0;i<7;i++)
{
LED_PIN = LED_PIN << 1;
delay.h
delay_ms(500);
} void delay_us(unsigned int count)
/////////////////////////////////////////////////// rotate left {
LED_PIN = (0x01) << LED0; delay_ms(500); volatile unsigned int j,k;
for(i=0;i<7;i++) for (j=0;j<count;j++)
{
{
LED_PIN = LED_PIN << 1 | (0x01 << LED0); delay_ms(500);
}
for (k=0;k<10;k++)
/////////////////////////////////////////////////// right shift {
LED_PIN = (0x80) << LED0; delay_ms(500); __asm
{
for(i=0;i<7;i++) nop;
{
}
LED_PIN = (LED_PIN >> 1) & (0X7F << LED0); delay_ms(500);
} }
/////////////////////////////////////////////////// rotate right }
LED_PIN = (0x80) << LED0; delay_ms(500); void delay_ms(unsigned int count)
{
for(i=0;i<7;i++)
volatile unsigned int j,k;
{
for (j=0;j<count;j++)
LED_PIN = (LED_PIN >> 1);
delay_ms(500); {
} for (k=0;k<6000;k++)
} {
__asm
{
nop;
nop;
}
}
}
}
Experiment-19
Aim- Write a program to display Name and Roll No. on the LCD Screen Using ARM Embedded System Microcontroller Board.
LCD 16X2 Demo

//******************************************************************************
//******************************************************************************
// Microcontroller: LPC2148
// Compiler: Keil
// Target Hardware: ARM7 Universal Development Board
// Company: ADVANCE TECH (I) PVT. LTD
// Author : Prateek Gupta
//******************************************************************************
// Description
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// The firmware demonstrates the basic functionality of LCD 16X2 (CLCD) in 8-bit // Interface
for the ARM7 development Board. The firmware initializes the // CLCD as defined in the user
settings and displays a message on it.
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Hardware Settings for ARM7 Development Board
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
// Microcontroller:LPC2148
// Ext.Oscillator: 12 MHz
// PINOUT: LCD - LPC2148
// ----------------- //
DB0 - P1.16
// DB1 - P1.17
// DB2 - P1.18
// DB3 - P1.19
// DB4 - P1.20
// DB5 - P1.21
// DB6 - P1.22
// DB7 - P1.23
// RS - P1.24
// E - P1.25
// R/W - GND
//***************************************************************************
//**************************INCLUDES********************************************
#include <LPC214x.h>
//////////////////////////USER SETTINGS//////////////////////////////////
#define DATA_PORT_SET IOSET1
#define DATA_PORT_CLR IOCLR1
#define DATA_DIR IODIR1
#define D7 23
#define D6 22
#define D5 21
#define D4 20
#define D3 19
#define D2 18
#define D1 17
#define D0 16
//Set data port pins
#define DATA_PORT (unsigned long)((1<<D7)|(1<<D6)|(1<<D5)|(1<<D4))|((1<<D3)|(1<<D2)|(1<<D1)|(1<<D0)) #define
CTRL_PORT_SET IOSET1
#define CTRL_PORT_CLR IOCLR1
#define CTRL_DIR IODIR1
#define CTRL_RS 24
#define CTRL_EN 25

////////////////////////End of USER SETTINGS////////////////////////////////


/////////////////////////////////////////////////////////////////////////////////
#include"delay.h" #include"lcd.h"
//**********************End of INCLUDES*****************************************
int main()
{
int i;
init_lcd(); delay.h
void delay_us(unsigned int count)
while(1) {
{ volatile unsigned int j,k;
cmd_lcd(0x80); string_lcd("khushi"); for (j=0;j<count;j++)
cmd_lcd(0xc0); string_lcd(" 10226269 "); {
for (k=0;k<10;k++)
for(i=0;i<5;i++) {
{ __asm
cmd_lcd(0x1C); {
delay_ms(1000); nop;
} }
for(i=0;i<5;i++) }
{ }
cmd_lcd(0x18); void delay_ms(unsigned int count)
delay_ms(1000); {
} volatile unsigned int j,k;
} for (j=0;j<count;j++)
} {
/* for (k=0;k<6000;k++)
connection of 7-seg data {
P0.16 to P0.23 control P0.8 __asm
to P0. 15
{
*/
nop;
#include"lpc214x.h"
nop;
#include"delay.h" int
}
main() { int a,b,c,d,e;
}
}
}
Experiment-20
Aim- Write a program to display 1234 numbers on seven segment display Using ARM Embedded System Microcontroller
Board.

unsigned char arr[] = {0xbf, 0x86, 0xdb, 0xcf, 0xe6, 0xed, 0xfd, 0x87, 0xff, 0xef}; IODIR0 =
0xffffffff; while(1)
{
for(a=0;a<=9;a++) delay.h
{ void delay_us(unsigned int count)
for(b=0;b<=9;b++) {
{ volatile unsigned int j,k;
for(c=0;c<=9;c++) for (j=0;j<count;j++)
{ {
for(d=0;d<=9;d++) for (k=0;k<10;k++)
{ {
for(e=0;e<=50;e++) __asm
{ {
IOCLR0 = 0xFFFFFFFF; nop;
IOSET0 = arr[d]<<16 | 0x0100; }
delay_ms(2); }
IOCLR0 = 0xFFFFFFFF; }
IOSET0 = arr[c]<<16 | 0x0200; void delay_ms(unsigned int count)
delay_ms(2); {
IOCLR0 = 0xFFFFFFFF; volatile unsigned int j,k;
IOSET0 = arr[b]<<16 | 0x0400; for (j=0;j<count;j++)
delay_ms(2); {
IOCLR0 = 0xFFFFFFFF; for (k=0;k<6000;k++)
IOSET0 = arr[a]<<16 | 0x0800; delay_ms(2); {
} __asm
} {
} nop;
} nop;
} }
} }
} }
}
Experiment-21
Aim- Write a program to control the speed of Stepper Motor Using ARM Embedded System Microcontroller Board.

#include"lpc214x.h" #include"delay.h"
delay.h
#define m1 16 #define m2 19 void delay_us(unsigned int count)
#define m3 17 {
#define m4 18 volatile unsigned int j,k;
#define PORT_SET IOSET1 for (j=0;j<count;j++)
#define PORT_CLR IOCLR1 #define DIR IODIR1 {
for (k=0;k<10;k++)
int main() { {
char i; __asm
DIR |= (1<<m1)|(1<<m2) | (1<<m3)|(1<<m4); PORT_CLR = {
(1<<m1) | (1<<m2)|(1<<m3) | (1<<m4); while(1) nop;
{ for(i=0;i<12;i++) }
{ }
PORT_CLR = (1<<m1) | (1<<m2)|(1<<m3) | (1<<m4); }
PORT_SET = (1<<m1); delay_ms(1000); void delay_ms(unsigned int count)
PORT_CLR = (1<<m1) | (1<<m2)|(1<<m3) | (1<<m4); {
PORT_SET = (1<<m2); delay_ms(1000); volatile unsigned int j,k;
PORT_CLR = (1<<m1) | (1<<m2)|(1<<m3) | (1<<m4); for (j=0;j<count;j++)
PORT_SET = (1<<m3); delay_ms(1000); {
PORT_CLR = (1<<m1) | (1<<m2)|(1<<m3) | (1<<m4); for (k=0;k<6000;k++)
PORT_SET = (1<<m4); {
delay_ms(1000); __asm
} {
for(i=0;i<12;i++) nop;
{ nop;
PORT_CLR = (1<<m1) | (1<<m2)|(1<<m3) | (1<<m4); }
PORT_SET = (1<<m4); delay_ms(1000); }
PORT_CLR = (1<<m1) | (1<<m2)|(1<<m3) | (1<<m4); }
PORT_SET = (1<<m3); delay_ms(1000); }
PORT_CLR = (1<<m1) | (1<<m2)|(1<<m3) | (1<<m4);
PORT_SET = (1<<m2); delay_ms(1000);
PORT_CLR = (1<<m1) | (1<<m2)|(1<<m3) | (1<<m4); PORT_SET =
(1<<m1);
delay_ms(1000);
}
}
}

You might also like