| |||||||||||
Technical Support On-Line Manuals Cx51 User's Guide | sbitThe sbit type defines a bit within a special function register (SFR). It is used in one of the following ways: sbit name = sfr-name ^ bit-position; sbit name = sfr-address ^ bit-position; sbit name = sbit-address; Where
With typical 8051 applications, it is often necessary to access individual bits within an SFR. The sbit type provides access to bit-addressable SFRs and other bit-addressable objects. For example: sbit EA = 0xAF; This declaration defines EA as the SFR bit at address 0xAF. On the 8051, this is the enable all bit in the interrupt enable register. Note
Any symbolic name can be used in an sbit declaration. The expression to the right of the equal sign ('=') specifies an absolute bit address for the symbolic name. There are three variants for specifying the address: Variant 1sbit name = sfr-name ^ bit-position; The previously declared SFR (sfr-name) is the base address for the sbit. It must be evenly divisible by 8. The bit-position (which must be a number from 0-7) follows the carat symbol ('^') and specifies the bit position to access. For example: sfr PSW = 0xD0; sfr IE = 0xA8; sbit OV = PSW^2; sbit CY = PSW^7; sbit EA = IE^7; Variant 2sbit name = sfr-address ^ bit-position; A character constant (sfr-address) specifies the base address for the sbit. It must be evenly divisible by 8. The bit-position (which must be a number from 0-7) follows the carat symbol ('^') and specifies the bit position to access. For example: sbit OV = 0xD0^2; sbit CY = 0xD0^7; sbit EA = 0xA8^7; Variant 3sbit name = sbit-address; A character constant (sbit-address) specifies the address of the sbit. It must be a value from 0x80-0xFF. For example: sbit OV = 0xD2; sbit CY = 0xD7; sbit EA = 0xAF; Note
| ||||||||||
| |||||||||||