1 .DC Motor Interfacing - Clockwise & Anti-Clockwise
#include<lpc214x.h>void delay_led(unsigned long int)
;int main(void){
IO1DIR = 0xC0000000; IO0DIR = 0x00200000;
while(1) {
IO0SET = 0x00200000;
delay_led(150000000);
IO1SET = 0x80000000;
IO1CLR = 0x40000000;
delay_led(150000000);
IO1SET = 0x40000000;
IO1CLR = 0x80000000; delay_led(15000000);
}
}
void delay_led(unsigned long int count1){
while(count1>0) {
count1--;
}
}
2.DAC - Square Wave
#include <LPC214X.H>
init_dac(){PINSEL1 = 0x00080000;DACR=0;}
write_dac(unsigned int dacval){DACR = dacval<<6;}
void delay(unsigned int count){int i,j;for(i=0;i<count;i++){for(j=0;j<120;j++);}}
int main(void){init_dac();while(1){write_dac(00);delay(100);write_dac(1023);delay(100);}}
2.DAC TRIANGLE WAVE
#include <LPC214X.H>
init_dac(){PINSEL1 = 0x00080000;DACR=0;}
write_dac(unsigned int dacval){DACR = dacval<<6;}
int main(void){unsigned int i;init_dac();while(1){for(i=0;i<1024;i++)write_dac(i);
for(i=1023;i>0;i--)write_dac(i);
}}
3.Stepper motor interfacing - Clkwise & Anti
#include<lpc214x.h>void delay(unsigned int value);
unsigned char clockwise[4] = {0x1,0x2,0x4,0x8};
unsigned char anticlockwise[4] = {0x8,0x4,0x2,0x1};
int steps = 60;
int main()
{int i,j,z;
PINSEL0 = 0x00000000;
IO0DIR = 0x000F0000;
IO0CLR = 0x000F0000;
while(1)
{
for(j=0;j<steps;j++)
{
for(i=0; i<4;i++)
{
IOPIN0 =clockwise[i]<<16;
delay(0x100000);
}
}
for (z=0;z<steps;z++)
{
for(i=0; i<4;i++)
{
IOPIN0 =anticlockwise[i]<<16;
delay(0x100000);
}
}
}
}
void delay(unsigned int value)
{
unsigned int z;
for(z=0;z<value;z++);
}
4.Seven Segment Display - 00 to FF
#include <LPC214x.H>void delay_led(unsigned long int);
int main(void){ IO0DIR = 0x000007FC; while(1) {
IO0CLR = 0x00000FFF;
IO0SET = 0x00000604;
delay_led(15000000);
IO0CLR = 0x00000FFF;
IO0SET = 0x000007E4;
delay_led(15000000);
IO0CLR = 0x00000FFF;
IO0SET = 0x00000648;
delay_led(15000000);
IO0CLR = 0x00000FFF; IO0SET = 0x00000618; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x00000730; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x00000690; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x00000680; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x0000063C; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x00000600; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x00000630; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x00000620; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x00000780; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x000006C4; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x00000708; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x000006C0; delay_led(15000000); IO0CLR = 0x00000FFF; IO0SET = 0x000006E0; delay_led(15000000); IO0CLR = 0x00000FFF;
}}
void delay_led(unsigned long int count1){
while(count1>0){
count1--;
}
}
5.External Interrupt LEDs
#include <lpc214x.h>
int i;
void init_ext_interrupt(void);
__irq void Ext_ISR(void);int main(void){ init_ext_interrupt(); while(1) { }}
void init_ext_interrupt(){ EXTMODE = 0x4; EXTPOLAR &= ~(0x4); PINSEL0 = 0x80000000; VICIntSelect &= ~(1<<16); VICVectAddr5 = (unsigned int)Ext_ISR; VICVectCntl5 = (1<<5)|16; VICIntEnable = (1<<16); EXTINT &= (0x04)
;
}
__irq void Ext_ISR(void){
IO1DIR|=(1<<16); IO1SET|=(1<<16); for(i=0;i<2000000;i++); IO1CLR|=(1<<16); EXTINT|=0x4; VICVectAddr=0;}
6.