1)
#include <LPC17xx.h>
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
#include “lcdmsh.h”
#define Ref_Vtg 3.3
#define Full_Scale 0xFFF
unsigned char str[]={“0123456789”};
unsigned long x,temp;
unsigned int channel,result1,result2,i,j, flag1;
unsigned char dval1[10],dval2[10];
unsigned char Msg3[11] = {“ADC4:”};
unsigned char Msg4[12] = {“ADC5:”};
unsigned int temp1;
float t1,t2;
void ADC_IRQHandler(void)
{
x=LPC_ADC->ADSTAT&(3<<4);
if(x>>4 &1)
{
t1 = (LPC_ADC->ADDR4>>4)&0xFFF;
}
if(x>>5 &1)
{
t2 = (LPC_ADC->ADDR5>>4)&0XFFF;
}
t1 = ((t1 * (float)Ref_Vtg))/((float)Full_Scale);
t2 = ((t2 * (float)Ref_Vtg))/((float)Full_Scale);
sprintf(dval1,”%3.2f”,t1);
sprintf(dval2,”%3.2f”,t2);
temp1 = 0x89;
lcd_comdata(temp1,0);
delay_lcd(800);
lcd_puts(&dval1[0]);
temp1 = 0xc8;
lcd_comdata(temp1,0);
delay_lcd(800);
lcd_puts(&dval2[0]);
}
int main(void)
{
lcd_init();
LPC_PINCON->PINSEL3=(0xF)<<28; //P1.31 as AD0.5
LPC_SC->PCONP |=(1<<12);
lcd_comdata(0x80,0);
delay_lcd(800);
lcd_puts(&Msg3[0]);
lcd_comdata(0xC0,0);
delay_lcd(800);
lcd_puts(&Msg4[0]);
LPC_ADC->ADCR = (1 << 4 | 1 << 5 | 1 << 16 | 1 << 21);
LPC_ADC->ADINTEN = (1<<4|1<<5);
flag1 = 1;
NVIC_EnableIRQ(ADC_IRQn);
while(1);
}
2)
#include <LPC17xx.h>
unsigned long int var1,var2;
unsigned int i=0,j=0,k=0;
void clockwise()
{
var1=0x8;
for(i=0;i<=3;i++)
{
var1 <<=1;
LPC_GPIO0->FIOPIN=var1;
for(k=0;k<1000;k++);
}
}
void anti_clockwise()
{
var1=0x100;
for(i=0;i<=3;i++)
{
var1 >>=1;
LPC_GPIO0->FIOPIN=var1;
for(k=0;k<1000;k++);
}
}
int main()
{
SystemInit();
SystemCoreClockUpdate();
LPC_GPIO0->FIODIR=0xF<<4;
LPC_GPIO2->FIODIR &=0xFFFFEFFF;
while(1)
{
if(!(LPC_GPIO2->FIOPIN&1<<12))
{
for(j=0;j<50;j++)
clockwise();
for(k=0;k<6500;k++);
}
else
{
for(j=0;j<50;j++)
anti_clockwise();
for(k=0;k<6500;k++);
}
}
return 0;
}