Vous êtes sur la page 1sur 23

LED BLINKING(TWO HEXA VLAUES 0X12 AND 0X24)

#include <LPC214X.H>
void delay(unsigned int x);
int main(void)
{
PLL0CON=0;
PLL0FEED=0XAA;
PLL0FEED=0X55;
VPBDIV=1;
PINSEL0=0;
PINSEL1=0;
IODIR0=0X0000FF00;
while(1)
{
IOSET0=0XFF<<8;
IOCLR0=0X12<<8;
delay(1000);
IOSET0=0XFF<<8;
IOCLR0=0X24<<8;
delay(1000);
}
}
void delay(unsigned int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<1007;j++);
}
8 BIT UPCOUNTER
#include <LPC214X.H>
void delay(unsigned int x);
int main(void)
{
int n;
PLL0CON=0;
PLL0FEED=0XAA;
PLL0FEED=0X55;
VPBDIV=1;
PINSEL0=0X00000000;
IODIR0=0X00FFFF00;
IOCLR0=0X00FFF000;
while(1)
{
IOSET0=0X00FF0000;
for(n=0;n<256;n++)
{
IOSET0=0X0000FF00;
IOCLR0=n<<8;
delay(300);
}
}
}
void delay(unsigned int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<1007;j++);
}
7 SEGMENT MULTIPLEXING:
#include <LPC214X.H>
void delay(unsigned int);
int main(void)
{
PLL0CON=0;
PLL0FEED=0XAA;
PLL0FEED=0X55;
VPBDIV=1;
PINSEL0=0X00000000;
PINSEL1=0X00000000;
IODIR0=0X00FF3000;
IOSET0=0X00003000;
while(1)
{
IOSET0=0X00002000;
IOCLR0=0X00001000;
IOCLR0=0X00FF0000;
IOSET0=0X00060000;
delay(10);
IOSET0=0X00001000;
IOCLR0=0X00002000;
IOCLR0=0X00FF0000;
IOSET0=0X005B0000;
delay(10);
}
}
void delay(unsigned int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<1007;j++);
}
7 SEGMENT SINGLE DIGIT DISPLY:
#include <LPC214X.H>
void delay(unsigned int);
int main(void)
{
PLL0CON=0;
PLL0FEED=0XAA;
PLL0FEED=0X55;
VPBDIV=1;
PINSEL0=0X00000000;
PINSEL1=0X00000000;
IODIR0=0X00FF3000;

IOSET0=0X00001000;
IOCLR0=0X00002000;
IOCLR0=0X00FF0000;
IOSET0=0X005B0000;

while(1);
}
void delay(unsigned int x)
{
int i,j;
for(i=0;i<x;i++)
for(j=0;j<1007;j++);
}
LCD DISPLAY “E” AND RIGHT SHIFT 6 TIMES
#include <LPC214X.H>
#define rw 1<<16
#define en 1<<17
#define rs 1<<24
#define data 0XFF <<16
void cmd(unsigned char x);
void dat(unsigned char m);
void delayms(unsigned int k);
void send(char *);
void init(void);
int main()
{
int n;
PLL0CON=0;
PLL0FEED=0XAA;
PLL0FEED=0X55;
VPBDIV=1;
PINSEL0=0X00000000;
PINSEL1=0X00000000;
PINSEL2=0X00000000;
IODIR0=0|rw|en;
IODIR1=0|rs|data;
IOCLR0=rw;
IOCLR1=data;
init();
dat('A');
for(n=0;n<6;n++)
{
delayms(1000);
cmd(0x1C);
}
while(1);
}

void cmd(unsigned char x)


{
unsigned long int y;
y=x<<16;
IOCLR1=rs;
IOCLR1=data;
IOSET1=y;
IOSET0=en;
delayms(10);
IOCLR0=en;

}
void dat(unsigned char m)
{
unsigned long int n;
n=m<<16;
IOSET1=rs;
IOCLR1=data;
IOSET1=n;
IOSET0=en;
delayms(10);
IOCLR0=en;
}
void init(void)
{
cmd(0X38);
delayms(100);
cmd(0X01);
delayms(100);
cmd(0X06);
delayms(100);
cmd(0X0C);
delayms(100);
}
void delayms(unsigned int k)
{
int i,j;
for(i=0;i<k;i++)
for(j=0;j<1007;j++);
}
void send(char*p)
{
char a;
while(*p)
{
a=*p++;
dat(a);
delayms(100);
}
}
LCD DISPLAY “ECE”
#include <LPC214X.H>
#define rw 1<<16
#define en 1<<17
#define rs 1<<24
#define data 0XFF <<16
void cmd(unsigned char x);
void dat(unsigned char m);
void delayms(unsigned int k);
void send(char *);
void init(void);
int main()
{
PLL0CON=0;
PLL0FEED=0XAA;
PLL0FEED=0X55;
VPBDIV=1;
PINSEL0=0X00000000;
PINSEL1=0X00000000;
PINSEL2=0X00000000;
IODIR0=0|rw|en;
IODIR1=0|rs|data;
IOCLR0=rw;
IOCLR1=data;
init();
send(“ECE”);
while(1);
}

void cmd(unsigned char x)


{
unsigned long int y;
y=x<<16;
IOCLR1=rs;
IOCLR1=data;
IOSET1=y;
IOSET0=en;
delayms(10);
IOCLR0=en;

}
void dat(unsigned char m)
{
unsigned long int n;
n=m<<16;
IOSET1=rs;
IOCLR1=data;
IOSET1=n;
IOSET0=en;
delayms(10);
IOCLR0=en;
}
void init(void)
{
cmd(0X38);
delayms(100);
cmd(0X01);
delayms(100);
cmd(0X06);
delayms(100);
cmd(0X0C);
delayms(100);
}
void delayms(unsigned int k)
{
int i,j;
for(i=0;i<k;i++)
for(j=0;j<1007;j++);
}
void send(char*p)
{
char a;
while(*p)
{
a=*p++;
dat(a);
delayms(100);
}
}
REAL TIME CLOCK (RTC)
NOTE:
BUILD AND LOAD THE FOLLOWING PROGRAM
TWO TIMES.
1. FIRST TIME WITH CURRENT “TIME AND DATE”:
SEC=0;
MIN=54;
HOUR=2;
DOM=17;
MONTH=10;
YEAR=18;

2. SECOND TIME WITHOUT “TIME AND DATE”:


#include <LPC214X.H>
#define rw 1<<16
#define en 1<<17
#define rs 1<<24
#define data 0XFF <<16
void cmd(unsigned char x);
void dat(unsigned char m);
void delayms(unsigned int k);
void send(char *);
void init(void);
int main()
{
PLL0CON=0;
PLL0FEED=0XAA;
PLL0FEED=0X55;
VPBDIV=1;
PINSEL0=0X00000000;
PINSEL1=0X00000000;
PINSEL2=0X00000000;
IODIR0=0|rw|en;
IODIR1=0|rs|data;
IOCLR0=rw;
IOCLR1=data;
init();
CCR=0X11;
SEC=0;
MIN=54;
HOUR=2;
DOM=17;
MONTH=10;
YEAR=18;
while(1)
{
cmd(0x80);
send("TIME:");
dat(HOUR/10+'0');
dat(HOUR%10+'0');
dat(':');
dat(MIN/10+'0');
dat(MIN%10+'0');
dat(':');
dat(SEC/10+'0');
dat(SEC%10+'0');
cmd(0xC0);
send("DATE:");
dat(DOM/10+'0');
dat(DOM%10+'0');
dat(':');
dat(MONTH/10+'0');
dat(MONTH%10+'0');
dat(':');
dat(YEAR/10+'0');
dat(YEAR%10+'0');
}
}

void cmd(unsigned char x)


{
unsigned long int y;
y=x<<16;
IOCLR1=rs;
IOCLR1=data;
IOSET1=y;
IOSET0=en;
delayms(10);
IOCLR0=en;

}
void dat(unsigned char m)
{
unsigned long int n;
n=m<<16;
IOSET1=rs;
IOCLR1=data;
IOSET1=n;
IOSET0=en;
delayms(10);
IOCLR0=en;
}
void init(void)
{
cmd(0X38);
delayms(100);
cmd(0X01);
delayms(100);
cmd(0X06);
delayms(100);
cmd(0X0C);
delayms(100);
}
void delayms(unsigned int k)
{
int i,j;
for(i=0;i<k;i++)
for(j=0;j<1007;j++);
}
void send(char*p)
{
char a;
while(*p)
{
a=*p++;
dat(a);
delayms(100);
}
}
WIRELESS TRANSMITTER

#include <LPC214X.H>
void delay_ms(unsigned int x);
void serial_init(void);
int main(void)
{
unsigned int key;
IODIR0=0X0000FF00;
while(1)
{
IOSET0=0xFF<<8;
key=IOPIN0;
key=key>>16;
while(!(U1LSR&0X20));
U1THR=key;
IOCLR0=key<<8;
delay_ms(10);
}
}
void serial_init(void)
{
PINSEL0=0X00050000;
PLL0CON=0;
PLL0FEED=0XAA;
PLL0FEED=0X55;
VPBDIV=1;
U1LCR=0X83;
U1DLM=0X00;
U1DLL=0X4E;
U1LCR=0X03;
}
void delay_ms(unsigned int k)
{
int i,j;
for(i=0;i<k;i++)
for(j=0;j<1007;j++);
}
WIRELESS RECEIVER

#include <LPC214X.H>
void delay_ms(unsigned int k);
void serial_init(void);
int main(void)
{
unsigned int A;
serial_init();
IODIR0=0X0000FF00;
while(1)
{
while(!(U1LSR&0X01));
IOSET0=0X0000FF00;
A=U1RBR;
A=A<<8;
IOCLR0=A;
}
}
void serial_init()
{
PINSEL0=0X00050000;
PLL0CON=0;
PLL0FEED=0xAA;
PLL0FEED=0x55;
VPBDIV=1;
U1LCR=0X83;
U1DLM=0X00;
U1DLL=0X4E;
U1LCR=0X03;
}
void delay_ms(unsigned int k)
{
int i,j;
for(i=0;i<k;i++);
for(j=0;j<1007;j++);
}
MATRIX SWITCH(DISPLAY 1 2 3 4 IN LCD)
#include <LPC214X.H>
#define rw 1<<16
#define en 1<<17
#define rs 1<<24
#define data 0XFF <<16
#define SL 0XF << 12
#define SL0 1<<12
#define SL1 1<<13
#define SL2 1<<14
#define SL3 1<<15
void cmd(unsigned char x);
void dat(unsigned char m);
void delayms(unsigned int k);
void send(char *);
void init(void);
void keypad(void);
int main()
{
PLL0CON=0;
PLL0FEED=0XAA;
PLL0FEED=0X55;
VPBDIV=1;
PINSEL0=0X00000000;
PINSEL1=0X00000000;
PINSEL2=0X00000000;
IODIR0=0|rw|en|SL;
IODIR1=0|rs|data;
IOCLR0=rw;
IOCLR1=data;
init();
while(1)
{
cmd(0X80);
IOCLR0=SL;
keypad();
delayms(30);
}
}

void cmd(unsigned char x)


{
unsigned long int y;
y=x<<16;
IOCLR1=rs;
IOCLR1=data;
IOSET1=y;
IOSET0=en;
delayms(10);
IOCLR0=en;
}
void dat(unsigned char m)
{
unsigned long int n;
n=m<<16;
IOSET1=rs;
IOCLR1=data;
IOSET1=n;
IOSET0=en;
delayms(10);
IOCLR0=en;
}
void init(void)
{
cmd(0X38);
delayms(100);
cmd(0X01);
delayms(100);
cmd(0X06);
delayms(100);
cmd(0X0C);
delayms(100);
}
void delayms(unsigned int k)
{
int i,j;
for(i=0;i<k;i++)
for(j=0;j<1007;j++);
}
void send(char*p)
{
char a;
while(*p)
{
a=*p++;
dat(a);
delayms(100);
}
}
void keypad(void)
{
int inkey=IOPIN0;
inkey=inkey&0X00000F00;
inkey=inkey>>8;
switch(inkey)
{
case 0X0E:
dat('1');
break;
case 0X0D:
dat('2');
break;
case 0X0B:
dat('3');
break;
case 0X07:
dat('4');
break;
}

}
SWITCH CONTROL FORWARD AND REVERSE
STEPPER MOTOR
#include <LPC214X.H>
#define fd 1<<23
#define rv 1<<22
void delay(unsigned int k);
void forward(void);
void reverse(void);
void stop(void);
int main()
{
PINSEL0=0;
IODIR0=0X00000F00;
while(1)
{
if(IOPIN0&fd)
{forward();}

if(IOPIN0&rv)
{reverse();}
else
{stop();}
}
}
void delay(unsigned int k)
{
int i,j;
for(i=0;i<k;i++)
for(j=0;j<1007;j++);
}
void forward()
{
IOCLR0=0X0000F00;
IOSET0=0X00000500;
delay(100);
IOCLR0=0X00000F00;
IOSET0=0X00000900;
delay(100);
IOCLR0=0X00000F00;
IOSET0=0X00000A00;
delay(100);
IOCLR0=0X00000F00;
IOSET0=0X00000600;
delay(100);
}
void reverse()
{
IOCLR0=0X0000F00;
IOSET0=0X00000600;
delay(100);
IOCLR0=0X00000F00;
IOSET0=0X00000A00;
delay(100);
IOCLR0=0X00000F00;
IOSET0=0X00000900;
delay(100);
IOCLR0=0X00000F00;
IOSET0=0X00000500;
delay(100);
}
void stop()
{
IOCLR0=0X00000F00;
}
ADC (TEMPERATURE)
#include <LPC214X.H>
#define AD03 1<<28
#define sel 1<<3
#define clkdiv 1<<9
#define brust 1<<16
#define pdn 1<<21
#define start 1<<24
#define rw 1<<16
#define en 1<<17
#define rs 1<<24
#define data 0XFF <<16
void cmd(unsigned char x);
void dat(unsigned char m);
void delayms(unsigned int k);
void send(char *);
void init(void);
int main()
{
unsigned long int val;
PLL0CON=0;
PLL0FEED=0XAA;
PLL0FEED=0X55;
VPBDIV=1;
PINSEL0=0X00000000;
PINSEL1=0|AD03;
PINSEL2=0X00000000;
AD0CR=0|sel|clkdiv|brust|pdn;
AD0CR=0|sel|clkdiv|brust|pdn|start;
IODIR0=0|rw|en;
IODIR1=0|rs|data;
IOCLR0=rw;
IOCLR1=data;
init();
delayms(1000);
while(1)
{
val=AD0DR3;
val=val>>6;
val=val&0x1FF;
val=(val*100)/465;
cmd(0x80);
send("temperature:");
dat(val/10+'0');
dat(val%10+'0');
}
}

void cmd(unsigned char x)


{
unsigned long int y;
y=x<<16;
IOCLR1=rs;
IOCLR1=data;
IOSET1=y;
IOSET0=en;
delayms(10);
IOCLR0=en;

}
void dat(unsigned char m)
{
unsigned long int n;
n=m<<16;
IOSET1=rs;
IOCLR1=data;
IOSET1=n;
IOSET0=en;
delayms(10);
IOCLR0=en;
}
void init(void)
{
cmd(0X38);
delayms(100);
cmd(0X01);
delayms(100);
cmd(0X06);
delayms(100);
cmd(0X0C);
delayms(100);
}
void delayms(unsigned int k)
{
int i,j;
for(i=0;i<k;i++)
for(j=0;j<1007;j++);
}
void send(char*p)
{
char a;
while(*p)
{
a=*p++;
dat(a);
delayms(100);
}
}
DAC TRIANGLE
#include <LPC214X.H>
void delay(int n);
#define AOUT 1<<19
int main(void)
{
unsigned int x;
PINSEL0=0;
PINSEL1=AOUT;
while(1)
{
for(x=0;x<1024;x++)
{
DACR=x<<6;
delay(3);
}
for(x=1023;x>0;x--)
{
DACR=x<<6;
delay(3);
}
}
}
void delay (int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<5;j++);
}

DAC SQUARE

#include <LPC214X.H>
#define AOUT 1<<19
void delay(int n);
int main(void)
{
unsigned short val;
PINSEL0=0;
PINSEL1=AOUT;
while(1)
{
val=0x00000000;
DACR=val<<6;
delay(10);
val=0XFFFFFFFF;
DACR=val<<6;
delay(10);
}
}
void delay(int n)
{
int i,j;
for(i=0;i<n;i++)
for(j=0;j<5;j++);
}
DC MOTOR CONTROL USING PWM
#include <LPC214X.H>
int main()
{
PLL0CON=0;
PLL0FEED=0XAA;
PLL0FEED=0X55;
VPBDIV=0;
PINSEL0=0X00000000;
IODIR0=0XFFFFFFFF;
PINSEL1=1<<10;
PWMPCR=0|1<<13;
PWMLER=1<<0|1<<5;
PWMPR=2;
PWMMR0=100;
PWMMR5=50;// on time 0 to 100 to change dc motor speed
PWMMCR=1<<1;
PWMTCR=9;
while(1);
}

Vous aimerez peut-être aussi