Abhi Proj

download Abhi Proj

of 4

Transcript of Abhi Proj

  • 8/18/2019 Abhi Proj

    1/4

    #include

    #define LCDDATA P2#define ADCDATA P1#define MINIMUM 5

    sbit BUSY = P2^7;sbit RS = P2^0;sbit RW = P2^1;sbit EN = P2^2;

    sbit OE = P1^3; //RD pinsbit SC = P1^4; // WR is active LOW pinsbit EOC = P1^5; //INTR is active LOW pin

    sbit RELAY1 = P1^0;sbit RELAY2 = P1^1;sbit RELAY3 = P1^2;

    unsigned char Buff[3] = 0;

    void ISR_T0() interrupt 1{

    TH0 = 0x4B;TL0 = 0xFF;

    TF0 = 0;}

    void Delay(unsigned int time){  unsigned int i = 0;

    for(i=0;i

  • 8/18/2019 Abhi Proj

    2/4

    BUSY = 1;RS = 0; // RS =0 FOR COMMANDRW = 1; // RW = 1 FOR READINGwhile(BUSY){

    EN = 0; // ENABL EIS LOWEN = 1; // ENABLE IS HIGH

    }}

    /*Function to Send Command to LCD*/void LCDCMD(unsigned char CMD){

    BusyCheck();LCDDATA = CMD;RS = 0; // RS =0 FOR COMMANDRW = 0; // RW = 0 FOR WRITINGEN = 1; // ENABLE IS HIGHEN = 0; // ENABL EIS LOW

    }

    /*Function to Send Data to LCD*/void LCDData(unsigned char Data){

    BusyCheck();LCDDATA = Data;RS = 1; // RS =1 FOR DATARW = 0; // RW = 0 FOR WRITINGEN = 1; // ENABLE IS HIGHEN = 0; // ENABL EIS LOW

    }

    void LCDString(unsigned char *str){

    while(*str){

    LCDData(*str);str++;}

    }

    void Init_T0(){

    TMOD = 0x01; // SET THE TIMER0 IN MODE 1 MODETH0 = 0x4B; // LOAD THE TH0 VALUETL0 = 0xFF; // LOAD THE TL0 VALUEET0 = 1; // ENABLE THE TIMER0 INTERRUPT

    EA = 1; // ENABLE ALL INTERRUPTTR0 = 1; // START THE TIMER

    }

    /*Function to Initalize LCD*/void Init_LCD(){

    /*Command to Select 2 line , 5x7 matrix mode of LCD */LCDCMD(0x38);

  • 8/18/2019 Abhi Proj

    3/4

    /*Command to shift the cursor to next position when Data is send in LCD*/

    LCDCMD(0x06);

    /*Command to ON Display, OFF the Cursor in LCD */LCDCMD(0x0C);

    /*Return cursor home */LCDCMD(0x02);

    }

    void Display(unsigned char Data){

    switch(Data){

    case 170:LCDString("1KM");

     break;case 204:

    LCDString("2KM"); break;

    case 219:LCDString("3KM");

     break;case 227:LCDString("4KM");

     break;case 255:

    LCDString("NF "); break;

    default:break;

    }}

    void main(){  P0 = 0x0F;

    Buff[0] = 0xFF;Init_T0();Init_LCD();

    while(1){

    P0 = 0x01;LCDCMD(0x80);LCDString("R: ");Display(Read_ADC());

    LCDCMD(0x87);LCDString("B: ");Display(Read_ADC());

    P0 = 0x02;LCDCMD(0xC0);LCDString("Y: ");Display(Read_ADC());

    P0 = 0x04;

  • 8/18/2019 Abhi Proj

    4/4

    LCDCMD(0xC7);LCDString("N: ");Display(Read_ADC());

    }}