Saturday 20 June 2015

I2C--ARM

#include <LPC21xx.H>
#include"lcdsub.c"

unsigned char i2cread(unsigned char x);
void getdate();
void i2cint();
void i2cstart();
void i2cstop();
void i2cwrite(char);
unsigned char c2(int);
unsigned char c1(int);//
unsigned char i2cread(unsigned char x)
{
unsigned char data;
i2cstart();
 delay(10);
i2cwrite(0xd0);

 delay(10);
i2cwrite(x);
 delay(10);
i2cstart();
 delay(10);


i2cwrite(0xd1);
   delay(10);


   delay(10);

   I2CONSET |=0X04;

   while(!(I2STAT & 0x58));
   delay(10);
 data=I2DAT;
 //lcddata(data);
  //i2cstop();
//datq=data;
lcddata(data+0x30);
  return data;



}
void i2cint()
{

PINSEL0 |=0X50;  //SELECTING sda & scL MODES
I2CONSET=0X40;
I2CONCLR=0X08;      //INITIALIZING I2C MASTXMODE
 //I2CONCLR = 0xff;
I2SCLH=0X4B;
I2SCLL=0X4B;

I2CONCLR=0X08;  
}
void i2cstart()
{

I2CONSET |=0X20;
I2CONSET |=0X08;//  STA=1
while(!(I2STAT & 0X08));   //CHECKING START COPMLETED OR NOT
I2CONCLR=0X28;
//lcdstr("     in  sta4rt      "); //RESETTING
}
void i2cstop()
{

I2CONSET=0X14;//  & ST0=1
 I2CONCLR=0X08;
while(!(I2STAT & 0XA0));   //CHECKING Stop COPMLETED OR NOT
 //lcdstr("in stop");
//I2CONCLR=0X18; //RESETTING

}
void i2cwrite(char data1)
{
//i2cstart();

  I2DAT=data1;
  while(!(I2STAT & 0x18)) ;
   I2CONCLR=0X18;
  // i2cstop();
  // lcdstr("write");
}
/*unsigned char i2cread()
{
char rx;
//I2DAT=0xff;
while(!(I2STAT & 0x50));
rx=I2DAT;

//lcddata(rx);
return rx;
}  */
void gettime()
{
i2cstart();
lcdcmd(0xc0);
 lcddata(c1(i2cread(0x00)));


lcddata(c2(i2cread(0x00)));
lcdstr(":");
lcddata(c1(i2cread(0x01)));

lcddata(c1(i2cread(0x01)));
lcdstr(":");
lcddata(c1(i2cread(0x02)));

lcddata(c2(i2cread(0x02)));
}
unsigned char c1(int val)
{
 return ( ((val&0xF0)>>4)+0x30);
}

unsigned char c2(int val2)
{

return ((val2&0x0F)+0x30);

}
 


int main()
{
 //unsigned char data,datq;  
//IO0DIR |= (1<<3) | (1<<4);
IO0DIR |= 0xFF<<16;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
lcdint();
i2cint();
lcdstr("initializing");
delay(10);
lcdcmd(0x01);
while(1)
{
i2cstart();

   gettime();

 //i2cstop();


 /* i2cstart();
  i2cwrite(0x41);
  datrx=i2cread();
  lcddata(datrx);
  i2cstop();
  delay(105);  */



}
}




//#include <LPC214X.H>
//#define data 0xFF<<16    //assinging values for po.16-p0.23
#define rs (1<<13)
#define rw (1<<14) 
#define en (1<<15)
void delay(int);
void lcdint();
void lcdcmd(int);
void lcddata(char);
void lcdstr(unsigned char*);
void lcdstr(unsigned char *chr)
{
while(*chr)
{
lcddata(*chr++);
}
}
void lcddata(char xdata)
{
IO0PIN = (xdata<<16);
//IO0SET|=(xdata<<16);
IO0SET =(1<<13);
IO0CLR =(1<<14);

IO0SET = (1<<15);
delay(5);
IO0CLR = (1<<15);
}
void lcdcmd(int cmd)
{
IO0CLR =(1<<13);
IO0CLR =(1<<14);
//IO0SET|=(cmd<<16);
IO0PIN = (cmd<<16);
IO0SET = (1<<15);
delay(5);
IO0CLR = (1<<15);
}
void lcdint()
{
PINSEL0=0x00000000;
PINSEL1=0x00000000;
lcdcmd(0x0E);
  delay(5);
lcdcmd(0x38);
delay(5);
lcdcmd(0x06);
delay(5);
lcdcmd(0x80);
 delay(5);
 //lcdstr("okay");
}
void delay(int t)
{
unsigned int i,j;
for(i=0;i<t;i++)
{
for(j=0;j<21275;j++);
}
}
/*IO0DIR |= 0xFF;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
*/






Tuesday 16 June 2015

ARM--SPI slave

#include <LPC214X.H>  //slave
#include"lcdsub.c"
void spiint()
{
PINSEL0=0x00005500;
S0SPCR=0x000;
//S0SPCCR=16;
}
unsigned char spiread()
{
   char rx;
    while(!(S0SPSR & 0xF8));
   rx=S0SPDR;

   return rx;
}
int main()
{
char rxdata;
IO0DIR |= 0xFF<<16;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
lcdint();
spiint();
lcdstr("initializing");
lcdcmd(0xc5);
lcdstr("slave");
delay(1050000);
lcdcmd(0x01);
lcdstr(" receiving data");
lcdcmd(0xc0);
while(1)
{

rxdata=spiread();
lcddata(rxdata);
//S0SPSR=0x00;
//spiint();
//delay(1050000);
//lcdcmd(0x01);

}
}

//#include <LPC214X.H>
//#define data 0xFF<<16    //assinging values for po.16-p0.23
#define rs (1<<13)
#define rw (1<<14)
#define en (1<<15)
void delay(int);
void lcdint();
void lcdcmd(int);
void lcddata(char);
void lcdstr(unsigned char*);
void lcdstr(unsigned char *chr)
{
while(*chr)
{
lcddata(*chr++);
}
}
void lcddata(char xdata)
{
IO0PIN = xdata<<16;
//IO0SET|=(xdata<<16);
IO0SET =(rs);
IO0CLR =(rw);

IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdcmd(int cmd)
{
IO0CLR =(rs);
IO0CLR =(rw);
//IO0SET|=(cmd<<16);
IO0PIN = cmd<<16;
IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdint()
{
lcdcmd(0x0E);
  delay(500);
lcdcmd(0x38);
delay(500);
lcdcmd(0x06);
delay(500);
lcdcmd(0x80);
 delay(500);
 //lcdstr("okay");
}
void delay(int m)
{
while(m--);
}



ARM--SPI master

#include <LPC214X.H> //master
#include"lcdsub.c"
void spiint();
void spiint()
{
PINSEL0=0x00001500;
S0SPCR=0xA0;
S0SPCCR=8;
IO0SET |=(1<<0);
}
void spisend(char data1)
{
 S0SPDR=data1;
 while(!(S0SPSR & 0x80));
 }
unsigned char spiread()
{
   char rx;
   while(!(S0SPSR & 0x80));
   rx=S0SPDR;
}

int main()
{
IO0DIR |= 0xFF<<16;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
IO0DIR |= (1<<0);
lcdint();
IO0SET |=(1<<1);
spiint();
lcdstr("initializing");
lcdcmd(0xc5);
lcdstr("master");
delay(1050000);
lcdcmd(0x01);
lcdstr(" sending data ");
lcdcmd(0xc0);

while(1)
{
IO0SET |=(1<<1);
spisend('a');
  lcddata('a');
delay(1050000);
delay(1050000);
//S0SPCR=0x0A0;
spiint();

}
}

//#include <LPC214X.H>
//#define data 0xFF<<16    //assinging values for po.16-p0.23
#define rs (1<<13)
#define rw (1<<14)
#define en (1<<15)
void delay(int);
void lcdint();
void lcdcmd(int);
void lcddata(char);
void lcdstr(unsigned char*);
void lcdstr(unsigned char *chr)
{
while(*chr)
{
lcddata(*chr++);
}
}
void lcddata(char xdata)
{
IO0PIN = xdata<<16;
//IO0SET|=(xdata<<16);
IO0SET =(rs);
IO0CLR =(rw);

IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdcmd(int cmd)
{
IO0CLR =(rs);
IO0CLR =(rw);
//IO0SET|=(cmd<<16);
IO0PIN = cmd<<16;
IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdint()
{
lcdcmd(0x0E);
  delay(500);
lcdcmd(0x38);
delay(500);
lcdcmd(0x06);
delay(500);
lcdcmd(0x80);
 delay(500);
 //lcdstr("okay");
}
void delay(int m)
{
while(m--);
}
/*IO0DIR |= 0xFF;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
*/



Friday 12 June 2015

arm uart

#include <LPC212x.H>
#include"lcdsub.c"
char rx;
void delay(int);
void serialint();
void serialwrite(char);
char serialread();
void serialint()
{
U0LCR=0x83;
U0DLM=0x00;
U0DLL=0x5E;
U0FDR=0x52;
U0LCR=0x03;
}
void serialwrite(char tx)
{
U0THR=tx;
while((U0LSR &0x40)==0);
U0LSR |=0x40;
}
char serialread()
{
while((U0LSR &0x01)==0);
rx=U0RBR;
U0LSR |= 0x01;
return rx;
}
int main()
{
IO0DIR |= 0xFF<<15;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
IO0DIR |= (1<<0);
IO0DIR &= ~((1<<1));
lcdint();
serialint();
lcdstr("initializing");
while(1)
{

}
}



arm-timer

#include <LPC214X.H>
void timerint();
void timerint()
{
//PCONP |= 0x00000001;
T0TC=0x00;  // resetting timer0
T0PC=0x00;  // setting prescaller counter as 14746
T0TCR=0x02; //resetting timer control
T0MCR=0x03; //enabling MR0I and MR0R
T0PR=200000; //resetting PR
T0MR0=0x00fffff;
}
void delay(unsigned int val)
{
T0TCR=0x02;
 T0TCR=0x01;
 // T0TC=0x000388;
 while(T0TC < val);
 IO0SET |= (1<<1);
 T0TCR=0x00;
}
int main()
{
IO0DIR |= (1<<0);
IO0DIR |= (1<<1);
//IO0SET |= (1<<0);
 //delay(10);
 //IO0CLR |= (1<<0);
 // delay(1);
while(1)
{
delay(10);
IO0SET |= (1<<0);
delay(10



);
IO0CLR |= (1<<0);
}
}




arm--ext interrupt

#include <LPC214X.H>
__irq void isr(void)
{
if(EXTINT==1)
{
IO0SET |= (1<<0);
EXTINT=0;
}

}
int main()
{  
PINSEL1=0x00000001;
IO0DIR |=(1<<0);
EXTINT=0x01;
EXTPOLAR=0x01; //important efine which triggers the intterrup whether the raising or fallin edge
IO0DIR &= ~((1<<16));
//VICIntSelect |= (1<<14) ;
VICIntEnable |= 0x00004000 ;
VICVectCntl10 |= (1<<5) | 14 ;
VICVectAddr10 |= (unsigned) isr;
while(1)
{ IO0CLR |= (1<<0);
 //VICSoftInt |=(1<<14);

}
}




Wednesday 10 June 2015

arm uart

#include <LPC212x.H>
#include"lcdsub.c"
char rx;
void delay(int);
void serialint();
void serialwrite(char);
char serialread();
void serialint()
{
U0LCR=0x83;
U0DLM=0x00;
U0DLL=0x5E;
U0FDR=0x52;
U0LCR=0x03;
}
void serialwrite(char tx)
{
U0THR=tx;
while((U0LSR &0x40)==0);
U0LSR |=0x40;
}
char serialread()
{
while((U0LSR &0x01)==0);
rx=U0RBR;
U0LSR |= 0x01;
return rx;
}
int main()
{
IO0DIR |= 0xFF<<15;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
IO0DIR |= (1<<0);
IO0DIR &= ~((1<<1));
lcdint();
serialint();
lcdstr("initializing");
while(1)
{

}
}

//#include <LPC214X.H>
//#define data 0xFF<<16    //assinging values for po.16-p0.23
#define rs (1<<23)
#define rw (1<<24)
#define en (1<<25)

void delay(int);
void lcdint();
void lcdcmd(int);
void lcddata(char);
void lcdstr(unsigned char*);
void lcdstr(unsigned char *chr)
{
while(*chr)
{
lcddata(*chr++);
}
}
void lcddata(char xdata)
{
IO0PIN = (xdata<<15);
//IO0SET|=(xdata<<15);
IO0SET =(rs);
IO1CLR =(rw);

IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdcmd(int cmd)
{
IO0CLR =(rs);
IO0CLR =(rw);
//IO0SET|=(cmd<<15);
IO0PIN = (cmd<<15);
IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdint()
{
lcdcmd(0x0E);
  delay(500);
lcdcmd(0x38);
delay(500);
lcdcmd(0x06);
delay(500);
lcdcmd(0x80);
 delay(500);
 //lcdstr("okay");
}
void delay(int m)
{
while(m--);
}
/*IO0DIR |= 0xFF;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
*/






Tuesday 9 June 2015

adc ARM

#include <LPC214X.H>
#include"lcdsub.c"

void adcint();
unsigned int adcfun();

unsigned int adcfun()
{
int result;
AD0CR |=(1<<24);
while(!(AD0GDR & 0x80000000));
result=AD0GDR;
AD0CR &= ~0x01000000;
result=(result >> 6) & 0x3FF;
result=result*1.2;
return (result);
}
void adcint()
{
AD0CR=1<<21;
AD0CR=0<<21;
PINSEL1=0x02000000;
AD0CR=0x00200802;
AD0GDR=0x001<<24;
}

int main(void)
{

unsigned char c,d,e,f=0;
unsigned char mv;
IO0DIR |= 0xFF;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
adcint();
lcdint();
lcdcmd(0x80);
lcdstr("initializing");
delay(150000); delay(150000);
delay(150000); delay(150000);
lcdcmd(0x01);
delay(150000);
lcdstr("CONVERTING");

while(1)
{
 lcdcmd(0xc0);
mv=adcfun();
(int)mv=mv;
//mv=mv+15;
/*int)result=((AD0DR0>>6) & 0x3FF);
//resmv=(5000/1023)*result;
*/
c=mv/100;
d=mv%100;
e=d/10;
f=d%10;

lcddata(c+0x30);
lcddata(e+0x30);
lcddata(f+0x30);
//delay(65000);
//delay(65000);

}
}

#include <LPC214X.H>
#define data 0xFF    //assinging values for po.0-p0.7
#define rs (1<<8)
#define rw (1<<9)
#define en (1<<10)
void delay(int);
void lcdint();
void lcdcmd(int);
void lcddata(char);
void lcdstr(unsigned char*);
void lcdstr(unsigned char *chr)
{
while(*chr)
{
lcddata(*chr++);
}
}
void lcddata(char xdata)
{
IO0PIN = xdata;
IO0SET =(rs);
IO0CLR =(rw);

IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdcmd(int cmd)
{
IO0CLR =(rs);
IO0CLR =(rw);
IO0PIN = cmd;
IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdint()
{
lcdcmd(0x0E);
lcdcmd(0x38);
lcdcmd(0x06);
lcdcmd(0x80);
}
void delay(int m)
{
while(m--);
}



Monday 8 June 2015

accident project

#include<htc.h>
#define motor RB1
#define buzz RC3
#include"lcdsub.c"
#include"adcsub.c"
#include"serialsub.c"
/*void serialwrite(char tx);
char serialread();
void serialstr(char *serstr);
void dream(int);*/
//void serialstr(int);
void dream(int u)
{
while(u--);
}
void main()
{
TRISB=0X00;
TRISD=0X00;
TRISC=0X00;
TRISC6=0X00;
lcdint();
serialint();
adcint(0xc1);  //ch 1 AN0
//adcint(0xc9); //ch2 AN1
lcdstr("..INITIALIZING..");

dream(6500);
dream(65000);
serialstr("serial communication OK...\r");

serialstr("reading sensor values");
lcdcmd(0x01);
lcdstr("READING SNR VAL");
//buzz=0;
//motor=1;
while(1)
{
  adcfun1();
//lcdcmd(0xc0);
serialstr("\r");
dream(100);
serialstr("CH1:");
  lcdch1();
adcfun2();
serialstr(" ");
serialstr("CH2:");
  lcdch2();
serialstr("\r");
buzz=0;
motor=1;
//break;

while(a2>=0 && b2>=5 && c2>=0)
{

buzz=1;
motor=0;
lcdcmd(0x01);
lcdstr("ACCIDENT OCCURED");
lcdcmd(0xc0);
lcdstr("call HELP!!!");
serialstr("Calling help.....dialing\r");
a2,b2,c2=0;
lcdcmd(0x01);
break;
/*if(a2<=0 && b2<=5 && c2<=0)
{
break;
}*/
}
}
}

#define rs RC0
#define rw RC1
#define en RC2
int count=0;
int adc=0;
int p=192;
void lcdint();
void lcddisp(char chr);
void lcdcmd(int cmd);
void delay(int s);
void lcdstr(unsigned char *str);
void lcddisp1(char);
void delay(int s)
{
while(s--);
}

void lcdint()
{
lcdcmd(0x38);

lcdcmd(0x01);
lcdcmd(0x0E);

lcdcmd(0x06);

lcdcmd(0x80);
}
void lcdread()
{
char chrrd;
rw=1;
rs=1;
chrrd=PORTD;
en=1;
delay(100);
en=0;
}
void lcddisp(char chr)
{

/*if(count==16)
{
lcdcmd(0x80);
lcdstr("                 ");
lcdcmd(0x80);
count=0;

}
if(adc==1)
{
lcdcmd(p);
rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;
p++;
}*/
rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;
//count++;
}

void lcdcmd(int cmd)
{
rw=0;
rs=0;
PORTD=cmd;
en=1;
delay(100);
en=0;
if(cmd==0x01)
count=0;
}
void lcddisp1(char disp1)
{
rw=0;
rs=1;
PORTD=disp1;
en=1;
delay(100);
en=0;
}
void lcdstr(unsigned char *str)
{
while(*str)
{
delay(2500);
lcddisp1(*str++);
}
}


char a,volt;
int a1,b1,c1,a2,b2,c2;
int ch=0;
void serialwrite(char);
void elay(int s)
{
while(s--);
}

void adcint(int ch)
{
ADCON0=ch;
ADCON1=0x82;
ADIF=0;
}
unsigned int adcread()
{
ADGO=1;
while(ADGO==1);
elay(100);
ADGO=0;
ADIF=0;
a=(ADRESH<<8 | ADRESL)*0.49;
return(a);
}

void convert(char volt)
{
//serialwrite(volt);
int d,e,f,g=0;
d=a/100;
e=a%100;
f=e/10;
g=e%10;
if(ch==0)
{
a2=d;
b2=f;
c2=g;
}
if(ch==1)
{
a1=d;
b1=f;
c1=g;
}
//adc=1;
/*lcddisp(d+0x30);
elay(10);
lcddisp(f+0x30);
elay(10);
lcddisp(g+0x30);
//p=192;
//adc=0;
lcdcmd(0x80);
elay(1000);
*/

}
void adcfun1()
{

 adcint(0xc1);
 volt=adcread();
 convert(volt);
  elay(6500);
ch=0;
}
void adcfun2()
{

 adcint(0xc9);
 volt=adcread();
 convert(volt);
  elay(6500);
ch=1;
}

/*
void main()
{
char volt;

TRISA=0xff;
TRISE=0x00;
TRISD=0x00;
TRISC=0x00;
while(1)
{
intlcd();
 adcint(0xc1);
 volt=adcread();
 convert(volt);
elay(6500);
lcdcmd(0x01);

}
}
*/
lcdch1()
{
serialwrite(a1+0x30);
elay(10);
serialwrite(b1+0x30);
elay(10);
serialwrite(c1+0x30);

//lcdcmd(0x80);
elay(10000);
//lcdcmd(0x01);

}

lcdch2()
{
serialwrite(a2+0x30);
elay(10);
serialwrite(b2+0x30);
elay(10);
serialwrite(c2+0x30);

//lcdcmd(0x80);
elay(10000);
//lcdcmd(0x01);

}


#define xtalfreq 4000000
#define baudrate 9600


void serialwrite(char);
void serialint()
{
  TRISC6=0;
  TRISC7=1;
SPBRG=25;//((xtalfreq/16)*1/baudrate)-1;
BRGH=1;
SYNC=0;
SPEN=1;
CREN=1;
SREN=0;
TXIE=0;
RCIE=1;
TX9=0;
RX9=0;
TXEN=0;
TXEN=1;
}
void serialwrite(char tx)
{
TXREG=tx;
while(TRMT==0);
TRMT=0;
}
char serialread()
{
char rx;
while(RCIF==0);
rx=RCREG;
RCIF=0;
return (rx);
}
void serialstr(char *serstr)
{
while(*serstr)
{
serialwrite(*serstr++);
}
}



Friday 5 June 2015

ARM button led

#include <LPC21xx.H>
#define s 0x00000080   //assigning P0.7 as s
void delay(int);
void delay(int m)
{
while(m--);
}

int main()
{
  IO0DIR |=(1<<6);
  //IO0DIR |= ~(1<<7);
  IO0DIR &= ~(s);
   IO0SET|=(1<<6);
  delay(650000);
 IO0CLR |=(1<<6);
while(1)
{
  IO0CLR |=(1<<6);
  //while(IO0PIN& (1<<7))
 while(IO0PIN& (s))
 {
  IO0SET|=(1<<6);
 }
}
}



ARM lcd

#include <LPC214X.H>
#define data 0xFF    //assinging values for po.0-p0.7
#define rs (1<<8)
#define rw (1<<9)
#define en (1<<10)
void delay(int);
void lcdint();
void lcdcmd(int);
void lcddata(char);
void lcdstr(unsigned char*);
void lcdstr(unsigned char *chr)
{
while(*chr)
{
lcddata(*chr++);
}
}
void lcddata(char xdata)
{
IO0PIN = xdata;
IO0SET =(rs);
IO0CLR =(rw);

IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdcmd(int cmd)
{
IO0CLR =(rs);
IO0CLR =(rw);
IO0PIN = cmd;
IO0SET = (en);
delay(500);
IO0CLR = (en);
}
void lcdint()
{
lcdcmd(0x0E);
lcdcmd(0x38);
lcdcmd(0x06);
lcdcmd(0x80);
}
void delay(int m)
{
while(m--);
}
int main()
{
IO0DIR |= 0xFF;
IO0DIR |= (rs);
IO0DIR |= (rw);
IO0DIR |= (en);
lcdint();
lcdstr("hello world");
//delay(1000000);
//lcdcmd(0x01);
while(1)
{



}
}


PIC parallel slave port slave

#include<htc.h>
#include"lcdsub.c"
#define rd RE0
#define wr RE1
#define cs RE2
void elay(int s);
void pspint();

void elay(int s)
{
while(s--);
}
void pspint()
{
TRISE=0x17;
}
void pspread()
{
unsigned char data;
wr=1;
//elay(200);
rd=0;
//PORTC=PORTD;
while(PSPIF==0);
//data=PORTD;
PSPIF=0;
//TRISB=0xff;
//PORTB=PORTD;
//TRISB=0x00;
data=PORTD;
lcddisp(data);

//PORTB=PORTD;
//lcddisp(PORTD);
cs=1;
elay(200);
cs=0;
}
void main()
{
ADCON1=0x07;
//TRISE=0xff;
TRISB=0X00;
TRISC=0X00;
TRISD=0XFF;
lcdint();
pspint();
//lcdstr("initialized");
elay(6500);
//lcdcmd(0x01);
while(1)
{
//PORTB=PORTD;
pspread();
elay(65000);
}
}

#define rs RC0
#define rw RC1
#define en RC2
int count=0;
int adc=0;
int p=192;
void lcdint();
void lcddisp(char);
void lcdcmd(int cmd);
void delay(int s);
void lcdstr(unsigned char *str);
void lcddisp1(char);
void delay(int s)
{
while(s--);
}

void lcdint()
{
lcdcmd(0x38);

lcdcmd(0x01);
lcdcmd(0x0E);

lcdcmd(0x06);

lcdcmd(0x80);
}
void lcdread()
{
char chrrd;
rw=1;
rs=1;

chrrd=PORTB;
en=1;
delay(100);
en=0;
}
void lcddisp(char data)
{

rw=0;
rs=1;
//while(PSPIF==0);
//PORTB=PORTD;

//PSPIF=0;
PORTB=data;
en=1;
delay(100);
en=0;

}

void lcdcmd(int cmd)
{
rw=0;
rs=0;
PORTB=cmd;
en=1;
delay(100);
en=0;
if(cmd==0x01)
count=0;
}
void lcddisp1(char disp1)
{
rw=0;
rs=1;
PORTB=disp1;
en=1;
delay(100);
en=0;
}
void lcdstr(unsigned char *str)
{
while(*str)
{
delay(2500);
lcddisp1(*str++);
}
}

PIC parallel slave port master

#include<htc.h>

#define rd RE0
#define wr RE1
#define cs RE2
void pspint();
void pspsend();
void elay(int);
void elay(int s)
{
while(s--);
}

void pspsend()
{
rd=1;
elay(200);
wr=0;

PORTD=0b11111111;
//while(PSPIF==0);
//PSPIF=0;
cs=1;
elay(200);
cs=0;
}
void pspint()
{
TRISE=0x10;
}
void main()
{
ADCON1=0x06;
//TRISE=0X00;
TRISD=0X00;

pspint();
while(1)
{
elay(6500);
pspsend();
elay(6500);
}

}

#define rs RC0
#define rw RC1
#define en RC2
int count=0;
int adc=0;
int p=192;
void lcdint();
void lcddisp(char chr);
void lcdcmd(int cmd);
void delay(int s);
void lcdstr(unsigned char *str);
void lcddisp1(char);
void delay(int s)
{
while(s--);
}

void lcdint()
{
lcdcmd(0x38);

lcdcmd(0x01);
lcdcmd(0x0E);

lcdcmd(0x06);

lcdcmd(0x80);
}
void lcdread()
{
char chrrd;
rw=1;
rs=1;
chrrd=PORTD;
en=1;
delay(100);
en=0;
}
void lcddisp(char chr)
{

if(count==16)
{
lcdcmd(0x80);
lcdstr("                 ");
lcdcmd(0x80);
count=0;

}
if(adc==1)
{
lcdcmd(p);
rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;
p++;
}
rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;
count++;
}

void lcdcmd(int cmd)
{
rw=0;
rs=0;
PORTD=cmd;
en=1;
delay(100);
en=0;
if(cmd==0x01)
count=0;
}
void lcddisp1(char disp1)
{
rw=0;
rs=1;
PORTD=disp1;
en=1;
delay(100);
en=0;
}
void lcdstr(unsigned char *str)
{
while(*str)
{
delay(2500);
lcddisp1(*str++);
}
}



ARM led blink LPC2124

#include<LPC21XX.h>
void delay(int s);
void delay(int s)
{
while(s--);
}
int main()
{
IO0DIR=(1<<9);//setting P0.09 as output
while(1)
{

delay(6500); // making the pin high
IO0SET=(1<<9);
delay(6500);
IO0CLR=(1<<9); // making the pin low
delay(6500);
}
}



Wednesday 3 June 2015

usart pic

#include<htc.h>
#define xtalfreq 4000000
#define baudrate 9600
void delay(int s)
{
while(s--);
}
void serialint()
{
  TRISC6=0;
  TRISC7=1;
SPBRG=((xtalfreq/16)*1/baudrate)-1;
BRGH=1;
SYNC=0;
SPEN=1;
CREN=1;
SREN=0;
TXIE=0;
RCIE=1;
TX9=0;
RX9=0;
TXEN=0;
TXEN=1;
}
void serialwrite(char tx)
{
TXREG=tx;
while(TRMT==0);
TRMT=0;
}
char serialread()
{
char rx;
while(RCIF==0);
rx=RCREG;
RCIF=0;
return (rx);
}
void main()
{
serialint();
delay(100);
serialwrite('o');
serialwrite('k');
while(1)
{
 char chr;
 chr=serialread();
 delay(100);
 serialwrite(chr);
}
}


toll collection pic

#include<htc.h>
#include"lcdsub.c"
#define a RB1
#define b RB2
#define c RB3
unsigned int balance=500;
void lbal(int);
void lbal(int balance)
{
if(balance==50)
{
lcdcmd(0x01);
lcdstr("low balance");

lcdcmd(0x01);
lcdstr("wish to RC now??");
lcdcmd(0xc0);
lcdstr(" 1.Yes   2.NO ");
while(a==1 && b==1 && c==1);
if(a==0 && b==1 && c==1)
{
 balance=500;
 lcdcmd(0x01);
 lcdstr("RECHARGE success");
delay(15000);
 lcdcmd(0x01);
lcdstr("NEW BALANCE");
lcdcmd(0xc0);
lcdstr("RS:");
lcddisp1(balance);

 while(a==0 && b==1 && c==1);
 }


}
}
void interrupt ISR(void)
{
if(INTF==1)                      //interrupt loop start
{
lcdcmd(0x01);
lcdstr("VEHICLE DETECTED");
delay(8000);
lcdcmd(0x01);
lcdstr("reading data... ");
delay(8000);
lcdcmd(0x01);
lcdstr("press req button");
while(a==1 && b==1 && c==1);
if(a==0 && b==1 && c==1)    //50 rs button pressed
{
int i=0;
while(a==0 && b==1 && c==1);

lcdcmd(0x01);
lcdstr("current balance");
  lcdcmd(0xc3);
lcddisp1(balance);
delay(15000);
 lcdcmd(0x01);
lcdcmd(0x80);
balance=balance-450;
 lcdstr("amount deducted");
delay(15000);
lcdcmd(0x01);
 lcdstr("current balance");
 lcdcmd(0xc0);
 lcdstr(" RS:");
lcddisp1(balance);
delay(15000);
lbal(balance);
delay(15000);
lcdcmd(0x01);
lcdstr("you may proceed");
delay(15000);
lcdcmd(0x01);
lcdstr("THANK YOU");
delay(15000);
lcdcmd(0x01);
}

if(a==1 && b==0 && c==1)    //100 rs button pressed
{
int i=0;
while(a==1 && b==0 && c==1);

lcdcmd(0x01);
lcdstr("current balance");
  lcdcmd(0xc3);
lcddisp1(balance);
delay(15000);
 lcdcmd(0x01);
lcdcmd(0x80);
balance=balance-100;
 lcdstr("amount deducted");
delay(15000);
lcdcmd(0x01);
 lcdstr("current balance");
 lcdcmd(0xc0);
 lcdstr(" RS:");
lcddisp1(balance);
delay(15000);
lbal(balance);
delay(15000);
lcdcmd(0x01);
lcdstr("you may proceed");
delay(15000);
lcdcmd(0x01);
lcdstr("THANK YOU");
delay(15000);
lcdcmd(0x01);
}

if(a==1 && b==1 && c==0)    //150 rs button pressed
{
int i=0;
while(a==1 && b==1 && c==0);

lcdcmd(0x01);
lcdstr("current balance");
  lcdcmd(0xc3);
lcddisp1(balance);
delay(15000);
 lcdcmd(0x01);
lcdcmd(0x80);
balance=balance-150;
 lcdstr("amount deducted");
delay(15000);
lcdcmd(0x01);
 lcdstr("current balance");
 lcdcmd(0xc0);
 lcdstr(" RS:");
lcddisp1(balance);
delay(15000);
lbal(balance);
delay(15000);
lcdcmd(0x01);
lcdstr("you may proceed");
delay(15000);
lcdcmd(0x01);
lcdstr("THANK YOU");
delay(15000);
lcdcmd(0x01);
}


lcdcmd(0x01);
lcdstr("..SCANING...");
delay(15000);

INTF=0;
delay(6500);
}                                //interrupt loop ends

GIE=0;
PEIE=0;
INTE=0;
}



void main()
{
TRISB0=1;
TRISB1=1;
TRISB2=1;
TRISC=0x00;
TRISD=0x00;

lcdint();
lcdstr(".initialising.");
delay(6500);
lcdcmd(0x01);
while(1)
{
GIE=1;
PEIE=1;
INTE=1;



}
}



#define rs RC0
#define rw RC1
#define en RC2
int count=0;
int adc=0;
int p=192;
void lcdint();
void lcddisp(char chr);
void lcdcmd(int cmd);
void delay(int s);
void lcdstr(unsigned char *str);
void lcddisp1(unsigned int);
void delay(int s)
{
while(s--);
}

void lcdint()
{
lcdcmd(0x38);

lcdcmd(0x01);
lcdcmd(0x0E);

lcdcmd(0x06);

lcdcmd(0x80);
}
void lcdread()
{
char chrrd;
rw=1;
rs=1;
chrrd=PORTD;
en=1;
delay(100);
en=0;
}

void lcddisp(char chr)
{
rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;
count++;
}

void lcdcmd(int cmd)
{
rw=0;
rs=0;
PORTD=cmd;
en=1;
delay(100);
en=0;
if(cmd==0x01)
count=0;
}
void lcddisp1(unsigned int disp1)
{
  int p,q,r,s,t,u;
 p=disp1/1000;// first digit determined

q=disp1%1000;//three seperated

r=q/100;//second digit determined

s=q%100;//two digit seperated

t=s/10;//third digit determined

u=s%10;// fourth digit determined

lcddisp(p+0x30);
lcddisp(r+0x30);
lcddisp(t+0x30);
lcddisp(u+0x30);


}
void lcdstr(unsigned char *str)
{
while(*str)
{
delay(2500);
lcddisp(*str++);
}
}


timer pic

#include<htc.h>
void interrupt ISR(void)
{

if(T0IF)
{
int i;
RB0=1;
//RD0=~RD0;
T0IF=0;
for(i=0;i<200;i++);
}
//RD0=0;
//TMR0=1;
//GIE=0;
//T0IE=0;

}

void main()
{
RBPU=0;
INTEDG=0;
T0CS=0;
T0SE=0;
PSA=0;
PS2=1;
PS1=1;
PS0=1;

//OPTION=0X07;

TRISB=0x00;
RD0=0;

while(1)
{
int i;
//TMR0=0;
//RD1=0;
RB0=0;
for(i=0;i<200;i++);
GIE=1;
//PEIE=1;
T0IE=1;
//TMR0=1;
}

}


switch keypad pic

#include<htc.h>
#define a RB0
#define b RB1
#define c RB2
#define d RB3
#define e1 RB4
#define e2 RB5
#define e3 RB6
#define m11 RD0
#define m12 RD1
#define m21 RD2
#define m22 RD3
#define m31 RD4
#define m32 RD5
void delay(int s);

void delay(int s)
{
while(s--);
}

void main()
{
TRISD=0x00;
TRISB=0xF0;
//TRISB4=1;
//TRISB5=1;
//TRISB6=1;
 m11=0,m12=0,m21=0,m22=0,m31=0,m32=0;
while(1)
{

delay(2000);
m11=0,m12=0,m21=0,m22=0,m31=0,m32=0;


a=1,b=0,c=0;
while(a==1)
{
if(e1==0 && e2==1 && e3==0)  //fwd --2 pressed
{

 m11=1,m12=0,m21=0,m22=1,m31=0,m32=0;
  delay(1500);

}
delay(1500);
a=0;
}


b=1,a=0,c=0;
while(b==1)
{
if(e1==1 && e2==0 && e3==0)  //lft --4 pressed
{
  m11=0,m12=0,m21=0,m22=1,m31=0,m32=0;
 delay(1500);
}
delay(1500);
 b=0;
}


b=1;
while(b==1)
{
if(e1==0 && e2==0 && e3==1)  //rgt --6 pressed
{
  m11=1,m12=0,m21=0,m22=0,m31=0,m32=0;
  delay(1500);
}
delay(1500);
  b=0;
}


c=1,a=1,b=1;
while(c==1)
{
if(e1==0 && e2==1 && e3==0)  //rev --8 pressed
{
  m11=0,m12=1,m21=1,m22=0,m31=0,m32=0;
 
delay(1500);
}
 delay(1500);
  c=0;
}
delay(1500);

}
}

stepper pic

#include<htc.h>
#define a RC0
#define b RC1
#define c RC2
#define d RC3
void delay(int s);
void delay(int s)
{
while(s--);
}
void main()
{
int i;
TRISC=0x00;
while(1)
{



delay(6000);
delay(6000);

PORTC=0x06;
 delay(6000);
delay(6000);
delay(6000);

PORTC=0x03;
 delay(6000);
delay(6000);
delay(6000);
PORTC=0x09;

delay(6000);
delay(6000);
PORTC=0x0c;
 delay(6000);
}
}

spi slave pic

#include<htc.h>
#include"lcdsub.c"
void elay(int);
unsigned char spiread(void);
void spiintslave();
void spiintslave()
{
SSPSTAT=0x40;
SSPCON=0x34;
}
unsigned char spiread()
{
unsigned char data1;

while(BF==0);
data1=SSPBUF;
BF=0;
return data1;
}
void elay(int s)
{
while(s--);
}
void main()
{
TRISA=0X00;
TRISD=0x00;
TRISB=0x00;
TRISC3=1;
TRISC4=1;
TRISA5=0;
lcdint();
spiintslave();
lcdstr("INTZNG SLAVE");
elay(6500);
lcdcmd(0x01);
unsigned char rx;
 lcdstr("receiving data");
lcdcmd(0xc0);
while(1)
{

 rx=spiread();

lcddisp(rx);
elay(6500);
//lcdcmd(0x01);

}
}



#define rs RB0
#define rw RB1
#define en RB2
int count=0;
int adc=0;
int p=192;

void lcddisp(char);
void lcdcmd(int cmd);
void lcdint();
void delay(int s);
void lcdstr(unsigned char *str);
void lcddisp2(int hr,int min,int sec);
void lcddisp1(char);
void delay(int s)
{
while(s--);
}

void lcdint()
{
lcdcmd(0x38);

lcdcmd(0x01);
lcdcmd(0x0E);

lcdcmd(0x06);

lcdcmd(0x80);
}
void lcdread()
{
char chrrd;
rw=1;
rs=1;
chrrd=PORTD;
en=1;
delay(100);
en=0;
}
void lcddisp(char chr)
{



rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;

}

void lcdcmd(int cmd)
{
rw=0;
rs=0;
PORTD=cmd;
en=1;
delay(100);
en=0;
if(cmd==0x01)
count=0;
}
void lcddisp1(char disp1)
{
rw=0;
rs=1;
PORTD=disp1;
en=1;
delay(100);
en=0;
}
void lcdstr(unsigned char *str)
{
while(*str)
{
delay(2500);
lcddisp1(*str++);
}
}
void lcddisp2(int hr,int min,int sec)
{
 count=0;
 
 lcdcmd(0x01);
lcdcmd(0x84);
 lcddisp((hr/10)+0x30);
 lcddisp((hr%10)+0x30);
 lcddisp(':');
 lcddisp((min/10)+0x30);
 lcddisp((min%10)+0x30);
 lcddisp(':');
 lcddisp((sec/10)+0x30);
 lcddisp((sec%10)+0x30);

}

spi master pic

#include<htc.h>
#include"lcdsub.c"
#define ss RC0
void elay(int);
void spiint();
void spisend(unsigned char);
void spisend(unsigned char dat)
{

SSPBUF=dat;

while(BF==0);
BF=0;


}
void spiint()
{
SSPSTAT=0xc0;
SSPCON=0x31;
}
void elay(int s)
{
while(s--);
}

void main()
{
  TRISB=0x00;
TRISD=0x00;
TRISC=0x00;
TRISC3=0;
TRISC4=1;
TRISC5=0;
lcdint();
spiint();
lcdstr("INTZNG master");
elay(15000);
lcdcmd(0x01);


while(1)
{
TRISC6=0;
TRISC7=1;
ss=0;
elay(6500);
lcdstr("sending data");
lcdcmd(0xc0);

lcddisp('a');
spisend('a');
elay(65000);
lcdcmd(0x01);

}
}


#define rs RB0
#define rw RB1
#define en RB2
int count=0;
int adc=0;
int p=192;

void lcddisp(char);
void lcdcmd(int cmd);
void delay(int s);
void lcdstr(unsigned char *str);
void lcddisp2(int hr,int min,int sec);
void lcddisp1(char);
void lcdint();
void delay(int s)
{
while(s--);
}

void lcdint()
{
lcdcmd(0x38);

lcdcmd(0x01);
lcdcmd(0x0E);

lcdcmd(0x06);

lcdcmd(0x80);
}
void lcdread()
{
char chrrd;
rw=1;
rs=1;
chrrd=PORTD;
en=1;
delay(100);
en=0;
}
void lcddisp(char chr)
{
rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;
}

void lcdcmd(int cmd)
{
rw=0;
rs=0;
PORTD=cmd;
en=1;
delay(100);
en=0;
if(cmd==0x01)
count=0;
}
void lcddisp1(char disp1)
{
rw=0;
rs=1;
PORTD=disp1;
en=1;
delay(100);
en=0;
}
void lcdstr(unsigned char *str)
{
while(*str)
{
delay(2500);
lcddisp1(*str++);
}
}
void lcddisp2(int hr,int min,int sec)
{
 count=0;
 lcdcmd(0x01);
lcdcmd(0x84);
 lcddisp((hr/10)+0x30);
 lcddisp((hr%10)+0x30);
 lcddisp(':');
 lcddisp((min/10)+0x30);
 lcddisp((min%10)+0x30);
 lcddisp(':');
 lcddisp((sec/10)+0x30);
 lcddisp((sec%10)+0x30);

}


spi master sathiya pic

#include<htc.h>
#include "lcdsub.c"
#define ss RC0

void spi_init();
 void spi_tx(unsigned char dat);
void spi_str(unsigned char *s);

void spi_init()
{
SSPSTAT = 0xC0;
SSPCON = 0x31;
//SSPCON=0x20;
}

 void spi_tx(unsigned char dat)
{
SSPBUF = dat;
while(BF==0);
BF=0;
// return SSPBUF;
delay(5000);
}


void spi_str(unsigned char *s)
{
while(*s)
{
delay(65000);
spi_tx(*s++);
delay(65000);
}
}
void main()
    {

    TRISA=0xFF;
    TRISE0=0;
    TRISE1=0;
    TRISE2=0;
    TRISD=0x00;
    TRISC3=0;
    TRISC4=1;
    TRISC5=0;
 
ADCON1=0x82;
 
    TRISC6=0;TRISC7=1;

    lcd_init();

     spi_init();

    lcd_cmd(0x80);
    lcd_str("  SPI SAMPLE   ");
    lcd_cmd(0xc0);
    lcd_str("    PROGRAM   ");
    delay(65500);//delay(65500);
   // delay(65500);//delay(65500);
    lcd_cmd(0x80);
    lcd_str("                   ");
    lcd_cmd(0xc0);
    lcd_str("                   ");
 
 
while(1)
{

ss=0;

 //delay(65500); delay(65500);
//spi_tx('s')
spi_str("-abcdefghijklmnopqrstuvwxyz---are english alphabets*");
 lcd_cmd(0x80);
lcd_data('a');

  //delay(65500);//delay(65500);  delay(65500);delay(65500);
 lcd_cmd(0x01);
}

}


void lcd_data(unsigned char);
void lcd_cmd(unsigned char);
void lcd_str(char* );
void delay(unsigned int);
void lcd_init();

void lcd_init()
{
lcd_cmd(0x0E);
lcd_cmd(0x80);
lcd_cmd(0x38);
}

void lcd_data(unsigned char lcd_val)
{
PORTD=lcd_val;
RE2=1;
RE1=0;
RE0=1;
delay(100);
RE0=0;
}

void lcd_cmd(unsigned char lcd_val)
{
PORTD=lcd_val;
RE2=0;
RE1=0;
RE0=1;
delay(6500);
RE0=0;
}

void lcd_str(char *lcd_str1)
{
  while(*lcd_str1)
{
lcd_data(*lcd_str1++);
}

}

void delay(unsigned int del)
{
while(del--);
}

spi slave satiya pic

#include<htc.h>
#include "lcdsub.c"
//#define ss RC0

void spi_init();
unsigned char spi_rx();
void spi_str(unsigned char *s);

void spi_init()
{
SSPSTAT = 0x40;
SSPCON = 0x34;
//SSPCON=0x24;
}

unsigned char spi_rx()
{

unsigned char dat;
 //lcd_cmd(0x80);
//lcd_str("receiving");
while(BF==0);
dat=SSPBUF;
  //BF=1;
// while(BF==0);
  //lcd_cmd(0x80);
//lcd_data('p');
BF=0;
return dat;
}


void spi_str(unsigned char *s)
{
while(*s)
{
delay(65000);
spi_tx(*s++);
}
}
unsigned int p[20];
void main()
    {

    TRISA5=0;
    TRISE0=0;
    TRISE1=0;
    TRISE2=0;
    TRISD=0x00;
    TRISC3=1;
    TRISC4=1;
    //TRISC5=0;

ADCON1=0x07;

    TRISC6=0;TRISC7=1;

    lcd_init();

     spi_init();

    lcd_cmd(0x80);
    lcd_str("  SPI SAMPLE   ");
    lcd_cmd(0xc0);
    lcd_str("    PROGRAM   ");
    delay(65500);//delay(65500);
    //delay(65500);//delay(65500);
    lcd_cmd(0x80);
    lcd_str("                   ");
    lcd_cmd(0xc0);
    lcd_str("                   ");
 lcd_cmd(0x80);
lcd_str("data received  ");
  lcd_cmd(0xc0);
while(1)
{
unsigned int tem,i;
//lcd_cmd(0x80);
//lcd_str("data received  ");
//lcd_cmd(0xc0);
for(i=0;i<20;i++)
//while((tem=spi_rx()))
{
if(tem!='*')
{
tem=spi_rx();
delay(65000);
lcd_data(tem);
delay(65000);

}
}
 if(tem=='*')
{
i=100;

  //lcd_str("data received  ");
//tem=spi_rx();
//delay(65000);
//lcd_data(tem);
//p[i]=tem;
//}while(i<16);
//{
tem='s';


delay(65000);
}

 // lcd_cmd(0x80);
//lcd_cmd(0x01);
 // lcd_str("data received  ");
//delay(65000);
lcd_cmd(0x01);
 //lcd_cmd(0xc0);
//lcd_str(p);

//delay(65000);delay(65000);delay(65000);
//}

  //delay(65500);delay(65500);  delay(65500);delay(65500);

}

}


void lcd_data(unsigned char);
void lcd_cmd(unsigned char);
void lcd_str(char* );
void delay(unsigned int);
void lcd_init();
int count=0;

void lcd_init()
{
lcd_cmd(0x0E);
lcd_cmd(0x80);
lcd_cmd(0x38);
}

void lcd_data(unsigned char lcd_val)
{
if(count==16)
{
lcd_cmd(0xc0);
}
if(count==32)
{
lcd_cmd(0x01);
lcd_cmd(0x80);
count=0;

}
PORTD=lcd_val;
RE2=1;
RE1=0;
RE0=1;
delay(100);
RE0=0;
count++;
}

void lcd_cmd(unsigned char lcd_val)
{
PORTD=lcd_val;
RE2=0;
RE1=0;
RE0=1;
delay(6500);
RE0=0;
}

void lcd_str(char *lcd_str1)
{
  while(*lcd_str1)
{
lcd_data(*lcd_str1++);
}

}

void delay(unsigned int del)
{
while(del--);
}

i2c via rtc --pic

#include<htc.h>
#include"i2csub.c"
#include"lcdsub.c"
void delay(int);

void main()
{
TRISD=0x00;
TRISC0=0;
TRISC1=0;
TRISC2=0;
TRISC3=1;
TRISC4=1;
i2cint();
lcdint();
lcdstr("sai prasanth");
delay(6500);
lcdcmd(0x01);



while(1)
{

gettime();
getdate();
}
}


#define rs RC0
#define rw RC1
#define en RC2
int count=0;
int adc=0;
int p=192;

void lcddisp(char);
void lcdcmd(int cmd);
void delay(int s);
void lcdstr(unsigned char *str);
void lcddisp2(int hr,int min,int sec);
void lcddisp1(char);
void delay(int s)
{
while(s--);
}

void lcdint()
{
lcdcmd(0x38);

lcdcmd(0x01);
lcdcmd(0x0E);

lcdcmd(0x06);

lcdcmd(0x80);
}
void lcdread()
{
char chrrd;
rw=1;
rs=1;
chrrd=PORTD;
en=1;
delay(100);
en=0;
}
void lcddisp(char chr)
{



rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;

}

void lcdcmd(int cmd)
{
rw=0;
rs=0;
PORTD=cmd;
en=1;
delay(100);
en=0;
if(cmd==0x01)
count=0;
}
void lcddisp1(char disp1)
{
rw=0;
rs=1;
PORTD=disp1;
en=1;
delay(100);
en=0;
}
void lcdstr(unsigned char *str)
{
while(*str)
{
delay(2500);
lcddisp1(*str++);
}
}
void lcddisp2(int hr,int min,int sec)
{
 count=0;

 lcdcmd(0x01);
lcdcmd(0x84);
 lcddisp((hr/10)+0x30);
 lcddisp((hr%10)+0x30);
 lcddisp(':');
 lcddisp((min/10)+0x30);
 lcddisp((min%10)+0x30);
 lcddisp(':');
 lcddisp((sec/10)+0x30);
 lcddisp((sec%10)+0x30);

}


void i2cint();
int z=0;
void i2cstart();
void i2cstop();
void i2cack();
void lcdstr(unsigned char *str);
void i2cnack();
void lcdcmd(int);
unsigned char i2cread(unsigned char);
void i2cwrite(unsigned char);
void gettime();
void getdate();
unsigned char conv1(int val);
unsigned char conv2(int val);
void wait();
void elay(int);
void check();
void lcddisp(char);
void check()
{
while(RW==1);
RW=0;
}
void elay(int m)
{
while(m--);
}
void wait()
{
while(SSPIF==0);

SSPIF=0;
check();
//while(RW==1);
//RW=0;

}


void i2cint()
{

//PORTC=0X18;
SSPCON=0X28;
SSPSTAT=0X80;
SSPADD=4;
}

void i2cstart()
{
SEN=1;
wait();

}

void i2cstop()
{
PEN=1;
wait();
}

void i2cack()
{
ACKDT=0;
ACKEN=1;
wait();
}

void i2cnack()
{
ACKDT=1;
ACKEN=1;
wait();
}

unsigned char i2cread(unsigned char x)
{
unsigned char data;

SEN=1;

wait();

SSPBUF=0xd0;
 wait();

 SSPBUF=x;
wait();
RSEN=1;
 wait();

SSPBUF=0xd1;
wait();
RCEN=1;
wait();
data=SSPBUF;
//wait();
ACKDT=1;
ACKEN=1;
wait();
i2cstop();

//wait();



 return data;
}

void i2cwrite(unsigned char byte)
{
  SSPBUF=byte;
 wait();
}

void gettime()
{

i2cstart();


lcdcmd(0x80);
lcddisp(conv1(i2cread(0x02)));

lcddisp(conv2(i2cread(0x02)));

lcdstr(":");
 lcddisp(conv1(i2cread(0x01)));

lcddisp(conv2(i2cread(0x01)));

lcdstr(":");
  lcddisp(conv1(i2cread(0x00)));

lcddisp(conv2(i2cread(0x00)));

}
void getdate()
{

lcdcmd(0xc0);
 lcddisp(conv1(i2cread(0x04)));

lcddisp(conv2(i2cread(0x04)));
lcdstr(":");
lcddisp(conv1(i2cread(0x05)));

lcddisp(conv2(i2cread(0x05)));
lcdstr(":");
lcddisp(conv1(i2cread(0x06)));

lcddisp(conv2(i2cread(0x06)));




}

unsigned char conv1(int val)
{
 return ( ((val&0xF0)>>4)+0x30);
}

unsigned char conv2(int val2)
{

return ((val2&0x0F)+0x30);

}





pwm--pic

#include<htc.h>
void setpwm(unsigned int dutycycle);
void intpwm();
void intpwm()
{

TRISC=0x00;
PORTC=0x00;
CCP1CON=0x0C;
PR2=0xff;
T2CON=0X03;

setpwm(0);

T2CON |= 0X04;
}

void setpwm(unsigned int dutycycle)
{
CCPR1L=dutycycle>>2;
CCP1CON=0XCF;

CCP1CON |=(0X30&(dutycycle<<4));
T2CON =0x03;
//T2CON |= (1<<2)|(1<<1);
}
void main()
{
int i;
TRISC=0x00;
intpwm();
PORTC=0x00;
setpwm(0);
while(1)
{
setpwm(512);
for(i=0;i<200;i++);

}
}


project1--pic


char a,volt;

void elay(int s)
{
while(s--);
}

void adcint(int ch)
{
ADCON0=ch;
ADCON1=0x82;
ADIF=0;
}
unsigned int adcread()
{
ADGO=1;
while(ADGO==1);
elay(100);
ADGO=0;
ADIF=0;
a=(ADRESH<<8 | ADRESL)*0.49;
return(a);
}

void convert(char volt)
{
int d,e,f,g;
d=a/100;
e=a%100;
f=e/10;
g=e%10;
adc=1;
lcddisp(d+0x30);
elay(10);
lcddisp(f+0x30);
elay(10);
lcddisp(g+0x30);
p=192;
adc=0;
lcdcmd(0x80);
elay(1000);

}
void adcfun()
{

 adcint(0xc1);
 volt=adcread();
 convert(volt);
  elay(6500);
}

/*
void main()
{
char volt;

TRISA=0xff;
TRISE=0x00;
TRISD=0x00;
TRISC=0x00;
while(1)
{
intlcd();
 adcint(0xc1);
 volt=adcread();
 convert(volt);
elay(6500);
lcdcmd(0x01);

}
}
*/



#define rs RC0
#define rw RC1
#define en RC2
int count=0;
int adc=0;
int p=192;
void lcdint();
void lcddisp(char chr);
void lcdcmd(int cmd);
void delay(int s);
void lcdstr(unsigned char *str);
void lcddisp1(char);
void delay(int s)
{
while(s--);
}

void lcdint()
{
lcdcmd(0x38);

lcdcmd(0x01);
lcdcmd(0x0E);

lcdcmd(0x06);

lcdcmd(0x80);
}
void lcdread()
{
char chrrd;
rw=1;
rs=1;
chrrd=PORTD;
en=1;
delay(100);
en=0;
}
void lcddisp(char chr)
{

if(count==16)
{
lcdcmd(0x80);
lcdstr("                 ");
lcdcmd(0x80);
count=0;

}
if(adc==1)
{
lcdcmd(p);
rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;
p++;
}
rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;
count++;
}

void lcdcmd(int cmd)
{
rw=0;
rs=0;
PORTD=cmd;
en=1;
delay(100);
en=0;
if(cmd==0x01)
count=0;
}
void lcddisp1(char disp1)
{
rw=0;
rs=1;
PORTD=disp1;
en=1;
delay(100);
en=0;
}
void lcdstr(unsigned char *str)
{
while(*str)
{
delay(2500);
lcddisp1(*str++);
}
}


#include<htc.h>
#include<string.h>
#include"lcdsub.c"
#include "serialsub.c"
#include"adcsub.c"

void main()
{
TRISD=0x00;
TRISC=0X00;
TRISA=0xff;
TRISC=0x00;
TRISC7=1;
lcdint();
serialint();
adcint(0xc1);
lcdstr("spiro  tech's");

delay(12500);
delay(100);
serialwrite('o');
serialwrite('k');
lcdcmd(0x01);
char volt;
adcfun();
while(1)
{

char chr;
chr=serialread();
serialwrite(chr);
lcddisp(chr);



}
}


#define xtalfreq 4000000
#define baudrate 9600

void serialwrite(char tx);
char serialread();

void serialint()
{
  TRISC6=0;
  TRISC7=1;
SPBRG=25;//((xtalfreq/16)*1/baudrate)-1;
BRGH=1;
SYNC=0;
SPEN=1;
CREN=1;
SREN=0;
TXIE=0;
RCIE=1;
TX9=0;
RX9=0;
TXEN=0;
TXEN=1;
}
void serialwrite(char tx)
{
TXREG=tx;
while(TRMT==0);
TRMT=0;
}
char serialread()
{
char rx;
while(RCIF==0);
rx=RCREG;
RCIF=0;
return (rx);
}



lcd--pic

#include<htc.h>
#include<string.h>

#define rs RC0
#define en RC1
#define rw RC2
void intlcd();
void lcd_cmd(int cmd);
void lcddisp(char z);
void delay(int s);
void delay(int s)
{
 while(s--);
}

void intlcd()
{
   lcd_cmd(0x38);
   lcd_cmd(0x01);
   lcd_cmd(0x0E);
   lcd_cmd(0x80);
   lcd_cmd(0x06);
}

void lcddisp(char z)
{
rs=1;
rw=0;
PORTD=z;
en=1;
delay(100);
en=0;
}

void lcd_cmd(int cmd)
{
rw=0;
rs=0;
en=1;
PORTD=cmd;
delay(100);
en=0;
}
void main()
{
TRISD=0X00;
TRISC=0X00;
intlcd();
int i;
char str[]={"LCD IN PIC"};
for(i=0;i<=11;i++)
{
   lcddisp(str[i]);
   lcd_cmd(0x06);

}
 delay(1500);
while(1)
{

}
}


keypad--pic

#include<htc.h>


#define a RB0
#define b RB1
#define c RB2
#define d RB3
#define e1 RB4
#define e2 RB5
#define e3 RB6
#define en RC1
#define rs RC0

void delay(int s);
void lcddisp(char data);
void lcdcmd(int cmd);
void intlcd();

void delay(int s)
{
while(s--);
}
void lcddisp(char data)
{
rs=1;
PORTD=data;
en=1;
delay(10);
en=0;

}
void lcdcmd(int cmd)
{
rs=0;
PORTD=cmd;
en=1;

delay(10);
en=0;
}
void intlcd()
{
lcdcmd(0x38);
delay(10);
lcdcmd(0x0E);
delay(10);
lcdcmd(0x01);
delay(10);
lcdcmd(0x06);
delay(10);
lcdcmd(0x80);


}
void main()
{
int s;
PORTA=0x00;
PORTB=0x00;
PORTC=0x00;
PORTD=0x00;
TRISD=0x00;
TRISB=0xf0;
TRISC=0xc0;
intlcd();
lcddisp('0');
lcddisp('k');
delay(2000);
lcdcmd(0X01);


while(1)
{


a=1;
while(a==1)
{
if(e1==1 && e2==0 && e3==0)//1 pressed
{
lcddisp('1');
while(e1==1 && e2==0 && e3==0);
delay(500);

}

if(e1==0 && e2==1 && e3==0)//2 pressed
{
lcddisp('2');
while(e1==0 && e2==1 && e3==0);
delay(500);
}

if(e1==0 && e2==0 && e3==1)//3 pressed
{
lcddisp('3');
while(e1==0 && e2==0 && e3==1);
delay(500);
}
delay(1250);
a=0;
}

b=1;
while(b==1)
{
if(e1==1 && e2==0 && e3==0)//4 pressed
{
lcddisp('4');
while(e1==1 && e2==0 && e3==0);
delay(500);

}

if(e1==0 && e2==1 && e3==0)//5 pressed
{
lcddisp('5');
while(e1==0 && e2==1 && e3==0);
delay(500);
}

if(e1==0 && e2==0 && e3==1)//6 pressed
{
lcddisp('6');
while(e1==0 && e2==0 && e3==1);
delay(500);
}
delay(1250);
b=0;
}

c=1;
while(c==1)
{
if(e1==1 && e2==0 && e3==0)//7 pressed
{
lcddisp('7');
while(e1==1 && e2==0 && e3==0);
delay(500);

}

if(e1==0 && e2==1 && e3==0)//8 pressed
{
lcddisp('8');
while(e1==0 && e2==1 && e3==0);
delay(500);
}

if(e1==0 && e2==0 && e3==1)//9 pressed
{
lcddisp('9');
while(e1==0 && e2==0 && e3==1);
delay(500);
}
delay(1250);
c=0;
}

d=1;
while(d==1)
{
if(e1==1 && e2==0 && e3==0)//* pressed
{
lcddisp('*');
while(e1==1 && e2==0 && e3==0);
delay(500);

}

if(e1==0 && e2==1 && e3==0)//0 pressed
{
lcddisp('0');
while(e1==0 && e2==1 && e3==0);
delay(500);
}

if(e1==0 && e2==0 && e3==1)//# pressed
{
lcddisp('#');
while(e1==0 && e2==0 && e3==1);
delay(500);
}
delay(1250);
d=0;
}
}
}



counter with timer --pic

#include<htc.h>
#include"lcdsub.c"
int ms=0,hr=0,min=0,sec=0;

void interrupt ISR(void)
{
if(T0IF)
{
TMR0=0x08;
 T0IF=0;

ms++;
}

GIE=0;
T0IE=0;
}

void main()
{
RBPU=0;
INTEDG=0;
T0CS=0;
T0SE=0;
PSA=0;
PS2=0;
PS1=0;
PS0=0;
//OPTION=0xc1;
lcdint();
TRISD=0x00;
TRISC=0x00;


lcdint();
lcdstr("....timer.....");
while(1)
{

if(ms==50)
 {
 ms=0;
 sec++;
 }

if(sec==60)
{
 sec=0;
 min++;
}
if(min==60)
{
 min=0;
hr++;
}
if(hr==12)
{
 hr=0;
}

lcddisp2(hr,min,sec);
delay(100);
T0IE=1;
GIE=1;
PEIE=1;
}
}

lcdscb--pic

#define rs RC0
#define rw RC1
#define en RC2
int count=0;
int adc=0;
int p=192;
void lcdint();
void lcddisp(char chr);
void lcdcmd(int cmd);
void delay(int s);
void lcdstr(unsigned char *str);
void lcddisp2(int hr,int min,int sec);
void lcddisp1(char);
void delay(int s)
{
while(s--);
}

void lcdint()
{
lcdcmd(0x38);

lcdcmd(0x01);
lcdcmd(0x0E);

lcdcmd(0x06);

lcdcmd(0x80);
}
void lcdread()
{
char chrrd;
rw=1;
rs=1;
chrrd=PORTD;
en=1;
delay(100);
en=0;
}
void lcddisp(char chr)
{

if(count==16)
{
lcdcmd(0x80);
lcdstr("                 ");
lcdcmd(0x80);
count=0;

}
if(adc==1)
{
lcdcmd(p);
rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;
p++;
}
rw=0;
rs=1;
PORTD=chr;
en=1;
delay(100);
en=0;
count++;
}

void lcdcmd(int cmd)
{
rw=0;
rs=0;
PORTD=cmd;
en=1;
delay(100);
en=0;
if(cmd==0x01)
count=0;
}
void lcddisp1(char disp1)
{
rw=0;
rs=1;
PORTD=disp1;
en=1;
delay(100);
en=0;
}
void lcdstr(unsigned char *str)
{
while(*str)
{
delay(2500);
lcddisp1(*str++);
}
}
void lcddisp2(int hr,int min,int sec)
{
 count=0;

 lcdcmd(0x01);
lcdcmd(0x84);
 lcddisp((hr/10)+0x30);
 lcddisp((hr%10)+0x30);
 lcddisp(':');
 lcddisp((min/10)+0x30);
 lcddisp((min%10)+0x30);
 lcddisp(':');
 lcddisp((sec/10)+0x30);
 lcddisp((sec%10)+0x30);

}

counter--pic

#include<htc.h>
#include"lcdsub.c"
int hr=0,min=0,sec=0;
void main()
{
TRISD=0x00;
TRISC=0x00;
int cnt=0;
lcdint();
lcdstr("...  TIMER  ....");
delay(6500);
while(1)
{

cnt=1;

 if(cnt==1)
{
 sec++;
 cnt=0;
}

if(sec==60)
{
sec=0;
min++;
}

if(min==60)
{
min=0;
hr++;
}

if(hr==12)
{
hr=0;
}
lcddisp2(hr,min,sec);
 delay(25500);
}
}

ADC--PIC

#include<htc.h>
#define rs RC0
#define en RC1
char a;
void lcdcmd(int cmd);
void lcddisp(char dat);
void delay(int s)
{
while(s--);
}
void intlcd()
{
lcdcmd(0x38);
lcdcmd(0x01);
lcdcmd(0x06);
lcdcmd(0x0E);
}
void adcint(int ch)
{
ADCON0=ch;
ADCON1=0x82;
ADIF=0;
}
unsigned int adcread()
{
ADGO=1;
while(ADGO==1);
delay(100);
ADGO=0;
ADIF=0;
a=(ADRESH<<8 | ADRESL)*0.49;
return(a);
}

void convert(char volt)
{
int d,e,f,g;
d=a/100;
e=a%100;
f=e/10;
g=e%10;
lcddisp(d+0x30);
delay(1000);
lcddisp(f+0x30);
delay(1000);
lcddisp(g+0x30);
delay(1000);
}
void lcddisp(char dat)
{
  rs=1;
  en=1;
delay(200);
PORTD=dat;
en=0;
}
void lcdcmd(int cmd)
{
rs=0;
en=1;
delay(200);
PORTD=cmd;
en=0;
}

void main()
{
char volt;

TRISA=0xff;
TRISE=0x00;
TRISD=0x00;
TRISC=0x00;
while(1)
{
intlcd();
 adcint(0xc1);
 volt=adcread();
 convert(volt);
delay(6500);
lcdcmd(0x01);

}
}

watersprayer-8051

#include <REGX51.H>
sbit m11=P2^0;
sbit m12=P2^1;
sbit m21=P2^2;
sbit m22=P2^3;    
sbit m31=P2^4;
sbit m32=P2^5;
sbit a=P3^3;
sbit b=P3^4;
sbit c=P3^5;
sbit d=P3^6;
sbit e1=P3^0;
sbit e2=P3^1;
sbit e3=P3^2;
void delay(int s);

void delay(int s)
{
while(s--);
}

void main()
{
m11=0,m12=0,m21=0,m22=0,m31=0,m32=0;

{
delay(2000);
m11=0,m12=0,m21=0,m22=0,m31=0,m32=0;


a=0;
while(a==0 && e1==1 && e2==0 && e3==1)  //fwd --2 pressed
{

  m11=1,m12=0,m21=0,m22=1,m31=0,m32=0;


}
a=1;
 delay(1500);

b=0;
while(b==0 && e1==0 && e2==1 && e3==1)  //lft --4 pressed
{
  m11=0,m12=0,m21=0,m22=1,m31=0,m32=0;

}
 b=1;
 delay(1500);
b=0;
while(b==0 && e1==1 && e2==1 && e3==0)  //rgt --6 pressed
{
  m11=1,m12=0,m21=0,m22=0,m31=0,m32=0;


}
  b=1;
 delay(1500);
c=0;
while(c==0 && e1==1 && e2==0 && e3==1)  //rev --8 pressed
{
  m11=0,m12=1,m21=1,m22=0,m31=0,m32=0;
 

}
  c=1;
 delay(1500);
b=0;
while(b==0 && e1==1 && e2==0 && e3==1)  //spray --5 pressed
{
  m11=0,m12=0,m21=0,m22=0,m31=1,m32=0;
 

}
 b=1;
 delay(1500);
}
}