: define a bit
: unsigned char data Bits 0x20;
That's what I did in the first example. Try to dissect that one:
Since you can only work on byte level on most computers, you need to mask out the bit you are interested in, in this case bit 5, since 0x20 equals bit number 5. You mask out this bit without destroying the other bits. That's when the bitwise OR (|) and AND (&) operators comes in.
Needless to say, you must understand binary and hexadecimal numbers before starting to learn any form of programming.
: sbit GoingHigh Bits^0;
This means nothing, it is gibberish.
: then you need a counter byte, define it in your .h
: unsigned char data Counter 0x30;
What do you mean "counter byte" and what has 0x30 to do with that? I don't understand what you are trying to do.