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

Declaring array of pins

How to declare an array of pins?
I tried the following approach.

sbit pins[2]={0x80,0x81}

I need to declare them in an array because I have to make multiple changes to pins in my project. My code will become very bulky if I use one variable for one pin. Is there a way out?

Parents
  • Your processor also can't index SFRs - which means that you also can't have arrays of SFRs, or pointers to SFRs.

    You can access the individual pins of a port as sbits;
    You can also access the complete 8-bit port SFR as a byte; but only direct accesses - no indexing/arrays.

    For details of the capabilities (and limitations) of the 8051 architecture, you need to study the so-called "bible" for the 8051:

    See: www.8052.com/.../120112 for the links to the so-called "bible" for the 8051.

    See also: http://www.8052.com/tutorial for basic 8051 architecture tutorials.

Reply
  • Your processor also can't index SFRs - which means that you also can't have arrays of SFRs, or pointers to SFRs.

    You can access the individual pins of a port as sbits;
    You can also access the complete 8-bit port SFR as a byte; but only direct accesses - no indexing/arrays.

    For details of the capabilities (and limitations) of the 8051 architecture, you need to study the so-called "bible" for the 8051:

    See: www.8052.com/.../120112 for the links to the so-called "bible" for the 8051.

    See also: http://www.8052.com/tutorial for basic 8051 architecture tutorials.

Children
No data