This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

How to read port pins in port(P0,1,2)?

I would like to call function like port(P0,1,2).i want to assign the values of 0 and 1 to P0.1 and P0.2 using that function prototype only...how can i assign the values to port pins.what are the steps i need to follow...

Thanks in advance

chinnaye

Parents
  • I am using 8051 family of micro controller..and code is

    void ping( unsigned char port ,pin1_number num1 ,pin2_number num2 );

    void main()
    { ping(P0,1,2);

    }
    void ping(unsigned char port ,pin1_number num1 ,pin2_number num2 )
    { unsigned char trig=0; unsigned char echo=1; unsigned char number1; unsigned char number2; unsigned char *signal1; unsigned char *signal2; switch(port) {

    case P0:number1=((port)|num1); //address of P0.1 number2=((port)|num2); //address of P0.2 break; case P1:number1=((port)|num1); number2=(port|num2); break; case P2:number1=(port|num1); number2=(port|num2); break; case P3:number1=(port|num1); number2=(port|num2); break; }

    signal1=&(number1); signal2=&(number2); *signal1=trig;
    *signal2=echo;

    }

    in this program i am getting the values of 0 & 1 to signal pointer.but i am not getting any change in port pins.how can i assign values to port pins.

    Thanks In advance.....

Reply
  • I am using 8051 family of micro controller..and code is

    void ping( unsigned char port ,pin1_number num1 ,pin2_number num2 );

    void main()
    { ping(P0,1,2);

    }
    void ping(unsigned char port ,pin1_number num1 ,pin2_number num2 )
    { unsigned char trig=0; unsigned char echo=1; unsigned char number1; unsigned char number2; unsigned char *signal1; unsigned char *signal2; switch(port) {

    case P0:number1=((port)|num1); //address of P0.1 number2=((port)|num2); //address of P0.2 break; case P1:number1=((port)|num1); number2=(port|num2); break; case P2:number1=(port|num1); number2=(port|num2); break; case P3:number1=(port|num1); number2=(port|num2); break; }

    signal1=&(number1); signal2=&(number2); *signal1=trig;
    *signal2=echo;

    }

    in this program i am getting the values of 0 & 1 to signal pointer.but i am not getting any change in port pins.how can i assign values to port pins.

    Thanks In advance.....

Children